diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..4a97869 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +transpiler.abaplint.org diff --git a/app.bundle.js b/app.bundle.js new file mode 100644 index 0000000..f6bae0e --- /dev/null +++ b/app.bundle.js @@ -0,0 +1,43428 @@ +/* + * 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__ = ({ + +/***/ "../../packages/runtime/build/src/abap_regex.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/abap_regex.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPRegExp = void 0;\nclass ABAPRegExp {\n // converts from ABAP specific regex to javascript regex\n static convert(input) {\n let ret = input;\n ret = ret.replace(/\\[\\[:punct:\\]\\]/g, \"[@%\\\\.\\\\,\\\\-\\\\{\\\\}\\\\[\\\\]\\\\:\\\\!\\\\?\\\\(\\\\)\\\\;\\\\']\");\n // https://github.com/micromatch/posix-character-classes#posix-character-classes\n ret = ret.replace(/\\[\\^\\[:print:\\]\\]/g, \"[\\\\x00-\\\\x1F\\\\x7F]\");\n ret = ret.replace(\"[[:space:]]\", \"\\\\s\");\n return ret;\n }\n static escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\");\n }\n}\nexports.ABAPRegExp = ABAPRegExp;\n//# sourceMappingURL=abap_regex.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/abap_regex.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/binary_search.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/binary_search.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.binarySearchTo = exports.binarySearchFrom = exports.binarySearchFromRow = void 0;\n/* eslint-disable max-len */\nconst compare_1 = __webpack_require__(/*! ./compare */ \"../../packages/runtime/build/src/compare/index.js\");\nconst types_1 = __webpack_require__(/*! ./types */ \"../../packages/runtime/build/src/types/index.js\");\n/** input indexes = javascript indexes,\n output index = javascript index */\nfunction binarySearchFromRow(array, left, right, keyField, keyValue, usesTableLine) {\n if (right <= 0) {\n return 0;\n }\n // console.dir(\"start: \" + left + \", \" + right);\n const isStructured = array[0] instanceof types_1.Structure;\n while (right - left > 1) {\n const middle = Math.floor(((right - left) / 2) + left);\n // console.dir(left + \", \" + right + \", \" + middle);\n const a = array[middle];\n let row = undefined;\n if (usesTableLine === false && isStructured === true) {\n row = a.get();\n }\n else {\n row = isStructured ? Object.assign({ table_line: a }, a.get()) : { table_line: a };\n }\n if ((0, compare_1.ge)(keyField(row), keyValue)) {\n right = middle;\n }\n else {\n left = middle;\n }\n // console.dir(left + \", \" + right);\n }\n const a = array[left];\n let row = undefined;\n if (usesTableLine === false && isStructured === true) {\n row = a.get();\n }\n else {\n row = isStructured ? Object.assign({ table_line: a }, a.get()) : { table_line: a };\n }\n if ((0, compare_1.le)(keyValue, keyField(row))) {\n // console.dir(\"choose left\");\n return left;\n }\n return right;\n}\nexports.binarySearchFromRow = binarySearchFromRow;\nfunction binarySearchFrom(array, left, right, keyField, keyValue) {\n while (right - left > 1) {\n const middle = Math.floor(((right - left) / 2) + left);\n if ((0, compare_1.ge)(array[middle].get()[keyField], keyValue)) {\n right = middle;\n }\n else {\n left = middle;\n }\n }\n return right;\n}\nexports.binarySearchFrom = binarySearchFrom;\nfunction binarySearchTo(array, left, right, keyField, keyValue) {\n while (right - left > 1) {\n const middle = Math.floor(((right - left) / 2) + left);\n if ((0, compare_1.le)(array[middle].get()[keyField], keyValue)) {\n left = middle;\n }\n else {\n right = middle;\n }\n }\n return right;\n}\nexports.binarySearchTo = binarySearchTo;\n//# sourceMappingURL=binary_search.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/binary_search.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/abs.js": +/*!*******************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/abs.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.abs = void 0;\nfunction abs(input) {\n let num_in = undefined;\n if (typeof input.val === \"number\") {\n num_in = input.val;\n }\n else if (typeof input.val === \"string\") {\n num_in = parseFloat(input.val);\n }\n else {\n num_in = parseFloat(input.val.get().toString());\n }\n return Math.abs(num_in);\n}\nexports.abs = abs;\n//# sourceMappingURL=abs.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/abs.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/boolc.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/boolc.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.boolc = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction boolc(input) {\n if (input === true) {\n return new types_1.String().set(\"X\");\n }\n else if (input === false || input === undefined) {\n return new types_1.String().set(\" \");\n }\n else if (input.val instanceof types_1.String && input.val.get().trim() === \"\") {\n return new types_1.String().set(\" \");\n }\n else if (input.val instanceof types_1.Character && input.val.get().trim() === \"\") {\n return new types_1.String().set(\" \");\n }\n else {\n return new types_1.String().set(\"X\");\n }\n}\nexports.boolc = boolc;\n//# sourceMappingURL=boolc.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/boolc.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/ceil.js": +/*!********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/ceil.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ceil = void 0;\n/* eslint-disable radix */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction ceil(input) {\n let num_in = undefined;\n if (typeof input.val === \"number\") {\n num_in = input.val;\n }\n else if (typeof input.val === \"string\") {\n num_in = parseFloat(input.val);\n }\n else if (input.val instanceof types_1.Float) {\n num_in = input.val.getRaw();\n }\n else {\n num_in = parseFloat(input.val.get().toString());\n }\n return Math.ceil(num_in);\n}\nexports.ceil = ceil;\n//# sourceMappingURL=ceil.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/ceil.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/concat_lines_of.js": +/*!*******************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/concat_lines_of.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.concat_lines_of = void 0;\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nfunction concat_lines_of(input) {\n let s = input.sep;\n if (s === undefined) {\n s = \"\";\n }\n else if (typeof s !== \"string\") {\n s = s.get();\n }\n return new string_1.String().set(input.table.array().map(e => e.get()).join(s));\n}\nexports.concat_lines_of = concat_lines_of;\n//# sourceMappingURL=concat_lines_of.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/concat_lines_of.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/condense.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/condense.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.condense = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction condense(input) {\n let str = typeof input.val === \"string\" ? input.val : input.val.get().toString();\n let from = \" \";\n if (input.from) {\n from = typeof input.from === \"string\" ? input.from : input.from.get().toString();\n }\n let to = \" \";\n if (input.to) {\n to = typeof input.to === \"string\" ? input.to : input.to.get().toString();\n }\n /*\n let del = \" \";\n if (input.del) {\n del = typeof input.del === \"string\" ? input.del : input.del.get().toString();\n }\n */\n str = str.replace(/ +$/, \"\");\n str = str.replace(/^ +/, \"\");\n for (const f of from.split(\"\")) {\n str = str.replace(new RegExp(f.replace(\".\", \"\\\\.\"), \"g\"), to);\n }\n return new types_1.String().set(str.replace(/ {2,}/g, \" \"));\n}\nexports.condense = condense;\n//# sourceMappingURL=condense.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/condense.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/contains.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/contains.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.contains = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction contains(input) {\n if (input.case !== undefined\n || input.off !== undefined\n || input.len !== undefined\n || input.occ !== undefined) {\n throw \"runtime, contains() todo\";\n }\n let ret = \" \";\n if (input.regex) {\n ret = input.val.get().match(input.regex.get()) !== null ? \"X\" : \" \";\n }\n else if (input.sub) {\n ret = input.val.get().includes(input.sub.get()) ? \"X\" : \" \";\n }\n else if (input.start) {\n ret = input.val.get().startsWith(input.start.get()) ? \"X\" : \" \";\n }\n else if (input.end) {\n ret = input.val.get().endsWith(input.end.get()) ? \"X\" : \" \";\n }\n return new types_1.String().set(ret);\n}\nexports.contains = contains;\n//# sourceMappingURL=contains.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/contains.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/cos.js": +/*!*******************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/cos.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.cos = void 0;\n/* eslint-disable radix */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction cos(input) {\n let num_in = undefined;\n if (typeof input.val === \"number\") {\n num_in = input.val;\n }\n else if (typeof input.val === \"string\") {\n num_in = parseFloat(input.val);\n }\n else if (input.val instanceof types_1.Float) {\n num_in = input.val.getRaw();\n }\n else {\n num_in = parseFloat(input.val.get().toString());\n }\n return Math.cos(num_in);\n}\nexports.cos = cos;\n//# sourceMappingURL=cos.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/cos.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/count.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/count.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.count = void 0;\nconst compare_1 = __webpack_require__(/*! ../compare */ \"../../packages/runtime/build/src/compare/index.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction count(input) {\n let found = 0;\n let val = input.val.get();\n if (input.off) {\n const off = input.off.get();\n val = val.substring(off);\n }\n if (input.len) {\n const len = input.len.get();\n val = val.substring(0, len);\n }\n let reg = \"\";\n if (input.sub) {\n reg = input.sub.get();\n reg = reg.replace(/\\*/g, \"\\\\*\");\n }\n else if (input.regex) {\n reg = input.regex.get();\n }\n let options = \"g\";\n if (input.case && (0, compare_1.initial)(input.case)) {\n options += \"i\";\n }\n if (val !== \"\") {\n const res = val.match(new RegExp(reg, options));\n if (res) {\n found = res.length;\n }\n }\n return new types_1.Integer().set(found);\n}\nexports.count = count;\n//# sourceMappingURL=count.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/count.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/count_any_of.js": +/*!****************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/count_any_of.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.count_any_of = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction count_any_of(input) {\n let found = 0;\n const val = input.val.get();\n const sub = input.sub.get();\n if (sub !== \"\") {\n for (const char of sub.split(\"\")) {\n const match = val.match(new RegExp(char, \"g\"));\n found += (match === null || match === void 0 ? void 0 : match.length) || 0;\n }\n }\n return new types_1.Integer().set(found);\n}\nexports.count_any_of = count_any_of;\n//# sourceMappingURL=count_any_of.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/count_any_of.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/escape.js": +/*!**********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/escape.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.escape = void 0;\n/* eslint-disable @typescript-eslint/ban-types */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction escape(input) {\n let val = typeof input.val === \"string\" ? input.val : input.val.get();\n const format = typeof input.format === \"number\" ? input.format : input.format.get();\n switch (format) {\n case 1: // e_xml_attr\n val = val.replace(/&/g, \"&\");\n val = val.replace(//g, \">\");\n break;\n case 5: // e_html_attr\n val = val.replace(/&/g, \"&\");\n val = val.replace(//g, \">\");\n val = val.replace(/\"/g, \""\");\n val = val.replace(/'/g, \"'\");\n break;\n case 12: // e_url\n val = encodeURI(val);\n break;\n case 24: // e_json_string\n val = val.replace(/\"/g, \"\\\\\\\"\");\n val = val.replace(/\\n/g, \"\\\\n\");\n break;\n default:\n // todo, runtime error\n }\n return new types_1.String().set(val);\n}\nexports.escape = escape;\n//# sourceMappingURL=escape.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/escape.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/find.js": +/*!********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/find.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.find = void 0;\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction find(input) {\n var _a, _b, _c, _d, _e;\n let val = typeof input.val === \"string\" ? input.val : input.val.get();\n if (input.len !== undefined) {\n throw \"transpiler find(), todo len\";\n }\n if (input.regex) {\n if (input.off !== undefined) {\n throw \"transpiler find(), todo off regex\";\n }\n const caseInput = typeof input.case === \"string\" ? input.case : (_a = input.case) === null || _a === void 0 ? void 0 : _a.get();\n const regex = typeof input.regex === \"string\" ? input.regex : input.regex.get();\n const flags = caseInput !== \"X\" ? \"i\" : \"\";\n const reg = new RegExp(regex, flags);\n const ret = (_b = val.match(reg)) === null || _b === void 0 ? void 0 : _b.index;\n if (ret !== undefined) {\n return new types_1.Integer().set(ret);\n }\n else {\n return new types_1.Integer().set(-1);\n }\n }\n else {\n const sub = typeof input.sub === \"string\" ? input.sub : (_c = input.sub) === null || _c === void 0 ? void 0 : _c.get();\n let off = typeof input.off === \"number\" ? input.off : ((_d = input.off) === null || _d === void 0 ? void 0 : _d.get()) || 0;\n let occ = typeof input.occ === \"number\" ? input.occ : (_e = input.occ) === null || _e === void 0 ? void 0 : _e.get();\n if (occ === 0) {\n (0, throw_error_1.throwError)(\"CX_SY_STRG_PAR_VAL\");\n }\n else if (occ === undefined) {\n occ = 1;\n }\n let negative = false;\n if (occ < 0) {\n negative = true;\n val = val.split(\"\").reverse().join(\"\");\n occ = Math.abs(occ);\n }\n let found = -1;\n for (let i = 0; i < occ; i++) {\n found = val.indexOf(sub || \"\", off);\n if (found >= 0) {\n off = found + 1;\n }\n }\n if (negative === true && found >= 0) {\n found = val.length - found - 1;\n }\n return new types_1.Integer().set(found);\n }\n}\nexports.find = find;\n//# sourceMappingURL=find.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/find.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/floor.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/floor.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.floor = void 0;\n/* eslint-disable radix */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction floor(input) {\n let num_in = undefined;\n if (typeof input.val === \"number\") {\n num_in = input.val;\n }\n else if (typeof input.val === \"string\") {\n num_in = parseFloat(input.val);\n }\n else if (input.val instanceof types_1.Float) {\n num_in = input.val.getRaw();\n }\n else {\n num_in = parseFloat(input.val.get().toString());\n }\n return Math.floor(num_in);\n}\nexports.floor = floor;\n//# sourceMappingURL=floor.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/floor.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/frac.js": +/*!********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/frac.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.frac = void 0;\n/* eslint-disable radix */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction frac(input) {\n let num_in = undefined;\n let ret = 0;\n let pre = \"0.\";\n if (typeof input.val === \"number\") {\n num_in = input.val;\n }\n else if (typeof input.val === \"string\") {\n num_in = parseFloat(input.val);\n }\n else if (input.val instanceof types_1.DecFloat34\n || input.val instanceof types_1.Float) {\n num_in = input.val.getRaw();\n }\n else {\n num_in = parseFloat(input.val.get().toString());\n }\n const numSplit = num_in.toString().split(\".\");\n if (numSplit.length === 2) {\n if (num_in < 0) {\n pre = \"-0.\";\n }\n ret = parseFloat(pre + numSplit[1]);\n }\n if (input.val instanceof types_1.DecFloat34) {\n return new types_1.DecFloat34().set(ret);\n }\n else if (input.val instanceof types_1.Float) {\n return new types_1.Float().set(ret);\n }\n else {\n return ret;\n }\n}\nexports.frac = frac;\n//# sourceMappingURL=frac.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/frac.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/index.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/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 }));\nexports.space = exports.abap_undefined = exports.abap_false = exports.abap_true = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\n__exportStar(__webpack_require__(/*! ./abs */ \"../../packages/runtime/build/src/builtin/abs.js\"), exports);\n__exportStar(__webpack_require__(/*! ./boolc */ \"../../packages/runtime/build/src/builtin/boolc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ceil */ \"../../packages/runtime/build/src/builtin/ceil.js\"), exports);\n__exportStar(__webpack_require__(/*! ./concat_lines_of */ \"../../packages/runtime/build/src/builtin/concat_lines_of.js\"), exports);\n__exportStar(__webpack_require__(/*! ./condense */ \"../../packages/runtime/build/src/builtin/condense.js\"), exports);\n__exportStar(__webpack_require__(/*! ./contains */ \"../../packages/runtime/build/src/builtin/contains.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cos */ \"../../packages/runtime/build/src/builtin/cos.js\"), exports);\n__exportStar(__webpack_require__(/*! ./count_any_of */ \"../../packages/runtime/build/src/builtin/count_any_of.js\"), exports);\n__exportStar(__webpack_require__(/*! ./count */ \"../../packages/runtime/build/src/builtin/count.js\"), exports);\n__exportStar(__webpack_require__(/*! ./escape */ \"../../packages/runtime/build/src/builtin/escape.js\"), exports);\n__exportStar(__webpack_require__(/*! ./find */ \"../../packages/runtime/build/src/builtin/find.js\"), exports);\n__exportStar(__webpack_require__(/*! ./floor */ \"../../packages/runtime/build/src/builtin/floor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./frac */ \"../../packages/runtime/build/src/builtin/frac.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert */ \"../../packages/runtime/build/src/builtin/insert.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ipow */ \"../../packages/runtime/build/src/builtin/ipow.js\"), exports);\n__exportStar(__webpack_require__(/*! ./lines */ \"../../packages/runtime/build/src/builtin/lines.js\"), exports);\n__exportStar(__webpack_require__(/*! ./match */ \"../../packages/runtime/build/src/builtin/match.js\"), exports);\n__exportStar(__webpack_require__(/*! ./matches */ \"../../packages/runtime/build/src/builtin/matches.js\"), exports);\n__exportStar(__webpack_require__(/*! ./nmax */ \"../../packages/runtime/build/src/builtin/nmax.js\"), exports);\n__exportStar(__webpack_require__(/*! ./nmin */ \"../../packages/runtime/build/src/builtin/nmin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./numofchar */ \"../../packages/runtime/build/src/builtin/numofchar.js\"), exports);\n__exportStar(__webpack_require__(/*! ./repeat */ \"../../packages/runtime/build/src/builtin/repeat.js\"), exports);\n__exportStar(__webpack_require__(/*! ./replace */ \"../../packages/runtime/build/src/builtin/replace.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reverse */ \"../../packages/runtime/build/src/builtin/reverse.js\"), exports);\n__exportStar(__webpack_require__(/*! ./round */ \"../../packages/runtime/build/src/builtin/round.js\"), exports);\n__exportStar(__webpack_require__(/*! ./segment */ \"../../packages/runtime/build/src/builtin/segment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./shift_right */ \"../../packages/runtime/build/src/builtin/shift_right.js\"), exports);\n__exportStar(__webpack_require__(/*! ./shift_left */ \"../../packages/runtime/build/src/builtin/shift_left.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sign */ \"../../packages/runtime/build/src/builtin/sign.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sin */ \"../../packages/runtime/build/src/builtin/sin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sqrt */ \"../../packages/runtime/build/src/builtin/sqrt.js\"), exports);\n__exportStar(__webpack_require__(/*! ./strlen */ \"../../packages/runtime/build/src/builtin/strlen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./substring_after */ \"../../packages/runtime/build/src/builtin/substring_after.js\"), exports);\n__exportStar(__webpack_require__(/*! ./substring_before */ \"../../packages/runtime/build/src/builtin/substring_before.js\"), exports);\n__exportStar(__webpack_require__(/*! ./substring */ \"../../packages/runtime/build/src/builtin/substring.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sy */ \"../../packages/runtime/build/src/builtin/sy.js\"), exports);\n__exportStar(__webpack_require__(/*! ./tan */ \"../../packages/runtime/build/src/builtin/tan.js\"), exports);\n__exportStar(__webpack_require__(/*! ./to_lower */ \"../../packages/runtime/build/src/builtin/to_lower.js\"), exports);\n__exportStar(__webpack_require__(/*! ./to_mixed */ \"../../packages/runtime/build/src/builtin/to_mixed.js\"), exports);\n__exportStar(__webpack_require__(/*! ./to_upper */ \"../../packages/runtime/build/src/builtin/to_upper.js\"), exports);\n__exportStar(__webpack_require__(/*! ./translate */ \"../../packages/runtime/build/src/builtin/translate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./trunc */ \"../../packages/runtime/build/src/builtin/trunc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./xstrlen */ \"../../packages/runtime/build/src/builtin/xstrlen.js\"), exports);\nexports.abap_true = new types_1.Character(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }).set(\"X\").setConstant();\nexports.abap_false = new types_1.Character(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }).set(\"\").setConstant();\nexports.abap_undefined = new types_1.Character(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }).set(\"-\").setConstant();\nexports.space = new types_1.Character(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }).set(\" \").setConstant();\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/index.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/insert.js": +/*!**********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/insert.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.insert = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction insert(input) {\n let offset = 0;\n if (input.off) {\n offset = input.off.get();\n }\n const value = input.val.getOffset({ offset: 0, length: offset }).get() +\n input.sub.get() +\n input.val.getOffset({ offset: offset }).get();\n return new types_1.String().set(value);\n}\nexports.insert = insert;\n//# sourceMappingURL=insert.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/insert.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/ipow.js": +/*!********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/ipow.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ipow = void 0;\nfunction ipow(input) {\n let base = undefined;\n if (typeof input.base === \"number\") {\n base = input.base;\n }\n else if (typeof input.base === \"string\") {\n base = parseFloat(input.base);\n }\n else {\n base = parseFloat(input.base.get().toString());\n }\n let exp = undefined;\n if (typeof input.exp === \"number\") {\n exp = input.exp;\n }\n else if (typeof input.exp === \"string\") {\n exp = parseFloat(input.exp);\n }\n else {\n exp = parseFloat(input.exp.get().toString());\n }\n return Math.pow(base, exp).toFixed(0);\n}\nexports.ipow = ipow;\n//# sourceMappingURL=ipow.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/ipow.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/lines.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/lines.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.lines = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction lines(input) {\n if (input.val instanceof types_1.FieldSymbol) {\n if (input.val.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return lines({ val: input.val.getPointer() });\n }\n return new types_1.Integer().set(input.val.getArrayLength());\n}\nexports.lines = lines;\n//# sourceMappingURL=lines.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/lines.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/match.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/match.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.match = void 0;\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nfunction match(input) {\n const val = typeof input.val === \"string\" ? input.val : input.val.get();\n let reg = \"\";\n if (typeof input.regex === \"string\") {\n reg = input.regex;\n }\n else {\n reg = input.regex.get();\n }\n const r = new RegExp(reg);\n const res = val.match(r);\n let ret = \"\";\n if (res && res[0]) {\n ret = res[0];\n }\n return new string_1.String().set(ret);\n}\nexports.match = match;\n//# sourceMappingURL=match.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/match.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/matches.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/matches.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.matches = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction matches(input) {\n if (input.pcre !== undefined) {\n throw \"matches(), todo, pcre\";\n }\n else if (input.regex === undefined) {\n throw \"matches(), regex input expected\";\n }\n const val = typeof input.val === \"string\" ? input.val : input.val.get();\n let reg = \"\";\n if (typeof input.regex === \"string\") {\n reg = input.regex;\n }\n else {\n reg = input.regex.get();\n }\n const r = new RegExp(\"^\" + reg + \"$\");\n const res = val.match(r);\n if (res !== null) {\n return new types_1.Character().set(\"X\");\n }\n else {\n return new types_1.Character().set(\" \");\n }\n}\nexports.matches = matches;\n//# sourceMappingURL=matches.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/matches.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/nmax.js": +/*!********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/nmax.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.nmax = void 0;\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction nmax(input) {\n const values = [];\n values.push((0, _parse_1.parse)(input.val1));\n values.push((0, _parse_1.parse)(input.val2));\n if (input.val3) {\n values.push((0, _parse_1.parse)(input.val3));\n }\n if (input.val4) {\n values.push((0, _parse_1.parse)(input.val4));\n }\n if (input.val5) {\n values.push((0, _parse_1.parse)(input.val5));\n }\n if (input.val6) {\n values.push((0, _parse_1.parse)(input.val6));\n }\n if (input.val7) {\n values.push((0, _parse_1.parse)(input.val7));\n }\n if (input.val8) {\n values.push((0, _parse_1.parse)(input.val8));\n }\n if (input.val9) {\n values.push((0, _parse_1.parse)(input.val9));\n }\n values.sort((a, b) => (b - a));\n return new types_1.Float().set(values[0]);\n}\nexports.nmax = nmax;\n//# sourceMappingURL=nmax.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/nmax.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/nmin.js": +/*!********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/nmin.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.nmin = void 0;\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction nmin(input) {\n const values = [];\n values.push((0, _parse_1.parse)(input.val1));\n values.push((0, _parse_1.parse)(input.val2));\n if (input.val3) {\n values.push((0, _parse_1.parse)(input.val3));\n }\n if (input.val4) {\n values.push((0, _parse_1.parse)(input.val4));\n }\n if (input.val5) {\n values.push((0, _parse_1.parse)(input.val5));\n }\n if (input.val6) {\n values.push((0, _parse_1.parse)(input.val6));\n }\n if (input.val7) {\n values.push((0, _parse_1.parse)(input.val7));\n }\n if (input.val8) {\n values.push((0, _parse_1.parse)(input.val8));\n }\n if (input.val9) {\n values.push((0, _parse_1.parse)(input.val9));\n }\n values.sort((a, b) => (a - b));\n return new types_1.Float().set(values[0]);\n}\nexports.nmin = nmin;\n//# sourceMappingURL=nmin.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/nmin.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/numofchar.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/numofchar.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.numofchar = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction numofchar(input) {\n let str = \"\";\n if (typeof input.val === \"string\") {\n str = input.val;\n }\n else {\n str = input.val.get();\n }\n str = str.trimEnd();\n return new types_1.Integer().set(str.length);\n}\nexports.numofchar = numofchar;\n//# sourceMappingURL=numofchar.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/numofchar.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/repeat.js": +/*!**********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/repeat.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.repeat = void 0;\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nfunction repeat(input) {\n const val = typeof input.val === \"string\" ? input.val : input.val.get();\n return new string_1.String().set(val.repeat(input.occ.get()));\n}\nexports.repeat = repeat;\n//# sourceMappingURL=repeat.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/repeat.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/replace.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/replace.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.replace = void 0;\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nconst abap_regex_1 = __webpack_require__(/*! ../abap_regex */ \"../../packages/runtime/build/src/abap_regex.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction replace(input) {\n let val = undefined;\n if (typeof input.val === \"string\") {\n val = input.val;\n }\n else {\n val = input.val.get();\n }\n let wi = undefined;\n if (typeof input.with === \"string\") {\n wi = input.with;\n }\n else if (input.with instanceof types_1.Character) {\n wi = input.with.getTrimEnd();\n }\n else if (input.with) {\n wi = input.with.get();\n }\n let sub = undefined;\n if (typeof input.sub === \"string\") {\n sub = input.sub;\n }\n else if (input.sub) {\n sub = input.sub.get();\n }\n if (sub !== undefined) {\n sub = sub.replace(/\\\\/g, \"\\\\\\\\\");\n sub = sub.replace(/\\[/g, \"\\\\[\");\n }\n if (typeof input.regex === \"string\") {\n sub = new RegExp(abap_regex_1.ABAPRegExp.convert(input.regex), \"g\");\n }\n else if (input.regex) {\n sub = new RegExp(abap_regex_1.ABAPRegExp.convert(input.regex.get()), \"g\");\n }\n if (input.off && input.len && typeof input.val === \"string\") {\n const offset = input.off.get();\n const length = input.len.get();\n val = val.substring(0, offset) + wi + val.substring(offset + length);\n }\n else if (input.off && input.len && !(typeof input.val === \"string\")) {\n const offset = input.off.get();\n const length = input.len.get();\n val = input.val.getOffset({ offset: 0, length: offset }).get() +\n wi +\n input.val.getOffset({ offset: offset + length }).get();\n }\n else if (input.occ === undefined && sub && wi) {\n val = val.replace(sub, wi);\n }\n else if (input.occ && input.occ.get() === 0 && sub && wi !== undefined) {\n if (typeof sub === \"string\") {\n sub = new RegExp(sub, \"g\");\n }\n val = val.replace(sub, wi);\n }\n return new string_1.String().set(val);\n}\nexports.replace = replace;\n//# sourceMappingURL=replace.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/replace.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/reverse.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/reverse.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.reverse = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction reverse(input) {\n let val = \"\";\n if (typeof input.val === \"string\") {\n val = input.val;\n }\n else {\n val = input.val.get();\n }\n val = val.split(\"\").reverse().join(\"\");\n return new types_1.String().set(val);\n}\nexports.reverse = reverse;\n//# sourceMappingURL=reverse.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/reverse.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/round.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/round.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.round = void 0;\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction round(input) {\n let mode = input.mode;\n if (mode === undefined) {\n mode = 2;\n }\n else if (typeof mode !== \"number\") {\n mode = mode === null || mode === void 0 ? void 0 : mode.get();\n }\n const val = (0, _parse_1.parse)(input.val);\n const dec = (0, _parse_1.parse)(input.dec);\n if (dec !== 0) {\n throw \"round(), todo, handle decimals\";\n }\n const ret = new types_1.Float();\n switch (mode) {\n case 1:\n ret.set(Math.ceil(val));\n break;\n case 2:\n ret.set(Math.round(val));\n break;\n case 4:\n ret.set(-Math.round(-val));\n break;\n case 5:\n ret.set(Math.trunc(val));\n break;\n case 6:\n ret.set(Math.floor(val));\n break;\n default:\n throw \"round(), unknown mode: \" + mode;\n }\n return ret;\n}\nexports.round = round;\n//# sourceMappingURL=round.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/round.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/segment.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/segment.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.segment = void 0;\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction segment(input) {\n let val = input.val;\n if (typeof val !== \"string\") {\n val = val.get();\n }\n let sep = input.sep;\n if (typeof sep !== \"string\") {\n sep = sep.get();\n }\n let index = input.index;\n if (typeof index !== \"number\") {\n index = index.get();\n }\n if (index === 0 || sep.length === 0) {\n (0, throw_error_1.throwError)(\"CX_SY_STRG_PAR_VAL\");\n }\n const array = val.split(sep);\n if (index < 0) {\n array.reverse();\n index = Math.abs(index);\n }\n if (index > array.length) {\n (0, throw_error_1.throwError)(\"CX_SY_STRG_PAR_VAL\");\n }\n return new types_1.String().set(array[index - 1]);\n}\nexports.segment = segment;\n//# sourceMappingURL=segment.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/segment.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/shift_left.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/shift_left.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.shift_left = void 0;\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nfunction shift_left(input) {\n let val = typeof input.val === \"string\" ? input.val : input.val.get();\n if (input.sub) {\n const sub = typeof input.sub === \"string\" ? input.sub : input.sub.get();\n while (val.startsWith(sub)) {\n val = val.substr(sub.length);\n }\n }\n else if (input.places) {\n let places = typeof input.places === \"string\" ? input.places : input.places.get();\n if (typeof places === \"string\") {\n places = parseInt(places, 10);\n }\n if (places > val.length) {\n (0, throw_error_1.throwError)(\"CX_SY_RANGE_OUT_OF_BOUNDS\");\n }\n val = val.substring(places);\n }\n else if (input.circular) {\n const leftShifts = input.circular.get() % val.length;\n val = val.slice(leftShifts) + val.slice(0, leftShifts);\n }\n else {\n return shift_left({ val: input.val, sub: \" \" });\n }\n return new string_1.String().set(val);\n}\nexports.shift_left = shift_left;\n//# sourceMappingURL=shift_left.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/shift_left.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/shift_right.js": +/*!***************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/shift_right.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.shift_right = void 0;\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nfunction shift_right(input) {\n let val = typeof input.val === \"string\" ? input.val : input.val.get();\n if (input.sub) {\n const sub = typeof input.sub === \"string\" ? input.sub : input.sub.get();\n while (val.endsWith(sub)) {\n val = val.substr(0, val.length - sub.length);\n }\n }\n else if (input.places) {\n throw new Error(\"shift_right todo\");\n }\n else if (input.circular) {\n throw new Error(\"shift_right todo\");\n }\n else {\n return shift_right({ val: input.val, sub: \" \" });\n }\n return new string_1.String().set(val);\n}\nexports.shift_right = shift_right;\n//# sourceMappingURL=shift_right.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/shift_right.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/sign.js": +/*!********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/sign.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.sign = void 0;\nfunction sign(input) {\n let num_in = undefined;\n if (typeof input.val === \"number\") {\n num_in = input.val;\n }\n else if (typeof input.val === \"string\") {\n num_in = parseFloat(input.val);\n }\n else {\n num_in = parseFloat(input.val.get().toString());\n }\n return Math.sign(num_in);\n}\nexports.sign = sign;\n//# sourceMappingURL=sign.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/sign.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/sin.js": +/*!*******************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/sin.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.sin = void 0;\n/* eslint-disable radix */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction sin(input) {\n let num_in = undefined;\n if (typeof input.val === \"number\") {\n num_in = input.val;\n }\n else if (typeof input.val === \"string\") {\n num_in = parseFloat(input.val);\n }\n else if (input.val instanceof types_1.Float) {\n num_in = input.val.getRaw();\n }\n else {\n num_in = parseFloat(input.val.get().toString());\n }\n return Math.sin(num_in);\n}\nexports.sin = sin;\n//# sourceMappingURL=sin.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/sin.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/sqrt.js": +/*!********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/sqrt.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.sqrt = void 0;\n/* eslint-disable radix */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction sqrt(input) {\n let num_in = undefined;\n if (typeof input.val === \"number\") {\n num_in = input.val;\n }\n else if (typeof input.val === \"string\") {\n num_in = parseFloat(input.val);\n }\n else if (input.val instanceof types_1.Float) {\n num_in = input.val.getRaw();\n }\n else {\n num_in = parseFloat(input.val.get().toString());\n }\n return Math.sqrt(num_in);\n}\nexports.sqrt = sqrt;\n//# sourceMappingURL=sqrt.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/sqrt.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/strlen.js": +/*!**********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/strlen.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.strlen = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction strlen(input) {\n let str = \"\";\n if (typeof input.val === \"string\") {\n str = input.val;\n }\n else if (input.val instanceof types_1.Character) {\n str = input.val.getTrimEnd();\n }\n else {\n str = input.val.get();\n }\n return new types_1.Integer().set(str.length);\n}\nexports.strlen = strlen;\n//# sourceMappingURL=strlen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/strlen.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/substring.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/substring.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.substring = void 0;\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nfunction substring(input) {\n var _a, _b;\n let off = (_a = input === null || input === void 0 ? void 0 : input.off) === null || _a === void 0 ? void 0 : _a.get();\n if (off === undefined) {\n off = 0;\n }\n if (off < 0) {\n (0, throw_error_1.throwError)(\"CX_SY_RANGE_OUT_OF_BOUNDS\");\n }\n const len = (_b = input === null || input === void 0 ? void 0 : input.len) === null || _b === void 0 ? void 0 : _b.get();\n if (len && len < 0) {\n (0, throw_error_1.throwError)(\"CX_SY_RANGE_OUT_OF_BOUNDS\");\n }\n let sub = \"\";\n if (typeof input.val === \"string\") {\n sub = input.val.substr(off, len);\n }\n else {\n sub = input.val.getOffset({ offset: off, length: len }).get();\n }\n return new string_1.String().set(sub);\n}\nexports.substring = substring;\n//# sourceMappingURL=substring.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/substring.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/substring_after.js": +/*!*******************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/substring_after.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.substring_after = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nfunction substring_after(input) {\n let val = typeof input.val === \"string\" ? input.val : input.val.get();\n if (input.val instanceof types_1.Character) {\n val = input.val.getTrimEnd();\n }\n let reg = \"\";\n if (typeof input.regex === \"string\") {\n reg = input.regex;\n }\n else if (input === null || input === void 0 ? void 0 : input.regex) {\n reg = input.regex.get();\n }\n else if (typeof input.sub === \"string\") {\n reg = input.sub;\n }\n else if (input === null || input === void 0 ? void 0 : input.sub) {\n reg = input.sub.get();\n }\n const r = new RegExp(reg + \"(.*)\");\n const res = val.match(r);\n let ret = \"\";\n if (res && res[1]) {\n ret = res[1];\n }\n return new string_1.String().set(ret);\n}\nexports.substring_after = substring_after;\n//# sourceMappingURL=substring_after.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/substring_after.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/substring_before.js": +/*!********************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/substring_before.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.substring_before = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nfunction substring_before(input) {\n let val = \"\";\n if (typeof input.val === \"string\") {\n val = input.val;\n }\n else if (input.val instanceof types_1.Character) {\n val = input.val.getTrimEnd();\n }\n else {\n val = input.val.get();\n }\n let reg = \"\";\n if (typeof input.regex === \"string\") {\n reg = input.regex;\n }\n else if (input === null || input === void 0 ? void 0 : input.regex) {\n reg = input.regex.get();\n }\n else if (typeof input.sub === \"string\") {\n reg = input.sub;\n }\n else if (input === null || input === void 0 ? void 0 : input.sub) {\n reg = input.sub.get();\n }\n const r = new RegExp(\"(.*?)\" + reg);\n const res = val.match(r);\n let ret = \"\";\n if (res && res[1]) {\n ret = res[1];\n }\n return new string_1.String().set(ret);\n}\nexports.substring_before = substring_before;\n//# sourceMappingURL=substring_before.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/substring_before.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/sy.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/sy.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.sy = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nexports.sy = new types_1.Structure({\n abcde: new types_1.Character(26).set(\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"),\n datlo: new types_1.Date(),\n datum: new types_1.Date(),\n dbcnt: new types_1.Integer(),\n fdpos: new types_1.Integer(),\n host: new types_1.Character(32).set(\"localhost\"),\n index: new types_1.Integer(),\n langu: new types_1.Character(1).set(\"E\"),\n mandt: new types_1.Character(3).set(\"123\"),\n msgid: new types_1.Character(20),\n msgno: new types_1.Numc({ length: 3 }),\n msgty: new types_1.Character(1),\n msgv1: new types_1.Character(50),\n msgv2: new types_1.Character(50),\n msgv3: new types_1.Character(50),\n msgv4: new types_1.Character(50),\n subrc: new types_1.Integer(),\n sysid: new types_1.Character(3).set(\"ABC\"),\n tabix: new types_1.Integer(),\n tfill: new types_1.Integer(),\n timlo: new types_1.Time(),\n tzone: new types_1.Integer(),\n uname: new types_1.Character(12).set(\"USERNAME\"),\n uzeit: new types_1.Time(),\n});\n//# sourceMappingURL=sy.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/sy.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/tan.js": +/*!*******************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/tan.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.tan = void 0;\n/* eslint-disable radix */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction tan(input) {\n let num_in = undefined;\n if (typeof input.val === \"number\") {\n num_in = input.val;\n }\n else if (typeof input.val === \"string\") {\n num_in = parseFloat(input.val);\n }\n else if (input.val instanceof types_1.Float) {\n num_in = input.val.getRaw();\n }\n else {\n num_in = parseFloat(input.val.get().toString());\n }\n return Math.tan(num_in);\n}\nexports.tan = tan;\n//# sourceMappingURL=tan.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/tan.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/to_lower.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/to_lower.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.to_lower = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction to_lower(input) {\n const val = typeof input.val === \"string\" ? input.val : input.val.get();\n if (input.val instanceof types_1.Character) {\n return new types_1.Character(input.val.getLength()).set(val.toLowerCase());\n }\n else {\n return new types_1.String().set(val.toLowerCase());\n }\n}\nexports.to_lower = to_lower;\n//# sourceMappingURL=to_lower.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/to_lower.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/to_mixed.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/to_mixed.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.to_mixed = void 0;\n/* eslint-disable @typescript-eslint/ban-types */\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction to_mixed(input) {\n let sep = input.sep;\n if (sep === undefined) {\n sep = \"_\";\n }\n if (typeof sep !== \"string\") {\n sep = sep.get();\n }\n if (sep.length === 0) {\n (0, throw_error_1.throwError)(\"CX_SY_STRG_PAR_VAL\");\n }\n const min = 1;\n if (min < 0) {\n (0, throw_error_1.throwError)(\"CX_SY_STRG_PAR_VAL\");\n }\n let val = input.val;\n if (typeof val !== \"string\") {\n val = val.get();\n }\n val = val.substring(0, min) + val.substring(min).toLowerCase();\n if (input.case) {\n if (typeof input.case === \"string\") {\n if (input.case === input.case.toLowerCase()) {\n val = val.substring(0, 1).toLowerCase() + val.substring(1);\n }\n }\n else {\n if (input.case.get() === input.case.get().toLowerCase()) {\n val = val.substring(0, 1).toLowerCase() + val.substring(1);\n }\n }\n }\n const length = sep.length;\n const regex = new RegExp(sep + \"\\\\w\");\n while (val.match(regex)) {\n val = val.replace(regex, (x) => {\n return x.substring(length).toUpperCase();\n });\n }\n return new types_1.String().set(val);\n}\nexports.to_mixed = to_mixed;\n//# sourceMappingURL=to_mixed.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/to_mixed.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/to_upper.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/to_upper.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.to_upper = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction to_upper(input) {\n const val = typeof input.val === \"string\" ? input.val : input.val.get();\n if (input.val instanceof types_1.Character) {\n return new types_1.Character(input.val.getLength()).set(val.toUpperCase());\n }\n else {\n return new types_1.String().set(val.toUpperCase());\n }\n}\nexports.to_upper = to_upper;\n//# sourceMappingURL=to_upper.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/to_upper.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/translate.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/translate.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.translate = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nfunction translate(input) {\n let val = typeof input.val === \"string\" ? input.val : input.val.get();\n const from = typeof input.from === \"string\" ? input.from : input.from.get();\n let to = typeof input.to === \"string\" ? input.to : input.to.get();\n if (input.to instanceof types_1.Character) {\n to = input.to.getTrimEnd();\n }\n const fromSplit = from.split(\"\");\n const toSplit = to.split(\"\");\n const chars = {};\n for (let i = 0; i < fromSplit.length; i++) {\n chars[fromSplit[i]] = toSplit[i] || \"\";\n }\n const reg = new RegExp(\"[\" + from + \"]\", \"g\");\n val = val.replace(reg, m => chars[m] || \"\");\n return new string_1.String().set(val);\n}\nexports.translate = translate;\n//# sourceMappingURL=translate.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/translate.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/trunc.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/trunc.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.trunc = void 0;\nfunction trunc(input) {\n let num_in = undefined;\n if (typeof input.val === \"number\") {\n num_in = input.val;\n }\n else if (typeof input.val === \"string\") {\n num_in = parseFloat(input.val);\n }\n else {\n num_in = parseFloat(input.val.get().toString());\n }\n return Math.trunc(num_in);\n}\nexports.trunc = trunc;\n//# sourceMappingURL=trunc.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/trunc.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/builtin/xstrlen.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/builtin/xstrlen.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.xstrlen = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction xstrlen(input) {\n if (typeof input.val === \"string\") {\n return new types_1.Integer().set(input.val.length / 2);\n }\n else {\n return new types_1.Integer().set(input.val.get().length / 2);\n }\n}\nexports.xstrlen = xstrlen;\n//# sourceMappingURL=xstrlen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/builtin/xstrlen.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/classic_error.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/classic_error.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassicError = void 0;\nclass ClassicError extends Error {\n constructor(input) {\n super();\n this.classic = input.classic;\n }\n}\nexports.ClassicError = ClassicError;\n//# sourceMappingURL=classic_error.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/classic_error.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/clone.js": +/*!*************************************************!*\ + !*** ../../packages/runtime/build/src/clone.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.clone = void 0;\nconst types_1 = __webpack_require__(/*! ./types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction clone(obj) {\n if (null == obj || \"object\" != typeof obj) {\n return obj;\n }\n if (obj instanceof types_1.ABAPObject) {\n const n = new types_1.ABAPObject();\n n.set(obj.get());\n // @ts-ignore\n return n;\n }\n else if (obj instanceof types_1.DataReference) {\n const n = new types_1.DataReference(obj.getType());\n n.assign(obj.getPointer());\n // @ts-ignore\n return n;\n }\n // @ts-ignore\n const copy = new obj.constructor();\n for (const attr in obj) {\n // @ts-ignore\n // eslint-disable-next-line no-prototype-builtins\n if (obj.hasOwnProperty(attr)) {\n if (null === obj[attr] || \"object\" !== typeof obj[attr]) {\n copy[attr] = obj[attr];\n }\n else {\n copy[attr] = clone(obj[attr]);\n }\n }\n }\n return copy;\n}\nexports.clone = clone;\n//# sourceMappingURL=clone.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/clone.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/assigned.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/compare/assigned.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assigned = void 0;\nfunction assigned(val) {\n return val.isAssigned();\n}\nexports.assigned = assigned;\n//# sourceMappingURL=assigned.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/assigned.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/between.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/compare/between.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.between = void 0;\nconst ge_1 = __webpack_require__(/*! ./ge */ \"../../packages/runtime/build/src/compare/ge.js\");\nconst le_1 = __webpack_require__(/*! ./le */ \"../../packages/runtime/build/src/compare/le.js\");\nfunction between(left, and1, and2) {\n return (0, ge_1.ge)(left, and1) && (0, le_1.le)(left, and2);\n}\nexports.between = between;\n//# sourceMappingURL=between.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/between.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/ca.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/ca.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ca = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction ca(left, right) {\n if (left instanceof types_1.FieldSymbol) {\n return ca(left.getPointer(), right);\n }\n else if (right instanceof types_1.FieldSymbol) {\n return ca(left, right.getPointer());\n }\n let l = \"\";\n if (typeof left === \"number\" || typeof left === \"string\") {\n l = left.toString();\n }\n else if (left instanceof types_1.Structure) {\n l = left.getCharacter();\n }\n else {\n l = left.get().toString();\n }\n if (l === \"\") {\n l = \" \";\n }\n let r = \"\";\n if (typeof right === \"string\") {\n r = right.toString();\n }\n else {\n r = right.get().toString();\n }\n const characters = r.split(\"\");\n let fdpos = 0;\n for (const c of l.split(\"\")) {\n if (characters.includes(c) === true) {\n // @ts-ignore\n abap.builtin.sy.get().fdpos.set(fdpos);\n return true;\n }\n fdpos++;\n }\n // @ts-ignore\n abap.builtin.sy.get().fdpos.set(fdpos);\n return false;\n}\nexports.ca = ca;\n//# sourceMappingURL=ca.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/ca.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/cn.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/cn.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.cn = void 0;\nconst co_1 = __webpack_require__(/*! ./co */ \"../../packages/runtime/build/src/compare/co.js\");\nfunction cn(left, right) {\n return (0, co_1.co)(left, right) === false;\n}\nexports.cn = cn;\n//# sourceMappingURL=cn.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/cn.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/co.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/co.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.co = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction co(left, right) {\n let l = \"\";\n if (typeof left === \"number\" || typeof left === \"string\") {\n l = left.toString();\n }\n else {\n l = left.get().toString();\n }\n let r = \"\";\n if (typeof right === \"string\") {\n r = right.toString();\n }\n else if (right instanceof types_1.Structure) {\n r = Object.values(right.get()).map((a) => a.get()).join(\"\");\n }\n else {\n r = right.get().toString();\n }\n const characters = r.split(\"\");\n let fdpos = 0;\n for (const c of l.split(\"\")) {\n if (characters.includes(c) === false) {\n // @ts-ignore\n abap.builtin.sy.get().fdpos.set(fdpos);\n return false;\n }\n fdpos++;\n }\n // @ts-ignore\n abap.builtin.sy.get().fdpos.set(fdpos);\n return true;\n}\nexports.co = co;\n//# sourceMappingURL=co.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/co.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/cp.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/cp.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.cp = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction cp(left, right) {\n let l = \"\";\n if (typeof left === \"number\" || typeof left === \"string\") {\n l = left.toString();\n }\n else if (left instanceof types_1.Structure) {\n l = left.getCharacter();\n }\n else if (left instanceof types_1.FieldSymbol) {\n if (left.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return cp(left.getPointer(), right);\n }\n else {\n l = left.get().toString();\n }\n let r = \"\";\n if (typeof right === \"string\") {\n r = right.toString();\n }\n else {\n r = right.get().toString().trimEnd();\n }\n r = r.replace(/\\\\/g, \"\\\\\\\\\");\n r = r.replace(/\\[/g, \"\\\\[\");\n r = r.replace(/\\]/g, \"\\\\]\");\n r = r.replace(/\\}/g, \"\\\\}\");\n r = r.replace(/\\{/g, \"\\\\{\");\n r = r.replace(/\\?/g, \"\\\\?\");\n r = r.replace(/\\(/g, \"\\\\(\");\n r = r.replace(/\\)/g, \"\\\\)\");\n r = r.replace(/\\./g, \"\\\\.\");\n r = r.replace(/\\|/g, \"\\\\|\");\n r = r.replace(/\\$/g, \"\\\\$\");\n r = r.replace(/\\^/g, \"\\\\^\");\n r = r.replace(/#\\*/g, \"\\\\u{002A}\");\n r = r.replace(/#\\+/g, \"\\\\u{002B}\");\n r = r.replace(/\\*/g, \"[\\\\s\\\\S]*\");\n r = r.replace(/\\+/g, \"[\\\\s\\\\S]\");\n const reg = new RegExp(\"^\" + r + \"$\", \"iu\");\n return l.match(reg) !== null;\n}\nexports.cp = cp;\n//# sourceMappingURL=cp.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/cp.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/cs.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/cs.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.cs = void 0;\nfunction cs(left, right) {\n let l = \"\";\n if (typeof left === \"number\" || typeof left === \"string\") {\n l = left.toString();\n }\n else {\n l = left.get().toString();\n }\n l = l.toUpperCase();\n let r = \"\";\n if (typeof right === \"string\") {\n r = right.toString();\n }\n else {\n r = right.get().toString();\n }\n r = r.toUpperCase();\n const index = l.indexOf(r);\n if (index < 0) {\n // @ts-ignore\n abap.builtin.sy.get().fdpos.set(l.length);\n return false;\n }\n else {\n // @ts-ignore\n abap.builtin.sy.get().fdpos.set(index);\n return true;\n }\n}\nexports.cs = cs;\n//# sourceMappingURL=cs.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/cs.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/eq.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/eq.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.eq = void 0;\n/* eslint-disable max-len */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction compareTables(left, right) {\n const leftArray = left.array();\n const rightArray = right.array();\n if (leftArray.length !== rightArray.length) {\n return false;\n }\n for (let i = 0; i < leftArray.length; i++) {\n const rowCompare = eq(leftArray[i], rightArray[i]);\n if (rowCompare === false) {\n return false;\n }\n }\n return true;\n}\nfunction eq(left, right) {\n /*\n console.dir(left);\n console.dir(right);\n */\n if (right instanceof types_1.FieldSymbol) {\n return eq(left, right.getPointer());\n }\n else if (left instanceof types_1.FieldSymbol) {\n return eq(left.getPointer(), right);\n }\n // for performance, do the typicaly/easy cases first\n if (right instanceof types_1.Character) {\n if (left instanceof types_1.Character) {\n if (right.getLength() === left.getLength()) {\n return right.get() === left.get();\n }\n else {\n return right.getTrimEnd() === left.getTrimEnd();\n }\n }\n else if (left instanceof types_1.String) {\n return right.getTrimEnd() === left.get();\n }\n }\n else if (right instanceof types_1.String) {\n if (left instanceof types_1.Character) {\n return right.get() === left.getTrimEnd();\n }\n else if (left instanceof types_1.String) {\n return right.get() === left.get();\n }\n }\n else if (right instanceof types_1.Numc && left instanceof types_1.Numc && right.getLength() === left.getLength()) {\n return right.get() === left.get();\n }\n else if (right instanceof types_1.Integer && left instanceof types_1.Integer) {\n return right.get() === left.get();\n }\n else if (right instanceof types_1.DataReference && left instanceof types_1.DataReference) {\n return right.getPointer() === left.getPointer();\n }\n else if (right instanceof types_1.Table\n || right instanceof types_1.HashedTable) {\n if (left instanceof types_1.Table\n || left instanceof types_1.HashedTable) {\n return compareTables(left, right);\n }\n else {\n // this happens in dynamic/ANY typed scenarios?\n return false;\n }\n }\n if (left instanceof types_1.Structure || right instanceof types_1.Structure) {\n if (!(right instanceof types_1.Structure)) {\n return eq(left.getCharacter(), right);\n }\n else if (!(left instanceof types_1.Structure)) {\n return eq(left, right.getCharacter());\n }\n const l = left.get();\n const r = right.get();\n const leftKeys = Object.keys(l);\n const rightKeys = Object.keys(r);\n if (leftKeys.length !== rightKeys.length) {\n return false;\n }\n for (const k of leftKeys) {\n const e = eq(l[k], r[k]);\n if (e === false) {\n return false;\n }\n }\n return true;\n }\n let l = undefined;\n if (left instanceof types_1.Character) {\n l = left.getTrimEnd();\n }\n else if (left instanceof types_1.Date) {\n l = left.get().trimEnd();\n }\n else if (left instanceof types_1.Table || left instanceof types_1.HashedTable) {\n return false;\n }\n else if (typeof left === \"object\") {\n l = left.get();\n }\n else {\n l = left;\n }\n let r = undefined;\n if (right instanceof types_1.Character) {\n r = right.getTrimEnd();\n }\n else if (right instanceof types_1.Date) {\n r = right.get().trimEnd();\n }\n else if (typeof right === \"object\") {\n r = right.get();\n }\n else {\n r = right;\n }\n if (right instanceof types_1.Hex && typeof l === \"number\") {\n r = parseInt(right.get(), 16);\n }\n else if (left instanceof types_1.Hex && typeof r === \"number\") {\n l = parseInt(left.get(), 16);\n }\n if (right instanceof types_1.Float && left instanceof types_1.Float) {\n r = right.getRaw();\n l = left.getRaw();\n }\n else if (right instanceof types_1.Float && typeof l === \"number\") {\n r = right.getRaw();\n }\n else if (left instanceof types_1.Float) {\n if (typeof r === \"number\") {\n l = left.getRaw();\n }\n else if (typeof r === \"string\") {\n l = left.getRaw();\n r = Number(r);\n }\n }\n if (right instanceof types_1.Numc && left instanceof types_1.Integer) {\n l = left.get();\n r = parseInt(right.get(), 10);\n }\n else if (right instanceof types_1.Integer && left instanceof types_1.Numc) {\n r = right.get();\n l = parseInt(left.get(), 10);\n }\n // assumption: typically no casts are required, so start checking if the types doesnt match\n if (typeof l !== typeof r) {\n if (typeof l === \"string\" && typeof r === \"number\") {\n r = r.toString();\n }\n else if (typeof l === \"number\" && typeof r === \"string\") {\n if (r === \"\") {\n r = 0;\n }\n else if (r.includes(\".\")) {\n r = parseFloat(r);\n }\n else {\n r = parseInt(r, 10);\n }\n }\n }\n /*\n console.dir(l);\n console.dir(r);\n */\n return l === r;\n}\nexports.eq = eq;\n//# sourceMappingURL=eq.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/eq.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/ge.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/ge.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ge = void 0;\nconst _1 = __webpack_require__(/*! . */ \"../../packages/runtime/build/src/compare/index.js\");\nfunction ge(left, right) {\n return (0, _1.gt)(left, right) || (0, _1.eq)(left, right);\n}\nexports.ge = ge;\n//# sourceMappingURL=ge.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/ge.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/gt.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/gt.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.gt = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst integer_1 = __webpack_require__(/*! ../types/integer */ \"../../packages/runtime/build/src/types/integer.js\");\nfunction gt(left, right) {\n if (left instanceof types_1.FieldSymbol) {\n if (left.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return gt(left.getPointer(), right);\n }\n else if (right instanceof types_1.FieldSymbol) {\n if (right.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return gt(left, right.getPointer());\n }\n if (left instanceof types_1.Table || right instanceof types_1.Table || left instanceof types_1.HashedTable || right instanceof types_1.HashedTable) {\n throw new Error(\"runtime_todo, gt TABLE\");\n }\n if (left instanceof types_1.Hex || right instanceof types_1.Hex) {\n return gt_with_hex(left, right);\n }\n let l = undefined;\n if (typeof left === \"number\" || typeof left === \"string\") {\n l = left;\n }\n else if (left instanceof types_1.Float || left instanceof types_1.DecFloat34) {\n l = left.getRaw();\n }\n else {\n l = left.get();\n }\n let r = undefined;\n if (typeof right === \"number\" || typeof right === \"string\") {\n r = right;\n }\n else if (right instanceof types_1.Float || right instanceof types_1.DecFloat34) {\n r = right.getRaw();\n }\n else {\n r = right.get();\n }\n if (typeof l === \"string\" && typeof r === \"number\") {\n if (l === \"\") {\n l = 0;\n }\n else {\n l = parseInt(l, 10);\n }\n }\n else if (typeof l === \"number\" && typeof r === \"string\") {\n if (r === \"\") {\n r = 0;\n }\n else {\n r = parseInt(r, 10);\n }\n }\n if (l === undefined) {\n return true; // todo, not sure this is correct\n }\n if (r === undefined) {\n return true; // todo, not sure this is correct\n }\n return l > r;\n}\nexports.gt = gt;\nfunction gt_with_hex(left, right) {\n const left_hex = get_hex_from_parameter(left);\n const right_hex = get_hex_from_parameter(right);\n return left_hex > right_hex;\n}\nfunction get_hex_from_parameter(comparison_part) {\n let hex_from_parameter = \"\";\n switch (typeof comparison_part) {\n case \"number\":\n hex_from_parameter = comparison_part.toString(16);\n break;\n case \"string\":\n hex_from_parameter = comparison_part.split(\"\")\n .map(c => c.charCodeAt(0).toString(16).padStart(2, \"0\"))\n .join(\"\");\n break;\n case \"object\":\n if (comparison_part instanceof types_1.Hex) {\n hex_from_parameter = comparison_part.get();\n }\n else if (comparison_part instanceof integer_1.Integer) {\n hex_from_parameter = comparison_part.get().toString(16).toUpperCase();\n if (hex_from_parameter.length % 2 === 1) {\n hex_from_parameter = \"0\" + hex_from_parameter;\n }\n }\n else if (comparison_part instanceof types_1.Character) {\n hex_from_parameter = comparison_part.get();\n }\n else if (comparison_part instanceof types_1.XString) {\n hex_from_parameter = comparison_part.get();\n }\n else {\n throw new Error(\"runtime_todo, gt hex1\");\n }\n break;\n default:\n throw new Error(\"runtime_todo, gt hex2\");\n }\n return hex_from_parameter;\n}\n//# sourceMappingURL=gt.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/gt.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/in.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/in.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.compareIn = void 0;\nconst cp_1 = __webpack_require__(/*! ./cp */ \"../../packages/runtime/build/src/compare/cp.js\");\nconst eq_1 = __webpack_require__(/*! ./eq */ \"../../packages/runtime/build/src/compare/eq.js\");\nconst ne_1 = __webpack_require__(/*! ./ne */ \"../../packages/runtime/build/src/compare/ne.js\");\nfunction compareIn(left, right) {\n if (right.array().length === 0) {\n return true;\n }\n for (const row of right.array()) {\n if ((0, eq_1.eq)(row.get()[\"sign\"], \"I\") && (0, eq_1.eq)(row.get()[\"option\"], \"EQ\")) {\n if ((0, eq_1.eq)(row.get()[\"low\"], left)) {\n return true;\n }\n }\n else if ((0, eq_1.eq)(row.get()[\"sign\"], \"E\") && (0, eq_1.eq)(row.get()[\"option\"], \"EQ\")) {\n if ((0, ne_1.ne)(row.get()[\"low\"], left)) {\n return true;\n }\n }\n else if ((0, eq_1.eq)(row.get()[\"sign\"], \"I\") && (0, eq_1.eq)(row.get()[\"option\"], \"CP\")) {\n if ((0, cp_1.cp)(left, row.get()[\"low\"])) {\n return true;\n }\n }\n else {\n console.dir(row);\n throw new Error(\"compareIn todo\");\n }\n }\n return false;\n}\nexports.compareIn = compareIn;\n//# sourceMappingURL=in.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/in.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/index.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/compare/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 }));\nexports[\"in\"] = void 0;\n__exportStar(__webpack_require__(/*! ./assigned */ \"../../packages/runtime/build/src/compare/assigned.js\"), exports);\n__exportStar(__webpack_require__(/*! ./between */ \"../../packages/runtime/build/src/compare/between.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ca */ \"../../packages/runtime/build/src/compare/ca.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cn */ \"../../packages/runtime/build/src/compare/cn.js\"), exports);\n__exportStar(__webpack_require__(/*! ./co */ \"../../packages/runtime/build/src/compare/co.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cp */ \"../../packages/runtime/build/src/compare/cp.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cs */ \"../../packages/runtime/build/src/compare/cs.js\"), exports);\n__exportStar(__webpack_require__(/*! ./eq */ \"../../packages/runtime/build/src/compare/eq.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ge */ \"../../packages/runtime/build/src/compare/ge.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gt */ \"../../packages/runtime/build/src/compare/gt.js\"), exports);\n__exportStar(__webpack_require__(/*! ./initial */ \"../../packages/runtime/build/src/compare/initial.js\"), exports);\n__exportStar(__webpack_require__(/*! ./instance_of */ \"../../packages/runtime/build/src/compare/instance_of.js\"), exports);\n__exportStar(__webpack_require__(/*! ./le */ \"../../packages/runtime/build/src/compare/le.js\"), exports);\n__exportStar(__webpack_require__(/*! ./lt */ \"../../packages/runtime/build/src/compare/lt.js\"), exports);\n__exportStar(__webpack_require__(/*! ./m */ \"../../packages/runtime/build/src/compare/m.js\"), exports);\n__exportStar(__webpack_require__(/*! ./na */ \"../../packages/runtime/build/src/compare/na.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ne */ \"../../packages/runtime/build/src/compare/ne.js\"), exports);\n__exportStar(__webpack_require__(/*! ./np */ \"../../packages/runtime/build/src/compare/np.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ns */ \"../../packages/runtime/build/src/compare/ns.js\"), exports);\n__exportStar(__webpack_require__(/*! ./o */ \"../../packages/runtime/build/src/compare/o.js\"), exports);\n__exportStar(__webpack_require__(/*! ./z */ \"../../packages/runtime/build/src/compare/z.js\"), exports);\nvar in_1 = __webpack_require__(/*! ./in */ \"../../packages/runtime/build/src/compare/in.js\");\nObject.defineProperty(exports, \"in\", ({ enumerable: true, get: function () { return in_1.compareIn; } }));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/index.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/initial.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/compare/initial.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.initial = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction initial(val) {\n // todo, refactor? add as method in each type instead?\n if (val instanceof types_1.Table || val instanceof types_1.HashedTable) {\n return val.array().length === 0;\n }\n else if (val instanceof types_1.DataReference) {\n return val.getPointer() === undefined;\n }\n else if (val instanceof types_1.Date) {\n return val.get() === \"00000000\";\n }\n else if (val instanceof types_1.Numc) {\n return val.get().match(/^0+$/) !== null;\n }\n else if (val instanceof types_1.Hex) {\n return val.get().match(/^0+$/) !== null;\n }\n else if (val instanceof types_1.Time) {\n return val.get() === \"000000\";\n }\n else if (val instanceof types_1.Float) {\n return val.getRaw() === 0;\n }\n else if (val instanceof types_1.Character) {\n return val.get().match(/^ *$/) !== null;\n }\n else if (val instanceof types_1.FieldSymbol && val.getPointer() === undefined) {\n throw new Error(\"FS not assigned\");\n }\n else if (val instanceof types_1.FieldSymbol) {\n const res = initial(val.getPointer());\n return res;\n }\n if (typeof val === \"string\") {\n return val === \"\";\n }\n else if (typeof val === \"number\") {\n return val === 0;\n }\n const value = val.get();\n if (typeof value === \"string\") {\n return value === \"\";\n }\n else if (typeof value === \"number\") {\n return value === 0;\n }\n else if (val instanceof types_1.ABAPObject) {\n return value === undefined;\n }\n else if (typeof value === \"object\") {\n for (const f of Object.keys(value)) {\n if (initial(value[f]) === false) {\n return false;\n }\n }\n return true;\n }\n else {\n throw new Error(\"runtime, initial, missing implementation\");\n }\n}\nexports.initial = initial;\n//# sourceMappingURL=initial.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/initial.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/instance_of.js": +/*!***************************************************************!*\ + !*** ../../packages/runtime/build/src/compare/instance_of.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.instance_of = void 0;\nfunction instance_of(val, cname) {\n return val.get() instanceof cname;\n}\nexports.instance_of = instance_of;\n//# sourceMappingURL=instance_of.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/instance_of.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/le.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/le.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.le = void 0;\nconst _1 = __webpack_require__(/*! . */ \"../../packages/runtime/build/src/compare/index.js\");\nfunction le(left, right) {\n return (0, _1.lt)(left, right) || (0, _1.eq)(left, right);\n}\nexports.le = le;\n//# sourceMappingURL=le.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/le.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/lt.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/lt.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.lt = void 0;\nconst gt_1 = __webpack_require__(/*! ./gt */ \"../../packages/runtime/build/src/compare/gt.js\");\nfunction lt(left, right) {\n return (0, gt_1.gt)(right, left);\n}\nexports.lt = lt;\n//# sourceMappingURL=lt.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/lt.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/m.js": +/*!*****************************************************!*\ + !*** ../../packages/runtime/build/src/compare/m.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.m = exports.hexToBinary = void 0;\nfunction hexToBinary(input) {\n let ret = \"\";\n const hex = input.get();\n for (let index = 0; index < hex.length / 2; index++) {\n const byte = hex.substring(index * 2, index * 2 + 2);\n ret += parseInt(byte, 16).toString(2).padStart(8, \"0\");\n }\n return ret;\n}\nexports.hexToBinary = hexToBinary;\n// bitwise compare\nfunction m(operand1, operand2) {\n let operand1Bits = hexToBinary(operand1);\n const operand2Bits = hexToBinary(operand2);\n if (operand1Bits.length < operand2Bits.length) {\n operand1Bits = operand1Bits.padEnd(operand2Bits.length, \"0\");\n }\n let oneFound = false;\n let zeroFound = false;\n for (let index = 0; index < operand2Bits.length; index++) {\n const o1bit = operand1Bits.substring(index, index + 1);\n const o2bit = operand2Bits.substring(index, index + 1);\n if (o2bit === \"1\") {\n if (o1bit === \"1\") {\n oneFound = true;\n }\n else {\n zeroFound = true;\n }\n }\n }\n return oneFound && zeroFound;\n}\nexports.m = m;\n//# sourceMappingURL=m.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/m.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/na.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/na.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.na = void 0;\nconst ca_1 = __webpack_require__(/*! ./ca */ \"../../packages/runtime/build/src/compare/ca.js\");\nfunction na(left, right) {\n return !(0, ca_1.ca)(left, right);\n}\nexports.na = na;\n//# sourceMappingURL=na.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/na.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/ne.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/ne.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ne = void 0;\nconst eq_1 = __webpack_require__(/*! ./eq */ \"../../packages/runtime/build/src/compare/eq.js\");\nfunction ne(left, right) {\n return !(0, eq_1.eq)(left, right);\n}\nexports.ne = ne;\n//# sourceMappingURL=ne.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/ne.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/np.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/np.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.np = void 0;\nconst cp_1 = __webpack_require__(/*! ./cp */ \"../../packages/runtime/build/src/compare/cp.js\");\nfunction np(left, right) {\n return !(0, cp_1.cp)(left, right);\n}\nexports.np = np;\n//# sourceMappingURL=np.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/np.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/ns.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/compare/ns.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ns = void 0;\nconst cs_1 = __webpack_require__(/*! ./cs */ \"../../packages/runtime/build/src/compare/cs.js\");\nfunction ns(left, right) {\n return !(0, cs_1.cs)(left, right);\n}\nexports.ns = ns;\n//# sourceMappingURL=ns.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/ns.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/o.js": +/*!*****************************************************!*\ + !*** ../../packages/runtime/build/src/compare/o.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.o = void 0;\nconst m_1 = __webpack_require__(/*! ./m */ \"../../packages/runtime/build/src/compare/m.js\");\n// bitwise compare\nfunction o(operand1, operand2) {\n let operand1Bits = (0, m_1.hexToBinary)(operand1);\n const operand2Bits = (0, m_1.hexToBinary)(operand2);\n if (operand1Bits.length < operand2Bits.length) {\n operand1Bits = operand1Bits.padEnd(operand2Bits.length, \"0\");\n }\n // let oneFound = false;\n let zeroFound = false;\n for (let index = 0; index < operand2Bits.length; index++) {\n const o1bit = operand1Bits.substring(index, index + 1);\n const o2bit = operand2Bits.substring(index, index + 1);\n if (o2bit === \"1\") {\n if (o1bit === \"1\") {\n // oneFound = true;\n }\n else {\n zeroFound = true;\n }\n }\n }\n return zeroFound === false;\n}\nexports.o = o;\n//# sourceMappingURL=o.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/o.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/compare/z.js": +/*!*****************************************************!*\ + !*** ../../packages/runtime/build/src/compare/z.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.z = void 0;\nconst m_1 = __webpack_require__(/*! ./m */ \"../../packages/runtime/build/src/compare/m.js\");\n// bitwise compare\nfunction z(operand1, operand2) {\n let operand1Bits = (0, m_1.hexToBinary)(operand1);\n const operand2Bits = (0, m_1.hexToBinary)(operand2);\n if (operand1Bits.length < operand2Bits.length) {\n operand1Bits = operand1Bits.padEnd(operand2Bits.length, \"0\");\n }\n let oneFound = false;\n // let zeroFound = false;\n for (let index = 0; index < operand2Bits.length; index++) {\n const o1bit = operand1Bits.substring(index, index + 1);\n const o2bit = operand2Bits.substring(index, index + 1);\n if (o2bit === \"1\") {\n if (o1bit === \"1\") {\n oneFound = true;\n }\n else {\n // zeroFound = true;\n }\n }\n }\n return oneFound === false;\n}\nexports.z = z;\n//# sourceMappingURL=z.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/compare/z.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/console/memory_console.js": +/*!******************************************************************!*\ + !*** ../../packages/runtime/build/src/console/memory_console.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MemoryConsole = void 0;\nclass MemoryConsole {\n constructor() {\n this.data = \"\";\n }\n clear() {\n this.data = \"\";\n }\n add(data) {\n this.data = this.data + data;\n }\n get() {\n return this.data;\n }\n isEmpty() {\n return this.data === \"\";\n }\n getTrimmed() {\n return this.data.split(\"\\n\").map(a => a.trimEnd()).join(\"\\n\");\n }\n}\nexports.MemoryConsole = MemoryConsole;\n//# sourceMappingURL=memory_console.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/console/memory_console.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/console/standard_out_console.js": +/*!************************************************************************!*\ + !*** ../../packages/runtime/build/src/console/standard_out_console.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StandardOutConsole = void 0;\nclass StandardOutConsole {\n constructor() {\n this.empty = true;\n }\n clear() {\n throw new Error(\"transpiler runtime: not supported for stdio console\");\n }\n add(data) {\n process.stdout.write(data);\n this.empty = false;\n }\n get() {\n return \"\";\n }\n isEmpty() {\n return this.empty;\n }\n getTrimmed() {\n throw new Error(\"transpiler runtime: not supported for stdio console\");\n }\n}\nexports.StandardOutConsole = StandardOutConsole;\n//# sourceMappingURL=standard_out_console.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/console/standard_out_console.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/context.js": +/*!***************************************************!*\ + !*** ../../packages/runtime/build/src/context.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Context = void 0;\nclass Context {\n constructor() {\n // DEFAULT and secondary database connections\n this.databaseConnections = {};\n this.RFCDestinations = {};\n }\n defaultDB() {\n if (this.databaseConnections[\"DEFAULT\"] === undefined) {\n throw new Error(\"Runtime, database not initialized\");\n }\n return this.databaseConnections[\"DEFAULT\"];\n }\n}\nexports.Context = Context;\n//# sourceMappingURL=context.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/context.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/db/db.js": +/*!*************************************************!*\ + !*** ../../packages/runtime/build/src/db/db.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n//# sourceMappingURL=db.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/db/db.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/expand_dynamic.js": +/*!**********************************************************!*\ + !*** ../../packages/runtime/build/src/expand_dynamic.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.expandDynamic = void 0;\nconst types_1 = __webpack_require__(/*! ./types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction expandDynamic(code, ev) {\n if (code === \"\") {\n return \"1 = 1\";\n }\n else {\n // todo more here, this is just one simple case,\n const match = code.match(/ <(\\w+)>/);\n if (match && match[1]) {\n const name = \"fs_\" + match[1] + \"_\";\n const found = ev(name);\n if (found instanceof types_1.FieldSymbol) {\n code = code.replace(/ <(\\w+)>/, \"'\" + found.get() + \"'\");\n }\n }\n return code;\n }\n}\nexports.expandDynamic = expandDynamic;\n//# sourceMappingURL=expand_dynamic.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/expand_dynamic.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/expand_in.js": +/*!*****************************************************!*\ + !*** ../../packages/runtime/build/src/expand_in.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.expandIN = void 0;\n// note: must always return an expression, never return empty string\n// https://www.sqlite.org/lang_select.html\nfunction expandIN(fieldName, table) {\n var _a, _b, _c;\n let ret = \"\";\n if (table.array().length === 0) {\n // \" NOT IN ()\" does not work on postgres\n ret = fieldName + \" LIKE '%'\";\n }\n else {\n ret = fieldName + \" IN (\";\n const values = [];\n for (const row of table.array()) {\n if (((_a = row.get().sign) === null || _a === void 0 ? void 0 : _a.get()) !== \"I\" || ((_b = row.get().option) === null || _b === void 0 ? void 0 : _b.get()) !== \"EQ\") {\n throw \"Error: IN, only I EQ supported for now\";\n }\n values.push(\"'\" + ((_c = row.get().low) === null || _c === void 0 ? void 0 : _c.get().replace(/'/g, \"''\")) + \"'\");\n }\n ret += values.join(\",\") + \")\";\n }\n return ret;\n}\nexports.expandIN = expandIN;\n//# sourceMappingURL=expand_in.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/expand_in.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/index.js": +/*!*************************************************!*\ + !*** ../../packages/runtime/build/src/index.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAP = exports.MemoryConsole = exports.DB = exports.types = exports.RFC = exports.UnitTestResult = void 0;\nconst context_1 = __webpack_require__(/*! ./context */ \"../../packages/runtime/build/src/context.js\");\nconst offset_length_1 = __webpack_require__(/*! ./offset_length */ \"../../packages/runtime/build/src/offset_length.js\");\nconst statements_1 = __webpack_require__(/*! ./statements */ \"../../packages/runtime/build/src/statements/index.js\");\nconst template_formatting_1 = __webpack_require__(/*! ./template_formatting */ \"../../packages/runtime/build/src/template_formatting.js\");\nconst unit_test_1 = __webpack_require__(/*! ./unit_test */ \"../../packages/runtime/build/src/unit_test.js\");\nObject.defineProperty(exports, \"UnitTestResult\", ({ enumerable: true, get: function () { return unit_test_1.UnitTestResult; } }));\nconst builtin = __webpack_require__(/*! ./builtin */ \"../../packages/runtime/build/src/builtin/index.js\");\nconst compare = __webpack_require__(/*! ./compare */ \"../../packages/runtime/build/src/compare/index.js\");\nconst DB = __webpack_require__(/*! ./db/db */ \"../../packages/runtime/build/src/db/db.js\");\nexports.DB = DB;\nconst operators = __webpack_require__(/*! ./operators */ \"../../packages/runtime/build/src/operators/index.js\");\nconst RFC = __webpack_require__(/*! ./rfc */ \"../../packages/runtime/build/src/rfc.js\");\nexports.RFC = RFC;\nconst types = __webpack_require__(/*! ./types */ \"../../packages/runtime/build/src/types/index.js\");\nexports.types = types;\nconst expand_in_1 = __webpack_require__(/*! ./expand_in */ \"../../packages/runtime/build/src/expand_in.js\");\nconst expand_dynamic_1 = __webpack_require__(/*! ./expand_dynamic */ \"../../packages/runtime/build/src/expand_dynamic.js\");\nconst classic_error_1 = __webpack_require__(/*! ./classic_error */ \"../../packages/runtime/build/src/classic_error.js\");\nconst standard_out_console_1 = __webpack_require__(/*! ./console/standard_out_console */ \"../../packages/runtime/build/src/console/standard_out_console.js\");\nconst memory_console_1 = __webpack_require__(/*! ./console/memory_console */ \"../../packages/runtime/build/src/console/memory_console.js\");\nObject.defineProperty(exports, \"MemoryConsole\", ({ enumerable: true, get: function () { return memory_console_1.MemoryConsole; } }));\nclass ABAP {\n constructor(input) {\n // global objects\n this.Classes = {};\n this.DDIC = {};\n this.FunctionModules = {};\n this.Interfaces = {};\n this.MSAG = {};\n this.SMIM = {};\n this.TypePools = {};\n this.W3MI = {};\n this.types = types;\n this.builtin = builtin;\n this.operators = operators;\n this.compare = compare;\n this.OffsetLength = offset_length_1.OffsetLength;\n this.templateFormatting = template_formatting_1.templateFormatting;\n this.expandIN = expand_in_1.expandIN;\n this.expandDynamic = expand_dynamic_1.expandDynamic;\n this.ClassicError = classic_error_1.ClassicError;\n this.context = new context_1.Context();\n this.console = (input === null || input === void 0 ? void 0 : input.console) ? input === null || input === void 0 ? void 0 : input.console : new standard_out_console_1.StandardOutConsole();\n this.context.console = this.console;\n this.dbo = (input === null || input === void 0 ? void 0 : input.database) || { schemaPrefix: \"\", tablePrefix: \"\" };\n if (this.dbo.schemaPrefix === undefined) {\n this.dbo.schemaPrefix = \"\";\n }\n if (this.dbo.tablePrefix === undefined) {\n this.dbo.tablePrefix = \"\";\n }\n this.statements = new statements_1.Statements(this.context);\n // todo, this should not be a singleton, it should be part of this instance\n // todo, move to context\n builtin.sy.get().subrc.set(0);\n builtin.sy.get().tabix.set(0);\n builtin.sy.get().index.set(0);\n this.statements.getTime({ sy: builtin.sy });\n }\n}\nexports.ABAP = ABAP;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/index.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/offset_length.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/offset_length.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OffsetLength = void 0;\nconst types_1 = __webpack_require__(/*! ./types */ \"../../packages/runtime/build/src/types/index.js\");\nclass OffsetLength {\n constructor(obj, options) {\n this.obj = obj;\n this.isHex = obj instanceof types_1.Hex || obj instanceof types_1.XString;\n if (options.offset) {\n if (typeof options.offset === \"number\") {\n this.offset = options.offset;\n }\n else {\n this.offset = options.offset.get();\n }\n if (this.isHex) {\n this.offset *= 2;\n }\n }\n if (options.length) {\n if (typeof options.length === \"number\") {\n this.length = options.length;\n }\n else {\n this.length = options.length.get();\n }\n if (this.isHex) {\n this.length *= 2;\n }\n }\n }\n get() {\n return this.obj.getOffset({ offset: this.offset, length: this.length }).get();\n }\n set(value) {\n let val = \"\";\n if (typeof value === \"string\") {\n val = value;\n }\n else if (typeof value === \"number\") {\n val = value + \"\";\n }\n else if (value instanceof types_1.Integer) {\n val = value.get() + \"\";\n if (this.isHex) {\n val = Number(val).toString(16);\n }\n }\n else {\n val = value.get() + \"\";\n }\n let old = this.obj instanceof types_1.Structure ? this.obj.getCharacter() : this.obj.get();\n if (this.obj instanceof types_1.Character) {\n old = old.padEnd(this.obj.getLength(), \" \");\n }\n if (this.length) {\n val = val.substr(0, this.length);\n if (this.isHex || this.obj instanceof types_1.Time) {\n val = val.padStart(this.length, \"0\");\n }\n else if (val.length < this.length) {\n val = val.padEnd(this.length, \" \");\n }\n }\n if (this.length && this.offset) {\n old = old.substr(0, this.offset) + val + old.substr(this.offset + this.length);\n }\n else if (this.length) {\n old = val + old.substr(this.length);\n }\n else if (this.offset) {\n old = old.substr(0, this.offset) + val;\n }\n old = old.trimEnd();\n if (this.obj instanceof types_1.Character) {\n old = old.padEnd(this.obj.getLength(), \" \");\n }\n this.obj.set(old);\n }\n}\nexports.OffsetLength = OffsetLength;\n//# sourceMappingURL=offset_length.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/offset_length.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/_bit_operations.js": +/*!*********************************************************************!*\ + !*** ../../packages/runtime/build/src/operators/_bit_operations.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.get_bit_operation_chunks = void 0;\nfunction get_bit_operation_chunks(left, right) {\n const ret = [];\n let leftFull = left.get();\n const leftLen = leftFull.length;\n leftFull = leftFull.padEnd(Math.ceil(leftLen / 2) * 2, \"0\");\n let rightFull = right.get();\n const rightLen = rightFull.length;\n rightFull = rightFull.padEnd(Math.ceil(rightLen / 2) * 2, \"0\");\n const maxLen = leftFull.length > rightFull.length ? leftFull.length : rightFull.length;\n // Using 3-byte chunkgs (6 hex positions) to avoid JavaScript negative values for extreme cases\n const chunks = maxLen / 6;\n for (let pass = chunks; pass > 0; pass--) {\n const chunkStart = maxLen - pass * 6;\n const chunkEnd = maxLen - (pass - 1) * 6;\n let leftSlice = leftFull.slice(chunkStart, chunkEnd);\n let rightSlice = rightFull.slice(chunkStart, chunkEnd);\n const chunkLen = leftSlice.length > rightSlice.length ? leftSlice.length : rightSlice.length;\n leftSlice = leftSlice.padEnd(chunkLen, \"0\");\n rightSlice = rightSlice.padEnd(chunkLen, \"0\");\n const leftChunk = parseInt(leftSlice, 16);\n const rightChunk = parseInt(rightSlice, 16);\n ret.push({ leftChunk: leftChunk, rightChunk: rightChunk, chunkLen: chunkLen });\n }\n return ret;\n}\nexports.get_bit_operation_chunks = get_bit_operation_chunks;\n//# sourceMappingURL=_bit_operations.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/_bit_operations.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/_parse.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/operators/_parse.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parse = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst xstring_1 = __webpack_require__(/*! ../types/xstring */ \"../../packages/runtime/build/src/types/xstring.js\");\nfunction parse(val) {\n if (typeof val === \"number\") {\n return val;\n }\n else if (typeof val === \"string\") {\n if (val.includes(\".\")) {\n return parseFloat(val);\n }\n else {\n return parseInt(val, 10);\n }\n }\n else if (val instanceof types_1.Float) {\n return val.getRaw();\n }\n else if (val instanceof xstring_1.XString || val instanceof types_1.Hex) {\n if (val.get() === \"\") {\n return 0;\n }\n let num = parseInt(val.get(), 16);\n // handle two complement,\n if (val instanceof types_1.Hex && val.getLength() >= 4) {\n const maxVal = Math.pow(2, val.get().length / 2 * 8);\n if (num > maxVal / 2 - 1) {\n num = num - maxVal;\n }\n }\n return num;\n }\n else if (val instanceof types_1.Time || val instanceof types_1.Date) {\n return val.getNumeric();\n }\n else if (val instanceof types_1.DecFloat34) {\n return val.getRaw();\n }\n else {\n return parse(val.get());\n }\n}\nexports.parse = parse;\n//# sourceMappingURL=_parse.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/_parse.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/add.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/operators/add.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.add = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nconst _parse_1 = __webpack_require__(/*! ./_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nfunction add(left, right) {\n if (left instanceof types_1.FieldSymbol) {\n if (left.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return add(left.getPointer(), right);\n }\n if (right instanceof types_1.FieldSymbol) {\n if (right.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return add(left, right.getPointer());\n }\n if (left instanceof types_1.Integer && right instanceof types_1.Integer) {\n return new types_1.Integer().set(left.get() + right.get());\n }\n else if (typeof left === \"number\" && typeof right === \"number\"\n && Number.isInteger(left) && Number.isInteger(right)) {\n return new types_1.Integer().set(left + right);\n }\n else if (typeof left === \"number\" && Number.isInteger(left) && right instanceof types_1.Integer) {\n return new types_1.Integer().set(left + right.get());\n }\n else if (typeof right === \"number\" && Number.isInteger(right) && left instanceof types_1.Integer) {\n return new types_1.Integer().set(left.get() + right);\n }\n else if ((left instanceof string_1.String || left instanceof types_1.Character) && Number.isInteger(Number(left.get())) && right instanceof types_1.Integer) {\n return new types_1.Integer().set(Number.parseInt(left.get(), 10) + right.get());\n }\n else if ((right instanceof string_1.String || right instanceof types_1.Character) && Number.isInteger(Number(right)) && left instanceof types_1.Integer) {\n return new types_1.Integer().set(left.get() + Number.parseInt(right.get(), 10));\n }\n const ret = new types_1.Float().set((0, _parse_1.parse)(left) + (0, _parse_1.parse)(right));\n return ret;\n}\nexports.add = add;\n//# sourceMappingURL=add.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/add.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/bit-and.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/operators/bit-and.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.bitand = void 0;\n/*eslint no-bitwise: [\"error\", { \"allow\": [\"&\"] }] */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst _bit_operations_1 = __webpack_require__(/*! ./_bit_operations */ \"../../packages/runtime/build/src/operators/_bit_operations.js\");\nfunction bitand(left, right) {\n let and = \"\";\n const chunks = (0, _bit_operations_1.get_bit_operation_chunks)(left, right);\n // eslint-disable-next-line no-cond-assign\n for (let i = 0, chunk; chunk = chunks[i]; i++) {\n and = and + (chunk.leftChunk & chunk.rightChunk).toString(16).toUpperCase().padStart(chunk.chunkLen, \"0\");\n }\n const ret = new types_1.XString();\n ret.set(and);\n return ret;\n}\nexports.bitand = bitand;\n//# sourceMappingURL=bit-and.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/bit-and.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/bit-not.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/operators/bit-not.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.bitnot = void 0;\nconst builtin_1 = __webpack_require__(/*! ../builtin */ \"../../packages/runtime/build/src/builtin/index.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\n// note: javascript bitwise negate doesnt work well for long hex values\nfunction bitnot(right) {\n const len = (0, builtin_1.xstrlen)({ val: right }).get();\n let not = \"\";\n for (let i = 0; i < len; i++) {\n const byte = right.getOffset({ offset: i, length: 1 });\n let binary = parseInt(byte.get(), 16).toString(2).padStart(8, \"0\");\n binary = binary.replace(/0/g, \"2\");\n binary = binary.replace(/1/g, \"0\");\n binary = binary.replace(/2/g, \"1\");\n const hex = parseInt(binary, 2).toString(16).padStart(2, \"0\");\n not += hex;\n }\n const ret = new types_1.Hex({ length: right.get().length / 2 });\n ret.set(not.toUpperCase());\n return ret;\n}\nexports.bitnot = bitnot;\n//# sourceMappingURL=bit-not.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/bit-not.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/bit-or.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/operators/bit-or.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.bitor = void 0;\n/*eslint no-bitwise: [\"error\", { \"allow\": [\"|\"] }] */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst _bit_operations_1 = __webpack_require__(/*! ./_bit_operations */ \"../../packages/runtime/build/src/operators/_bit_operations.js\");\nfunction bitor(left, right) {\n let or = \"\";\n const chunks = (0, _bit_operations_1.get_bit_operation_chunks)(left, right);\n // eslint-disable-next-line no-cond-assign\n for (let i = 0, chunk; chunk = chunks[i]; i++) {\n or = or + (chunk.leftChunk | chunk.rightChunk).toString(16).toUpperCase().padStart(chunk.chunkLen, \"0\");\n }\n const ret = new types_1.XString();\n ret.set(or);\n return ret;\n}\nexports.bitor = bitor;\n//# sourceMappingURL=bit-or.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/bit-or.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/bit-xor.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/operators/bit-xor.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.bitxor = void 0;\n/*eslint no-bitwise: [\"error\", { \"allow\": [\"^\"] }] */\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst _bit_operations_1 = __webpack_require__(/*! ./_bit_operations */ \"../../packages/runtime/build/src/operators/_bit_operations.js\");\nfunction bitxor(left, right) {\n let xor = \"\";\n const chunks = (0, _bit_operations_1.get_bit_operation_chunks)(left, right);\n // eslint-disable-next-line no-cond-assign\n for (let i = 0, chunk; chunk = chunks[i]; i++) {\n xor = xor + (chunk.leftChunk ^ chunk.rightChunk).toString(16).toUpperCase().padStart(chunk.chunkLen, \"0\");\n }\n const ret = new types_1.XString();\n ret.set(xor);\n return ret;\n}\nexports.bitxor = bitxor;\n//# sourceMappingURL=bit-xor.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/bit-xor.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/concat.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/operators/concat.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.concat = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction concat(left, right) {\n if (Array.isArray(left)) {\n // used in ampersand concatenation\n let res = concat(left[0], left[1]);\n for (let i = 2; i < left.length; i++) {\n res = concat(res, left[i]);\n }\n return res;\n }\n let val = \"\";\n if (typeof left === \"string\" || typeof left === \"number\") {\n val += left;\n }\n else if (left instanceof types_1.Character) {\n val += left.getTrimEnd();\n }\n else {\n val += left.get();\n }\n if (typeof right === \"string\" || typeof right === \"number\") {\n val += right;\n }\n else if (right instanceof types_1.Character) {\n val += right.getTrimEnd();\n }\n else {\n val += right.get();\n }\n return new types_1.String().set(val);\n}\nexports.concat = concat;\n//# sourceMappingURL=concat.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/concat.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/div.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/operators/div.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.div = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst _parse_1 = __webpack_require__(/*! ./_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nfunction div(left, right) {\n const l = (0, _parse_1.parse)(left);\n const r = (0, _parse_1.parse)(right);\n const ret = new types_1.Integer().set(Math.floor(l / r));\n return ret;\n}\nexports.div = div;\n//# sourceMappingURL=div.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/div.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/divide.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/operators/divide.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.divide = void 0;\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst _parse_1 = __webpack_require__(/*! ./_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\n// todo, this will only work when the target value is an integer?\nfunction divide(left, right) {\n const r = (0, _parse_1.parse)(right);\n if (r === 0) {\n (0, throw_error_1.throwError)(\"CX_SY_ZERODIVIDE\");\n }\n const val = (0, _parse_1.parse)(left) / r;\n return new types_1.Float().set(val);\n}\nexports.divide = divide;\n//# sourceMappingURL=divide.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/divide.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/index.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/operators/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__(/*! ./add */ \"../../packages/runtime/build/src/operators/add.js\"), exports);\n__exportStar(__webpack_require__(/*! ./div */ \"../../packages/runtime/build/src/operators/div.js\"), exports);\n__exportStar(__webpack_require__(/*! ./divide */ \"../../packages/runtime/build/src/operators/divide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./minus */ \"../../packages/runtime/build/src/operators/minus.js\"), exports);\n__exportStar(__webpack_require__(/*! ./mod */ \"../../packages/runtime/build/src/operators/mod.js\"), exports);\n__exportStar(__webpack_require__(/*! ./multiply */ \"../../packages/runtime/build/src/operators/multiply.js\"), exports);\n__exportStar(__webpack_require__(/*! ./power */ \"../../packages/runtime/build/src/operators/power.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bit-and */ \"../../packages/runtime/build/src/operators/bit-and.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bit-not */ \"../../packages/runtime/build/src/operators/bit-not.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bit-or */ \"../../packages/runtime/build/src/operators/bit-or.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bit-xor */ \"../../packages/runtime/build/src/operators/bit-xor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./concat */ \"../../packages/runtime/build/src/operators/concat.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/index.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/minus.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/operators/minus.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.minus = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst _parse_1 = __webpack_require__(/*! ./_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nfunction minus(left, right) {\n if (left instanceof types_1.FieldSymbol) {\n if (left.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return minus(left.getPointer(), right);\n }\n if (right instanceof types_1.FieldSymbol) {\n if (right.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return minus(left, right.getPointer());\n }\n if (left instanceof types_1.Integer && right instanceof types_1.Integer) {\n return new types_1.Integer().set(left.get() - right.get());\n }\n else if (typeof left === \"number\" && typeof right === \"number\"\n && Number.isInteger(left) && Number.isInteger(right)) {\n return new types_1.Integer().set(left - right);\n }\n else if (typeof left === \"number\" && Number.isInteger(left) && right instanceof types_1.Integer) {\n return new types_1.Integer().set(left - right.get());\n }\n else if (typeof right === \"number\" && Number.isInteger(right) && left instanceof types_1.Integer) {\n return new types_1.Integer().set(left.get() - right);\n }\n else if ((left instanceof string_1.String || left instanceof types_1.Character) && Number.isInteger(Number(left.get())) && right instanceof types_1.Integer) {\n return new types_1.Integer().set(Number.parseInt(left.get(), 10) - right.get());\n }\n else if ((right instanceof string_1.String || right instanceof types_1.Character) && Number.isInteger(Number(right)) && left instanceof types_1.Integer) {\n return new types_1.Integer().set(left.get() - Number.parseInt(right.get(), 10));\n }\n return new types_1.Float().set((0, _parse_1.parse)(left) - (0, _parse_1.parse)(right));\n}\nexports.minus = minus;\n//# sourceMappingURL=minus.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/minus.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/mod.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/operators/mod.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.mod = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst _parse_1 = __webpack_require__(/*! ./_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nfunction mod(left, right) {\n const l = (0, _parse_1.parse)(left);\n const r = (0, _parse_1.parse)(right);\n const ret = new types_1.Integer().set(((l % r) + r) % r);\n return ret;\n}\nexports.mod = mod;\n//# sourceMappingURL=mod.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/mod.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/multiply.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/operators/multiply.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.multiply = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst _parse_1 = __webpack_require__(/*! ./_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst string_1 = __webpack_require__(/*! ../types/string */ \"../../packages/runtime/build/src/types/string.js\");\nfunction multiply(left, right) {\n if (left instanceof types_1.Integer && right instanceof types_1.Integer) {\n return new types_1.Integer().set(left.get() * right.get());\n }\n else if (typeof left === \"number\" && typeof right === \"number\"\n && Number.isInteger(left) && Number.isInteger(right)) {\n return new types_1.Integer().set(left * right);\n }\n else if (typeof left === \"number\" && Number.isInteger(left) && right instanceof types_1.Integer) {\n return new types_1.Integer().set(left * right.get());\n }\n else if (typeof right === \"number\" && Number.isInteger(right) && left instanceof types_1.Integer) {\n return new types_1.Integer().set(left.get() * right);\n }\n else if ((left instanceof string_1.String || left instanceof types_1.Character) && Number.isInteger(Number(left.get())) && right instanceof types_1.Integer) {\n return new types_1.Integer().set(Number.parseInt(left.get(), 10) * right.get());\n }\n else if ((right instanceof string_1.String || right instanceof types_1.Character) && Number.isInteger(Number(right)) && left instanceof types_1.Integer) {\n return new types_1.Integer().set(left.get() * Number.parseInt(right.get(), 10));\n }\n return new types_1.Float().set((0, _parse_1.parse)(left) * (0, _parse_1.parse)(right));\n}\nexports.multiply = multiply;\n//# sourceMappingURL=multiply.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/multiply.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/operators/power.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/operators/power.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.power = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst _parse_1 = __webpack_require__(/*! ./_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nfunction power(left, right) {\n return new types_1.Float().set(Math.pow((0, _parse_1.parse)(left), (0, _parse_1.parse)(right)));\n}\nexports.power = power;\n//# sourceMappingURL=power.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/operators/power.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/rfc.js": +/*!***********************************************!*\ + !*** ../../packages/runtime/build/src/rfc.js ***! + \***********************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n//# sourceMappingURL=rfc.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/rfc.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/append.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/append.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.append = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction append(input) {\n if (input.target instanceof types_1.FieldSymbol) {\n input.target = input.target.getPointer();\n if (input.target === undefined) {\n throw \"Field symbol not assigned\";\n }\n }\n if (input.source instanceof types_1.FieldSymbol) {\n input.source = input.source.getPointer();\n }\n if (input.target === undefined) {\n // short APPEND, use header field\n if (!(input.source instanceof types_1.Table)) {\n throw \"APPEND, header, table\";\n }\n input.source.append(input.source.getHeader());\n // @ts-ignore\n abap.builtin.sy.get().tabix.set(input.source.array().length);\n return;\n }\n else if (input.lines === true && input.source instanceof types_1.Table) {\n let from = 1;\n if (input.from) {\n from = parseInt(input.from.get() + \"\", 10);\n }\n let to = input.source.array().length;\n if (input.to) {\n to = parseInt(input.to.get() + \"\", 10);\n }\n let index = 1;\n for (const a of input.source.array()) {\n if (index < from || index > to) {\n index++;\n continue;\n }\n input.target.append(a);\n index++;\n }\n }\n else {\n const val = input.target.append(input.source);\n if (input.assigning) {\n if (val instanceof types_1.FieldSymbol) {\n input.assigning.assign(val.getPointer());\n }\n else {\n input.assigning.assign(val);\n }\n }\n else if (input.referenceInto) {\n if (val instanceof types_1.FieldSymbol) {\n input.referenceInto.assign(val.getPointer());\n }\n else {\n input.referenceInto.assign(val);\n }\n }\n }\n // @ts-ignore\n abap.builtin.sy.get().tabix.set(input.target.array().length);\n}\nexports.append = append;\n//# sourceMappingURL=append.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/append.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/assert.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/assert.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assert = void 0;\nfunction assert(input) {\n if (input === false) {\n throw new Error(\"ASSERTION_FAILED\");\n }\n}\nexports.assert = assert;\n//# sourceMappingURL=assert.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/assert.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/assign.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/assign.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assign = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction assign(input) {\n var _a;\n // console.dir(input);\n if (input.dynamicName) {\n if (input.dynamicSource instanceof types_1.FieldSymbol) {\n input.dynamicSource = input.dynamicSource.getPointer();\n }\n input.dynamicName = input.dynamicName.trimEnd();\n if (input.dynamicName.includes(\"->\")) {\n if (input.dynamicSource instanceof types_1.ABAPObject || input.dynamicSource instanceof types_1.DataReference) {\n const split = input.dynamicName.split(/->|-/);\n split.shift();\n for (const s of split) {\n if (s === \"*\") {\n // @ts-ignore\n input.dynamicSource = input.dynamicSource.dereference();\n }\n else {\n // @ts-ignore\n input.dynamicSource = input.dynamicSource.get()[s.toLowerCase().replace(/[~\\\\/]/g, \"$\")];\n }\n }\n }\n else {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n return;\n }\n }\n else if (input.dynamicName.includes(\"=>\")) {\n const split = input.dynamicName.split(\"=>\");\n // @ts-ignore\n const clas = abap.Classes[split[0].toUpperCase()];\n if (clas === undefined) {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n return;\n }\n if (clas[split[1].toLowerCase()] !== undefined) {\n input.target.assign(clas[split[1].toLowerCase()]);\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n return;\n }\n else if (clas[split[0].toLowerCase() + \"$\" + split[1].toLowerCase()] !== undefined) {\n input.target.assign(clas[split[0].toLowerCase() + \"$\" + split[1].toLowerCase()]);\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n return;\n }\n }\n if (input.dynamicSource) {\n input.target.assign(input.dynamicSource);\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n }\n else {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n }\n }\n else if (input.component) {\n if (input.source instanceof types_1.FieldSymbol || input.source instanceof types_1.DataReference) {\n input.source = input.source.getPointer();\n assign(input);\n return;\n }\n else if (!(input.source instanceof types_1.Structure)\n && !(input.source instanceof types_1.Table)) {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n return;\n }\n let component = input.component;\n if (typeof component !== \"string\") {\n component = component.get();\n }\n if (input.source instanceof types_1.Table) {\n if (((_a = input.source.getOptions()) === null || _a === void 0 ? void 0 : _a.withHeader) === true) {\n input.source = input.source.getHeader();\n }\n else {\n // result is the table itself, no change of input.source\n }\n }\n let result = undefined;\n if (typeof component === \"number\") {\n if (component === 0) {\n result = input.source;\n }\n else if (input.source instanceof types_1.Structure) {\n const structure_as_object = input.source.get();\n const keys = Object.keys(structure_as_object);\n const component_name = keys[component - 1];\n result = structure_as_object[component_name];\n }\n }\n else if (!(input.source instanceof types_1.Table)) {\n const split = component.toLowerCase().trimEnd().split(\"-\");\n result = input.source;\n for (const s of split) {\n result = result.get()[s];\n }\n }\n if (result === undefined) {\n // not a field in the structure\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n }\n else {\n input.target.assign(result);\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n }\n }\n else {\n // console.dir(input);\n if (input.source instanceof types_1.FieldSymbol) {\n const pnt = input.source.getPointer();\n if (pnt === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n input.target.assign(pnt);\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n }\n else if (input.source === undefined) {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n }\n else {\n if (input.casting) {\n input.target.setCasting();\n }\n input.target.assign(input.source);\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n }\n }\n}\nexports.assign = assign;\n//# sourceMappingURL=assign.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/assign.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/call_function.js": +/*!********************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/call_function.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallFunction = void 0;\nclass CallFunction {\n constructor(context) {\n this.context = context;\n }\n // note: this is only called if DESTINIATION is supplied\n async callFunction(options) {\n if (options.destination.trim() === \"\") {\n const param = {\n exporting: options.exporting,\n importing: options.importing,\n tables: options.tables,\n changing: options.changing,\n exceptions: options.exceptions,\n };\n // @ts-ignore\n await abap.FunctionModules[options.name](param);\n return;\n }\n const dest = this.context.RFCDestinations[options.destination];\n if (dest === undefined) {\n throw new Error(`RFC destination ${options.destination} does not exist`);\n }\n await dest.call(options.name, {\n exporting: options.exporting,\n importing: options.importing,\n tables: options.tables,\n changing: options.changing,\n exceptions: options.exceptions,\n });\n }\n}\nexports.CallFunction = CallFunction;\n//# sourceMappingURL=call_function.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/call_function.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/cast.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/statements/cast.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.cast = void 0;\nconst compare_1 = __webpack_require__(/*! ../compare */ \"../../packages/runtime/build/src/compare/index.js\");\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\n// todo, field symbols as input?\n// todo, local classes?\n// check with javascript instanceof?\n// handling interfaces?\nasync function cast(target, source) {\n var _a;\n if ((0, compare_1.initial)(source)) {\n target.clear();\n return;\n }\n // eslint-disable-next-line prefer-const\n let checkIntf = true;\n if (source instanceof types_1.FieldSymbol) {\n if (source.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n await cast(target, source.getPointer());\n return;\n }\n else if (target instanceof types_1.FieldSymbol && target.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n let targetName = undefined;\n if (target.getQualifiedName) {\n targetName = (_a = target.getQualifiedName()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n }\n // @ts-ignore\n let targetClass = abap.Classes[targetName];\n if (targetClass === undefined) {\n // todo, for unit testing,\n // @ts-ignore\n targetClass = abap.Classes[\"PROG-ZFOOBAR-\" + targetName];\n }\n if ((targetClass === null || targetClass === void 0 ? void 0 : targetClass.INTERNAL_TYPE) === \"CLAS\") {\n // using \"instanceof\" is probably wrong in some cases,\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof\n if (source.get() instanceof targetClass === false) {\n (0, throw_error_1.throwError)(\"CX_SY_MOVE_CAST_ERROR\");\n }\n }\n else if (checkIntf === true && (targetClass === null || targetClass === void 0 ? void 0 : targetClass.INTERNAL_TYPE) === \"INTF\") {\n const list = source.get().constructor.IMPLEMENTED_INTERFACES;\n const isImplemented = list.some(i => i === targetName);\n if (isImplemented === false) {\n (0, throw_error_1.throwError)(\"CX_SY_MOVE_CAST_ERROR\");\n }\n }\n target.set(source);\n}\nexports.cast = cast;\n//# sourceMappingURL=cast.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/cast.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/clear.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/clear.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.clear = void 0;\nfunction clear(value) {\n value.clear();\n}\nexports.clear = clear;\n//# sourceMappingURL=clear.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/clear.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/collect.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/collect.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.collect = void 0;\nconst compare_1 = __webpack_require__(/*! ../compare */ \"../../packages/runtime/build/src/compare/index.js\");\nconst insert_internal_1 = __webpack_require__(/*! ./insert_internal */ \"../../packages/runtime/build/src/statements/insert_internal.js\");\nconst read_table_1 = __webpack_require__(/*! ./read_table */ \"../../packages/runtime/build/src/statements/read_table.js\");\nfunction collect(source, target) {\n const read = (0, read_table_1.readTable)(target, { withKey: (i) => { return (0, compare_1.eq)(i.table_line, source); } });\n if (read.subrc === 4) {\n (0, insert_internal_1.insertInternal)({ table: target, data: source });\n }\n}\nexports.collect = collect;\n//# sourceMappingURL=collect.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/collect.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/commit.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/commit.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.commit = void 0;\nfunction commit() {\n // todo\n}\nexports.commit = commit;\n//# sourceMappingURL=commit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/commit.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/concatenate.js": +/*!******************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/concatenate.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.concatenate = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction concatenate(input) {\n const list = [];\n if (input.lines === true) {\n const tab = input.source[0];\n if (tab instanceof types_1.Table) {\n for (const l of tab.array()) {\n if (input.respectingBlanks !== true) {\n list.push(l.get().trimEnd());\n }\n else {\n list.push(l.get());\n }\n }\n }\n }\n else {\n for (const source of input.source) {\n let val = \"\";\n if (source instanceof types_1.Table) {\n throw new Error(\"concatenate, error input is table\");\n }\n else if (typeof source === \"string\" || typeof source === \"number\") {\n val = source.toString();\n }\n else if (source instanceof types_1.Character) {\n if (input.respectingBlanks !== true) {\n val = source.getTrimEnd();\n }\n else {\n val = source.get();\n }\n }\n else {\n val = source.get().toString();\n }\n list.push(val);\n }\n }\n let sep = \"\";\n if (input.separatedBy) {\n if (typeof input.separatedBy === \"string\" || typeof input.separatedBy === \"number\") {\n sep = input.separatedBy.toString();\n }\n else {\n sep = input.separatedBy.get().toString();\n }\n }\n input.target.set(list.join(sep));\n}\nexports.concatenate = concatenate;\n//# sourceMappingURL=concatenate.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/concatenate.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/condense.js": +/*!***************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/condense.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.condense = void 0;\nfunction condense(input, options) {\n let trimmed = input.get().replace(/ +$/, \"\");\n trimmed = trimmed.replace(/^ +/, \"\");\n if (options.nogaps) {\n trimmed = trimmed.replace(/ */g, \"\");\n }\n else {\n trimmed = trimmed.replace(/ {2,}/g, \" \");\n }\n input.set(trimmed);\n}\nexports.condense = condense;\n//# sourceMappingURL=condense.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/condense.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/convert.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/convert.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.convert = void 0;\nconst temporal_polyfill_1 = __webpack_require__(/*! temporal-polyfill */ \"../../packages/runtime/node_modules/temporal-polyfill/dist/index.cjs\");\nfunction convert(source, target) {\n var _a, _b, _c;\n /*\n console.dir(source);\n console.dir(target);\n */\n let date = \"\";\n if (source.date) {\n if (typeof source.date === \"string\") {\n date = source.date;\n }\n else {\n date = source.date.get();\n }\n }\n let time = \"\";\n if (source.time) {\n if (typeof source.time === \"string\") {\n time = source.time;\n }\n else {\n time = source.time.get();\n }\n }\n let stamp = \"\";\n if (source.stamp) {\n if (typeof source.stamp === \"string\") {\n stamp = source.stamp;\n }\n else {\n stamp = source.stamp.get() + \"\";\n }\n }\n let zone = \"\";\n if (source.zone) {\n if (typeof source.zone === \"string\") {\n zone = source.zone;\n }\n else {\n zone = source.zone.get() + \"\";\n }\n zone = zone.trimEnd();\n }\n if (zone.trim() === \"\") {\n zone = \"UTC\";\n }\n ////////////////////////\n let zoned = undefined;\n if (date !== \"\" && time !== \"\") {\n if (date === \"00000000\" && time === \"000000\") {\n (_a = target.stamp) === null || _a === void 0 ? void 0 : _a.clear();\n return;\n }\n const pt = temporal_polyfill_1.Temporal.PlainTime.from(time.substring(0, 2) + \":\" + time.substring(2, 4) + \":\" + time.substring(4, 6));\n zoned = temporal_polyfill_1.Temporal.PlainDate.from(date).toZonedDateTime({ timeZone: zone, plainTime: pt });\n zoned = zoned.withTimeZone(\"UTC\");\n }\n else {\n if (stamp === \"0\") {\n (_b = target.date) === null || _b === void 0 ? void 0 : _b.clear();\n (_c = target.time) === null || _c === void 0 ? void 0 : _c.clear();\n return;\n }\n const pt = temporal_polyfill_1.Temporal.PlainTime.from(stamp.substring(8, 10) + \":\" + stamp.substring(10, 12) + \":\" + stamp.substring(12, 14));\n zoned = temporal_polyfill_1.Temporal.PlainDate.from(stamp.substring(0, 8)).toZonedDateTime({ timeZone: \"UTC\", plainTime: pt });\n zoned = zoned.withTimeZone(zone);\n }\n const d = zoned.toPlainDate().toString().replace(/-/g, \"\");\n const t = zoned.toPlainTime().toString().replace(/:/g, \"\");\n if (target.stamp) {\n target.stamp.set(d + t);\n }\n if (target.date) {\n target.date.set(d);\n }\n if (target.time) {\n target.time.set(t);\n }\n}\nexports.convert = convert;\n//# sourceMappingURL=convert.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/convert.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/create_data.js": +/*!******************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/create_data.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createData = void 0;\nconst clone_1 = __webpack_require__(/*! ../clone */ \"../../packages/runtime/build/src/clone.js\");\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction createData(target, options) {\n if (target instanceof types_1.FieldSymbol) {\n createData(target.getPointer(), options);\n return;\n }\n else if (!(target instanceof types_1.DataReference)) {\n throw new Error(\"CREATE_DATA_REFERENCE_EXPECTED\");\n }\n if ((options === null || options === void 0 ? void 0 : options.name) && (options === null || options === void 0 ? void 0 : options.table)) {\n // @ts-ignore\n if (abap.DDIC[options.name.trimEnd()] === undefined) {\n (0, throw_error_1.throwError)(\"CX_SY_CREATE_DATA_ERROR\");\n }\n // @ts-ignore\n target.assign(new abap.types.Table(abap.DDIC[options.name.trimEnd()].type));\n }\n else if (options === null || options === void 0 ? void 0 : options.name) {\n // @ts-ignore\n if (abap.DDIC[options.name.trimEnd()]) {\n // @ts-ignore\n target.assign((0, clone_1.clone)(abap.DDIC[options.name.trimEnd()].type));\n }\n else if (options.name.includes(\"=>\")) {\n const [className, typeName] = options.name.trimEnd().toUpperCase().split(\"=>\");\n // @ts-ignore\n if (abap.Classes[className] === undefined) {\n (0, throw_error_1.throwError)(\"CX_SY_CREATE_DATA_ERROR\");\n }\n // @ts-ignore\n if (abap.Classes[className][typeName.toLowerCase()] === undefined) {\n (0, throw_error_1.throwError)(\"CX_SY_CREATE_DATA_ERROR\");\n }\n // @ts-ignore\n target.assign((0, clone_1.clone)(abap.Classes[className][typeName.toLowerCase()]));\n }\n else if (options.name.startsWith(\"\\\\TYPE=%\")) {\n // currently, only the runtime knows the references to the anonymous types\n // @ts-ignore\n const clas = abap.Classes[\"KERNEL_CREATE_DATA_HANDLE\"];\n if (clas === undefined) {\n throw new Error(\"CreateData, kernel class missing\");\n }\n clas.anonymous({ name: options.name.trimEnd(), dref: target });\n }\n else if (options.name.trimEnd() === \"ABAP_BOOL\") {\n // ABAP_BOOL is special, its not part of the type pool, its built-into abaplint\n target.assign(new types_1.Character(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }));\n }\n else if (options.name.trimEnd() === \"STRING\") {\n target.assign(new types_1.String());\n }\n else if (options.name.trimEnd() === \"XSTRING\") {\n target.assign(new types_1.XString());\n }\n else if (options.name.trimEnd() === \"I\") {\n target.assign(new types_1.Integer());\n }\n else if (options.name.trimEnd() === \"T\") {\n target.assign(new types_1.Time());\n }\n else if (options.name.trimEnd() === \"D\") {\n target.assign(new types_1.Date());\n }\n else if (options.name.trimEnd() === \"F\") {\n target.assign(new types_1.Float());\n }\n else if (options.name.trimEnd() === \"INT8\") {\n target.assign(new types_1.Integer8());\n }\n else {\n (0, throw_error_1.throwError)(\"CX_SY_CREATE_DATA_ERROR\");\n }\n if (options.typeLineOf === true) {\n // @ts-ignore\n target.assign((0, clone_1.clone)(target.getPointer().getRowType()));\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.typeName) {\n switch (options.typeName) {\n case \"C\":\n {\n let length = 1;\n if (options.length) {\n length = options.length.get();\n }\n target.assign(new types_1.Character(length));\n }\n break;\n case \"N\":\n {\n let length = 1;\n if (options.length) {\n length = options.length.get();\n }\n target.assign(new types_1.Numc({ length: length }));\n }\n break;\n case \"X\":\n {\n let length = 1;\n if (options.length) {\n length = options.length.get();\n }\n target.assign(new types_1.Hex({ length: length }));\n }\n break;\n case \"P\":\n {\n let length = 1;\n if (options.length) {\n length = options.length.get();\n }\n let decimals = 0;\n if (options.decimals) {\n decimals = options.decimals.get();\n }\n target.assign(new types_1.Packed({ length: length, decimals: decimals }));\n }\n break;\n case \"F\":\n target.assign(new types_1.Float());\n break;\n case \"D\":\n target.assign(new types_1.Date());\n break;\n case \"T\":\n target.assign(new types_1.Time());\n break;\n case \"I\":\n target.assign(new types_1.Integer());\n break;\n case \"STRING\":\n target.assign(new types_1.String());\n break;\n case \"INT8\":\n target.assign(new types_1.Integer8());\n break;\n case \"XSTRING\":\n target.assign(new types_1.XString());\n break;\n default:\n // @ts-ignore\n if (abap.DDIC[options.typeName.trimEnd()]) {\n // @ts-ignore\n target.assign((0, clone_1.clone)(abap.DDIC[options.typeName.trimEnd()].type));\n }\n else if (options.typeName.includes(\"=>\")) {\n const [className, typeName] = options.typeName.toUpperCase().split(\"=>\");\n // @ts-ignore\n if (abap.Classes[className] === undefined) {\n (0, throw_error_1.throwError)(\"CX_SY_CREATE_DATA_ERROR\");\n }\n // @ts-ignore\n if (abap.Classes[className][typeName.toLowerCase().trimEnd()] === undefined) {\n (0, throw_error_1.throwError)(\"CX_SY_CREATE_DATA_ERROR\");\n }\n // @ts-ignore\n target.assign((0, clone_1.clone)(abap.Classes[className][typeName.toLowerCase().trimEnd()]));\n }\n else {\n throw \"CREATE DATA, unknown type \" + options.typeName;\n }\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.type) {\n target.assign((0, clone_1.clone)(options.type));\n }\n else if (options === null || options === void 0 ? void 0 : options.likeLineOf) {\n if (options.likeLineOf instanceof types_1.FieldSymbol) {\n options.likeLineOf = options.likeLineOf.getPointer();\n }\n target.assign((0, clone_1.clone)(options.likeLineOf.getRowType()));\n }\n else if (options === null || options === void 0 ? void 0 : options.like) {\n if (options.like instanceof types_1.FieldSymbol) {\n options.like = options.like.getPointer();\n }\n target.assign((0, clone_1.clone)(options.like));\n }\n else {\n target.assign((0, clone_1.clone)(target.getType()));\n }\n}\nexports.createData = createData;\n//# sourceMappingURL=create_data.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/create_data.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/delete_database.js": +/*!**********************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/delete_database.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteDatabase = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst insert_database_1 = __webpack_require__(/*! ./insert_database */ \"../../packages/runtime/build/src/statements/insert_database.js\");\nclass DeleteDatabase {\n constructor(context) {\n this.context = context;\n }\n async deleteDatabase(table, options) {\n if (options.table instanceof types_1.FieldSymbol) {\n options.table = options.table.getPointer();\n }\n if (options.from instanceof types_1.FieldSymbol) {\n options.from = options.from.getPointer();\n }\n if (typeof table !== \"string\") {\n table = table.get().trimEnd();\n }\n if (options.table) {\n for (const row of options.table.array()) {\n this.deleteDatabase(table, { from: row });\n }\n }\n else if (options.from) {\n let where = [];\n const structure = options.from.get();\n for (const k of Object.keys(structure)) {\n const str = k + \" = \" + (0, insert_database_1.toValue)(structure[k].get());\n where.push(str);\n }\n where = where.join(\" AND \");\n const { subrc, dbcnt } = await this.context.defaultDB().delete({ table, where });\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(subrc);\n // @ts-ignore\n abap.builtin.sy.get().dbcnt.set(dbcnt);\n }\n else if (options.where) {\n const { subrc, dbcnt } = await this.context.defaultDB().delete({ table, where: options.where });\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(subrc);\n // @ts-ignore\n abap.builtin.sy.get().dbcnt.set(dbcnt);\n }\n else {\n throw \"deleteDatabase todo\";\n }\n }\n}\nexports.DeleteDatabase = DeleteDatabase;\n//# sourceMappingURL=delete_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/delete_database.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/delete_internal.js": +/*!**********************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/delete_internal.js ***! + \**********************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.deleteInternal = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst compare_1 = __webpack_require__(/*! ../compare */ \"../../packages/runtime/build/src/compare/index.js\");\nconst loop_1 = __webpack_require__(/*! ./loop */ \"../../packages/runtime/build/src/statements/loop.js\");\nasync function deleteInternal(target, options) {\n var _a, e_1, _b, _c;\n let index = 0;\n if (target instanceof types_1.FieldSymbol) {\n target = target.getPointer();\n if (target === undefined) {\n throw new Error(\"deleteInternal, FS not assigned\");\n }\n }\n if ((options === null || options === void 0 ? void 0 : options.index)\n && (options === null || options === void 0 ? void 0 : options.where) === undefined\n && (options === null || options === void 0 ? void 0 : options.adjacent) === undefined\n && (options === null || options === void 0 ? void 0 : options.fromValue) === undefined\n && (options === null || options === void 0 ? void 0 : options.from) === undefined\n && (options === null || options === void 0 ? void 0 : options.to) === undefined) {\n if (target.array()[options.index.get() - 1] === undefined) {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n return;\n }\n else {\n target.deleteIndex(options.index.get() - 1);\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n return;\n }\n }\n if (options === null || options === void 0 ? void 0 : options.to) {\n if ((options === null || options === void 0 ? void 0 : options.from) !== undefined || (options === null || options === void 0 ? void 0 : options.where) !== undefined) {\n throw \"DeleteInternalTodo\";\n }\n for (let i = 0; i < options.to.get(); i++) {\n target.deleteIndex(0);\n }\n return;\n }\n if ((options === null || options === void 0 ? void 0 : options.adjacent) === true) {\n if (target instanceof types_1.HashedTable) {\n throw new Error(\"delete adjacent, hashed table\");\n }\n const array = target.array();\n for (let index = array.length - 1; index > 0; index--) {\n const prev = array[index - 1];\n const i = array[index];\n if (options === null || options === void 0 ? void 0 : options.comparing) {\n let match = false;\n for (const compareField of options.comparing) {\n match = (0, compare_1.eq)(prev.get()[compareField], i.get()[compareField]);\n if (!match) {\n break;\n }\n }\n if (match) {\n target.deleteIndex(index);\n }\n }\n else if ((0, compare_1.eq)(prev, i) === true) {\n target.deleteIndex(index);\n }\n }\n return;\n }\n // @ts-ignore\n const originalTabix = abap.builtin.sy.get().tabix.get();\n try {\n for (var _d = true, _e = __asyncValues((0, loop_1.loop)(target)), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {\n _c = _f.value;\n _d = false;\n const i = _c;\n // @ts-ignore\n index = abap.builtin.sy.get().tabix.get() - 1;\n if (options === null || options === void 0 ? void 0 : options.where) {\n const row = i instanceof types_1.Structure ? i.get() : { table_line: i };\n if (options.where(row) === true) {\n if (target instanceof types_1.HashedTable) {\n target.deleteFrom(i);\n }\n else {\n target.deleteIndex(index);\n }\n }\n }\n else if ((options === null || options === void 0 ? void 0 : options.index) && options.index.get() === index) {\n target.deleteIndex(options.index.get() - 1);\n break;\n }\n else if ((options === null || options === void 0 ? void 0 : options.fromValue) && (0, compare_1.eq)(options.fromValue, i)) {\n target.deleteIndex(index);\n }\n else if ((options === null || options === void 0 ? void 0 : options.from) && options.from.get() <= index + 1) {\n target.deleteIndex(index);\n }\n else if (options === undefined && originalTabix === index + 1) {\n // short form, \"DELETE tab\"\n target.deleteIndex(index);\n break;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = _e.return)) await _b.call(_e);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\nexports.deleteInternal = deleteInternal;\n//# sourceMappingURL=delete_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/delete_internal.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/describe.js": +/*!***************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/describe.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.describe = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction describe(input) {\n var _a;\n // console.dir(input);\n if (input.type) {\n if (input.field instanceof types_1.FieldSymbol) {\n describe({ field: input.field.getPointer(), type: input.type, length: input.length, mode: input.mode });\n return;\n }\n if (input.field instanceof types_1.Table || input.field instanceof types_1.HashedTable) {\n input.type.set(\"h\");\n }\n else if (input.field instanceof types_1.Character || typeof input.field === \"string\") {\n input.type.set(\"C\");\n }\n else if (input.field instanceof types_1.Integer) {\n input.type.set(\"I\");\n }\n else if (input.field instanceof types_1.Integer8) {\n input.type.set(\"8\");\n }\n else if (input.field instanceof types_1.Date) {\n input.type.set(\"D\");\n }\n else if (input.field instanceof types_1.Time) {\n input.type.set(\"T\");\n }\n else if (input.field instanceof types_1.Float) {\n input.type.set(\"F\");\n }\n else if (input.field instanceof types_1.Numc) {\n input.type.set(\"N\");\n }\n else if (input.field instanceof types_1.Hex) {\n input.type.set(\"X\");\n }\n else if (input.field instanceof types_1.Packed) {\n input.type.set(\"P\");\n }\n else if (input.field instanceof types_1.String) {\n input.type.set(\"g\");\n }\n else if (input.field instanceof types_1.XString) {\n input.type.set(\"y\");\n }\n else if (input.field instanceof types_1.DecFloat34) {\n input.type.set(\"e\");\n }\n else if (input.field instanceof types_1.Structure) {\n input.type.set(\"u\");\n }\n else if (input.field instanceof types_1.ABAPObject) {\n input.type.set(\"r\");\n }\n else if (input.field instanceof types_1.DataReference) {\n input.type.set(\"l\");\n }\n else {\n throw new Error(\"DESCRIBE, todo, transpiler, \" + input.field.constructor.name);\n }\n }\n if (input.field instanceof types_1.FieldSymbol) {\n input.field = input.field.getPointer();\n }\n if (input.length) {\n if (input.field instanceof types_1.Character\n || input.field instanceof types_1.Packed\n || input.field instanceof types_1.Numc\n || input.field instanceof types_1.Hex) {\n input.length.set(input.field.getLength());\n }\n else {\n throw new Error(\"DESCRIBE length, unsupported or todo, \" + input.field.constructor.name);\n }\n }\n if (input.decimals) {\n if (input.field instanceof types_1.Packed) {\n input.decimals.set(input.field.getDecimals());\n }\n else {\n throw new Error(\"DESCRIBE decimals, unsupported or todo, \" + input.field.constructor.name);\n }\n }\n if (input.table) {\n // @ts-ignore\n abap.builtin.sy.get().tfill.set(input.table.getArrayLength());\n (_a = input.lines) === null || _a === void 0 ? void 0 : _a.set(input.table.getArrayLength());\n }\n}\nexports.describe = describe;\n//# sourceMappingURL=describe.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/describe.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/find.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/statements/find.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.find = void 0;\nconst abap_regex_1 = __webpack_require__(/*! ../abap_regex */ \"../../packages/runtime/build/src/abap_regex.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction find(input, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n let sectionOffset = (_a = options.sectionOffset) === null || _a === void 0 ? void 0 : _a.get();\n if (sectionOffset && options.byteMode) {\n sectionOffset = sectionOffset * 2;\n }\n let s = \"\";\n if (options.find) {\n s = options.find;\n if (typeof s !== \"string\") {\n s = s.get();\n }\n if (s === \"\") {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n return;\n }\n s = s.replace(/\\[/g, \"\\\\[\");\n s = s.replace(/\\]/g, \"\\\\]\");\n s = s.replace(/\\?/g, \"\\\\?\");\n s = s.replace(/\\(/g, \"\\\\(\");\n s = s.replace(/\\)/g, \"\\\\)\");\n s = s.replace(/\\./g, \"\\\\.\");\n s = s.replace(/\\|/g, \"\\\\|\");\n s = s.replace(/\\*/g, \"\\\\*\");\n s = s.replace(/\\+/g, \"\\\\+\");\n s = new RegExp(s, \"g\");\n }\n else if (options.regex) {\n if (typeof options.regex === \"string\") {\n if (options.regex === \"\") {\n throw new Error(\"FIND, runtime, no input, regex empty\");\n }\n }\n else if (options.regex.get() === \"\") {\n throw new Error(\"FIND, runtime, no input, regex empty\");\n }\n let r = options.regex;\n if (typeof r !== \"string\") {\n r = r.get();\n }\n if (typeof r === \"string\") {\n r = abap_regex_1.ABAPRegExp.convert(r);\n }\n else if (r.constructor.name === \"cl_abap_regex\") {\n const obj = r;\n // @ts-ignore\n r = obj.mv_pattern.get();\n // @ts-ignore\n if (obj.mv_ignore_case.get() === \"X\") {\n options.ignoringCase = true;\n }\n }\n else {\n throw \"find(), unexpected input\";\n }\n s = new RegExp(r, \"gm\" + (options.ignoringCase === true ? \"i\" : \"\"));\n }\n else {\n throw \"FIND, runtime, no input\";\n }\n const matches = [];\n if (input instanceof types_1.Table) {\n let line = 1;\n for (const blah of input.array()) {\n let temp;\n // eslint-disable-next-line no-cond-assign\n while (temp = s.exec(blah.get())) {\n matches.push(Object.assign(Object.assign({}, temp), { line }));\n if (options.first === true) {\n break;\n }\n }\n line++;\n }\n }\n else {\n let blah = input.get();\n if (sectionOffset) {\n blah = blah.substr(sectionOffset);\n }\n let temp;\n // eslint-disable-next-line no-cond-assign\n while (temp = s.exec(blah)) {\n matches.push(temp);\n if (options.first === true) {\n break;\n }\n }\n }\n if (options.submatches) {\n for (let index = 0; index < options.submatches.length; index++) {\n // @ts-ignore\n if (matches[0] && matches[0][index + 1]) {\n // @ts-ignore\n options.submatches[index].set(matches[0][index + 1]);\n }\n else if (matches.length > 0) {\n options.submatches[index].clear();\n }\n }\n }\n if (options.results) {\n // assumption, results is a table with the correct type\n options.results.clear();\n for (const m of matches) {\n const match = new types_1.Structure({\n line: new types_1.Integer(),\n offset: new types_1.Integer(),\n length: new types_1.Integer(),\n submatches: types_1.TableFactory.construct(new types_1.Structure({ offset: new types_1.Integer(), length: new types_1.Integer() })),\n });\n match.get().line.set(m.line || 0);\n match.get().offset.set(m.index);\n match.get().length.set(m[0].length);\n const submatch = new types_1.Structure({ offset: new types_1.Integer(), length: new types_1.Integer() });\n for (let i = 1; i < m.length; i++) {\n // @ts-ignore\n if (m[i] === undefined) {\n submatch.get().offset.set(-1);\n submatch.get().length.set(0);\n }\n else {\n // @ts-ignore\n submatch.get().offset.set(m.index + m[0].indexOf(m[i]));\n // @ts-ignore\n submatch.get().length.set(m[i].length);\n }\n match.get().submatches.append(submatch);\n }\n if (options.results instanceof types_1.Table) {\n options.results.append(match);\n }\n else {\n options.results.set(match);\n }\n if (options.first === undefined || options.first === true) {\n break;\n }\n }\n }\n if (matches.length === 0) {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n }\n else {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n }\n if (((_b = matches[0]) === null || _b === void 0 ? void 0 : _b.index) !== undefined) {\n let val = matches[0].index;\n if (sectionOffset) {\n val += sectionOffset;\n }\n if (options.byteMode) {\n val = val / 2;\n }\n (_c = options.offset) === null || _c === void 0 ? void 0 : _c.set(val);\n }\n if (options === null || options === void 0 ? void 0 : options.count) {\n (_d = options.count) === null || _d === void 0 ? void 0 : _d.set(matches.length);\n }\n else {\n (_e = options.count) === null || _e === void 0 ? void 0 : _e.clear();\n }\n if ((options === null || options === void 0 ? void 0 : options.length) && matches && matches[0]) {\n (_f = options.length) === null || _f === void 0 ? void 0 : _f.set(matches[0][0].length);\n }\n else {\n (_g = options.length) === null || _g === void 0 ? void 0 : _g.clear();\n }\n}\nexports.find = find;\n//# sourceMappingURL=find.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/find.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/get_bit.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/get_bit.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getBit = void 0;\nfunction getBit(number, hex, output) {\n const charIndex = Math.floor((number.get() - 1) / 8);\n const bitIndex = (number.get() - 1) % 8;\n if (bitIndex < 0) {\n throw new Error(\"BIT_OFFSET_NOT_POSITIVE\");\n }\n const h = hex.get().substr(charIndex * 2, 2);\n const parsed = parseInt(h, 16).toString(2);\n const bits = parsed.padStart(8, \"0\");\n output.set(bits.substr(bitIndex, 1));\n}\nexports.getBit = getBit;\n//# sourceMappingURL=get_bit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/get_bit.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/get_locale.js": +/*!*****************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/get_locale.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getLocale = void 0;\nfunction getLocale(target) {\n // todo\n target.set(\"E\");\n}\nexports.getLocale = getLocale;\n//# sourceMappingURL=get_locale.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/get_locale.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/get_parameter.js": +/*!********************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/get_parameter.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getParameter = void 0;\nfunction getParameter(_source, _target) {\n // todo, additional logic? call ABAP kernel class?\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n}\nexports.getParameter = getParameter;\n//# sourceMappingURL=get_parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/get_parameter.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/get_run_time.js": +/*!*******************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/get_run_time.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getRunTime = void 0;\nlet prev = undefined;\nfunction getRunTime(value) {\n if (prev === undefined) {\n value.set(0);\n prev = new Date().getTime();\n }\n else {\n const now = new Date().getTime();\n value.set(now - prev);\n prev = now;\n }\n}\nexports.getRunTime = getRunTime;\n//# sourceMappingURL=get_run_time.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/get_run_time.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/get_time.js": +/*!***************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/get_time.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTime = void 0;\nfunction getTime(options) {\n const d = new Date();\n const date = d.getUTCFullYear() +\n (d.getUTCMonth() + 1 + \"\").padStart(2, \"0\") +\n (d.getUTCDate() + \"\").padStart(2, \"0\");\n const time = (d.getUTCHours() + \"\").padStart(2, \"0\") +\n (d.getUTCMinutes() + \"\").padStart(2, \"0\") +\n (d.getUTCSeconds() + \"\").padStart(2, \"0\");\n if (options === undefined) {\n options = {};\n }\n if ((options === null || options === void 0 ? void 0 : options.sy) === undefined) {\n // @ts-ignore\n options.sy = abap.builtin.sy;\n }\n options.sy.get().datlo.set(date);\n options.sy.get().datum.set(date);\n options.sy.get().timlo.set(time);\n options.sy.get().uzeit.set(time);\n if (options === null || options === void 0 ? void 0 : options.field) {\n options.field.set(time);\n }\n if (options === null || options === void 0 ? void 0 : options.stamp) {\n options.stamp.set(date + time);\n }\n}\nexports.getTime = getTime;\n//# sourceMappingURL=get_time.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/get_time.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/index.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/index.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Statements = void 0;\nconst append_1 = __webpack_require__(/*! ./append */ \"../../packages/runtime/build/src/statements/append.js\");\nconst assert_1 = __webpack_require__(/*! ./assert */ \"../../packages/runtime/build/src/statements/assert.js\");\nconst assign_1 = __webpack_require__(/*! ./assign */ \"../../packages/runtime/build/src/statements/assign.js\");\nconst clear_1 = __webpack_require__(/*! ./clear */ \"../../packages/runtime/build/src/statements/clear.js\");\nconst commit_1 = __webpack_require__(/*! ./commit */ \"../../packages/runtime/build/src/statements/commit.js\");\nconst concatenate_1 = __webpack_require__(/*! ./concatenate */ \"../../packages/runtime/build/src/statements/concatenate.js\");\nconst condense_1 = __webpack_require__(/*! ./condense */ \"../../packages/runtime/build/src/statements/condense.js\");\nconst convert_1 = __webpack_require__(/*! ./convert */ \"../../packages/runtime/build/src/statements/convert.js\");\nconst create_data_1 = __webpack_require__(/*! ./create_data */ \"../../packages/runtime/build/src/statements/create_data.js\");\nconst delete_internal_1 = __webpack_require__(/*! ./delete_internal */ \"../../packages/runtime/build/src/statements/delete_internal.js\");\nconst describe_1 = __webpack_require__(/*! ./describe */ \"../../packages/runtime/build/src/statements/describe.js\");\nconst find_1 = __webpack_require__(/*! ./find */ \"../../packages/runtime/build/src/statements/find.js\");\nconst collect_1 = __webpack_require__(/*! ./collect */ \"../../packages/runtime/build/src/statements/collect.js\");\nconst overlay_1 = __webpack_require__(/*! ./overlay */ \"../../packages/runtime/build/src/statements/overlay.js\");\nconst cast_1 = __webpack_require__(/*! ./cast */ \"../../packages/runtime/build/src/statements/cast.js\");\nconst get_bit_1 = __webpack_require__(/*! ./get_bit */ \"../../packages/runtime/build/src/statements/get_bit.js\");\nconst read_report_1 = __webpack_require__(/*! ./read_report */ \"../../packages/runtime/build/src/statements/read_report.js\");\nconst raise_event_1 = __webpack_require__(/*! ./raise_event */ \"../../packages/runtime/build/src/statements/raise_event.js\");\nconst get_locale_1 = __webpack_require__(/*! ./get_locale */ \"../../packages/runtime/build/src/statements/get_locale.js\");\nconst get_parameter_1 = __webpack_require__(/*! ./get_parameter */ \"../../packages/runtime/build/src/statements/get_parameter.js\");\nconst set_locale_1 = __webpack_require__(/*! ./set_locale */ \"../../packages/runtime/build/src/statements/set_locale.js\");\nconst get_run_time_1 = __webpack_require__(/*! ./get_run_time */ \"../../packages/runtime/build/src/statements/get_run_time.js\");\nconst get_time_1 = __webpack_require__(/*! ./get_time */ \"../../packages/runtime/build/src/statements/get_time.js\");\nconst insert_database_1 = __webpack_require__(/*! ./insert_database */ \"../../packages/runtime/build/src/statements/insert_database.js\");\nconst insert_internal_1 = __webpack_require__(/*! ./insert_internal */ \"../../packages/runtime/build/src/statements/insert_internal.js\");\nconst delete_database_1 = __webpack_require__(/*! ./delete_database */ \"../../packages/runtime/build/src/statements/delete_database.js\");\nconst loop_1 = __webpack_require__(/*! ./loop */ \"../../packages/runtime/build/src/statements/loop.js\");\nconst message_1 = __webpack_require__(/*! ./message */ \"../../packages/runtime/build/src/statements/message.js\");\nconst modify_database_1 = __webpack_require__(/*! ./modify_database */ \"../../packages/runtime/build/src/statements/modify_database.js\");\nconst modify_internal_1 = __webpack_require__(/*! ./modify_internal */ \"../../packages/runtime/build/src/statements/modify_internal.js\");\nconst move_corresponding_1 = __webpack_require__(/*! ./move_corresponding */ \"../../packages/runtime/build/src/statements/move_corresponding.js\");\nconst read_table_1 = __webpack_require__(/*! ./read_table */ \"../../packages/runtime/build/src/statements/read_table.js\");\nconst replace_1 = __webpack_require__(/*! ./replace */ \"../../packages/runtime/build/src/statements/replace.js\");\nconst rollback_1 = __webpack_require__(/*! ./rollback */ \"../../packages/runtime/build/src/statements/rollback.js\");\nconst select_1 = __webpack_require__(/*! ./select */ \"../../packages/runtime/build/src/statements/select.js\");\nconst set_bit_1 = __webpack_require__(/*! ./set_bit */ \"../../packages/runtime/build/src/statements/set_bit.js\");\nconst shift_1 = __webpack_require__(/*! ./shift */ \"../../packages/runtime/build/src/statements/shift.js\");\nconst sort_1 = __webpack_require__(/*! ./sort */ \"../../packages/runtime/build/src/statements/sort.js\");\nconst set_handler_1 = __webpack_require__(/*! ./set_handler */ \"../../packages/runtime/build/src/statements/set_handler.js\");\nconst split_1 = __webpack_require__(/*! ./split */ \"../../packages/runtime/build/src/statements/split.js\");\nconst translate_1 = __webpack_require__(/*! ./translate */ \"../../packages/runtime/build/src/statements/translate.js\");\nconst update_database_1 = __webpack_require__(/*! ./update_database */ \"../../packages/runtime/build/src/statements/update_database.js\");\nconst write_1 = __webpack_require__(/*! ./write */ \"../../packages/runtime/build/src/statements/write.js\");\nconst call_function_1 = __webpack_require__(/*! ./call_function */ \"../../packages/runtime/build/src/statements/call_function.js\");\nconst types_1 = __webpack_require__(/*! util/types */ \"?917e\");\n// this is a class, as statements like SELECT needs access to the database object instance\n// and WRITE will access the Console\nclass Statements {\n constructor(context) {\n this.append = append_1.append;\n this.assert = assert_1.assert;\n this.assign = assign_1.assign;\n this.cast = cast_1.cast;\n this.clear = clear_1.clear;\n this.collect = collect_1.collect;\n this.commit = commit_1.commit;\n this.concatenate = concatenate_1.concatenate;\n this.condense = condense_1.condense;\n this.convert = convert_1.convert;\n this.createData = create_data_1.createData;\n this.deleteInternal = delete_internal_1.deleteInternal;\n this.describe = describe_1.describe;\n this.find = find_1.find;\n this.getBit = get_bit_1.getBit;\n this.readReport = read_report_1.readReport;\n this.getLocale = get_locale_1.getLocale;\n this.getParameter = get_parameter_1.getParameter;\n this.getRunTime = get_run_time_1.getRunTime;\n this.getTime = get_time_1.getTime;\n this.insertInternal = insert_internal_1.insertInternal;\n this.loop = loop_1.loop;\n this.modifyInternal = modify_internal_1.modifyInternal;\n this.moveCorresponding = move_corresponding_1.moveCorresponding;\n this.overlay = overlay_1.overlay;\n this.raiseEvent = raise_event_1.raiseEvent;\n this.readTable = read_table_1.readTable;\n this.replace = replace_1.replace;\n this.rollback = rollback_1.rollback;\n this.setBit = set_bit_1.setBit;\n this.setHandler = set_handler_1.setHandler;\n this.setLocale = set_locale_1.setLocale;\n this.shift = shift_1.shift;\n this.sort = sort_1.sort;\n this.split = split_1.split;\n this.translate = translate_1.translate;\n this.context = context;\n this.traceTotals = {};\n }\n _trace(func, name, min, totals) {\n const tt = this.traceTotals;\n const exec = (...options) => {\n const start = Date.now();\n const result = func.bind(this)(...options);\n const runtime = Date.now() - start;\n if (totals === true) {\n if (tt[name] === undefined) {\n tt[name] = 0;\n }\n tt[name] += runtime;\n }\n if (runtime >= min) {\n console.log(`STATEMENT: ${name}, ${runtime} ms`);\n if (totals === true) {\n console.log(JSON.stringify(tt));\n }\n }\n return result;\n };\n return exec;\n }\n _traceAsync(func, name, min, totals) {\n const tt = this.traceTotals;\n const exec = async (...options) => {\n const start = Date.now();\n const result = await func.bind(this)(...options);\n const runtime = Date.now() - start;\n if (totals === true) {\n if (tt[name] === undefined) {\n tt[name] = 0;\n }\n tt[name] += runtime;\n }\n if (runtime >= min) {\n console.log(`STATEMENT: ${name}, ${runtime} ms`);\n if (totals === true) {\n console.log(JSON.stringify(tt));\n }\n }\n return result;\n };\n return exec;\n }\n _setTrace(min = 10, totals = false) {\n const candidates = [...Object.keys(this), ...Object.getOwnPropertyNames(Statements.prototype)];\n for (const c of candidates) {\n if (c === \"context\" || c === \"constructor\" || c.startsWith(\"_\") || c === \"loop\") {\n continue;\n }\n const func = this[c];\n if ((0, types_1.isAsyncFunction)(func)) {\n this[c] = this._traceAsync(func, c, min, totals);\n }\n else {\n this[c] = this._trace(func, c, min, totals);\n }\n }\n }\n async deleteDatabase(table, options) {\n return new delete_database_1.DeleteDatabase(this.context).deleteDatabase(table, options);\n }\n async insertDatabase(table, options) {\n return new insert_database_1.InsertDatabase(this.context).insertDatabase(table, options);\n }\n async message(options) {\n return new message_1.MessageStatement(this.context).message(options);\n }\n async modifyDatabase(table, options) {\n return new modify_database_1.ModifyDatabase(this.context).modifyDatabase(table, options);\n }\n async select(target, select, runtimeOptions) {\n return new select_1.SelectDatabase(this.context).select(target, select, runtimeOptions);\n }\n async updateDatabase(table, options) {\n return new update_database_1.UpdateDatabase(this.context).updateDatabase(table, options);\n }\n async callFunction(options) {\n return new call_function_1.CallFunction(this.context).callFunction(options);\n }\n write(source, options) {\n return new write_1.WriteStatement(this.context).write(source, options);\n }\n}\nexports.Statements = Statements;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/index.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/insert_database.js": +/*!**********************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/insert_database.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertDatabase = exports.toValue = void 0;\nfunction toValue(value) {\n if (typeof value === \"string\") {\n // postgres requires ' for values\n return \"'\" + value.replace(/'/g, \"''\") + \"'\";\n // return '\"' + value.replace(/\"/g, \"\\\"\\\"\") + '\"';\n }\n else {\n return value;\n }\n}\nexports.toValue = toValue;\nclass InsertDatabase {\n constructor(context) {\n this.context = context;\n }\n async insertDatabase(table, options) {\n const columns = [];\n const values = [];\n if (options.values === undefined && options.table === undefined) {\n throw \"insertDatabase, wrong input\";\n }\n if (options.table !== undefined) {\n let subrc = 0;\n let dbcnt = 0;\n for (const row of options.table.array()) {\n await this.insertDatabase(table, { values: row });\n // @ts-ignore\n subrc = Math.max(subrc, abap.builtin.sy.get().subrc.get());\n // @ts-ignore\n dbcnt += abap.builtin.sy.get().dbcnt.get();\n }\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(subrc);\n // @ts-ignore\n abap.builtin.sy.get().dbcnt.set(dbcnt);\n return;\n }\n const structure = options.values.get();\n for (const k of Object.keys(structure)) {\n columns.push(k);\n const value = structure[k].get();\n values.push(toValue(value));\n }\n if (typeof table !== \"string\") {\n table = table.get().trimEnd().toLowerCase();\n }\n const { subrc, dbcnt } = await this.context.defaultDB().insert({ table, columns, values });\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(subrc);\n // @ts-ignore\n abap.builtin.sy.get().dbcnt.set(dbcnt);\n return subrc;\n }\n}\nexports.InsertDatabase = InsertDatabase;\n//# sourceMappingURL=insert_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/insert_database.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/insert_internal.js": +/*!**********************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/insert_internal.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.insertInternal = void 0;\nconst clone_1 = __webpack_require__(/*! ../clone */ \"../../packages/runtime/build/src/clone.js\");\nconst compare_1 = __webpack_require__(/*! ../compare */ \"../../packages/runtime/build/src/compare/index.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst read_table_1 = __webpack_require__(/*! ./read_table */ \"../../packages/runtime/build/src/statements/read_table.js\");\nconst sort_1 = __webpack_require__(/*! ./sort */ \"../../packages/runtime/build/src/statements/sort.js\");\nfunction insertInternal(options) {\n var _a, _b, _c, _d, _e;\n if (options.table instanceof types_1.FieldSymbol) {\n if (options.table.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n options.table = options.table.getPointer();\n }\n else if (options.data instanceof types_1.FieldSymbol) {\n if (options.data.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n options.data = options.data.getPointer();\n }\n const tableOptions = options.table.getOptions();\n let isSorted = ((_a = tableOptions === null || tableOptions === void 0 ? void 0 : tableOptions.primaryKey) === null || _a === void 0 ? void 0 : _a.type) === types_1.TableAccessType.sorted\n || ((_b = tableOptions === null || tableOptions === void 0 ? void 0 : tableOptions.primaryKey) === null || _b === void 0 ? void 0 : _b.type) === types_1.TableAccessType.hashed;\n if (options.table instanceof types_1.HashedTable) {\n isSorted = false;\n }\n else if (isSorted) {\n const insert = options.data instanceof types_1.Structure ? options.data.get() : { table_line: options.data };\n let compare = (row) => {\n var _a;\n for (const key of ((_a = tableOptions === null || tableOptions === void 0 ? void 0 : tableOptions.primaryKey) === null || _a === void 0 ? void 0 : _a.keyFields) || []) {\n if (key.includes(\"-\")) {\n const [first, second] = key.split(\"-\");\n if ((0, compare_1.ne)(row[first.toLowerCase()].get()[second.toLowerCase()], insert[first.toLowerCase()].get()[second.toLowerCase()])) {\n return false;\n }\n }\n else {\n if ((0, compare_1.ne)(row[key.toLowerCase()], insert[key.toLowerCase()])) {\n return false;\n }\n }\n }\n return true;\n };\n if (((_c = tableOptions.primaryKey) === null || _c === void 0 ? void 0 : _c.isUnique) === true) {\n const withKeyValue = [];\n let binary = false;\n const data = options === null || options === void 0 ? void 0 : options.data;\n if (data instanceof types_1.Structure) {\n const fieldName = tableOptions.primaryKey.keyFields[0].toLowerCase();\n if (fieldName !== \"table_line\" && fieldName.includes(\"-\") === false) {\n withKeyValue.push({ key: (i) => { return i[fieldName]; }, value: data.get()[fieldName] });\n binary = true;\n }\n }\n else {\n compare = (row) => {\n // @ts-ignore\n return (0, compare_1.eq)(row.table_line, options.data);\n };\n }\n (0, read_table_1.readTable)(options.table, { withKey: compare, withKeyValue: withKeyValue, binarySearch: binary });\n // @ts-ignore\n if (abap.builtin.sy.get().subrc.get() === 0) {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n return;\n }\n }\n }\n let data = options.data;\n if (typeof data === \"string\") {\n const tmp = (0, clone_1.clone)(options.table.getRowType());\n tmp.set(data);\n data = tmp;\n }\n if (data && options.index) {\n const index = options.index.get() - 1;\n const val = options.table.insertIndex(data, index);\n if (options.assigning) {\n options.assigning.assign(val);\n }\n }\n else if (options.lines\n && (options.data instanceof types_1.Table\n || options.data instanceof types_1.HashedTable)) {\n if (options.table instanceof types_1.HashedTable) {\n for (const source of options.data.array()) {\n const result = options.table.insert(source);\n if (result.subrc !== 0) {\n throw new Error(\"ITAB_DUPLICATE_KEY\");\n }\n }\n }\n else {\n for (const i of options.data.array()) {\n options.table.append(i);\n }\n }\n }\n else if (options.initial === true) {\n let index = options.table.getArrayLength();\n if (options.index) {\n index = options.index.get() - 1;\n }\n const val = options.table.insertIndex(options.table.getRowType(), index);\n if (options.assigning) {\n options.assigning.assign(val);\n }\n if (options.referenceInto) {\n options.referenceInto.assign(val);\n }\n }\n else if (options.table instanceof types_1.HashedTable && data) {\n const { value: val, subrc: subrc } = options.table.insert(data);\n if (options.assigning) {\n options.assigning.assign(val);\n }\n if (options.referenceInto) {\n options.referenceInto.assign(val);\n }\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(subrc);\n return;\n }\n else if (data) {\n // todo, for now it just appends, this is not correct, but currently the table type is not known\n const val = options.table.insertIndex(data, options.table.getArrayLength(), options.noClone);\n if (options.assigning) {\n options.assigning.assign(val);\n }\n if (options.referenceInto) {\n options.referenceInto.assign(val);\n }\n }\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n if (isSorted && !(options.table instanceof types_1.HashedTable)) {\n // slow, but works for now\n let by = (_e = (_d = tableOptions === null || tableOptions === void 0 ? void 0 : tableOptions.primaryKey) === null || _d === void 0 ? void 0 : _d.keyFields) === null || _e === void 0 ? void 0 : _e.map(f => {\n return { component: f.toLowerCase() };\n });\n if ((by === null || by === void 0 ? void 0 : by.length) === 1 && by[0].component === \"table_line\") {\n by = [];\n }\n if (by && by.length > 0) {\n (0, sort_1.sort)(options.table, { by: by });\n }\n else {\n (0, sort_1.sort)(options.table);\n }\n }\n}\nexports.insertInternal = insertInternal;\n//# sourceMappingURL=insert_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/insert_internal.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/loop.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/statements/loop.js ***! + \***********************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +eval("\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n};\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.loop = void 0;\nconst binary_search_1 = __webpack_require__(/*! ../binary_search */ \"../../packages/runtime/build/src/binary_search.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction determineFromTo(array, topEquals, key) {\n if (topEquals === undefined) {\n // if there is no WHERE supplied, its using the sorting of the secondary key\n return { from: 1, to: array.length };\n }\n let from = 0;\n let to = array.length;\n // todo: multi field\n const keyField = key.keyFields[0].toLowerCase();\n const keyValue = topEquals[keyField];\n if (keyField && keyValue) {\n from = (0, binary_search_1.binarySearchFrom)(array, from, to, keyField, keyValue);\n to = (0, binary_search_1.binarySearchTo)(array, from, to, keyField, keyValue);\n // console.dir(\"from: \" + from + \", to: \" + to);\n }\n return {\n from: from,\n to: to,\n };\n}\nfunction loop(table, options) {\n return __asyncGenerator(this, arguments, function* loop_1() {\n if (table === undefined) {\n throw new Error(\"LOOP at undefined\");\n }\n else if (table instanceof types_1.FieldSymbol) {\n const pnt = table.getPointer();\n if (pnt === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n yield __await(yield* __asyncDelegator(__asyncValues(loop(pnt, options))));\n return yield __await(void 0);\n }\n const length = table.getArrayLength();\n if (length === 0) {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n return yield __await(void 0);\n }\n let loopFrom = (options === null || options === void 0 ? void 0 : options.from) && (options === null || options === void 0 ? void 0 : options.from.get()) > 0 ? options.from.get() - 1 : 0;\n let loopTo = (options === null || options === void 0 ? void 0 : options.to) && options.to.get() < length ? options.to.get() : length;\n let array = [];\n if ((options === null || options === void 0 ? void 0 : options.usingKey) && options.usingKey !== undefined && options.usingKey !== \"primary_key\") {\n array = table.getSecondaryIndex(options.usingKey);\n const { from, to } = determineFromTo(array, options.topEquals, table.getKeyByName(options.usingKey));\n loopFrom = Math.max(loopFrom, from) - 1;\n loopTo = Math.min(loopTo, to);\n }\n else {\n array = table.array();\n }\n const loopController = table.startLoop(loopFrom, loopTo, array);\n let entered = false;\n try {\n const isStructured = array[0] instanceof types_1.Structure;\n while (loopController.index < loopController.loopTo) {\n if (loopController.index > array.length) {\n break;\n }\n const current = array[loopController.index];\n if (options === null || options === void 0 ? void 0 : options.where) {\n const row = isStructured ? current.get() : { table_line: current };\n if ((yield __await(options.where(row))) === false) {\n loopController.index++;\n continue;\n }\n }\n // @ts-ignore\n abap.builtin.sy.get().tabix.set(loopController.index + 1);\n entered = true;\n yield yield __await(current);\n loopController.index++;\n if ((options === null || options === void 0 ? void 0 : options.to) === undefined && (options === null || options === void 0 ? void 0 : options.usingKey) === undefined) {\n // extra rows might have been inserted inside the loop\n loopController.loopTo = array.length;\n }\n }\n }\n finally {\n table.unregisterLoop(loopController);\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(entered ? 0 : 4);\n }\n });\n}\nexports.loop = loop;\n//# sourceMappingURL=loop.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/loop.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/message.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/message.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageStatement = void 0;\nfunction replace(text, w) {\n for (let i = 0; i < 6; i++) {\n const search = \"&\" + (i + 1);\n let replace = \"\";\n if (w && w[i]) {\n const j = w[i];\n if (typeof j === \"string\") {\n replace = j;\n }\n else {\n replace = j.get().trimEnd();\n }\n }\n const field = \"msgv\" + (i + 1);\n if (i <= 3) {\n // @ts-ignore\n abap.builtin.sy.get()[field].set(replace);\n }\n text = text.replace(search, replace);\n }\n return text.trim();\n}\nasync function findText(context, arbgb, msgnr, msgty) {\n var _a;\n let text = undefined;\n if (arbgb && msgnr) {\n try {\n // todo, sql injection?\n const select = `SELECT * FROM t100 WHERE sprsl='E' AND arbgb='${arbgb}' AND msgnr='${msgnr}' LIMIT 1`;\n const { rows: result } = await context.defaultDB().select({ select });\n if (result[0]) {\n text = result[0][\"text\"];\n }\n }\n catch (_b) {\n // use fallback text\n }\n }\n if (text === undefined) {\n // @ts-ignore\n text = (_a = abap.MSAG[arbgb === null || arbgb === void 0 ? void 0 : arbgb.trimEnd().toUpperCase()]) === null || _a === void 0 ? void 0 : _a[msgnr];\n }\n if (text === undefined) {\n // fallback\n text = msgty + \":\" + (arbgb === null || arbgb === void 0 ? void 0 : arbgb.trim()) + \":\" + msgnr + \" &1 &2 &3 &4\";\n }\n return text;\n}\nclass MessageStatement {\n constructor(context) {\n this.context = context;\n }\n async message(options) {\n let arbgb = options.id;\n if (arbgb !== undefined && typeof arbgb !== \"string\") {\n arbgb = arbgb.get();\n }\n arbgb = arbgb === null || arbgb === void 0 ? void 0 : arbgb.toUpperCase();\n let msgty = options.type;\n if (msgty !== undefined && typeof msgty !== \"string\") {\n msgty = msgty.get();\n }\n msgty = msgty === null || msgty === void 0 ? void 0 : msgty.toUpperCase();\n // @ts-ignore\n abap.builtin.sy.get().msgid.set(arbgb || \"\");\n let msgnr = options.number;\n if (msgnr !== undefined && typeof msgnr !== \"string\") {\n msgnr = msgnr.get();\n }\n // @ts-ignore\n abap.builtin.sy.get().msgno.set(msgnr || \"\");\n // @ts-ignore\n abap.builtin.sy.get().msgty.set(msgty);\n let replaced = \"\";\n if (options.exception) {\n replaced = await options.exception.get().if_message$get_text();\n }\n else {\n const text = await findText(this.context, arbgb, msgnr, msgty);\n replaced = replace(text, options.with);\n }\n if (options.into) {\n options.into.set(replaced);\n }\n else {\n // hmm, add option on how/if to write messages to console? or it should be the abap.console() ?\n console.log(replaced);\n }\n }\n}\nexports.MessageStatement = MessageStatement;\n//# sourceMappingURL=message.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/message.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/modify_database.js": +/*!**********************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/modify_database.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyDatabase = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst insert_database_1 = __webpack_require__(/*! ./insert_database */ \"../../packages/runtime/build/src/statements/insert_database.js\");\nconst update_database_1 = __webpack_require__(/*! ./update_database */ \"../../packages/runtime/build/src/statements/update_database.js\");\nclass ModifyDatabase {\n constructor(context) {\n this.context = context;\n }\n async modifyDatabase(table, options) {\n if (options.table instanceof types_1.FieldSymbol) {\n options.table = options.table.getPointer();\n }\n if (options.values instanceof types_1.FieldSymbol) {\n options.values = options.values.getPointer();\n }\n const insert = new insert_database_1.InsertDatabase(this.context);\n const update = new update_database_1.UpdateDatabase(this.context);\n if (options.table) {\n for (const row of options.table.array()) {\n const subrc = await insert.insertDatabase(table, { values: row });\n if (subrc !== 0) {\n await update.updateDatabase(table, { from: row });\n }\n }\n }\n else if (options.values) {\n const subrc = await insert.insertDatabase(table, { values: options.values });\n if (subrc !== 0) {\n await update.updateDatabase(table, { from: options.values });\n }\n }\n else {\n throw \"modifyDatabase todo\";\n }\n }\n}\nexports.ModifyDatabase = ModifyDatabase;\n//# sourceMappingURL=modify_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/modify_database.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/modify_internal.js": +/*!**********************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/modify_internal.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.modifyInternal = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst delete_internal_1 = __webpack_require__(/*! ./delete_internal */ \"../../packages/runtime/build/src/statements/delete_internal.js\");\nconst insert_internal_1 = __webpack_require__(/*! ./insert_internal */ \"../../packages/runtime/build/src/statements/insert_internal.js\");\nconst read_table_1 = __webpack_require__(/*! ./read_table */ \"../../packages/runtime/build/src/statements/read_table.js\");\nfunction modifyInternal(table, options) {\n let found = false;\n if (options.index) {\n const index = options.index.get() - 1;\n found = table.array()[index] !== undefined;\n if (found) {\n table.deleteIndex(index);\n table.insertIndex(options.from, index);\n }\n }\n else if (options.where && options.transporting && options.from) {\n let index = 1;\n const fs = new types_1.FieldSymbol();\n while (index <= table.array().length) {\n const currentIndex = new types_1.Integer().set(index);\n const readResult = (0, read_table_1.readTable)(table, {\n withKey: options.where,\n assigning: fs,\n index: currentIndex\n });\n if (readResult.subrc === 0) {\n found = true;\n for (const t of options.transporting) {\n fs.get()[t].set(options.from.get()[t]);\n }\n }\n index++;\n }\n }\n else if (options.from) {\n const readResult = (0, read_table_1.readTable)(table, { from: options.from });\n if (readResult.subrc === 0) {\n (0, delete_internal_1.deleteInternal)(table, { index: new types_1.Integer().set(readResult.foundIndex) });\n }\n (0, insert_internal_1.insertInternal)({ table, data: options.from });\n }\n const subrc = found ? 0 : 4;\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(subrc);\n}\nexports.modifyInternal = modifyInternal;\n//# sourceMappingURL=modify_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/modify_internal.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/move_corresponding.js": +/*!*************************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/move_corresponding.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.moveCorresponding = void 0;\nfunction moveCorresponding(source, target) {\n var _a;\n for (const n in source.get()) {\n (_a = target.get()[n]) === null || _a === void 0 ? void 0 : _a.set(source.get()[n]);\n }\n}\nexports.moveCorresponding = moveCorresponding;\n//# sourceMappingURL=move_corresponding.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/move_corresponding.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/overlay.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/overlay.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.overlay = void 0;\nconst offset_length_1 = __webpack_require__(/*! ../offset_length */ \"../../packages/runtime/build/src/offset_length.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction overlay(value, withh, _only) {\n const set = value instanceof types_1.Structure ? value.getCharacter() : value.get();\n const w = withh.get();\n const len = set.length;\n for (let i = 0; i < len; i++) {\n if (set.substring(i, i + 1) === \" \") {\n new offset_length_1.OffsetLength(value, { offset: i, length: 1 }).set(w.substring(i, i + 1));\n }\n }\n}\nexports.overlay = overlay;\n//# sourceMappingURL=overlay.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/overlay.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/raise_event.js": +/*!******************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/raise_event.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.raiseEvent = void 0;\nfunction raiseEvent() {\n // todo\n return;\n}\nexports.raiseEvent = raiseEvent;\n//# sourceMappingURL=raise_event.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/raise_event.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/read_report.js": +/*!******************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/read_report.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.readReport = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction readReport(name, options) {\n if (options.into) {\n options.into.clear();\n options.into.append(new types_1.String().set(\"ReadReportTodo-\" + name));\n }\n // TODO\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n}\nexports.readReport = readReport;\n//# sourceMappingURL=read_report.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/read_report.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/read_table.js": +/*!*****************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/read_table.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.readTable = void 0;\nconst binary_search_1 = __webpack_require__(/*! ../binary_search */ \"../../packages/runtime/build/src/binary_search.js\");\nconst compare_1 = __webpack_require__(/*! ../compare */ \"../../packages/runtime/build/src/compare/index.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\n/** startIndex = javascript index, return ABAP index */\nfunction searchWithKey(arr, withKey, startIndex = 0, usesTableLine) {\n const isStructured = arr[0] instanceof types_1.Structure;\n for (let index = startIndex; index < arr.length; index++) {\n const a = arr[index];\n let row = undefined;\n if (usesTableLine === false && isStructured === true) {\n row = a.get();\n }\n else {\n row = isStructured ? Object.assign({ table_line: a }, a.get()) : { table_line: a };\n }\n if (withKey(row) === true) {\n return {\n found: a,\n foundIndex: index + 1,\n };\n }\n }\n return {\n found: undefined,\n foundIndex: 0,\n };\n}\n/////////////////\nfunction readTable(table, options) {\n var _a, _b, _c, _d, _e;\n let found = undefined;\n let foundIndex = 0;\n let binarySubrc = undefined;\n if (table instanceof types_1.FieldSymbol) {\n if (table.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return readTable(table.getPointer(), options);\n }\n // check if it is a primary index read specified with WITH KEY instead of WITH TABLE KEY\n if ((options === null || options === void 0 ? void 0 : options.withTableKey) === undefined\n && (options === null || options === void 0 ? void 0 : options.withKeySimple)\n && (((_a = table.getOptions().primaryKey) === null || _a === void 0 ? void 0 : _a.keyFields) || []).length > 0) {\n if (table instanceof types_1.HashedTable) {\n // hashed tables requires all fields for fast lookup\n const fields = new Set(table.getOptions().primaryKey.keyFields);\n for (const name in options.withKeySimple) {\n fields.delete(name.toUpperCase());\n }\n if (fields.size === 0) {\n options.withTableKey = true;\n }\n }\n else {\n // while sorted just needs the first key field\n const firstKeyField = table.getOptions().primaryKey.keyFields[0];\n let useKey = false;\n for (const name in options.withKeySimple) {\n if (firstKeyField === name.toUpperCase()) {\n useKey = true;\n }\n }\n if (useKey === true) {\n options.withTableKey = true;\n }\n }\n }\n if (options === null || options === void 0 ? void 0 : options.index) {\n if (table instanceof types_1.HashedTable) {\n throw new Error(\"Hashed table, READ INDEX not possible\");\n }\n const arr = table.array();\n let index = options.index;\n if (typeof index !== \"number\") {\n if (index instanceof types_1.FieldSymbol) {\n if (index.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n index = index.getPointer();\n }\n if (index instanceof types_1.Float || index instanceof types_1.DecFloat34) {\n index = index.getRaw();\n }\n else {\n index = index.get();\n }\n }\n found = arr[index - 1];\n if (found) {\n foundIndex = index;\n }\n }\n else if (table instanceof types_1.HashedTable && (options === null || options === void 0 ? void 0 : options.withTableKey) === true && options.withKeySimple) {\n const hash = table.buildHashFromSimple(options.withKeySimple);\n found = table.read(hash);\n foundIndex = 0;\n }\n else if (table instanceof types_1.HashedTable && (options === null || options === void 0 ? void 0 : options.withKey)) {\n // this is slow..\n const searchResult = searchWithKey(table.array(), options.withKey, 0, options === null || options === void 0 ? void 0 : options.usesTableLine);\n found = searchResult.found;\n foundIndex = 0;\n }\n else if (((options === null || options === void 0 ? void 0 : options.binarySearch) === true || (options === null || options === void 0 ? void 0 : options.withTableKey) === true)\n && options.withKeyValue\n && ((options === null || options === void 0 ? void 0 : options.binarySearch) === true || ((_b = table.getOptions().primaryKey) === null || _b === void 0 ? void 0 : _b.type) !== types_1.TableAccessType.standard)\n && options.withKey) {\n // note: it currently only uses the first key field for binary search, todo\n const first = options.withKeyValue[0];\n const arr = table.array();\n const startIndex = (0, binary_search_1.binarySearchFromRow)(arr, 0, arr.length - 1, first.key, first.value, options.usesTableLine);\n const searchResult = searchWithKey(arr, options.withKey, startIndex, options.usesTableLine);\n found = searchResult.found;\n foundIndex = searchResult.foundIndex;\n if (found === undefined) {\n if (arr.length === 0) {\n binarySubrc = 8;\n foundIndex = 1;\n }\n else {\n binarySubrc = 4;\n foundIndex = startIndex + 1;\n // check if going beyond the last row, todo: only checks one field\n const last = arr[arr.length - 1];\n const isStructured = last instanceof types_1.Structure;\n let row = undefined;\n if (options.usesTableLine === false && isStructured === true) {\n row = last.get();\n }\n else {\n row = isStructured ? Object.assign({ table_line: last }, last.get()) : { table_line: last };\n }\n if ((0, compare_1.ge)(first.value, first.key(row))) {\n binarySubrc = 8;\n }\n }\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.withKey) {\n const arr = table.array();\n const searchResult = searchWithKey(arr, options.withKey, 0, options.usesTableLine);\n found = searchResult.found;\n foundIndex = searchResult.foundIndex;\n }\n else if (options === null || options === void 0 ? void 0 : options.from) {\n if (table instanceof types_1.HashedTable) {\n throw new Error(\"runtime, todo readTable Hashed FROM\");\n }\n if (options.from instanceof types_1.FieldSymbol) {\n options.from = options.from.getPointer();\n }\n if (table instanceof types_1.Table && options.from instanceof types_1.Structure) {\n // todo: optimize if the primary key is sorted\n const arr = table.array();\n const keys = (_d = (_c = table.getOptions()) === null || _c === void 0 ? void 0 : _c.primaryKey) === null || _d === void 0 ? void 0 : _d.keyFields;\n const isStructured = arr[0] instanceof types_1.Structure;\n if (keys !== undefined && isStructured === true) {\n // console.dir(keys);\n // console.dir(options.from.get()[keys[0].toLowerCase()]);\n for (const a of arr) {\n foundIndex++;\n let matches = true;\n for (const k of keys) {\n if ((0, compare_1.eq)(a.get()[k.toLowerCase()], options.from.get()[k.toLowerCase()]) === false) {\n matches = false;\n break;\n }\n }\n if (matches === true) {\n found = a;\n break;\n }\n }\n }\n }\n if (found === undefined) {\n foundIndex = 0;\n }\n if (found === undefined && ((_e = table.getOptions().primaryKey) === null || _e === void 0 ? void 0 : _e.type) === types_1.TableAccessType.sorted) {\n binarySubrc = 8;\n }\n }\n else {\n throw new Error(\"runtime, readTable, unexpected input\");\n }\n let subrc = found ? 0 : 4;\n if (binarySubrc) {\n subrc = binarySubrc;\n }\n else if (((options === null || options === void 0 ? void 0 : options.binarySearch) === true || (options === null || options === void 0 ? void 0 : options.keyName) !== undefined)\n && subrc === 4) {\n subrc = 8;\n }\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(subrc);\n // @ts-ignore\n abap.builtin.sy.get().tabix.set(foundIndex);\n if (options.into && found) {\n if (options.into instanceof types_1.DataReference && found instanceof types_1.DataReference) {\n options.into.assign(found.getPointer());\n }\n else if (options.into instanceof types_1.DataReference) {\n options.into.assign(found);\n }\n else {\n options.into.set(found);\n }\n }\n else if (options.referenceInto && found) {\n options.referenceInto.assign(found);\n }\n else if (options.assigning && found) {\n options.assigning.assign(found);\n }\n return { subrc, foundIndex };\n}\nexports.readTable = readTable;\n//# sourceMappingURL=read_table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/read_table.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/replace.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/replace.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.replace = void 0;\nconst abap_regex_1 = __webpack_require__(/*! ../abap_regex */ \"../../packages/runtime/build/src/abap_regex.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst concatenate_1 = __webpack_require__(/*! ./concatenate */ \"../../packages/runtime/build/src/statements/concatenate.js\");\nfunction replace(input) {\n if (input.target instanceof types_1.Table) {\n for (const row of input.target.array()) {\n replace(Object.assign(Object.assign({}, input), { target: row }));\n }\n return;\n }\n let temp = input.target.get();\n const ignoreCase = input.ignoringCase === true ? \"i\" : \"\";\n const allOccurrences = input.all === true ? \"g\" : \"\";\n let search = undefined;\n let found = false;\n if (input.of) {\n let inp = input.of.get();\n if (inp.length === 0 && input.all === true) {\n throw \"REPLACE, zero length input\";\n }\n found = temp.indexOf(inp) >= 0;\n inp = abap_regex_1.ABAPRegExp.escapeRegExp(inp);\n search = new RegExp(inp, ignoreCase + allOccurrences);\n }\n else if (input.regex) {\n const regex = abap_regex_1.ABAPRegExp.convert(input.regex.get());\n if (regex.length === 0 && input.all === true) {\n throw \"REPLACE, zero length input\";\n }\n found = temp.match(regex) !== null;\n search = new RegExp(regex, ignoreCase + allOccurrences);\n }\n else if (input.sectionLength && input.sectionOffset) {\n const before = input.target.getOffset({ length: input.sectionOffset });\n const after = input.target.getOffset({ offset: input.sectionLength.get() + input.sectionOffset.get() });\n (0, concatenate_1.concatenate)({ source: [before, input.with, after], target: input.target });\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n return;\n }\n else {\n throw \"REPLACE, unexpected input\";\n }\n let rr = \"\";\n if (typeof input.with === \"string\") {\n rr = input.with;\n }\n else {\n if (input.with instanceof types_1.Character) {\n rr = input.with.getTrimEnd();\n }\n else {\n rr = input.with.get();\n }\n rr = rr.replace(/\\\\\\$/g, \"$\");\n rr = rr.replace(/\\\\\\{/g, \"{\");\n rr = rr.replace(/\\\\\\}/g, \"}\");\n }\n temp = temp.replace(search, rr);\n const subrc = found ? 0 : 4;\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(subrc);\n input.target.set(temp);\n}\nexports.replace = replace;\n//# sourceMappingURL=replace.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/replace.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/rollback.js": +/*!***************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/rollback.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.rollback = void 0;\nfunction rollback() {\n // todo\n}\nexports.rollback = rollback;\n//# sourceMappingURL=rollback.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/rollback.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/select.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/select.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectDatabase = void 0;\nconst clone_1 = __webpack_require__(/*! ../clone */ \"../../packages/runtime/build/src/clone.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nclass SelectDatabase {\n constructor(context) {\n this.context = context;\n }\n async select(target, input, runtimeOptions) {\n var _a, _b;\n const { rows: rows } = await this.context.defaultDB().select(input);\n if (target instanceof types_1.FieldSymbol) {\n if (target.isAssigned() === false) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n // @ts-ignore\n target = target.getPointer();\n }\n if ((runtimeOptions === null || runtimeOptions === void 0 ? void 0 : runtimeOptions.appending) !== true) {\n if (Array.isArray(target)) {\n target.forEach(f => f.clear());\n }\n else {\n target === null || target === void 0 ? void 0 : target.clear();\n }\n }\n if (rows.length === 0) {\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(4);\n return;\n }\n if (target instanceof types_1.Structure) {\n const result = {};\n for (const column in rows[0]) {\n if (rows[0][column] === null || target.get()[column] === undefined) {\n continue;\n }\n result[column] = (0, clone_1.clone)(target.get()[column]).set(rows[0][column]);\n }\n // @ts-ignore\n abap.statements.moveCorresponding(new types_1.Structure(result), target);\n }\n else if (target instanceof types_1.Table || target instanceof types_1.HashedTable) {\n for (const row of rows) {\n const targetRow = (0, clone_1.clone)(target.getRowType());\n if (targetRow instanceof types_1.Structure) {\n for (let columnName in row) {\n columnName = columnName.toLowerCase();\n if (row[columnName] === null) {\n (_a = targetRow.get()[columnName]) === null || _a === void 0 ? void 0 : _a.clear();\n continue;\n }\n // @ts-ignore\n (_b = targetRow.get()[columnName]) === null || _b === void 0 ? void 0 : _b.set(row[columnName]);\n }\n }\n else {\n const columnName = Object.keys(row)[0];\n targetRow.set(row[columnName]);\n }\n // @ts-ignore\n abap.statements.insertInternal({ table: target, data: targetRow, noClone: true });\n }\n }\n else if (Array.isArray(target)) {\n for (let index = 0; index < target.length; index++) {\n const element = target[index];\n element.set(rows[0][Object.keys(rows[0])[index]]);\n }\n }\n else if (target !== undefined) {\n // its a simple type\n target.set(rows[0][Object.keys(rows[0])[0]]);\n }\n if (target === undefined && rows.length === 1) {\n // @ts-ignore\n abap.builtin.sy.get().dbcnt.set(Object.values(rows[0])[0]);\n }\n else {\n // @ts-ignore\n abap.builtin.sy.get().dbcnt.set(rows.length);\n }\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(0);\n }\n}\nexports.SelectDatabase = SelectDatabase;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/select.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/set_bit.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/set_bit.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setBit = void 0;\nfunction setBit(number, hex, val) {\n let hexFull = hex.get();\n if (hexFull === \"\") {\n hexFull = \"00\";\n }\n const fullByteLength = Math.ceil(hexFull.length / 2);\n hexFull = hexFull.padEnd(fullByteLength * 2, \"0\");\n const byteNum = Math.ceil(number.get() / 8);\n if (byteNum > fullByteLength) {\n return;\n }\n let pre = \"\";\n let byte = \"\";\n let post = \"\";\n if (hexFull.length > 2) {\n if (byteNum > 1) {\n pre = hexFull.substr(0, (byteNum - 1) * 2);\n }\n byte = hexFull.substr((byteNum - 1) * 2, 2);\n if (fullByteLength > byteNum) {\n post = hexFull.substr(byteNum * 2, (fullByteLength - byteNum) * 2);\n }\n }\n else {\n byte = hexFull;\n }\n let bits = parseInt(byte, 16);\n const bitMask = 1 << 8 - (number.get() - (byteNum - 1) * 8);\n if ((val === null || val === void 0 ? void 0 : val.get()) === 0 || (val === null || val === void 0 ? void 0 : val.get()) === \"0\") {\n bits = bits &= ~bitMask;\n }\n else {\n bits = bits |= bitMask;\n }\n const reconstructed = pre + bits.toString(16).toUpperCase().padStart(2, \"0\") + post;\n hex.set(reconstructed);\n}\nexports.setBit = setBit;\n//# sourceMappingURL=set_bit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/set_bit.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/set_handler.js": +/*!******************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/set_handler.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setHandler = void 0;\nfunction setHandler(_methods, _f, _activation) {\n // todo\n return;\n}\nexports.setHandler = setHandler;\n//# sourceMappingURL=set_handler.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/set_handler.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/set_locale.js": +/*!*****************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/set_locale.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.setLocale = void 0;\nfunction setLocale(_source) {\n // todo\n}\nexports.setLocale = setLocale;\n//# sourceMappingURL=set_locale.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/set_locale.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/shift.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/shift.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.shift = void 0;\nconst compare_1 = __webpack_require__(/*! ../compare */ \"../../packages/runtime/build/src/compare/index.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction shift(target, options) {\n if ((options === null || options === void 0 ? void 0 : options.mode) === \"BYTE\") {\n shift_byte_mode(target, options);\n }\n else {\n shift_character_mode(target, options);\n }\n}\nexports.shift = shift;\nfunction shift_character_mode(target, options) {\n let value = target.get();\n if (options === null || options === void 0 ? void 0 : options.deletingLeading) {\n let leading = options.deletingLeading;\n if (typeof leading !== \"string\") {\n leading = leading.get();\n }\n const split = leading.split(\"\");\n while (split.some(s => value.substr(0, 1) === s)) {\n value = value.substr(1);\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.deletingTrailing) {\n let trailing = options.deletingTrailing;\n if (typeof trailing !== \"string\") {\n trailing = trailing.get();\n }\n if ((0, compare_1.co)(value, \" \") === false) {\n while (value.endsWith(trailing)) {\n value = \" \".repeat(trailing.length) + value.substring(0, value.length - trailing.length);\n }\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.places) {\n const p = options.places.get();\n if (options.circular) {\n value = value.substr(p) + value.substr(0, p);\n }\n else {\n value = value.substr(p);\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.to) {\n let to = \"\";\n if (typeof options.to === \"string\") {\n to = options.to;\n }\n else {\n to = options.to.get();\n }\n const index = value.search(to);\n if (index > 0) {\n value = value.substr(index);\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.circular) {\n if (options.direction === \"RIGHT\") {\n value = value.substring(value.length - 1, value.length) + value.substring(0, value.length - 1);\n }\n else {\n value = value.substr(1) + value.substr(0, 1);\n }\n }\n else {\n value = value.substr(1);\n }\n if (target instanceof types_1.Numc) {\n target.set(value, true);\n }\n else {\n target.set(value);\n }\n}\nfunction shift_byte_mode(target, options) {\n let value = target.get();\n if (options === null || options === void 0 ? void 0 : options.deletingLeading) {\n let leading = options.deletingLeading;\n if (typeof leading !== \"string\") {\n leading = leading.get();\n }\n const split = leading.split(\"\");\n while (split.some(s => value.substr(0, 2) === s)) {\n value = value.substr(2);\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.places) {\n const p = options.places.get() * 2;\n if (options.circular) {\n value = value.substr(p) + value.substr(0, p);\n }\n else {\n value = value.substr(p);\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.to) {\n let to = \"\";\n if (typeof options.to === \"string\") {\n to = options.to;\n }\n else {\n to = options.to.get();\n }\n const index = value.search(to);\n if (index > 0) {\n value = value.substr(index);\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.circular) {\n value = value.substr(2) + value.substr(0, 2);\n }\n else {\n value = value.substr(2);\n }\n target.set(value);\n}\n//# sourceMappingURL=shift.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/shift.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/sort.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/statements/sort.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.sort = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst compare_1 = __webpack_require__(/*! ../compare */ \"../../packages/runtime/build/src/compare/index.js\");\nfunction compare(a, b, input) {\n const componentName = input.component;\n const descending = input.descending;\n let vala = undefined;\n let valb = undefined;\n if (componentName === \"table_line\") {\n vala = a.get();\n valb = b.get();\n }\n else if (componentName.includes(\"-\")) {\n const sub = componentName.split(\"-\");\n vala = a;\n valb = b;\n for (const s of sub) {\n vala = vala.get()[s];\n valb = valb.get()[s];\n }\n }\n else {\n vala = a.get()[componentName];\n valb = b.get()[componentName];\n }\n if (vala === undefined || valb === undefined) {\n throw new Error(\"sort compare, wrong component name, \" + componentName);\n }\n if (descending && (0, compare_1.gt)(vala, valb)) {\n return -1;\n }\n else if (!descending && (0, compare_1.lt)(vala, valb)) {\n return -1;\n }\n else if ((0, compare_1.eq)(vala, valb)) {\n return 0;\n }\n else {\n return 1;\n }\n}\nfunction sort(input, options) {\n // console.dir(options);\n if (input instanceof types_1.FieldSymbol) {\n const pnt = input.getPointer();\n if (pnt === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n sort(pnt, options);\n return;\n }\n if (input instanceof types_1.HashedTable) {\n throw new Error(\"Sort hashed table, ugh?\");\n }\n if (options === null || options === void 0 ? void 0 : options.by) {\n if (options.by.length === 0) {\n throw \"SortByLengthZero\";\n }\n input.sort((a, b) => {\n for (const c of options.by || []) {\n const res = compare(a, b, c);\n if (res !== 0) {\n return res;\n }\n }\n return 0;\n });\n }\n else {\n const descending = (options === null || options === void 0 ? void 0 : options.descending) === true;\n input.sort((a, b) => {\n if ((0, compare_1.eq)(a, b)) {\n return 0;\n }\n else if (descending && (0, compare_1.gt)(a, b)) {\n return -1;\n }\n else if (!descending && (0, compare_1.lt)(a, b)) {\n return -1;\n }\n else {\n return 1;\n }\n });\n }\n}\nexports.sort = sort;\n//# sourceMappingURL=sort.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/sort.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/split.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/split.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.split = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction split(param) {\n let source = \"\";\n if (typeof param.source === \"string\") {\n source = param.source;\n }\n else if (param.source instanceof types_1.Character) {\n source = param.source.getTrimEnd();\n }\n else {\n source = param.source.get();\n }\n const at = typeof param.at === \"string\" ? param.at : param.at.get();\n const split = source.includes(at) ? source.split(at) : [];\n if (param.table) {\n if (source.endsWith(at)) {\n split.pop();\n }\n param.table.clear();\n for (const s of split) {\n param.table.append(new types_1.String().set(s));\n }\n if (source !== \"\" && split.length === 0) {\n param.table.append(new types_1.String().set(source));\n }\n }\n if (param.targets) {\n if (split.length === 0) {\n split.push(source);\n }\n for (const t of param.targets) {\n t.clear();\n if (split.length > 0) {\n t.set(split.shift().replace(/ +$/, \"\"));\n }\n }\n if (split.length > 0) {\n const concat = split.join(at);\n const last = param.targets[param.targets.length - 1];\n last.set(last.get() + at + concat);\n }\n }\n}\nexports.split = split;\n//# sourceMappingURL=split.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/split.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/translate.js": +/*!****************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/translate.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.translate = void 0;\nfunction translate(input, i) {\n let c = i;\n if (typeof c !== \"string\") {\n c = c.get();\n }\n if (c === \"LOWER\") {\n input.set(input.get().toLowerCase());\n }\n else if (c === \"UPPER\") {\n input.set(input.get().toUpperCase());\n }\n else {\n const chunks = c.match(/.{1,2}/g);\n for (const chunk of chunks || []) {\n let search = chunk.substr(0, 1);\n const replace = chunk.substr(1, 1);\n // regexp escaping\n if (search === \"+\"\n || search === \"*\"\n || search === \"?\"\n || search === \".\"\n || search === \"^\"\n || search === \"$\"\n || search === \"|\"\n || search === \"[\"\n || search === \"]\"\n || search === \"\\\\\"\n || search === \"(\"\n || search === \")\") {\n search = \"\\\\\" + search;\n }\n input.set(input.get().replace(new RegExp(search, \"g\"), replace));\n }\n }\n}\nexports.translate = translate;\n//# sourceMappingURL=translate.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/translate.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/update_database.js": +/*!**********************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/update_database.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UpdateDatabase = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nconst insert_database_1 = __webpack_require__(/*! ./insert_database */ \"../../packages/runtime/build/src/statements/insert_database.js\");\nclass UpdateDatabase {\n constructor(context) {\n this.context = context;\n }\n async updateDatabase(table, options) {\n if (options.table instanceof types_1.FieldSymbol) {\n options.table = options.table.getPointer();\n }\n if (options.from instanceof types_1.FieldSymbol) {\n options.from = options.from.getPointer();\n }\n if (typeof table !== \"string\") {\n table = table.get();\n }\n // @ts-ignore\n const keys = abap.DDIC[table.toUpperCase()].keyFields;\n const where = [];\n const set = [];\n if (options.from) {\n const structure = options.from.get();\n for (const k of Object.keys(structure)) {\n const str = k + \" = \" + (0, insert_database_1.toValue)(structure[k].get());\n if (keys.includes(k.toUpperCase())) {\n where.push(str);\n }\n else {\n set.push(str);\n }\n }\n }\n else if (options.set) {\n if (options.where) {\n where.push(options.where);\n }\n set.push(...options.set);\n }\n else {\n throw \"updateDatabase, todo\";\n }\n const { subrc, dbcnt } = await this.context.defaultDB().update({ table, where: where.join(\" AND \"), set });\n // @ts-ignore\n abap.builtin.sy.get().subrc.set(subrc);\n // @ts-ignore\n abap.builtin.sy.get().dbcnt.set(dbcnt);\n return subrc;\n }\n}\nexports.UpdateDatabase = UpdateDatabase;\n//# sourceMappingURL=update_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/update_database.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/statements/write.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/statements/write.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WriteStatement = void 0;\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/runtime/build/src/types/index.js\");\nclass WriteStatement {\n constructor(context) {\n this.context = context;\n }\n write(source, options) {\n var _a;\n if ((options === null || options === void 0 ? void 0 : options.skipLine) === true) {\n this.context.console.add(\"\\n\");\n }\n else {\n if ((options === null || options === void 0 ? void 0 : options.newLine) === true && this.context.console.isEmpty() === false) {\n this.context.console.add(\"\\n\");\n }\n let result = \"\";\n if (typeof source === \"string\" || typeof source === \"number\") {\n result = source.toString();\n }\n else if (source instanceof types_1.Structure) {\n const obj = source.getCharacter();\n this.write(obj, Object.assign({}, options));\n }\n else if (source instanceof types_1.Float) {\n if (((_a = options === null || options === void 0 ? void 0 : options.exponent) === null || _a === void 0 ? void 0 : _a.get()) === 0) {\n const tens = source.getRaw().toFixed(0).length - 1;\n if (options.noSign === true && source.getRaw() < 0) {\n result = source.getRaw().toFixed(17 - tens).replace(\".\", \",\");\n result = result.replace(\"-\", \"\");\n }\n else {\n result = source.getRaw().toFixed(16 - tens).replace(\".\", \",\");\n }\n }\n else {\n result = source.get().toString();\n }\n }\n else if (source instanceof types_1.Packed) {\n result = source.get().toFixed(source.getDecimals());\n }\n else {\n result = source.get().toString();\n }\n if (options === null || options === void 0 ? void 0 : options.target) {\n options.target.set(result);\n }\n else {\n this.context.console.add(result);\n }\n }\n }\n}\nexports.WriteStatement = WriteStatement;\n//# sourceMappingURL=write.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/statements/write.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/template_formatting.js": +/*!***************************************************************!*\ + !*** ../../packages/runtime/build/src/template_formatting.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.templateFormatting = void 0;\nconst types_1 = __webpack_require__(/*! ./types */ \"../../packages/runtime/build/src/types/index.js\");\nfunction templateFormatting(source, options) {\n let text = \"\";\n if (source instanceof types_1.FieldSymbol) {\n if (source.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return templateFormatting(source.getPointer(), options);\n }\n else if (source instanceof types_1.Table || source instanceof types_1.HashedTable) {\n throw new Error(\"STRG_ILLEGAL_DATA_TYPE\");\n }\n else if (source instanceof types_1.Character) {\n text = source.getTrimEnd();\n }\n else {\n text = source.get() + \"\";\n }\n if ((options === null || options === void 0 ? void 0 : options.currency) !== undefined) {\n throw \"template formatting with currency not supported\";\n }\n if ((options === null || options === void 0 ? void 0 : options.date) === \"iso\") {\n text = text.substr(0, 4) + \"-\" + text.substr(4, 2) + \"-\" + text.substr(6, 2);\n }\n if ((options === null || options === void 0 ? void 0 : options.time) === \"iso\") {\n text = text.substr(0, 2) + \":\" + text.substr(2, 2) + \":\" + text.substr(4, 2);\n }\n if ((options === null || options === void 0 ? void 0 : options.timestamp) === \"iso\") {\n // make sure to get decimals from packed number,\n text = templateFormatting(source).replace(\".\", \",\");\n text = text.substr(0, 4) + \"-\" + text.substr(4, 2) + \"-\" + text.substr(6, 2) + \"T\" + text.substr(8, 2) + \":\" + text.substr(10, 2) + \":\" + text.substr(12, 2) + text.substr(14);\n if (text === \"0--T::\") {\n text = \"0000-00-00T00:00:00\";\n }\n }\n else if ((options === null || options === void 0 ? void 0 : options.width) && options.pad) {\n if (options.align === \"right\") {\n text = text.trimEnd().padStart(options.width, options.pad);\n }\n else {\n text = text.trimEnd().padEnd(options.width, options.pad);\n }\n }\n else if (options === null || options === void 0 ? void 0 : options.width) {\n text = text.trimEnd().padEnd(options.width, \" \");\n }\n else if ((options === null || options === void 0 ? void 0 : options.decimals) && source instanceof types_1.Integer) {\n text = source.get().toFixed(options.decimals);\n }\n else if (source instanceof types_1.Packed) {\n if (options === null || options === void 0 ? void 0 : options.decimals) {\n text = source.get().toFixed(options.decimals);\n }\n else {\n text = source.get().toFixed(source.getDecimals());\n }\n }\n else if ((options === null || options === void 0 ? void 0 : options.decimals) && source instanceof types_1.Float) {\n text = source.getRaw().toFixed(options.decimals);\n }\n else if (source instanceof types_1.DecFloat34) {\n const raw = source.getRaw();\n if (Number.isInteger(raw)) {\n text = raw.toFixed(0);\n }\n else {\n text = raw + \"\";\n }\n }\n else if (source instanceof types_1.Float) {\n const raw = source.getRaw();\n if (Number.isInteger(raw)) {\n text = raw.toFixed(0);\n }\n else {\n text = raw.toFixed(16);\n }\n }\n return text;\n}\nexports.templateFormatting = templateFormatting;\n//# sourceMappingURL=template_formatting.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/template_formatting.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/throw_error.js": +/*!*******************************************************!*\ + !*** ../../packages/runtime/build/src/throw_error.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.throwError = void 0;\nfunction throwError(name) {\n // @ts-ignore\n if (abap.Classes[name] !== undefined) {\n // @ts-ignore\n throw new abap.Classes[name]();\n }\n else {\n throw `Global class ${name} not found`;\n }\n}\nexports.throwError = throwError;\n//# sourceMappingURL=throw_error.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/throw_error.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/_date_helper.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/types/_date_helper.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getNumberFromDate = exports.getDateFromNumber = void 0;\nfunction getDateFromNumber(value) {\n const msInOneDay = 24 * 60 * 60 * 1000;\n const date = new Date(-62135596800000 + value * msInOneDay);\n let removeJulianLeaps = 2;\n if (value <= 577736) {\n let beforeGregorian = date.getFullYear() <= 1582 ? date.getFullYear() : 1582;\n if (date.getMonth() < 1 || (date.getMonth() === 1 && date.getDay() < 29)) {\n beforeGregorian -= 1;\n }\n removeJulianLeaps = Math.floor(beforeGregorian / 100) - Math.floor(beforeGregorian / 400);\n }\n date.setTime(date.getTime() - removeJulianLeaps * msInOneDay);\n let ret = date.getFullYear().toString().padStart(4, \"0\");\n ret += (date.getMonth() + 1).toString().padStart(2, \"0\");\n ret += date.getDate().toString().padStart(2, \"0\");\n return ret;\n}\nexports.getDateFromNumber = getDateFromNumber;\nfunction getNumberFromDate(value) {\n const msInOneDay = 24 * 60 * 60 * 1000;\n const date = new Date(-62135596800000);\n date.setUTCFullYear(parseInt(value.substr(0, 4), 10));\n date.setUTCMonth(parseInt(value.substr(4, 2), 10) - 1);\n date.setUTCDate(parseInt(value.substr(6, 2), 10));\n let days = Math.floor((date.getTime() + 62135596800000) / msInOneDay);\n let addJulianLeaps = 2;\n if (days <= 577736) {\n let beforeGregorian = date.getFullYear() <= 1582 ? date.getFullYear() : 1582;\n if (date.getMonth() < 1 || (date.getMonth() === 1 && date.getDay() < 29)) {\n beforeGregorian -= 1;\n }\n addJulianLeaps = Math.floor(beforeGregorian / 100) - Math.floor(beforeGregorian / 400);\n }\n days = days + addJulianLeaps;\n return days;\n}\nexports.getNumberFromDate = getNumberFromDate;\n//# sourceMappingURL=_date_helper.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/_date_helper.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/abap_object.js": +/*!*************************************************************!*\ + !*** ../../packages/runtime/build/src/types/abap_object.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPObject = void 0;\nconst field_symbol_1 = __webpack_require__(/*! ./field_symbol */ \"../../packages/runtime/build/src/types/field_symbol.js\");\nclass ABAPObject {\n constructor(input) {\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n this.RTTIName = input === null || input === void 0 ? void 0 : input.RTTIName;\n this.clear();\n }\n get() {\n return this.value;\n }\n clear() {\n this.value = undefined;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n getRTTIName() {\n return this.RTTIName;\n }\n set(value) {\n if (value instanceof ABAPObject) {\n this.value = value.get();\n }\n else if (value instanceof field_symbol_1.FieldSymbol) {\n this.value = value.getPointer().get();\n }\n else {\n this.value = value;\n }\n return this;\n }\n}\nexports.ABAPObject = ABAPObject;\n//# sourceMappingURL=abap_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/abap_object.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/character.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/types/character.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Character = void 0;\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nconst field_symbol_1 = __webpack_require__(/*! ./field_symbol */ \"../../packages/runtime/build/src/types/field_symbol.js\");\nconst structure_1 = __webpack_require__(/*! ./structure */ \"../../packages/runtime/build/src/types/structure.js\");\nconst integer_1 = __webpack_require__(/*! ./integer */ \"../../packages/runtime/build/src/types/integer.js\");\nconst TRIMREGEX = / *$/;\nclass Character {\n constructor(length, extra) {\n this.constant = false;\n this.length = length || 1;\n if (typeof this.length === \"object\") {\n throw \"Character, invalid length, object: \" + JSON.stringify(this.length);\n }\n else if (this.length <= 0) {\n throw \"Character, invalid length, less than zero\";\n }\n this.extra = extra;\n this.clear();\n }\n setConstant() {\n this.constant = true;\n return this;\n }\n set(value) {\n if (this.constant === true) {\n throw new Error(\"Changing constant\");\n }\n if (typeof value === \"string\" || typeof value === \"number\") {\n this.value = value;\n }\n else if (value instanceof field_symbol_1.FieldSymbol) {\n if (value.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n this.set(value.getPointer());\n return this;\n }\n else if (value instanceof structure_1.Structure) {\n this.set(value.getCharacter());\n return this;\n }\n else if (value instanceof integer_1.Integer) {\n this.value = Math.abs(value.get()) + (value.get() < 0 ? \"-\" : \" \");\n this.value = this.value.padStart(this.length, \" \");\n }\n else {\n this.value = value.get() + \"\";\n }\n if (this.value.length > this.length) {\n this.value = this.value.substr(0, this.length);\n }\n else if (this.value.length < this.length) {\n this.value = this.value.padEnd(this.length, \" \");\n }\n return this;\n }\n getQualifiedName() {\n var _a;\n return (_a = this.extra) === null || _a === void 0 ? void 0 : _a.qualifiedName;\n }\n getConversionExit() {\n var _a;\n return (_a = this.extra) === null || _a === void 0 ? void 0 : _a.conversionExit;\n }\n getDDICName() {\n var _a;\n return (_a = this.extra) === null || _a === void 0 ? void 0 : _a.ddicName;\n }\n getLength() {\n return this.length;\n }\n clear() {\n this.value = \" \".repeat(this.length);\n }\n get() {\n return this.value;\n }\n getTrimEnd() {\n if (this.value.endsWith(\" \") === true) {\n return this.value.replace(TRIMREGEX, \"\");\n }\n else {\n return this.value;\n }\n }\n getOffset(input) {\n let offset = input === null || input === void 0 ? void 0 : input.offset;\n if (offset) {\n offset = (0, _parse_1.parse)(offset);\n }\n let length = input === null || input === void 0 ? void 0 : input.length;\n if (length) {\n length = (0, _parse_1.parse)(length);\n }\n if ((offset && offset >= this.length)\n || (offset && offset < 0)\n || (length && length < 0)) {\n (0, throw_error_1.throwError)(\"CX_SY_RANGE_OUT_OF_BOUNDS\");\n }\n let ret = this.value;\n if (offset) {\n ret = ret.substr(offset);\n }\n if (length !== undefined) {\n ret = ret.substr(0, length);\n }\n const r = new Character(ret.length);\n r.set(ret);\n return r;\n }\n}\nexports.Character = Character;\n//# sourceMappingURL=character.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/character.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/data_reference.js": +/*!****************************************************************!*\ + !*** ../../packages/runtime/build/src/types/data_reference.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataReference = void 0;\nconst string_1 = __webpack_require__(/*! ./string */ \"../../packages/runtime/build/src/types/string.js\");\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst field_symbol_1 = __webpack_require__(/*! ./field_symbol */ \"../../packages/runtime/build/src/types/field_symbol.js\");\nclass DataReference {\n constructor(type) {\n this.pointer = undefined;\n this.type = type;\n }\n getType() {\n return this.type;\n }\n assign(pointer) {\n this.pointer = pointer;\n }\n unassign() {\n this.pointer = undefined;\n }\n getPointer() {\n return this.pointer;\n }\n dereference() {\n return this.pointer;\n }\n ///////////////\n clear() {\n this.unassign();\n // return this.pointer?.clear();\n }\n get() {\n var _a;\n if (this.pointer === this) {\n throw \"Cyclic data reference\";\n }\n // @ts-ignore\n return (_a = this.pointer) === null || _a === void 0 ? void 0 : _a.get();\n }\n array() {\n var _a;\n // @ts-ignore\n return (_a = this.pointer) === null || _a === void 0 ? void 0 : _a.array();\n }\n getArrayLength() {\n var _a;\n // @ts-ignore\n return (_a = this.pointer) === null || _a === void 0 ? void 0 : _a.getArrayLength();\n }\n set(value) {\n var _a;\n if (value instanceof DataReference) {\n this.pointer = value.getPointer();\n return this;\n }\n else if (value instanceof field_symbol_1.FieldSymbol) {\n if (value.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n else if (value.getPointer() instanceof DataReference) {\n this.pointer = value.getPointer().getPointer();\n return this;\n }\n else {\n throw new Error(\"OBJECTS_MOVE_NOT_SUPPORTED\");\n }\n }\n else {\n return (_a = this.pointer) === null || _a === void 0 ? void 0 : _a.set(value);\n }\n return this;\n }\n getOffset(input) {\n if (input === null || input === void 0 ? void 0 : input.offset) {\n input.offset = (0, _parse_1.parse)(input.offset);\n }\n if (input === null || input === void 0 ? void 0 : input.length) {\n input.length = (0, _parse_1.parse)(input.length);\n }\n // Assuming we're interested in Strings here, for now...\n let ret = this.get();\n if (input === null || input === void 0 ? void 0 : input.offset) {\n ret = ret.substr(input.offset);\n }\n if ((input === null || input === void 0 ? void 0 : input.length) !== undefined) {\n ret = ret.substr(0, input.length);\n }\n const r = new string_1.String();\n r.set(ret);\n return r;\n }\n}\nexports.DataReference = DataReference;\n//# sourceMappingURL=data_reference.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/data_reference.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/date.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/types/date.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Date = void 0;\nconst string_1 = __webpack_require__(/*! ./string */ \"../../packages/runtime/build/src/types/string.js\");\nconst _date_helper_1 = __webpack_require__(/*! ./_date_helper */ \"../../packages/runtime/build/src/types/_date_helper.js\");\nconst float_1 = __webpack_require__(/*! ./float */ \"../../packages/runtime/build/src/types/float.js\");\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nclass Date {\n constructor(input) {\n this.clear();\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n set(value) {\n if (typeof value === \"number\") {\n if (value <= 0 || value > 3652060) {\n this.value = \"00000000\";\n }\n else {\n this.value = (0, _date_helper_1.getDateFromNumber)(value);\n }\n }\n else if (value instanceof float_1.Float) {\n this.set(Math.round(value.getRaw()));\n }\n else if (typeof value === \"string\") {\n this.value = value;\n }\n else {\n this.set(value.get());\n }\n if (this.value.length > 8) {\n this.value = this.value.substr(0, 8);\n }\n else if (this.value.length < 8) {\n this.value = this.value.padEnd(8, \" \");\n }\n return this;\n }\n clear() {\n this.value = \"00000000\";\n }\n get() {\n return this.value;\n }\n getNumeric() {\n return (0, _date_helper_1.getNumberFromDate)(this.value);\n }\n getOffset(input) {\n if (input === null || input === void 0 ? void 0 : input.offset) {\n input.offset = (0, _parse_1.parse)(input.offset);\n }\n if (input === null || input === void 0 ? void 0 : input.length) {\n input.length = (0, _parse_1.parse)(input.length);\n }\n let ret = this.value;\n if (input === null || input === void 0 ? void 0 : input.offset) {\n // @ts-ignore\n ret = ret.substr(input.offset);\n }\n if ((input === null || input === void 0 ? void 0 : input.length) !== undefined) {\n // @ts-ignore\n ret = ret.substr(0, input.length);\n }\n const r = new string_1.String();\n r.set(ret);\n return r;\n }\n}\nexports.Date = Date;\n//# sourceMappingURL=date.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/date.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/decfloat34.js": +/*!************************************************************!*\ + !*** ../../packages/runtime/build/src/types/decfloat34.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DecFloat34 = void 0;\nconst _1 = __webpack_require__(/*! . */ \"../../packages/runtime/build/src/types/index.js\");\nconst hex_1 = __webpack_require__(/*! ./hex */ \"../../packages/runtime/build/src/types/hex.js\");\nconst xstring_1 = __webpack_require__(/*! ./xstring */ \"../../packages/runtime/build/src/types/xstring.js\");\nclass DecFloat34 {\n constructor() {\n this.value = 0;\n }\n set(value) {\n if (typeof value === \"number\") {\n this.value = value;\n }\n else if (typeof value === \"string\" && value.trim().length === 0) {\n this.value = 0;\n }\n else if (typeof value === \"string\") {\n this.value = parseFloat(value);\n }\n else if (value instanceof _1.Float) {\n this.value = value.getRaw();\n }\n else if (value instanceof hex_1.Hex || value instanceof xstring_1.XString) {\n // todo, how/if should this work?\n this.set(parseInt(value.get(), 16));\n }\n else {\n this.set(value.get());\n }\n return this;\n }\n clear() {\n this.value = 0;\n }\n getRaw() {\n return this.value;\n }\n get() {\n let text = new Number(this.value).toString();\n text = text.replace(\".\", \",\");\n return text;\n }\n}\nexports.DecFloat34 = DecFloat34;\n//# sourceMappingURL=decfloat34.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/decfloat34.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/field_symbol.js": +/*!**************************************************************!*\ + !*** ../../packages/runtime/build/src/types/field_symbol.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldSymbol = void 0;\nconst table_1 = __webpack_require__(/*! ./table */ \"../../packages/runtime/build/src/types/table.js\");\nconst string_1 = __webpack_require__(/*! ./string */ \"../../packages/runtime/build/src/types/string.js\");\nconst hex_1 = __webpack_require__(/*! ./hex */ \"../../packages/runtime/build/src/types/hex.js\");\nconst float_1 = __webpack_require__(/*! ./float */ \"../../packages/runtime/build/src/types/float.js\");\nconst data_reference_1 = __webpack_require__(/*! ./data_reference */ \"../../packages/runtime/build/src/types/data_reference.js\");\nclass FieldSymbol {\n constructor(type) {\n this.pointer = undefined;\n this.casting = false;\n this.type = type;\n }\n getQualifiedName() {\n // @ts-ignore\n return this.type.getQualifiedName();\n }\n assign(pointer) {\n this.pointer = pointer;\n }\n setCasting() {\n this.casting = true;\n }\n unassign() {\n this.pointer = undefined;\n }\n isAssigned() {\n return this.pointer !== undefined;\n }\n getPointer() {\n if (this.casting) {\n // todo, this wont work for everything, eg changing CASTING'ed values\n return this.get();\n }\n return this.pointer;\n }\n dereference() {\n if (this.pointer instanceof data_reference_1.DataReference) {\n return this.pointer.getPointer();\n }\n else {\n return this.pointer;\n }\n }\n ///////////////\n clear() {\n var _a;\n return (_a = this.pointer) === null || _a === void 0 ? void 0 : _a.clear();\n }\n get() {\n var _a, _b, _c;\n if (this.casting) {\n if (this.type instanceof hex_1.Hex) {\n const pt = this.pointer;\n if (pt instanceof float_1.Float) {\n const buf = Buffer.allocUnsafe(8);\n buf.writeDoubleLE(pt.getRaw());\n return buf.toString(\"hex\").toUpperCase();\n }\n else {\n // @ts-ignore\n const ret = new string_1.String().set(Buffer.from((_a = this.pointer) === null || _a === void 0 ? void 0 : _a.get(), \"utf16le\").toString(\"hex\"));\n return ret.get();\n }\n }\n else {\n // @ts-ignore\n const ret = new string_1.String().set(Buffer.from((_b = this.pointer) === null || _b === void 0 ? void 0 : _b.get(), \"hex\").toString(\"utf16le\"));\n return ret.get();\n }\n }\n else {\n // @ts-ignore\n return (_c = this.pointer) === null || _c === void 0 ? void 0 : _c.get();\n }\n }\n appendInitial() {\n if (this.pointer instanceof table_1.Table) {\n return this.pointer.appendInitial();\n }\n return undefined;\n }\n array() {\n var _a;\n // @ts-ignore\n return (_a = this.pointer) === null || _a === void 0 ? void 0 : _a.array();\n }\n getArrayLength() {\n var _a;\n // @ts-ignore\n return (_a = this.pointer) === null || _a === void 0 ? void 0 : _a.getArrayLength();\n }\n set(value) {\n var _a;\n (_a = this.pointer) === null || _a === void 0 ? void 0 : _a.set(value);\n return this;\n }\n getOffset(input) {\n return this.getPointer().getOffset(input);\n }\n}\nexports.FieldSymbol = FieldSymbol;\n//# sourceMappingURL=field_symbol.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/field_symbol.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/float.js": +/*!*******************************************************!*\ + !*** ../../packages/runtime/build/src/types/float.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Float = void 0;\nconst hex_1 = __webpack_require__(/*! ./hex */ \"../../packages/runtime/build/src/types/hex.js\");\nconst xstring_1 = __webpack_require__(/*! ./xstring */ \"../../packages/runtime/build/src/types/xstring.js\");\n/*\nfunction getNumberParts(x: number) {\n if(isNaN(x)) {\n throw \"Float NaN\";\n }\n const sig = x > 0 ? 1 : -1;\n if (!isFinite(x)) {\n throw \"Float not finite\";\n }\n x = Math.abs(x);\n const exp = Math.floor(Math.log(x) * Math.LOG2E) - 52;\n const man = x / Math.pow(2, exp);\n return {mantissa: sig * man, exponent: exp};\n}\n*/\nclass Float {\n constructor(input) {\n this.value = 0;\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n set(value) {\n if (typeof value === \"number\") {\n this.value = value;\n }\n else if (typeof value === \"string\" && value.trim().length === 0) {\n this.value = 0;\n }\n else if (typeof value === \"string\") {\n this.value = parseFloat(value);\n }\n else if (value instanceof Float) {\n this.value = value.getRaw();\n }\n else if (value instanceof hex_1.Hex || value instanceof xstring_1.XString) {\n // todo, how/if should this work?\n this.set(parseInt(value.get(), 16));\n }\n else {\n this.set(value.get());\n }\n return this;\n }\n clear() {\n this.value = 0;\n }\n getRaw() {\n return this.value;\n }\n get() {\n let text = new Number(this.value).toExponential(16);\n text = text.replace(\".\", \",\");\n if (text.includes(\"e+\")) {\n const split = text.split(\"e+\");\n const mantissa = split[0];\n const exponent = split[1].padStart(2, \"0\");\n return mantissa + \"E+\" + exponent;\n }\n else {\n const split = text.split(\"e-\");\n const mantissa = split[0];\n const exponent = split[1].padStart(2, \"0\");\n return mantissa + \"E-\" + exponent;\n }\n }\n}\nexports.Float = Float;\n//# sourceMappingURL=float.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/float.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/hex.js": +/*!*****************************************************!*\ + !*** ../../packages/runtime/build/src/types/hex.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Hex = void 0;\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst float_1 = __webpack_require__(/*! ./float */ \"../../packages/runtime/build/src/types/float.js\");\nconst xstring_1 = __webpack_require__(/*! ./xstring */ \"../../packages/runtime/build/src/types/xstring.js\");\nclass Hex {\n constructor(input) {\n this.length = (input === null || input === void 0 ? void 0 : input.length) ? input === null || input === void 0 ? void 0 : input.length : 1;\n this.clear();\n }\n set(value) {\n if (typeof value === \"string\") {\n this.value = value;\n }\n else if (typeof value === \"number\") {\n const maxVal = Math.pow(2, this.length * 8);\n if (value < 0) {\n this.value = Math.round(value + maxVal).toString(16);\n }\n else if (value >= maxVal) {\n const sub = value % maxVal;\n this.value = Math.round(sub).toString(16);\n }\n else {\n this.value = Math.round(value).toString(16);\n }\n this.value = this.value.padStart(this.length * 2, \"0\");\n }\n else {\n let v = value.get();\n if (value instanceof float_1.Float) {\n v = value.getRaw();\n this.set(v);\n }\n else if (typeof v === \"number\") {\n this.set(v);\n }\n else {\n this.value = v;\n if (this.value.match(/^(?![A-F0-9])/)) {\n this.value = \"\";\n }\n }\n }\n if (this.value.length > this.length * 2) {\n this.value = this.value.substr(0, this.length * 2);\n }\n if (this.value.length < this.length * 2) {\n this.value = this.value.padEnd(this.length * 2, \"0\");\n }\n this.value = this.value.toUpperCase();\n return this;\n }\n getLength() {\n return this.length;\n }\n clear() {\n this.value = \"0\".repeat(this.length * 2);\n }\n get() {\n return this.value;\n }\n getOffset(input) {\n if (input === null || input === void 0 ? void 0 : input.offset) {\n input.offset = (0, _parse_1.parse)(input.offset);\n }\n if (input === null || input === void 0 ? void 0 : input.length) {\n input.length = (0, _parse_1.parse)(input.length);\n }\n let ret = this.value;\n if (input === null || input === void 0 ? void 0 : input.offset) {\n // @ts-ignore\n ret = ret.substr(input.offset * 2);\n }\n if ((input === null || input === void 0 ? void 0 : input.length) !== undefined) {\n // @ts-ignore\n ret = ret.substr(0, input.length * 2);\n }\n const r = new xstring_1.XString();\n r.set(ret);\n return r;\n }\n}\nexports.Hex = Hex;\n//# sourceMappingURL=hex.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/hex.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/index.js": +/*!*******************************************************!*\ + !*** ../../packages/runtime/build/src/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__(/*! ./abap_object */ \"../../packages/runtime/build/src/types/abap_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./character */ \"../../packages/runtime/build/src/types/character.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_reference */ \"../../packages/runtime/build/src/types/data_reference.js\"), exports);\n__exportStar(__webpack_require__(/*! ./date */ \"../../packages/runtime/build/src/types/date.js\"), exports);\n__exportStar(__webpack_require__(/*! ./decfloat34 */ \"../../packages/runtime/build/src/types/decfloat34.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_symbol */ \"../../packages/runtime/build/src/types/field_symbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./float */ \"../../packages/runtime/build/src/types/float.js\"), exports);\n__exportStar(__webpack_require__(/*! ./hex */ \"../../packages/runtime/build/src/types/hex.js\"), exports);\n__exportStar(__webpack_require__(/*! ./integer */ \"../../packages/runtime/build/src/types/integer.js\"), exports);\n__exportStar(__webpack_require__(/*! ./integer8 */ \"../../packages/runtime/build/src/types/integer8.js\"), exports);\n__exportStar(__webpack_require__(/*! ./numc */ \"../../packages/runtime/build/src/types/numc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./packed */ \"../../packages/runtime/build/src/types/packed.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string */ \"../../packages/runtime/build/src/types/string.js\"), exports);\n__exportStar(__webpack_require__(/*! ./structure */ \"../../packages/runtime/build/src/types/structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table */ \"../../packages/runtime/build/src/types/table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./time */ \"../../packages/runtime/build/src/types/time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./utc_long */ \"../../packages/runtime/build/src/types/utc_long.js\"), exports);\n__exportStar(__webpack_require__(/*! ./xstring */ \"../../packages/runtime/build/src/types/xstring.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/index.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/integer.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/types/integer.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Integer = void 0;\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nconst float_1 = __webpack_require__(/*! ./float */ \"../../packages/runtime/build/src/types/float.js\");\nconst hex_1 = __webpack_require__(/*! ./hex */ \"../../packages/runtime/build/src/types/hex.js\");\nconst xstring_1 = __webpack_require__(/*! ./xstring */ \"../../packages/runtime/build/src/types/xstring.js\");\nconst digits = new RegExp(/^\\s*-?\\+?\\d+\\.?\\d* *$/i);\nclass Integer {\n constructor(input) {\n this.value = 0;\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n set(value) {\n if (typeof value === \"number\") {\n this.value = Math.round(value);\n }\n else if (typeof value === \"string\") {\n if (value.endsWith(\"-\")) {\n value = \"-\" + value.substring(0, value.length - 1);\n }\n if (value.trim().length === 0) {\n value = \"0\";\n }\n else if (digits.test(value) === false) {\n (0, throw_error_1.throwError)(\"CX_SY_CONVERSION_NO_NUMBER\");\n }\n this.value = parseInt(value, 10);\n }\n else if (value instanceof float_1.Float) {\n this.set(Math.round(value.getRaw()));\n }\n else if (value instanceof hex_1.Hex || value instanceof xstring_1.XString) {\n let num = parseInt(value.get(), 16);\n // handle two complement,\n if (value instanceof hex_1.Hex && value.getLength() >= 4) {\n const maxVal = Math.pow(2, value.get().length / 2 * 8);\n if (num > maxVal / 2 - 1) {\n num = num - maxVal;\n }\n }\n this.set(num);\n }\n else {\n this.set(value.get());\n }\n return this;\n }\n clear() {\n this.value = 0;\n }\n get() {\n return this.value;\n }\n}\nexports.Integer = Integer;\n//# sourceMappingURL=integer.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/integer.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/integer8.js": +/*!**********************************************************!*\ + !*** ../../packages/runtime/build/src/types/integer8.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Integer8 = void 0;\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nconst float_1 = __webpack_require__(/*! ./float */ \"../../packages/runtime/build/src/types/float.js\");\nconst hex_1 = __webpack_require__(/*! ./hex */ \"../../packages/runtime/build/src/types/hex.js\");\nconst xstring_1 = __webpack_require__(/*! ./xstring */ \"../../packages/runtime/build/src/types/xstring.js\");\nconst digits = new RegExp(/^\\s*-?\\+?\\d+\\.?\\d* *$/i);\nclass Integer8 {\n constructor(input) {\n this.value = 0;\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n set(value) {\n if (typeof value === \"number\") {\n this.value = Math.round(value);\n }\n else if (typeof value === \"string\") {\n if (value.endsWith(\"-\")) {\n value = \"-\" + value.substring(0, value.length - 1);\n }\n if (value.trim().length === 0) {\n value = \"0\";\n }\n else if (digits.test(value) === false) {\n (0, throw_error_1.throwError)(\"CX_SY_CONVERSION_NO_NUMBER\");\n }\n this.value = parseInt(value, 10);\n }\n else if (value instanceof float_1.Float) {\n this.set(Math.round(value.getRaw()));\n }\n else if (value instanceof hex_1.Hex || value instanceof xstring_1.XString) {\n let num = parseInt(value.get(), 16);\n // handle two complement,\n if (value instanceof hex_1.Hex && value.getLength() >= 4) {\n const maxVal = Math.pow(2, value.get().length / 2 * 8);\n if (num > maxVal / 2 - 1) {\n num = num - maxVal;\n }\n }\n this.set(num);\n }\n else {\n this.set(value.get());\n }\n return this;\n }\n clear() {\n this.value = 0;\n }\n get() {\n return this.value;\n }\n}\nexports.Integer8 = Integer8;\n//# sourceMappingURL=integer8.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/integer8.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/numc.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/types/numc.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Numc = void 0;\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nclass Numc {\n constructor(input) {\n this.length = (input === null || input === void 0 ? void 0 : input.length) ? input === null || input === void 0 ? void 0 : input.length : 1;\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n this.clear();\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n set(value, raw = false) {\n if (typeof value === \"number\") {\n this.value = value.toString();\n }\n else if (typeof value === \"string\") {\n this.value = parseInt(value, 10) + \"\";\n }\n else {\n this.set(value.get());\n return;\n }\n if (this.value.length > this.length) {\n this.value = this.value.substr(this.value.length - this.length, this.length);\n }\n else {\n const pad = this.length - this.value.length;\n if (pad > 0 && raw === false) {\n this.value = \"0\".repeat(pad) + this.value;\n }\n }\n return this;\n }\n getLength() {\n return this.length;\n }\n clear() {\n this.value = \"0\".repeat(this.length);\n }\n get() {\n return this.value;\n }\n getOffset(input) {\n let offset = input === null || input === void 0 ? void 0 : input.offset;\n if (offset) {\n offset = (0, _parse_1.parse)(offset);\n }\n let length = input === null || input === void 0 ? void 0 : input.length;\n if (length) {\n length = (0, _parse_1.parse)(length);\n }\n if ((offset && offset >= this.length)\n || (offset && offset < 0)\n || (length && length < 0)) {\n (0, throw_error_1.throwError)(\"CX_SY_RANGE_OUT_OF_BOUNDS\");\n }\n let ret = this.value;\n if (offset) {\n ret = ret.substr(offset);\n }\n if (length !== undefined) {\n ret = ret.substr(0, length);\n }\n const r = new Numc({ length: ret.length });\n r.set(ret);\n return r;\n }\n}\nexports.Numc = Numc;\n//# sourceMappingURL=numc.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/numc.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/packed.js": +/*!********************************************************!*\ + !*** ../../packages/runtime/build/src/types/packed.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Packed = void 0;\nconst float_1 = __webpack_require__(/*! ./float */ \"../../packages/runtime/build/src/types/float.js\");\nclass Packed {\n constructor(input) {\n this.value = 0;\n this.length = 666;\n if (input === null || input === void 0 ? void 0 : input.length) {\n this.length = input.length;\n }\n this.decimals = 0;\n if (input === null || input === void 0 ? void 0 : input.decimals) {\n this.decimals = input.decimals;\n }\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n round(value, places) {\n // @ts-ignore\n return +(Math.round(value + \"e+\" + places) + \"e-\" + places);\n }\n set(value) {\n if (typeof value === \"number\") {\n this.value = value;\n }\n else if (typeof value === \"string\") {\n this.value = this.round(parseFloat(value), this.decimals);\n }\n else if (value instanceof float_1.Float) {\n this.value = this.round(value.getRaw(), this.decimals);\n }\n else {\n this.set(value.get());\n }\n return this;\n }\n getLength() {\n return this.length;\n }\n getDecimals() {\n return this.decimals;\n }\n clear() {\n this.value = 0;\n }\n get() {\n return this.value;\n }\n}\nexports.Packed = Packed;\n//# sourceMappingURL=packed.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/packed.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/string.js": +/*!********************************************************!*\ + !*** ../../packages/runtime/build/src/types/string.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.String = void 0;\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nconst character_1 = __webpack_require__(/*! ./character */ \"../../packages/runtime/build/src/types/character.js\");\nconst field_symbol_1 = __webpack_require__(/*! ./field_symbol */ \"../../packages/runtime/build/src/types/field_symbol.js\");\nconst integer_1 = __webpack_require__(/*! ./integer */ \"../../packages/runtime/build/src/types/integer.js\");\nconst packed_1 = __webpack_require__(/*! ./packed */ \"../../packages/runtime/build/src/types/packed.js\");\nconst structure_1 = __webpack_require__(/*! ./structure */ \"../../packages/runtime/build/src/types/structure.js\");\nconst float_1 = __webpack_require__(/*! ./float */ \"../../packages/runtime/build/src/types/float.js\");\nclass String {\n constructor(input) {\n this.value = \"\";\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n set(value) {\n if (value instanceof field_symbol_1.FieldSymbol) {\n if (value.getPointer() === undefined) {\n throw new Error(\"GETWA_NOT_ASSIGNED\");\n }\n return this.set(value.getPointer());\n }\n else if (typeof value === \"string\") {\n this.value = value;\n }\n else if (typeof value === \"number\") {\n this.value = value.toString();\n }\n else if (value instanceof character_1.Character) {\n // replace trailing blanks if the source is a Character string\n this.value = value.getTrimEnd();\n }\n else if (value instanceof structure_1.Structure) {\n this.value = value.getCharacter().trimEnd();\n }\n else if (value instanceof packed_1.Packed) {\n const lv_sign = value.get() >= 0 ? \" \" : \"-\";\n this.value = Math.abs(value.get()).toFixed(value.getDecimals());\n this.value += lv_sign;\n }\n else if (value instanceof integer_1.Integer) {\n const lv_sign = value.get() >= 0 ? \" \" : \"-\";\n this.value = Math.abs(value.get()) + \"\";\n this.value += lv_sign;\n }\n else if (value instanceof float_1.Float) {\n this.value = value.get() + \"\";\n this.value = this.value.replace(\",\", \".\");\n }\n else {\n this.value = value.get() + \"\";\n }\n return this;\n }\n clear() {\n this.value = \"\";\n }\n get() {\n return this.value;\n }\n getOffset(input) {\n let offset = input === null || input === void 0 ? void 0 : input.offset;\n if (offset) {\n offset = (0, _parse_1.parse)(offset);\n }\n let length = input === null || input === void 0 ? void 0 : input.length;\n if (length) {\n length = (0, _parse_1.parse)(length);\n }\n if ((offset && offset > this.value.length)\n || (offset && offset < 0)\n || (length && length < 0)) {\n (0, throw_error_1.throwError)(\"CX_SY_RANGE_OUT_OF_BOUNDS\");\n }\n let ret = this.value;\n if (offset) {\n ret = ret.substr(offset);\n }\n if (length !== undefined) {\n ret = ret.substr(0, length);\n }\n const r = new String();\n r.set(ret);\n return r;\n }\n}\nexports.String = String;\n//# sourceMappingURL=string.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/string.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/structure.js": +/*!***********************************************************!*\ + !*** ../../packages/runtime/build/src/types/structure.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Structure = void 0;\nconst clone_1 = __webpack_require__(/*! ../clone */ \"../../packages/runtime/build/src/clone.js\");\nconst field_symbol_1 = __webpack_require__(/*! ./field_symbol */ \"../../packages/runtime/build/src/types/field_symbol.js\");\nconst table_1 = __webpack_require__(/*! ./table */ \"../../packages/runtime/build/src/types/table.js\");\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst character_1 = __webpack_require__(/*! ./character */ \"../../packages/runtime/build/src/types/character.js\");\nconst throw_error_1 = __webpack_require__(/*! ../throw_error */ \"../../packages/runtime/build/src/throw_error.js\");\nclass Structure {\n constructor(fields, qualifiedName, ddicName) {\n this.value = fields;\n this.qualifiedName = qualifiedName === null || qualifiedName === void 0 ? void 0 : qualifiedName.toUpperCase();\n this.ddicName = ddicName === null || ddicName === void 0 ? void 0 : ddicName.toUpperCase();\n }\n clear() {\n for (const f in this.value) {\n // @ts-ignore\n this.value[f].clear();\n }\n return this;\n }\n getDDICName() {\n return this.ddicName;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n set(input) {\n if (input === undefined) {\n return;\n }\n if (input instanceof field_symbol_1.FieldSymbol) {\n this.set(input.getPointer());\n }\n else if (input instanceof table_1.Table) {\n throw new Error(\"Structure, input is a table\");\n }\n else if (input instanceof Structure) {\n const obj = input.get();\n const keys1 = Object.keys(obj);\n const keys2 = Object.keys(this.value);\n /*\n console.dir(keys1);\n console.dir(keys2);\n */\n for (let i = 0; i < keys1.length; i++) {\n const key1 = keys1[i];\n const key2 = keys2[i];\n this.value[key2].set((0, clone_1.clone)(obj[key1]));\n }\n /*\n for (const f in obj) {\n // @ts-ignore\n this.value[f].set(clone(obj[f]));\n }\n */\n }\n else {\n this.setCharacter(input);\n }\n return this;\n }\n setCharacter(input) {\n this.clear();\n let val = input;\n if (typeof val !== \"string\") {\n val = val.get() + \"\";\n }\n for (const key of Object.keys(this.value)) {\n const targetLength = this.value[key].getLength();\n this.value[key].set(val.substr(0, targetLength));\n val = val.substr(targetLength);\n }\n }\n get() {\n return this.value;\n }\n getCharacter() {\n let val = \"\";\n for (const v in this.value) {\n val += this.value[v].get();\n }\n return val;\n }\n getOffset(input) {\n let offset = input === null || input === void 0 ? void 0 : input.offset;\n if (offset) {\n offset = (0, _parse_1.parse)(offset);\n }\n let length = input === null || input === void 0 ? void 0 : input.length;\n if (length) {\n length = (0, _parse_1.parse)(length);\n }\n const val = this.getCharacter();\n if ((offset && offset >= val.length)\n || (offset && offset < 0)\n || (length && length < 0)) {\n (0, throw_error_1.throwError)(\"CX_SY_RANGE_OUT_OF_BOUNDS\");\n }\n let ret = val;\n if (offset) {\n ret = ret.substr(offset);\n }\n if (length !== undefined) {\n ret = ret.substr(0, length);\n }\n const r = new character_1.Character(ret.length);\n r.set(ret);\n return r;\n }\n}\nexports.Structure = Structure;\n//# sourceMappingURL=structure.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/structure.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/table.js": +/*!*******************************************************!*\ + !*** ../../packages/runtime/build/src/types/table.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Table = exports.HashedTable = exports.SortedTable = exports.TableFactory = exports.featureHashedTables = exports.LoopController = exports.TableKeyType = exports.TableAccessType = void 0;\nconst integer_1 = __webpack_require__(/*! ./integer */ \"../../packages/runtime/build/src/types/integer.js\");\nconst string_1 = __webpack_require__(/*! ./string */ \"../../packages/runtime/build/src/types/string.js\");\nconst clone_1 = __webpack_require__(/*! ../clone */ \"../../packages/runtime/build/src/clone.js\");\nconst structure_1 = __webpack_require__(/*! ./structure */ \"../../packages/runtime/build/src/types/structure.js\");\nconst field_symbol_1 = __webpack_require__(/*! ./field_symbol */ \"../../packages/runtime/build/src/types/field_symbol.js\");\nconst data_reference_1 = __webpack_require__(/*! ./data_reference */ \"../../packages/runtime/build/src/types/data_reference.js\");\nconst insert_internal_1 = __webpack_require__(/*! ../statements/insert_internal */ \"../../packages/runtime/build/src/statements/insert_internal.js\");\nconst sort_1 = __webpack_require__(/*! ../statements/sort */ \"../../packages/runtime/build/src/statements/sort.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 LoopController {\n constructor(from, loopTo, array) {\n this.index = from;\n this.loopTo = loopTo;\n this.array = array;\n }\n}\nexports.LoopController = LoopController;\n// eslint-disable-next-line prefer-const\nexports.featureHashedTables = true;\nclass TableFactory {\n static construct(rowType, options, qualifiedName) {\n var _a;\n if (options === undefined) {\n options = {\n primaryKey: {\n name: \"primary_key\",\n type: TableAccessType.standard,\n keyFields: [],\n isUnique: false,\n },\n keyType: TableKeyType.default,\n withHeader: false,\n };\n }\n if (exports.featureHashedTables === true && ((_a = options.primaryKey) === null || _a === void 0 ? void 0 : _a.type) === TableAccessType.hashed) {\n return new HashedTable(rowType, options, qualifiedName);\n }\n else {\n return new Table(rowType, options, qualifiedName);\n }\n }\n}\nexports.TableFactory = TableFactory;\nclass SortedTable {\n}\nexports.SortedTable = SortedTable;\nclass HashedTable {\n constructor(rowType, options, qualifiedName) {\n this.value = {};\n this.secondaryIndexes = {};\n this.loops = new Set();\n this.rowType = rowType;\n this.options = options;\n this.options = options;\n if ((options === null || options === void 0 ? void 0 : options.withHeader) === true) {\n this.header = (0, clone_1.clone)(this.rowType);\n }\n this.qualifiedName = qualifiedName === null || qualifiedName === void 0 ? void 0 : qualifiedName.toUpperCase();\n }\n getArrayLength() {\n return Object.keys(this.value).length;\n }\n getKeyByName(name) {\n var _a, _b;\n return (_b = (_a = this.getOptions()) === null || _a === void 0 ? void 0 : _a.secondary) === null || _b === void 0 ? void 0 : _b.find(s => s.name.toUpperCase() === name.toUpperCase());\n }\n getSecondaryIndex(name) {\n if (this.secondaryIndexes[name.toUpperCase()]) {\n return this.secondaryIndexes[name.toUpperCase()];\n }\n const secondary = this.getKeyByName(name);\n if (secondary === undefined) {\n throw `Table, secondary key \"${name}\" not found`;\n }\n // note, array() already is a copy, so it acn be used,\n const copy = this.array();\n (0, sort_1.sort)(copy, { by: secondary.keyFields.map(k => { return { component: k.toLowerCase() }; }) });\n this.secondaryIndexes[name.toUpperCase()] = copy;\n return copy;\n }\n buildHashFromData(data) {\n let hash = \"\";\n for (const k of this.options.primaryKey.keyFields) {\n if (k === \"TABLE_LINE\") {\n if (data instanceof structure_1.Structure) {\n hash += k + \":\" + data.getCharacter() + \"|\";\n }\n else {\n // @ts-ignore\n hash += k + \":\" + data.get() + \"|\";\n }\n }\n else {\n // @ts-ignore\n let val = data.get()[k.toLowerCase()];\n if (val instanceof structure_1.Structure) {\n val = val.getCharacter();\n }\n else {\n val = val.get();\n }\n hash += k + \":\" + val + \"|\";\n }\n }\n return hash;\n }\n deleteIndex(_index) {\n throw new Error(\"HashedTable, deleteIndex\");\n }\n deleteFrom(row) {\n const hash = this.buildHashFromData(row);\n delete this.value[hash];\n }\n buildHashFromSimple(data) {\n let hash = \"\";\n const rowType = (0, clone_1.clone)(this.getRowType());\n for (const k of this.options.primaryKey.keyFields) {\n let val = data[k.toLowerCase()];\n if (val instanceof structure_1.Structure) {\n val = val.getCharacter();\n }\n else {\n // convert to correct type, eg Chars have specific length, or rounding,\n if (k === \"TABLE_LINE\") {\n rowType.set(val.get());\n val = rowType.get();\n }\n else {\n rowType.get()[k.toLowerCase()].set(val.get());\n val = rowType.get()[k.toLowerCase()].get();\n }\n }\n hash += k + \":\" + val + \"|\";\n }\n return hash;\n }\n read(hash) {\n return this.value[hash];\n }\n insert(data) {\n const hash = this.buildHashFromData(data);\n if (this.value[hash] !== undefined) {\n return { value: undefined, subrc: 4 };\n }\n else {\n const val = this.getValue(data);\n for (const loopController of this.loops.values()) {\n loopController.array.push(val);\n }\n this.value[hash] = val;\n return { value: val, subrc: 0 };\n }\n }\n array() {\n // used for LOOP\n const ret = [];\n for (const hash in this.value) {\n ret.push(this.value[hash]);\n }\n return ret;\n }\n startLoop(from, to, array) {\n const l = new LoopController(from, to, array);\n this.loops.add(l);\n return l;\n }\n unregisterLoop(loop) {\n this.loops.delete(loop);\n }\n insertIndex(_item, _index) {\n throw new Error(\"Hash table insert index\");\n }\n append(_item) {\n throw new Error(\"Hash table append\");\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n getOptions() {\n return this.options;\n }\n getRowType() {\n return this.rowType;\n }\n clear() {\n this.value = {};\n this.secondaryIndexes = {};\n }\n set(tab) {\n this.clear();\n if (tab instanceof Table || tab instanceof HashedTable) {\n for (const a of tab.array()) {\n this.insert(a);\n }\n return this;\n }\n else {\n throw new Error(\"Method not implemented, set hashed table\");\n }\n }\n getHeader() {\n if (this.header === undefined) {\n throw \"table, getHeader\";\n }\n return this.header;\n }\n ///////////////////////////\n getValue(item) {\n // make sure to do conversion if needed\n if (typeof item === \"number\") {\n const tmp = (0, clone_1.clone)(this.getRowType());\n tmp.set(new integer_1.Integer().set(item));\n return tmp;\n }\n else if (typeof item === \"string\") {\n const tmp = (0, clone_1.clone)(this.getRowType());\n tmp.set(new string_1.String().set(item));\n return tmp;\n // @ts-ignore\n // eslint-disable-next-line max-len\n }\n else if (this.isStructured === true && item.getQualifiedName && this.rowType.getQualifiedName && item.getQualifiedName() !== \"\" && item.getQualifiedName() === this.rowType.getQualifiedName()) {\n // types match, so no need to do conversions, just clone the item\n const val = (0, clone_1.clone)(item);\n return val;\n }\n else {\n const tmp = (0, clone_1.clone)(this.getRowType());\n tmp.set(item);\n return tmp;\n }\n }\n}\nexports.HashedTable = HashedTable;\nclass Table {\n constructor(rowType, options, qualifiedName) {\n this.value = [];\n this.secondaryIndexes = {};\n this.loops = new Set();\n this.rowType = rowType;\n this.options = options;\n this.isStructured = rowType instanceof structure_1.Structure;\n if ((options === null || options === void 0 ? void 0 : options.withHeader) === true) {\n this.header = (0, clone_1.clone)(this.rowType);\n }\n this.qualifiedName = qualifiedName === null || qualifiedName === void 0 ? void 0 : qualifiedName.toUpperCase();\n }\n getArrayLength() {\n return this.value.length;\n }\n getKeyByName(name) {\n var _a, _b;\n return (_b = (_a = this.getOptions()) === null || _a === void 0 ? void 0 : _a.secondary) === null || _b === void 0 ? void 0 : _b.find(s => s.name.toUpperCase() === name.toUpperCase());\n }\n getSecondaryIndex(name) {\n if (this.secondaryIndexes[name.toUpperCase()]) {\n return this.secondaryIndexes[name.toUpperCase()];\n }\n const secondary = this.getKeyByName(name);\n if (secondary === undefined) {\n throw `Table, secondary key \"${name}\" not found`;\n }\n const copy = [...this.value];\n (0, sort_1.sort)(copy, { by: secondary.keyFields.map(k => { return { component: k.toLowerCase() }; }) });\n this.secondaryIndexes[name.toUpperCase()] = copy;\n return copy;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n getOptions() {\n return this.options;\n }\n startLoop(from, to, array) {\n const l = new LoopController(from, to, array);\n this.loops.add(l);\n return l;\n }\n unregisterLoop(loop) {\n this.loops.delete(loop);\n }\n getRowType() {\n return this.rowType;\n }\n // Modifications to the array must be done inside this class, in order to keep track of LOOP indexes\n array() {\n return this.value;\n }\n clear() {\n this.value = [];\n this.secondaryIndexes = {};\n }\n set(tab) {\n var _a, _b;\n this.secondaryIndexes = {};\n if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.withHeader) === true) {\n (_b = this.header) === null || _b === void 0 ? void 0 : _b.set(tab);\n }\n else {\n if (!(tab instanceof Table) && !(tab instanceof field_symbol_1.FieldSymbol)) {\n throw \"Table, set error\";\n }\n this.clear();\n if (tab instanceof field_symbol_1.FieldSymbol) {\n tab = tab.getPointer();\n }\n // this clones the values, and add sorting if required\n (0, insert_internal_1.insertInternal)({ table: this, data: tab, lines: true });\n }\n return this;\n }\n getHeader() {\n if (this.header === undefined) {\n throw \"table, getHeader\";\n }\n return this.header;\n }\n insertIndex(item, index, noClone = false) {\n this.secondaryIndexes = {};\n if (item instanceof field_symbol_1.FieldSymbol) {\n const p = item.getPointer();\n if (p === undefined) {\n throw new Error(\"insertIndex, fs not assigned\");\n }\n this.insertIndex(p, index);\n return p;\n }\n let val;\n if (noClone === false) {\n val = this.getValue(item);\n }\n else {\n val = item;\n }\n if (index === 0) {\n this.value.unshift(val);\n }\n else if (index === this.value.length) {\n this.value.push(val);\n }\n else {\n this.value.splice(index, 0, val);\n }\n for (const loopController of this.loops.values()) {\n if (index <= loopController.index) {\n loopController.index++;\n }\n }\n return val;\n }\n /** index = javascript indexed */\n deleteIndex(index) {\n this.secondaryIndexes = {};\n if (index > this.value.length) {\n return;\n }\n if (index === this.value.length - 1) {\n this.value.pop(); // pop'ing is faster than splice\n }\n else if (index === 0) {\n this.value.shift();\n }\n else {\n this.value.splice(index, 1);\n }\n for (const l of this.loops.values()) {\n if (l.index >= index) {\n l.index--;\n }\n }\n }\n append(item) {\n this.secondaryIndexes = {};\n if (item instanceof field_symbol_1.FieldSymbol) {\n const p = item.getPointer();\n if (p === undefined) {\n throw new Error(\"APPEND, fs not assigned\");\n }\n this.append(p);\n return p;\n }\n else if (item instanceof data_reference_1.DataReference) {\n const ref = new data_reference_1.DataReference(item.getType());\n ref.assign(item.getPointer());\n this.value.push(ref);\n return ref;\n }\n else {\n const val = this.getValue(item);\n this.value.push(val);\n return val;\n }\n }\n appendInitial() {\n this.secondaryIndexes = {};\n // note that this will clone the object\n this.append(this.rowType);\n // @ts-ignore\n abap.builtin.sy.get().tabix.set(this.value.length);\n return this.value[this.value.length - 1];\n }\n sort(compareFn) {\n this.value.sort(compareFn);\n }\n ///////////////////////////\n getValue(item) {\n // make sure to do conversion if needed\n if (typeof item === \"number\") {\n const tmp = (0, clone_1.clone)(this.getRowType());\n tmp.set(new integer_1.Integer().set(item));\n return tmp;\n }\n else if (typeof item === \"string\") {\n const tmp = (0, clone_1.clone)(this.getRowType());\n tmp.set(new string_1.String().set(item));\n return tmp;\n // @ts-ignore\n // eslint-disable-next-line max-len\n }\n else if (this.isStructured === true && item.getQualifiedName && this.rowType.getQualifiedName && item.getQualifiedName() !== \"\" && item.getQualifiedName() === this.rowType.getQualifiedName()) {\n // types match, so no need to do conversions, just clone the item\n const val = (0, clone_1.clone)(item);\n return val;\n }\n else {\n const tmp = (0, clone_1.clone)(this.getRowType());\n tmp.set(item);\n return tmp;\n }\n }\n}\nexports.Table = Table;\n//# sourceMappingURL=table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/table.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/time.js": +/*!******************************************************!*\ + !*** ../../packages/runtime/build/src/types/time.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Time = void 0;\nconst string_1 = __webpack_require__(/*! ./string */ \"../../packages/runtime/build/src/types/string.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/runtime/build/src/types/index.js\");\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nclass Time {\n constructor(input) {\n this.clear();\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n set(value) {\n if (typeof value === \"number\") {\n const date = new Date();\n date.setTime(value * 1000);\n this.value = date.getUTCHours().toString().padStart(2, \"0\") +\n date.getUTCMinutes().toString().padStart(2, \"0\") +\n date.getUTCSeconds().toString().padStart(2, \"0\");\n }\n else if (typeof value === \"string\") {\n this.value = value;\n }\n else if (value instanceof _1.Float) {\n this.set(Math.round(value.getRaw()));\n }\n else {\n this.set(value.get());\n }\n return this;\n }\n clear() {\n this.value = \"000000\";\n }\n get() {\n return this.value;\n }\n getNumeric() {\n const hours = parseInt(this.value.substr(0, 2), 10);\n const minutes = parseInt(this.value.substr(2, 2), 10);\n const seconds = parseInt(this.value.substr(4, 2), 10);\n return hours * 3600 + minutes * 60 + seconds;\n }\n getOffset(input) {\n if (input === null || input === void 0 ? void 0 : input.offset) {\n input.offset = (0, _parse_1.parse)(input.offset);\n }\n if (input === null || input === void 0 ? void 0 : input.length) {\n input.length = (0, _parse_1.parse)(input.length);\n }\n let ret = this.value;\n if (input === null || input === void 0 ? void 0 : input.offset) {\n // @ts-ignore\n ret = ret.substr(input.offset);\n }\n if ((input === null || input === void 0 ? void 0 : input.length) !== undefined) {\n // @ts-ignore\n ret = ret.substr(0, input.length);\n }\n const r = new string_1.String();\n r.set(ret);\n return r;\n }\n}\nexports.Time = Time;\n//# sourceMappingURL=time.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/time.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/utc_long.js": +/*!**********************************************************!*\ + !*** ../../packages/runtime/build/src/types/utc_long.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UTCLong = void 0;\nclass UTCLong {\n constructor(input) {\n this.clear();\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n getOffset(_input) {\n throw new Error(\"Method not implemented, getOffset(), utcLong\");\n }\n set(_value) {\n // todo\n return this;\n }\n clear() {\n this.value = \"\";\n }\n get() {\n return this.value;\n }\n}\nexports.UTCLong = UTCLong;\n//# sourceMappingURL=utc_long.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/utc_long.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/types/xstring.js": +/*!*********************************************************!*\ + !*** ../../packages/runtime/build/src/types/xstring.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.XString = void 0;\nconst _parse_1 = __webpack_require__(/*! ../operators/_parse */ \"../../packages/runtime/build/src/operators/_parse.js\");\nconst float_1 = __webpack_require__(/*! ./float */ \"../../packages/runtime/build/src/types/float.js\");\nconst character_1 = __webpack_require__(/*! ./character */ \"../../packages/runtime/build/src/types/character.js\");\nclass XString {\n constructor(input) {\n this.value = \"\";\n this.qualifiedName = input === null || input === void 0 ? void 0 : input.qualifiedName;\n }\n getQualifiedName() {\n return this.qualifiedName;\n }\n set(value) {\n if (typeof value === \"string\") {\n this.value = value;\n const finalLength = Math.ceil(this.value.length / 2) * 2;\n this.value = this.value.padEnd(finalLength, \"0\");\n }\n else if (typeof value === \"number\") {\n this.value = Math.round(value).toString(16);\n if (this.value.length % 2 === 1) {\n this.value = \"0\" + this.value;\n }\n }\n else {\n let v = value.get();\n if (value instanceof float_1.Float) {\n v = value.getRaw();\n this.set(v);\n }\n else if (value instanceof character_1.Character) {\n this.set(value.getTrimEnd());\n }\n else if (typeof v === \"number\") {\n this.value = v.toString(16);\n const finalLength = Math.ceil(this.value.length / 2) * 2;\n this.value = this.value.padStart(finalLength, \"0\");\n }\n else {\n this.set(v);\n }\n }\n return this;\n }\n clear() {\n this.value = \"\";\n }\n get() {\n return this.value;\n }\n getOffset(input) {\n if (input === null || input === void 0 ? void 0 : input.offset) {\n input.offset = (0, _parse_1.parse)(input.offset);\n }\n if (input === null || input === void 0 ? void 0 : input.length) {\n input.length = (0, _parse_1.parse)(input.length);\n }\n let ret = this.value;\n if (input === null || input === void 0 ? void 0 : input.offset) {\n // @ts-ignore\n ret = ret.substr(input.offset * 2);\n }\n if ((input === null || input === void 0 ? void 0 : input.length) !== undefined) {\n // @ts-ignore\n ret = ret.substr(0, input.length * 2);\n }\n const r = new XString();\n r.set(ret);\n return r;\n }\n}\nexports.XString = XString;\n//# sourceMappingURL=xstring.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/types/xstring.js?"); + +/***/ }), + +/***/ "../../packages/runtime/build/src/unit_test.js": +/*!*****************************************************!*\ + !*** ../../packages/runtime/build/src/unit_test.js ***! + \*****************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnitTestResult = void 0;\n/* eslint-disable max-len */\nclass UnitTestMethodResult {\n constructor(name) {\n this.name = name;\n this.result = undefined;\n this.result = undefined;\n }\n pass() {\n this.result = \"Pass\";\n }\n fail() {\n this.result = \"Fail\";\n }\n skip() {\n this.result = \"Skip\";\n }\n}\nclass UnitTestClassResult {\n constructor(name) {\n this.name = name;\n this.methods = [];\n }\n addMethod(name) {\n const ret = new UnitTestMethodResult(name);\n this.methods.push(ret);\n return ret;\n }\n}\nclass UnitTestObjectResult {\n constructor(name) {\n this.name = name;\n this.classes = [];\n }\n addTestClass(name) {\n const ret = new UnitTestClassResult(name);\n this.classes.push(ret);\n return ret;\n }\n}\nclass UnitTestResult {\n constructor() {\n this.objects = [];\n }\n addObject(name) {\n const ret = new UnitTestObjectResult(name);\n this.objects.push(ret);\n return ret;\n }\n xUnitXML() {\n // https://xunit.net/docs/format-xml-v2\n // = project\n // = global object/global class\n // = local class\n // = method\n let ret = `\\n\\n`;\n for (const obj of this.objects) {\n ret += ` \\n`;\n for (const clas of obj.classes) {\n ret += ` \\n`;\n for (const meth of clas.methods) {\n ret += ` ` +\n `\\n`;\n }\n ret += ` \\n`;\n }\n ret += ` \\n`;\n }\n ret += ``;\n return ret;\n }\n}\nexports.UnitTestResult = UnitTestResult;\n//# sourceMappingURL=unit_test.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/runtime/build/src/unit_test.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/chunk.js": +/*!****************************************************!*\ + !*** ../../packages/transpiler/build/src/chunk.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Chunk = void 0;\nconst sourceMap = __webpack_require__(/*! source-map */ \"../../packages/transpiler/node_modules/source-map/source-map.js\");\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\n/*\nsource-map:\n line: The line number is 1-based.\n column: The column number is 0-based.\n\nabaplint:\n line: The line number is 1-based.\n column: The column number is 1-based.\n*/\n// Keeps track of source maps as generated code is added\nclass Chunk {\n constructor(str) {\n this.mappings = [];\n this.raw = \"\";\n this.mappings = [];\n if (str) {\n this.appendString(str);\n }\n }\n /*\n public copy(): Chunk {\n const ret = new Chunk();\n ret.raw = this.raw;\n ret.mappings = [...this.mappings];\n return ret;\n }\n */\n join(chunks, str = \", \") {\n for (let i = 0; i < chunks.length; i++) {\n this.appendChunk(chunks[i]);\n if (i !== chunks.length - 1) {\n this.appendString(str);\n }\n }\n return this;\n }\n appendChunk(append) {\n if (append.getCode() === \"\") {\n return this;\n }\n const lines = this.raw.split(\"\\n\");\n const lineCount = lines.length;\n const lastLine = lines[lines.length - 1];\n for (const m of append.mappings) {\n // original stays the same, but adjust the generated positions\n const add = m;\n if (add.generated.line === 1 && this.raw.endsWith(\"\\n\") === false) {\n add.generated.column += lastLine.length;\n }\n else {\n add.generated.line += lineCount - 1;\n }\n this.mappings.push(add);\n }\n this.raw += append.getCode();\n return this;\n }\n append(input, pos, traversal) {\n if (input === \"\") {\n return this;\n }\n if (pos && input !== \"\\n\") {\n const lines = this.raw.split(\"\\n\");\n const lastLine = lines[lines.length - 1];\n let originalLine = 0;\n let originalColumn = 0;\n if (pos instanceof abaplint.Position || pos instanceof abaplint.Token) {\n originalLine = pos.getRow();\n originalColumn = pos.getCol() - 1;\n }\n else {\n originalLine = pos.getFirstToken().getRow();\n originalColumn = pos.getFirstToken().getCol() - 1;\n }\n this.mappings.push({\n source: traversal.getFilename(),\n generated: {\n line: lines.length,\n column: lastLine.length,\n },\n original: {\n line: originalLine,\n column: originalColumn,\n },\n });\n }\n this.raw += input;\n return this;\n }\n appendString(input) {\n this.raw += input;\n return this;\n }\n stripLastNewline() {\n // note: this will not change the source map\n if (this.raw.endsWith(\"\\n\")) {\n this.raw = this.raw.substring(0, this.raw.length - 1);\n }\n }\n getCode() {\n return this.raw;\n }\n toString() {\n throw \"error, dont toString a Chunk\";\n }\n runIndentationLogic(ignoreSourceMap = false) {\n let i = 0;\n let line = 1;\n const output = [];\n if (ignoreSourceMap === true) {\n this.mappings = [];\n }\n for (const l of this.raw.split(\"\\n\")) {\n if (l.startsWith(\"}\")) {\n i = i - 1;\n }\n if (i > 0) {\n output.push(\" \".repeat(i * 2) + l);\n }\n else {\n output.push(l);\n }\n // fix maps\n for (const m of this.mappings) {\n if (m.generated.line === line) {\n m.generated.column += i * 2;\n }\n }\n if (l.endsWith(\" {\")) {\n i = i + 1;\n }\n line++;\n }\n this.raw = output.join(\"\\n\");\n return this;\n }\n getMap(generatedFilename) {\n const generator = new sourceMap.SourceMapGenerator();\n this.mappings.forEach(m => generator.addMapping(m));\n const json = generator.toJSON();\n json.file = generatedFilename;\n json.sourceRoot = \"\";\n return JSON.stringify(json, null, 2);\n }\n}\nexports.Chunk = Chunk;\n//# sourceMappingURL=chunk.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/chunk.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/db/index.js": +/*!*******************************************************!*\ + !*** ../../packages/transpiler/build/src/db/index.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DatabaseSetup = void 0;\n/* eslint-disable max-len */\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst sqlite_database_schema_1 = __webpack_require__(/*! ./sqlite_database_schema */ \"../../packages/transpiler/build/src/db/sqlite_database_schema.js\");\nconst pg_database_schema_1 = __webpack_require__(/*! ./pg_database_schema */ \"../../packages/transpiler/build/src/db/pg_database_schema.js\");\n/////////////////////////\n// NOTES\n/////////////////////////\n// Postgres is case sensitive, so all column names should be lower case\n// Sqlite escapes field names with single qoute, postgres with double\nclass DatabaseSetup {\n constructor(reg) {\n this.reg = reg;\n }\n run(options) {\n return {\n schemas: {\n sqlite: new sqlite_database_schema_1.SQLiteDatabaseSchema(this.reg).run(),\n hdb: [\"todo\"],\n pg: new pg_database_schema_1.PGDatabaseSchema(this.reg).run(),\n },\n insert: this.buildInsert(options),\n };\n }\n ////////////////////\n buildInsert(options) {\n // note: avoid hitting maximum statement size by splitting into multiple statements\n const insert = [];\n // INSERT data\n for (const obj of this.reg.getObjects()) {\n if (obj instanceof abaplint.Objects.MessageClass) {\n insert.push(this.insertT100(obj));\n }\n else if (obj instanceof abaplint.Objects.Class\n || obj instanceof abaplint.Objects.Interface) {\n if ((options === null || options === void 0 ? void 0 : options.skipReposrc) !== true) {\n insert.push(this.insertREPOSRC(obj));\n }\n }\n }\n insert.push(this.insertT000());\n return insert;\n }\n insertREPOSRC(obj) {\n var _a;\n if (this.reg.getObject(\"TABL\", \"REPOSRC\") === undefined) {\n return \"\";\n }\n const name = obj.getName().toUpperCase();\n const raw = (_a = obj.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getRaw();\n if (raw === undefined) {\n return \"\";\n }\n return `INSERT INTO reposrc ('PROGNAME', 'DATA') VALUES ('${name.padEnd(40, \" \")}', '${this.escape(raw)}');`;\n }\n insertT000() {\n const tabl = this.reg.getObject(\"TABL\", \"T000\");\n if (tabl === undefined) {\n return \"\";\n }\n const type = tabl.parseType(this.reg);\n if (type instanceof abaplint.BasicTypes.StructureType && type.getComponents().length >= 3) {\n // todo, this should take the client number from the settings\n return `INSERT INTO t000 ('mandt', 'cccategory', 'ccnocliind') VALUES ('123', '', '');`;\n }\n else {\n return \"\";\n }\n }\n insertT100(msag) {\n // ignore if T100 is unknown\n const obj = this.reg.getObject(\"TABL\", \"T100\");\n if (obj === undefined) {\n return \"\";\n }\n let ret = \"\";\n for (const m of msag.getMessages()) {\n ret += `INSERT INTO t100 (\"sprsl\", \"arbgb\", \"msgnr\", \"text\") VALUES ('E', '${msag.getName().padEnd(20, \" \")}', '${m.getNumber()}', '${this.escape(m.getMessage().padEnd(73, \" \"))}');\\n`;\n }\n return ret;\n }\n escape(value) {\n let ret = value.replace(/\\'/g, \"''\");\n // statements are inside a javascript string stemplate\n ret = ret.replace(/\\\\/g, \"\\\\\\\\\");\n ret = ret.replace(/`/g, \"\\\\`\");\n ret = ret.replace(/\\${/g, \"\\\\${\");\n return ret;\n }\n}\nexports.DatabaseSetup = DatabaseSetup;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/db/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/db/pg_database_schema.js": +/*!********************************************************************!*\ + !*** ../../packages/transpiler/build/src/db/pg_database_schema.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PGDatabaseSchema = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nclass PGDatabaseSchema {\n constructor(reg) {\n this.reg = reg;\n }\n run() {\n const statements = [];\n // CREATE TABLEs\n for (const obj of this.reg.getObjects()) {\n if (obj instanceof abaplint.Objects.Table\n && obj.getTableCategory() === abaplint.Objects.TableCategory.Transparent) {\n statements.push(this.buildTABL(obj).trim());\n }\n }\n // CREATE VIEWs after TABLEs\n // todo: what if the view is based on another view?\n for (const obj of this.reg.getObjects()) {\n if (obj instanceof abaplint.Objects.View) {\n statements.push(this.buildVIEW(obj).trim());\n }\n }\n return statements;\n }\n //////////////////\n // https://www.sqlite.org/lang_createview.html\n buildVIEW(view) {\n const fields = view.getFields();\n let firstTabname = \"\";\n const columns = fields === null || fields === void 0 ? void 0 : fields.map((f) => {\n firstTabname = \"'\" + f.TABNAME.toLowerCase() + \"'\";\n return firstTabname + \".\" + f.FIELDNAME.toLowerCase() + \" AS \" + f.VIEWFIELD.toLowerCase();\n }).join(\", \");\n let from = \"\";\n let previous = \"\";\n for (const j of view.getJoin() || []) {\n if (previous === \"\") {\n from += \"'\" + j.LTAB.toLowerCase() + \"' INNER JOIN '\" + j.RTAB.toLowerCase() + \"' ON '\" + j.LTAB.toLowerCase() + \"'.\" + j.LFIELD.toLowerCase() + \" = '\" + j.RTAB.toLowerCase() + \"'.\" + j.RFIELD.toLowerCase();\n }\n else if (previous === j.LTAB + \",\" + j.RTAB) {\n from += \" AND '\" + j.LTAB.toLowerCase() + \"'.\" + j.LFIELD.toLowerCase() + \" = '\" + j.RTAB.toLowerCase() + \"'.\" + j.RFIELD.toLowerCase();\n }\n else {\n from += \" INNER JOIN '\" + j.RTAB.toLowerCase() + \"' ON '\" + j.LTAB.toLowerCase() + \"'.\" + j.LFIELD.toLowerCase() + \" = '\" + j.RTAB.toLowerCase() + \"'.\" + j.RFIELD.toLowerCase();\n }\n previous = j.LTAB + \",\" + j.RTAB;\n }\n from = from.trim();\n if (from === \"\") {\n from = firstTabname;\n }\n return `CREATE VIEW '${view.getName().toLowerCase()}' AS SELECT ${columns} FROM ${from};\\n`;\n }\n buildTABL(tabl) {\n const type = tabl.parseType(this.reg);\n if (!(type instanceof abaplint.BasicTypes.StructureType)) {\n return \"\";\n }\n const fields = [];\n const fieldsRaw = [];\n for (const field of type.getComponents()) {\n if (field.type instanceof abaplint.BasicTypes.StructureType) {\n // is a GROUP NAME\n continue;\n }\n fieldsRaw.push(field.name.toLowerCase());\n fields.push(\"\\\"\" + field.name.toLowerCase() + \"\\\" \" + this.toType(field.type, field.name, tabl.getName()));\n }\n // assumption: all transparent tables have primary keys\n // add single quotes to field names to allow for keywords as field names\n const key = \", PRIMARY KEY(\" + tabl.listKeys(this.reg)\n .filter(e => fieldsRaw.includes(e.toLowerCase()))\n .map(e => \"\\\"\" + e.toLowerCase() + \"\\\"\").join(\",\") + \")\";\n return `CREATE TABLE \"${tabl.getName().toLowerCase()}\" (${fields.join(\", \")}${key});\\n`;\n }\n toType(type, fieldname, errorInfo) {\n if (type instanceof abaplint.BasicTypes.CharacterType) {\n return `NCHAR(${type.getLength()})`;\n }\n else if (type instanceof abaplint.BasicTypes.TimeType) {\n return `NCHAR(6)`;\n }\n else if (type instanceof abaplint.BasicTypes.DateType) {\n return `NCHAR(8)`;\n }\n else if (type instanceof abaplint.BasicTypes.NumericType) {\n // it will be fine, the runtime representation of numc is also text\n return `NCHAR(${type.getLength()})`;\n }\n else if (type instanceof abaplint.BasicTypes.StringType) {\n return `TEXT`;\n }\n else if (type instanceof abaplint.BasicTypes.XStringType) {\n // it will be fine, the runtime representation of xstring is also text\n return `TEXT`;\n }\n else if (type instanceof abaplint.BasicTypes.HexType) {\n return `NCHAR(${type.getLength() * 2})`;\n }\n else if (type instanceof abaplint.BasicTypes.IntegerType) {\n return `INT`;\n }\n else if (type instanceof abaplint.BasicTypes.FloatType\n || type instanceof abaplint.BasicTypes.FloatingPointType) {\n return `REAL`;\n }\n else if (type instanceof abaplint.BasicTypes.PackedType) {\n return `DECIMAL(${type.getLength()},${type.getDecimals()})`;\n }\n else if (type instanceof abaplint.BasicTypes.VoidType) {\n throw `Type of ${errorInfo}-${fieldname} is VoidType(${type.getVoided()}), make sure the type is known, enable strict syntax checking`;\n }\n else {\n throw \"database_setup: \" + errorInfo + \"-\" + fieldname + \", todo toType handle: \" + type.constructor.name;\n }\n }\n}\nexports.PGDatabaseSchema = PGDatabaseSchema;\n//# sourceMappingURL=pg_database_schema.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/db/pg_database_schema.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/db/sqlite_database_schema.js": +/*!************************************************************************!*\ + !*** ../../packages/transpiler/build/src/db/sqlite_database_schema.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLiteDatabaseSchema = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nclass SQLiteDatabaseSchema {\n constructor(reg) {\n this.reg = reg;\n }\n run() {\n const statements = [];\n // CREATE TABLEs\n for (const obj of this.reg.getObjects()) {\n if (obj instanceof abaplint.Objects.Table\n && obj.getTableCategory() === abaplint.Objects.TableCategory.Transparent) {\n statements.push(this.buildTABL(obj).trim());\n }\n }\n // CREATE VIEWs after TABLEs\n // todo: what if the view is based on another view?\n for (const obj of this.reg.getObjects()) {\n if (obj instanceof abaplint.Objects.View) {\n statements.push(this.buildVIEW(obj).trim());\n }\n }\n return statements;\n }\n //////////////////\n // https://www.sqlite.org/lang_createview.html\n buildVIEW(view) {\n const fields = view.getFields();\n let firstTabname = \"\";\n const columns = fields === null || fields === void 0 ? void 0 : fields.map((f) => {\n firstTabname = \"'\" + f.TABNAME.toLowerCase() + \"'\";\n return firstTabname + \".\" + f.FIELDNAME.toLowerCase() + \" AS \" + f.VIEWFIELD.toLowerCase();\n }).join(\", \");\n let from = \"\";\n let previous = \"\";\n for (const j of view.getJoin() || []) {\n if (previous === \"\") {\n from += \"'\" + j.LTAB.toLowerCase() + \"' INNER JOIN '\" + j.RTAB.toLowerCase() + \"' ON '\" + j.LTAB.toLowerCase() + \"'.\" + j.LFIELD.toLowerCase() + \" = '\" + j.RTAB.toLowerCase() + \"'.\" + j.RFIELD.toLowerCase();\n }\n else if (previous === j.LTAB + \",\" + j.RTAB) {\n from += \" AND '\" + j.LTAB.toLowerCase() + \"'.\" + j.LFIELD.toLowerCase() + \" = '\" + j.RTAB.toLowerCase() + \"'.\" + j.RFIELD.toLowerCase();\n }\n else {\n from += \" INNER JOIN '\" + j.RTAB.toLowerCase() + \"' ON '\" + j.LTAB.toLowerCase() + \"'.\" + j.LFIELD.toLowerCase() + \" = '\" + j.RTAB.toLowerCase() + \"'.\" + j.RFIELD.toLowerCase();\n }\n previous = j.LTAB + \",\" + j.RTAB;\n }\n from = from.trim();\n if (from === \"\") {\n from = firstTabname;\n }\n return `CREATE VIEW '${view.getName().toLowerCase()}' AS SELECT ${columns} FROM ${from};\\n`;\n }\n buildTABL(tabl) {\n const type = tabl.parseType(this.reg);\n if (!(type instanceof abaplint.BasicTypes.StructureType)) {\n return \"\";\n }\n const fields = [];\n const fieldsRaw = [];\n for (const field of type.getComponents()) {\n if (field.type instanceof abaplint.BasicTypes.StructureType) {\n // is a GROUP NAME\n continue;\n }\n fieldsRaw.push(field.name.toLowerCase());\n fields.push(\"'\" + field.name.toLowerCase() + \"' \" + this.toType(field.type, field.name, tabl.getName()));\n }\n // assumption: all transparent tables have primary keys\n // add single quotes to field names to allow for keywords as field names\n const key = \", PRIMARY KEY(\" + tabl.listKeys(this.reg)\n .filter(e => fieldsRaw.includes(e.toLowerCase()))\n .map(e => \"'\" + e.toLowerCase() + \"'\").join(\",\") + \")\";\n return `CREATE TABLE '${tabl.getName().toLowerCase()}' (${fields.join(\", \")}${key});\\n`;\n }\n toType(type, fieldname, errorInfo) {\n if (type instanceof abaplint.BasicTypes.CharacterType) {\n return `NCHAR(${type.getLength()}) COLLATE RTRIM`;\n }\n else if (type instanceof abaplint.BasicTypes.TimeType) {\n return `NCHAR(6)`;\n }\n else if (type instanceof abaplint.BasicTypes.DateType) {\n return `NCHAR(8)`;\n }\n else if (type instanceof abaplint.BasicTypes.NumericType) {\n // it will be fine, the runtime representation of numc is also text\n return `NCHAR(${type.getLength()})`;\n }\n else if (type instanceof abaplint.BasicTypes.StringType) {\n return `TEXT COLLATE RTRIM`;\n }\n else if (type instanceof abaplint.BasicTypes.XStringType) {\n // it will be fine, the runtime representation of xstring is also text\n return `TEXT`;\n }\n else if (type instanceof abaplint.BasicTypes.HexType) {\n return `NCHAR(${type.getLength() * 2})`;\n }\n else if (type instanceof abaplint.BasicTypes.IntegerType) {\n return `INT`;\n }\n else if (type instanceof abaplint.BasicTypes.FloatType\n || type instanceof abaplint.BasicTypes.FloatingPointType) {\n return `REAL`;\n }\n else if (type instanceof abaplint.BasicTypes.PackedType) {\n return `DECIMAL(${type.getLength()},${type.getDecimals()})`;\n }\n else if (type instanceof abaplint.BasicTypes.VoidType) {\n throw `Type of ${errorInfo}-${fieldname} is VoidType(${type.getVoided()}), make sure the type is known, enable strict syntax checking`;\n }\n else {\n throw \"database_setup: \" + errorInfo + \"-\" + fieldname + \", todo toType handle: \" + type.constructor.name;\n }\n }\n}\nexports.SQLiteDatabaseSchema = SQLiteDatabaseSchema;\n//# sourceMappingURL=sqlite_database_schema.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/db/sqlite_database_schema.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/arith_operator.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/arith_operator.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ArithOperatorTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ArithOperatorTranspiler {\n transpile(node, traversal) {\n let search = node.concatTokens().toUpperCase();\n // macro workaround,\n search = search.replace(/ /g, \"\");\n switch (search) {\n case \"+\":\n return new chunk_1.Chunk().append(\"abap.operators.add\", node, traversal);\n case \"-\":\n return new chunk_1.Chunk().append(\"abap.operators.minus\", node, traversal);\n case \"*\":\n return new chunk_1.Chunk().append(\"abap.operators.multiply\", node, traversal);\n case \"/\":\n return new chunk_1.Chunk().append(\"abap.operators.divide\", node, traversal);\n case \"**\":\n return new chunk_1.Chunk().append(\"abap.operators.power\", node, traversal);\n case \"DIV\":\n return new chunk_1.Chunk().append(\"abap.operators.div\", node, traversal);\n case \"MOD\":\n return new chunk_1.Chunk().append(\"abap.operators.mod\", node, traversal);\n case \"BIT-AND\":\n return new chunk_1.Chunk().append(\"abap.operators.bitand\", node, traversal);\n case \"BIT-OR\":\n return new chunk_1.Chunk().append(\"abap.operators.bitor\", node, traversal);\n case \"BIT-XOR\":\n return new chunk_1.Chunk().append(\"abap.operators.bitxor\", node, traversal);\n default:\n console.dir(search);\n return new chunk_1.Chunk().append(\".ArithOperatorUnknown\", node, traversal);\n }\n }\n}\nexports.ArithOperatorTranspiler = ArithOperatorTranspiler;\n//# sourceMappingURL=arith_operator.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/arith_operator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/attribute_chain.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/attribute_chain.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeChainTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AttributeChainTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n if (c.get() instanceof core_1.Expressions.AttributeName) {\n ret.appendChunk(traversal.traverse(c));\n }\n else {\n ret.append(\"AttributeChainTodo\", node, traversal);\n }\n }\n return ret;\n }\n}\nexports.AttributeChainTranspiler = AttributeChainTranspiler;\n//# sourceMappingURL=attribute_chain.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/attribute_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/attribute_name.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/attribute_name.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AttributeNameTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AttributeNameTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(node.concatTokens(), node, traversal);\n }\n}\nexports.AttributeNameTranspiler = AttributeNameTranspiler;\n//# sourceMappingURL=attribute_name.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/attribute_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/call_transformation_options.js": +/*!**************************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/call_transformation_options.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransformationOptionsTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CallTransformationOptionsTranspiler {\n transpile(node, traversal) {\n const res = new chunk_1.Chunk().appendString(\"{\");\n for (const c of node.getChildren()) {\n if (c.get() instanceof abaplint.Expressions.Field || c.get() instanceof abaplint.Expressions.Integer) {\n res.appendString(c.concatTokens());\n }\n else if (c.get() instanceof abaplint.Expressions.Source) {\n res.appendChunk(traversal.traverse(c));\n }\n else if (c.concatTokens() === \"=\") {\n res.appendString(\":\");\n }\n else {\n throw new Error(\"CallTransformationOptionsTranspiler, unexpected node\");\n }\n }\n res.appendString(\"}\");\n return res;\n }\n}\nexports.CallTransformationOptionsTranspiler = CallTransformationOptionsTranspiler;\n//# sourceMappingURL=call_transformation_options.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/call_transformation_options.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/call_transformation_parameters.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/call_transformation_parameters.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransformationParametersTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CallTransformationParametersTranspiler {\n transpile(node, traversal) {\n var _a;\n if (((_a = node.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof abaplint.Expressions.Dynamic) {\n return new chunk_1.Chunk().append(node.concatTokens(), node, traversal);\n }\n else {\n const res = new chunk_1.Chunk().appendString(\"{\");\n for (const c of node.getChildren()) {\n if (c.get() instanceof abaplint.Expressions.Field || c.get() instanceof abaplint.Expressions.Integer) {\n if (res.getCode() !== \"{\") {\n res.appendString(\",\");\n }\n res.appendString(c.concatTokens());\n }\n else if (c.get() instanceof abaplint.Expressions.SimpleSource3) {\n res.appendChunk(traversal.traverse(c));\n }\n else if (c.concatTokens() === \"=\") {\n res.appendString(\":\");\n }\n else {\n throw new Error(\"CallTransformationParametersTranspiler, unexpected node\");\n }\n }\n res.appendString(\"}\");\n return res;\n }\n }\n}\nexports.CallTransformationParametersTranspiler = CallTransformationParametersTranspiler;\n//# sourceMappingURL=call_transformation_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/call_transformation_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/compare.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/compare.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CompareTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CompareTranspiler {\n transpile(node, traversal) {\n // todo, this is not correct\n var _a, _b;\n const concat = node.concatTokens().toUpperCase();\n let pre = concat.startsWith(\"NOT \") ? \"!\" : \"\";\n const sources = node.findDirectExpressions(core_1.Expressions.Source).concat(node.findDirectExpressions(core_1.Expressions.SourceFieldSymbol));\n if (sources.length === 1) {\n const s0 = traversal.traverse(sources[0]);\n if (concat.startsWith(\"NOT \") && concat.endsWith(\" IS NOT INITIAL\")) {\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\") === true\");\n }\n else if ((concat.startsWith(\"NOT \") && concat.endsWith(\" IS INITIAL\"))\n || concat.endsWith(\" IS NOT INITIAL\")) {\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\") === false\");\n }\n else if (concat.endsWith(\" IS INITIAL\")) {\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\")\");\n }\n if ((concat.startsWith(\"NOT \") && concat.endsWith(\" IS BOUND\"))\n || concat.endsWith(\"IS NOT BOUND\")) {\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\")\");\n }\n else if (concat.endsWith(\"IS BOUND\")) {\n return new chunk_1.Chunk().appendString(\"abap.compare.initial(\").appendChunk(s0).appendString(\") === false\");\n }\n if ((concat.startsWith(\"NOT \") && concat.endsWith(\" IS ASSIGNED\"))\n || concat.endsWith(\"IS NOT ASSIGNED\")) {\n return new chunk_1.Chunk().appendString(\"abap.compare.assigned(\").appendChunk(s0).appendString(\") === false\");\n }\n else if (concat.endsWith(\"IS ASSIGNED\")) {\n return new chunk_1.Chunk().appendString(\"abap.compare.assigned(\").appendChunk(s0).appendString(\")\");\n }\n if (concat.endsWith(\" IS SUPPLIED\")) {\n return new chunk_1.Chunk().appendString(pre + \"INPUT && INPUT.\" + concat.replace(\" IS SUPPLIED\", \"\").toLowerCase());\n }\n else if (concat.endsWith(\" IS NOT SUPPLIED\")) {\n return new chunk_1.Chunk().appendString(pre + \"INPUT && INPUT.\" + concat.replace(\" IS NOT SUPPLIED\", \"\").toLowerCase() + \" === undefined\");\n }\n if (concat.endsWith(\" IS REQUESTED\")) {\n return new chunk_1.Chunk().appendString(pre + \"INPUT && INPUT.\" + concat.replace(\" IS REQUESTED\", \"\").toLowerCase());\n }\n else if (concat.endsWith(\" IS NOT REQUESTED\")) {\n return new chunk_1.Chunk().appendString(pre + \"INPUT && INPUT.\" + concat.replace(\" IS NOT REQUESTED\", \"\").toLowerCase() + \" === undefined\");\n }\n if (concat.startsWith(\"NOT \") || concat.includes(\" IS NOT INSTANCE OF \")) {\n const cname = (_a = node.findDirectExpression(core_1.Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n return new chunk_1.Chunk().appendString(\"abap.compare.instance_of(\").appendChunk(s0).appendString(`, ${cname}) === false`);\n }\n else if (concat.includes(\" IS INSTANCE OF \")) {\n const cname = (_b = node.findDirectExpression(core_1.Expressions.ClassName)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n return new chunk_1.Chunk().appendString(\"abap.compare.instance_of(\").appendChunk(s0).appendString(`, ${cname})`);\n }\n }\n else if (sources.length === 2 && node.findDirectTokenByText(\"IN\")) {\n if (concat.search(\" NOT IN \") >= 0) {\n pre = pre === \"!\" ? \"\" : \"!\";\n }\n const s0 = traversal.traverse(sources[0]);\n const s1 = traversal.traverse(sources[1]);\n return new chunk_1.Chunk().appendString(pre + \"abap.compare.in(\").join([s0, s1]).appendString(\")\");\n }\n else if (sources.length === 2) {\n const operator = traversal.traverse(node.findFirstExpression(core_1.Expressions.CompareOperator));\n const s0 = traversal.traverse(sources[0]);\n const s1 = traversal.traverse(sources[1]);\n return new chunk_1.Chunk().appendString(pre + \"abap.compare.\").appendChunk(operator).appendString(\"(\").join([s0, s1]).appendString(\")\");\n }\n else if (sources.length === 3 && node.findDirectTokenByText(\"BETWEEN\")) {\n if (concat.search(\" NOT BETWEEN \") >= 0) {\n pre = pre === \"!\" ? \"\" : \"!\";\n }\n const s0 = traversal.traverse(sources[0]);\n const s1 = traversal.traverse(sources[1]);\n const s2 = traversal.traverse(sources[2]);\n return new chunk_1.Chunk().appendString(pre + \"abap.compare.between(\").join([s0, s1, s2]).appendString(\")\");\n }\n console.dir(sources.length);\n console.dir(concat);\n return new chunk_1.Chunk(\"CompareTodo\");\n }\n}\nexports.CompareTranspiler = CompareTranspiler;\n//# sourceMappingURL=compare.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/compare.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/compare_operator.js": +/*!***************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/compare_operator.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CompareOperatorTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CompareOperatorTranspiler {\n transpile(node, traversal) {\n const op = node.getFirstToken().getStr().toUpperCase();\n switch (op) {\n case \"=\":\n case \"EQ\":\n return new chunk_1.Chunk().append(\"eq\", node, traversal);\n case \"<\":\n case \"LT\":\n return new chunk_1.Chunk().append(\"lt\", node, traversal);\n case \"<=\":\n case \"LE\":\n return new chunk_1.Chunk().append(\"le\", node, traversal);\n case \">\":\n case \"GT\":\n return new chunk_1.Chunk().append(\"gt\", node, traversal);\n case \">=\":\n case \"GE\":\n return new chunk_1.Chunk().append(\"ge\", node, traversal);\n case \"<>\":\n case \"NE\":\n return new chunk_1.Chunk().append(\"ne\", node, traversal);\n case \"CO\":\n return new chunk_1.Chunk().append(\"co\", node, traversal);\n case \"CP\":\n return new chunk_1.Chunk().append(\"cp\", node, traversal);\n case \"CA\":\n return new chunk_1.Chunk().append(\"ca\", node, traversal);\n case \"CS\":\n return new chunk_1.Chunk().append(\"cs\", node, traversal);\n case \"NS\":\n return new chunk_1.Chunk().append(\"ns\", node, traversal);\n case \"CN\":\n return new chunk_1.Chunk().append(\"cn\", node, traversal);\n case \"NA\":\n return new chunk_1.Chunk().append(\"na\", node, traversal);\n case \"NP\":\n return new chunk_1.Chunk().append(\"np\", node, traversal);\n case \"O\":\n return new chunk_1.Chunk().append(\"o\", node, traversal);\n case \"Z\":\n return new chunk_1.Chunk().append(\"z\", node, traversal);\n case \"M\":\n return new chunk_1.Chunk().append(\"m\", node, traversal);\n default:\n return new chunk_1.Chunk().append(\"compareoperatortodo\" + op, node, traversal);\n }\n }\n}\nexports.CompareOperatorTranspiler = CompareOperatorTranspiler;\n//# sourceMappingURL=compare_operator.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/compare_operator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/component_chain.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/component_chain.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentChainTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ComponentChainTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n for (const n of node.getChildren()) {\n if (n.get() instanceof core_1.Expressions.ComponentName) {\n ret.append(n.concatTokens().toLowerCase(), n, traversal);\n }\n else if (n.concatTokens() === \"-\") {\n ret.append(\".get().\", n, traversal);\n }\n }\n return ret;\n }\n}\nexports.ComponentChainTranspiler = ComponentChainTranspiler;\n//# sourceMappingURL=component_chain.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/component_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/component_chain_simple.js": +/*!*********************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/component_chain_simple.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentChainSimpleTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nclass ComponentChainSimpleTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n const type = c.get();\n if (type instanceof core_1.Expressions.ComponentName) {\n let field = c.getFirstToken().getStr().toLowerCase();\n const interfaceName = traversal.isInterfaceAttribute(c.getFirstToken());\n if (interfaceName && field.startsWith(interfaceName) === false) {\n field = interfaceName + \"$\" + field;\n }\n field = traversal_1.Traversal.escapeNamespace(field).replace(\"~\", \"$\");\n ret.append(field, c, traversal);\n }\n else if (type instanceof core_1.Expressions.ArrowOrDash) {\n ret.append(\".get().\", c, traversal);\n }\n }\n return ret;\n }\n}\nexports.ComponentChainSimpleTranspiler = ComponentChainSimpleTranspiler;\n//# sourceMappingURL=component_chain_simple.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/component_chain_simple.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/component_compare.js": +/*!****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/component_compare.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCompareTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ComponentCompareTranspiler {\n transpile(node, traversal) {\n const concat = node.concatTokens().toUpperCase();\n const pre = concat.startsWith(\"NOT\") ? \"!\" : \"\";\n const componentExpression = node.findDirectExpression(core_1.Expressions.ComponentChainSimple);\n const component = traversal.traverse(componentExpression).getCode();\n if (node.findDirectExpression(core_1.Expressions.CompareOperator)) {\n const compare = traversal.traverse(node.findDirectExpression(core_1.Expressions.CompareOperator)).getCode();\n const source = traversal.traverse(node.findDirectExpression(core_1.Expressions.Source)).getCode();\n return new chunk_1.Chunk(`(I) => {return ${pre}abap.compare.${compare}(I.${component}, ${source});}`);\n }\n if ((concat.startsWith(\"NOT\") && concat.endsWith(\"IS INITIAL\"))\n || concat.endsWith(\"IS NOT INITIAL\")) {\n return new chunk_1.Chunk(`(I) => {return abap.compare.initial(I.${component}) === false;}`);\n }\n else if (concat.endsWith(\"IS INITIAL\")) {\n return new chunk_1.Chunk(`(I) => {return abap.compare.initial(I.${component});}`);\n }\n if (concat.startsWith((componentExpression === null || componentExpression === void 0 ? void 0 : componentExpression.concatTokens().toUpperCase()) + \" IN \")) {\n const source = traversal.traverse(node.findDirectExpression(core_1.Expressions.Source)).getCode();\n return new chunk_1.Chunk(`(I) => {return ${pre}abap.compare.in(I.${component}, ${source});}`);\n }\n else if (concat.startsWith((componentExpression === null || componentExpression === void 0 ? void 0 : componentExpression.concatTokens().toUpperCase()) + \" NOT IN \")) {\n const source = traversal.traverse(node.findDirectExpression(core_1.Expressions.Source)).getCode();\n return new chunk_1.Chunk(`(I) => {return !abap.compare.in(I.${component}, ${source});}`);\n }\n if ((concat.startsWith(\"NOT\") && concat.endsWith(\"IS BOUND\"))\n || concat.endsWith(\"IS NOT BOUND\")) {\n return new chunk_1.Chunk(`(I) => {return abap.compare.initial(I.${component});}`);\n }\n else if (concat.endsWith(\"IS BOUND\")) {\n return new chunk_1.Chunk(`(I) => {return abap.compare.initial(I.${component}) === false;}`);\n }\n if ((concat.startsWith(\"NOT\") && concat.endsWith(\"IS ASSIGNED\"))\n || concat.endsWith(\"IS NOT ASSIGNED\")) {\n return new chunk_1.Chunk(`(I) => {return abap.compare.assigned(I.${component}) === false;}`);\n }\n else if (concat.endsWith(\"IS ASSIGNED\")) {\n return new chunk_1.Chunk(`(I) => {return abap.compare.assigned(I.${component});}`);\n }\n return new chunk_1.Chunk(\"ComponentCompareTodo\");\n }\n}\nexports.ComponentCompareTranspiler = ComponentCompareTranspiler;\n//# sourceMappingURL=component_compare.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/component_compare.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/component_cond.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/component_cond.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCondTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ComponentCondTranspiler {\n transpile(node, traversal) {\n let ret = \"\";\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.ExpressionNode) {\n let cond = traversal.traverse(c).getCode();\n cond = cond.replace(/^\\(I\\) => \\{return /, \"\");\n cond = cond.replace(/;\\}$/, \"\");\n ret += cond;\n }\n else if (c instanceof abaplint.Nodes.TokenNode) {\n switch (c.get().getStr().toUpperCase()) {\n case \"AND\":\n ret += \" && \";\n break;\n case \"OR\":\n ret += \" || \";\n break;\n default:\n throw new Error(\"ComponentCondTranspiler, unexpected\");\n }\n }\n }\n ret = `(I) => {return ${ret};}`;\n return new chunk_1.Chunk(ret);\n }\n}\nexports.ComponentCondTranspiler = ComponentCondTranspiler;\n//# sourceMappingURL=component_cond.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/component_cond.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/component_cond_sub.js": +/*!*****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/component_cond_sub.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ComponentCondSubTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ComponentCondSubTranspiler {\n transpile(node, traversal) {\n let ret = \"\";\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.ExpressionNode) {\n let cond = traversal.traverse(c).getCode();\n cond = cond.replace(/^\\(I\\) => \\{return /, \"\");\n cond = cond.replace(/;\\}$/, \"\");\n ret += cond;\n }\n else if (c instanceof abaplint.Nodes.TokenNode) {\n switch (c.get().getStr().toUpperCase()) {\n case \"(\":\n ret += \"(\";\n break;\n case \")\":\n ret += \")\";\n break;\n case \"NOT\":\n ret += \"!\";\n break;\n default:\n throw new Error(\"ComponentCondSubTranspiler, unexpected: \" + node.concatTokens());\n }\n }\n }\n ret = `(I) => {return ${ret};}`;\n return new chunk_1.Chunk(ret);\n }\n}\nexports.ComponentCondSubTranspiler = ComponentCondSubTranspiler;\n//# sourceMappingURL=component_cond_sub.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/component_cond_sub.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/cond.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/cond.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CondTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CondTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n if (c.get() instanceof core_1.Expressions.Compare\n || c.get() instanceof core_1.Expressions.CondSub) {\n ret.appendChunk(traversal.traverse(c));\n }\n else if (c instanceof core_1.Nodes.TokenNode\n && c.getFirstToken().getStr().toUpperCase() === \"OR\") {\n ret.append(\" || \", c, traversal);\n }\n else if (c instanceof core_1.Nodes.TokenNode\n && c.getFirstToken().getStr().toUpperCase() === \"AND\") {\n ret.append(\" && \", c, traversal);\n }\n }\n return ret;\n }\n}\nexports.CondTranspiler = CondTranspiler;\n//# sourceMappingURL=cond.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/cond.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/cond_sub.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/cond_sub.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CondSubTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CondSubTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n if (c.get() instanceof core_1.Expressions.Cond) {\n ret.appendChunk(traversal.traverse(c));\n }\n else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().toUpperCase() === \"NOT\") {\n ret.append(\"!\", c, traversal);\n }\n else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().trim() === \"(\") {\n ret.append(\"(\", c, traversal);\n }\n else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().trim() === \")\") {\n ret.append(\")\", c, traversal);\n }\n }\n return ret;\n }\n}\nexports.CondSubTranspiler = CondSubTranspiler;\n//# sourceMappingURL=cond_sub.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/cond_sub.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/constant.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/constant.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstantTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ConstantTranspiler {\n constructor(addGet = false) {\n this.addGet = addGet;\n }\n transpile(node, traversal) {\n const int = node.findFirstExpression(core_1.Expressions.Integer);\n if (int) {\n const concat = int.concatTokens().trim();\n let code = `new abap.types.Integer().set(${concat})`;\n if (this.addGet === true) {\n code += \".get()\";\n }\n return new chunk_1.Chunk().append(code, node, traversal);\n }\n let str = node.findDirectExpression(core_1.Expressions.ConstantString);\n if (str === undefined) {\n str = node.findDirectExpression(core_1.Expressions.TextElementString);\n }\n if (str) {\n let res = str.getFirstToken().getStr();\n if (res.startsWith(\"'\") && this.addGet === false) {\n const code = this.character(res);\n return new chunk_1.Chunk().append(code, node, traversal);\n }\n else if (res.startsWith(\"`\") && this.addGet === false) {\n const code = \"new abap.types.String().set(\" + ConstantTranspiler.escape(res) + \")\";\n return new chunk_1.Chunk().append(code, node, traversal);\n }\n else {\n if (res.startsWith(\"'\")) {\n res = \"'\" + res.substring(1, res.length - 1).trimEnd() + \"'\";\n }\n const code = ConstantTranspiler.escape(res);\n return new chunk_1.Chunk().append(code, node, traversal);\n }\n }\n const concat = node.findDirectExpression(core_1.Expressions.ConcatenatedConstant);\n if (concat) {\n const chunk = new chunk_1.Chunk().appendString(\"abap.operators.concat([\");\n let first = true;\n for (const child of concat.getChildren()) {\n const res = child.getFirstToken().getStr();\n if (first === true) {\n first = false;\n }\n else if (res !== \"&\") {\n chunk.appendString(\",\");\n }\n if (res.startsWith(\"'\") && this.addGet === false) {\n const code = this.character(res);\n chunk.append(code, node, traversal);\n }\n else if (res.startsWith(\"`\") && this.addGet === false) {\n const code = \"new abap.types.String().set(\" + ConstantTranspiler.escape(res) + \")\";\n chunk.append(code, node, traversal);\n }\n }\n chunk.appendString(\"])\");\n return chunk;\n }\n return new chunk_1.Chunk(`todo, Constant`);\n }\n character(res) {\n const foo = res.replace(/''/g, \"'\");\n let length = foo.length - 2;\n if (length <= 0) {\n // note: Characters cannot have length = zero, 1 is minimum\n length = 1;\n }\n const code = \"new abap.types.Character(\" + length + \").set(\" + ConstantTranspiler.escape(res) + \")\";\n return code;\n }\n static escape(str) {\n str = str.replace(/\\\\/g, \"\\\\\\\\\");\n if (str.startsWith(\"'\")) {\n const reg = new RegExp(/(.+)''(.+)/g);\n while (reg.test(str)) {\n str = str.replace(reg, \"$1\\\\'$2\");\n }\n }\n if (str.startsWith(\"`\")) {\n const reg = new RegExp(/(.+)``(.+)/g);\n while (reg.test(str)) {\n str = str.replace(reg, \"$1\\\\`$2\");\n }\n str = str.replace(/\\$\\{/g, \"\\\\${\");\n }\n return str;\n }\n}\nexports.ConstantTranspiler = ConstantTranspiler;\n//# sourceMappingURL=constant.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/constant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/database_table.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/database_table.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DatabaseTableTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass DatabaseTableTranspiler {\n constructor(prefix = true) {\n this.prefix = prefix;\n }\n transpile(node, traversal) {\n const chunk = new chunk_1.Chunk();\n const concat = node.concatTokens();\n let val = \"\";\n if (this.prefix === true) {\n val = `\" + abap.dbo.schemaPrefix + \"\\\\\"\" + abap.dbo.tablePrefix + \"`;\n }\n else {\n val = \"\\\"\";\n }\n const dyn = node.findDirectExpression(abaplint.Expressions.Dynamic);\n if (dyn) {\n if (concat.startsWith(\"('\")) {\n val += concat.substring(2, concat.length - 2).toLowerCase();\n }\n else {\n const foo = traversal.traverse(dyn.findDirectExpression(abaplint.Expressions.FieldChain));\n if (this.prefix === false) {\n return foo;\n }\n val += \"\\\" + \" + foo.getCode() + \".get().trimEnd().toLowerCase() + \\\"\";\n }\n }\n else {\n val += concat.toLowerCase();\n }\n if (this.prefix === true) {\n val += \"\\\\\\\"\";\n }\n else {\n val += \"\\\"\";\n }\n return chunk.appendString(val);\n }\n}\nexports.DatabaseTableTranspiler = DatabaseTableTranspiler;\n//# sourceMappingURL=database_table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/database_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/field_chain.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/field_chain.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldChainTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst field_symbol_1 = __webpack_require__(/*! ./field_symbol */ \"../../packages/transpiler/build/src/expressions/field_symbol.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass FieldChainTranspiler {\n constructor(addGet = false) {\n this.addGet = addGet;\n }\n transpile(node, traversal, prefix = true, filename, wrongScope = false) {\n const ret = new chunk_1.Chunk();\n const extra = [];\n let interfaceNameAdded = false;\n for (const c of node.getChildren()) {\n if (c.get() instanceof core_1.Expressions.SourceField\n || c.get() instanceof core_1.Expressions.Field) {\n const name = traversal.prefixAndName(c.getFirstToken(), filename).replace(\"~\", \"$\");\n ret.append(traversal_1.Traversal.escapeNamespace(name), c, traversal);\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.SourceFieldSymbol) {\n ret.appendChunk(new field_symbol_1.FieldSymbolTranspiler().transpile(c, traversal));\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.ClassName) {\n const name = traversal.lookupClassOrInterface(c.getFirstToken().getStr(), c.getFirstToken());\n ret.append(name + \".\", c, traversal);\n if (wrongScope === true && traversal.reg.getObject(\"INTF\", c.getFirstToken().getStr())) {\n ret.append(traversal_1.Traversal.escapeNamespace(c.getFirstToken().getStr().toLocaleLowerCase()) + \"$\", c, traversal);\n interfaceNameAdded = true;\n }\n }\n else if (c.get() instanceof core_1.Expressions.AttributeName) {\n const interfaceName = traversal.isInterfaceAttribute(c.getFirstToken());\n let name = c.getFirstToken().getStr().toLowerCase();\n if (prefix && interfaceName && name.startsWith(interfaceName) === false && interfaceNameAdded === false) {\n name = traversal_1.Traversal.escapeNamespace(name).replace(\"~\", \"$\");\n name = traversal_1.Traversal.escapeNamespace(interfaceName) + \"$\" + name;\n }\n else {\n name = traversal_1.Traversal.escapeNamespace(name).replace(\"~\", \"$\");\n }\n ret.append(name, c, traversal);\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.Dereference) {\n ret.append(\".dereference()\", c, traversal);\n }\n else if (c.get() instanceof core_1.Expressions.ComponentName) {\n const name = c.getFirstToken().getStr().toLowerCase();\n if (name.match(/^\\d/) || name.includes(\"/\")) {\n ret.append(`[\"` + name + `\"]`, c, traversal);\n }\n else {\n ret.append(`.` + name, c, traversal);\n }\n }\n else if (c instanceof core_1.Nodes.TokenNode) {\n const str = c.getFirstToken().getStr();\n if (str === \"-\") {\n ret.append(\".get()\", c, traversal);\n }\n else if (str === \"->\") {\n ret.append(\".get().\", c, traversal);\n }\n }\n else if (c instanceof core_1.Nodes.ExpressionNode\n && c.get() instanceof core_1.Expressions.FieldOffset) {\n extra.push(\"offset: \" + new _1.FieldOffsetTranspiler().transpile(c, traversal).getCode());\n this.addGetOffset = true;\n }\n else if (c instanceof core_1.Nodes.ExpressionNode\n && c.get() instanceof core_1.Expressions.FieldLength\n && c.concatTokens() !== \"(*)\") {\n extra.push(\"length: \" + new _1.FieldLengthTranspiler().transpile(c, traversal).getCode());\n this.addGetOffset = true;\n }\n }\n if (this.addGetOffset) {\n let foo = extra.join(\", \");\n if (foo !== \"\") {\n foo = \"{\" + foo + \"}\";\n }\n ret.appendString(\".getOffset(\" + foo + \")\"); // todo, this will break\n }\n if (this.addGet) {\n ret.appendString(\".get()\"); // todo, this will break?\n }\n return ret;\n }\n}\nexports.FieldChainTranspiler = FieldChainTranspiler;\n//# sourceMappingURL=field_chain.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/field_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/field_length.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/field_length.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldLengthTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/build/src/expressions/field_chain.js\");\nclass FieldLengthTranspiler {\n transpile(node, traversal) {\n let ret = \"\";\n for (const c of node.getChildren()) {\n if (c instanceof core_1.Nodes.ExpressionNode) {\n if (c.get() instanceof core_1.Expressions.SimpleFieldChain2) {\n ret = new field_chain_1.FieldChainTranspiler().transpile(c, traversal).getCode();\n }\n }\n else if (c instanceof core_1.Nodes.TokenNode) {\n if (c.get() instanceof core_1.Tokens.Identifier) {\n ret += c.getFirstToken().getStr();\n }\n }\n }\n return new chunk_1.Chunk(ret);\n }\n}\nexports.FieldLengthTranspiler = FieldLengthTranspiler;\n//# sourceMappingURL=field_length.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/field_length.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/field_offset.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/field_offset.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldOffsetTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/build/src/expressions/field_chain.js\");\nclass FieldOffsetTranspiler {\n transpile(node, traversal) {\n let ret = \"\";\n for (const c of node.getChildren()) {\n if (c instanceof core_1.Nodes.ExpressionNode) {\n if (c.get() instanceof core_1.Expressions.SimpleFieldChain2) {\n ret = new field_chain_1.FieldChainTranspiler().transpile(c, traversal).getCode();\n }\n }\n else if (c instanceof core_1.Nodes.TokenNode) {\n if (c.get() instanceof core_1.Tokens.Identifier) {\n ret += c.getFirstToken().getStr().toLowerCase();\n }\n }\n }\n return new chunk_1.Chunk(ret);\n }\n}\nexports.FieldOffsetTranspiler = FieldOffsetTranspiler;\n//# sourceMappingURL=field_offset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/field_offset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/field_symbol.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/field_symbol.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldSymbolTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass FieldSymbolTranspiler {\n transpile(node, traversal) {\n let name = node.concatTokens();\n name = name.replace(\"<\", \"fs_\");\n name = name.replace(\">\", \"_\");\n return new chunk_1.Chunk().append(name, node, traversal);\n }\n}\nexports.FieldSymbolTranspiler = FieldSymbolTranspiler;\n//# sourceMappingURL=field_symbol.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/field_symbol.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/function_exporting.js": +/*!*****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/function_exporting.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionExportingTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass FunctionExportingTranspiler {\n transpile(node, traversal) {\n const parameters = [];\n let chunk = new chunk_1.Chunk();\n for (const parameter of node.getChildren()) {\n for (const child of parameter.getChildren()) {\n if (child.getFirstToken().getStr() === \"=\") {\n chunk.appendString(\": \");\n }\n else if (child.get() instanceof abaplint.Expressions.ParameterName) {\n chunk = new chunk_1.Chunk();\n chunk.appendChunk(traversal.traverse(child));\n }\n else {\n chunk.appendChunk(traversal.traverse(child));\n parameters.push(chunk);\n }\n }\n }\n return new chunk_1.Chunk().appendString(\"{\").join(parameters).appendString(\"}\");\n }\n}\nexports.FunctionExportingTranspiler = FunctionExportingTranspiler;\n//# sourceMappingURL=function_exporting.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/function_exporting.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/function_parameters.js": +/*!******************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/function_parameters.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionParametersTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass FunctionParametersTranspiler {\n transpile(node, traversal) {\n const params = {};\n const ex = node.findExpressionAfterToken(\"EXPORTING\");\n if (ex) {\n params.exporting = traversal.traverse(ex).getCode();\n }\n const im = node.findExpressionAfterToken(\"IMPORTING\");\n if (im) {\n params.importing = traversal.traverse(im).getCode();\n }\n const ta = node.findExpressionAfterToken(\"TABLES\");\n if (ta) {\n params.tables = traversal.traverse(ta).getCode();\n }\n const ch = node.findExpressionAfterToken(\"CHANGING\");\n if (ch) {\n params.changing = traversal.traverse(ch).getCode();\n }\n let ret = \"\";\n for (const p of Object.keys(params)) {\n if (ret === \"\") {\n ret += p + \": \" + params[p];\n }\n else {\n ret += \", \" + p + \": \" + params[p];\n }\n }\n return new chunk_1.Chunk(`{${ret}}`);\n }\n}\nexports.FunctionParametersTranspiler = FunctionParametersTranspiler;\n//# sourceMappingURL=function_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/function_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/index.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/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__(/*! ./arith_operator */ \"../../packages/transpiler/build/src/expressions/arith_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./attribute_chain */ \"../../packages/transpiler/build/src/expressions/attribute_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./attribute_name */ \"../../packages/transpiler/build/src/expressions/attribute_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transformation_options */ \"../../packages/transpiler/build/src/expressions/call_transformation_options.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transformation_parameters */ \"../../packages/transpiler/build/src/expressions/call_transformation_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./compare_operator */ \"../../packages/transpiler/build/src/expressions/compare_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./compare */ \"../../packages/transpiler/build/src/expressions/compare.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_chain_simple */ \"../../packages/transpiler/build/src/expressions/component_chain_simple.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_chain */ \"../../packages/transpiler/build/src/expressions/component_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_compare */ \"../../packages/transpiler/build/src/expressions/component_compare.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_cond_sub */ \"../../packages/transpiler/build/src/expressions/component_cond_sub.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_cond */ \"../../packages/transpiler/build/src/expressions/component_cond.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cond_sub */ \"../../packages/transpiler/build/src/expressions/cond_sub.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cond */ \"../../packages/transpiler/build/src/expressions/cond.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant */ \"../../packages/transpiler/build/src/expressions/constant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./database_table */ \"../../packages/transpiler/build/src/expressions/database_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/build/src/expressions/field_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_length */ \"../../packages/transpiler/build/src/expressions/field_length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_offset */ \"../../packages/transpiler/build/src/expressions/field_offset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_symbol */ \"../../packages/transpiler/build/src/expressions/field_symbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_exporting */ \"../../packages/transpiler/build/src/expressions/function_exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_parameters */ \"../../packages/transpiler/build/src/expressions/function_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_number */ \"../../packages/transpiler/build/src/expressions/message_number.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call_body */ \"../../packages/transpiler/build/src/expressions/method_call_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call_chain */ \"../../packages/transpiler/build/src/expressions/method_call_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call_param */ \"../../packages/transpiler/build/src/expressions/method_call_param.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call */ \"../../packages/transpiler/build/src/expressions/method_call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_parameters */ \"../../packages/transpiler/build/src/expressions/method_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_source */ \"../../packages/transpiler/build/src/expressions/method_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_list_s */ \"../../packages/transpiler/build/src/expressions/parameter_list_s.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_list_t */ \"../../packages/transpiler/build/src/expressions/parameter_list_t.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_name */ \"../../packages/transpiler/build/src/expressions/parameter_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_s */ \"../../packages/transpiler/build/src/expressions/parameter_s.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_t */ \"../../packages/transpiler/build/src/expressions/parameter_t.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source1 */ \"../../packages/transpiler/build/src/expressions/simple_source1.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source2 */ \"../../packages/transpiler/build/src/expressions/simple_source2.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source3 */ \"../../packages/transpiler/build/src/expressions/simple_source3.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source4 */ \"../../packages/transpiler/build/src/expressions/simple_source4.js\"), exports);\n__exportStar(__webpack_require__(/*! ./source_field_symbol */ \"../../packages/transpiler/build/src/expressions/source_field_symbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./source_field */ \"../../packages/transpiler/build/src/expressions/source_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./source */ \"../../packages/transpiler/build/src/expressions/source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_cond */ \"../../packages/transpiler/build/src/expressions/sql_cond.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field_and_value */ \"../../packages/transpiler/build/src/expressions/sql_field_and_value.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field */ \"../../packages/transpiler/build/src/expressions/sql_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field_name */ \"../../packages/transpiler/build/src/expressions/sql_field_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_arithmetic_operator */ \"../../packages/transpiler/build/src/expressions/sql_arithmetic_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_from_source */ \"../../packages/transpiler/build/src/expressions/sql_from_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_from */ \"../../packages/transpiler/build/src/expressions/sql_from.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_into_structure */ \"../../packages/transpiler/build/src/expressions/sql_into_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_join */ \"../../packages/transpiler/build/src/expressions/sql_join.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_source_simple */ \"../../packages/transpiler/build/src/expressions/sql_source_simple.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_source */ \"../../packages/transpiler/build/src/expressions/sql_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_target */ \"../../packages/transpiler/build/src/expressions/sql_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template_source */ \"../../packages/transpiler/build/src/expressions/string_template_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template */ \"../../packages/transpiler/build/src/expressions/string_template.js\"), exports);\n__exportStar(__webpack_require__(/*! ./target */ \"../../packages/transpiler/build/src/expressions/target.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/message_number.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/message_number.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageNumberTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass MessageNumberTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"'\" + node.concatTokens() + \"'\", node, traversal);\n }\n}\nexports.MessageNumberTranspiler = MessageNumberTranspiler;\n//# sourceMappingURL=message_number.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/message_number.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/method_call.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/method_call.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCallTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst method_call_param_1 = __webpack_require__(/*! ./method_call_param */ \"../../packages/transpiler/build/src/expressions/method_call_param.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass MethodCallTranspiler {\n transpile(node, traversal) {\n var _a;\n const nameToken = (_a = node.findDirectExpression(core_1.Expressions.MethodName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (nameToken === undefined) {\n throw new Error(\"MethodCallTranspiler, name not found\");\n }\n let name = nameToken.getStr().toLowerCase();\n if (traversal.isBuiltinMethod(nameToken)) {\n name = \"abap.builtin.\" + name + \"(\";\n }\n else {\n name = name + \"(\";\n }\n const m = traversal.findMethodReference(nameToken, traversal.findCurrentScopeByToken(nameToken));\n if ((m === null || m === void 0 ? void 0 : m.name) && traversal.isBuiltinMethod(nameToken) === false) {\n name = m.name.toLowerCase() + \"(\";\n }\n const step = node.findDirectExpression(core_1.Expressions.MethodCallParam);\n if (step === undefined) {\n throw new Error(\"MethodCallTranspiler, unexpected node\");\n }\n const ret = new chunk_1.Chunk();\n ret.append(traversal_1.Traversal.escapeNamespace(name.replace(\"~\", \"$\")), nameToken, traversal);\n ret.appendChunk(new method_call_param_1.MethodCallParamTranspiler(m === null || m === void 0 ? void 0 : m.def).transpile(step, traversal));\n ret.appendString(\")\");\n return ret;\n }\n}\nexports.MethodCallTranspiler = MethodCallTranspiler;\n//# sourceMappingURL=method_call.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/method_call.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/method_call_body.js": +/*!***************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/method_call_body.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCallBodyTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst method_call_param_1 = __webpack_require__(/*! ./method_call_param */ \"../../packages/transpiler/build/src/expressions/method_call_param.js\");\nclass MethodCallBodyTranspiler {\n constructor(m) {\n this.m = m;\n }\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n let pt = false;\n for (const c of node.getChildren()) {\n if (c instanceof core_1.Nodes.TokenNode) {\n if (c.concatTokens().toUpperCase() === \"PARAMETER\") {\n // PARAMETER-TABLE\n pt = true;\n }\n else if (c.concatTokens().toUpperCase() === \"EXCEPTION\") {\n // todo: handle EXCEPTION-TABLE, for now just produce valid javascript\n return ret;\n }\n }\n else if (c.get() instanceof abaplint.Expressions.MethodCallParam) {\n ret.appendChunk(new method_call_param_1.MethodCallParamTranspiler(this.m).transpile(c, traversal));\n }\n else {\n ret.appendChunk(traversal.traverse(c));\n if (pt === true) {\n ret.appendString(\".array().reduce((a, v) => ({ ...a, [v.get().name.get().toLowerCase().trimEnd()]: v.get().value.dereference()}), {})\");\n }\n }\n }\n return ret;\n }\n}\nexports.MethodCallBodyTranspiler = MethodCallBodyTranspiler;\n//# sourceMappingURL=method_call_body.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/method_call_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/method_call_chain.js": +/*!****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/method_call_chain.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCallChainTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass MethodCallChainTranspiler {\n transpile(node, traversal) {\n let ret = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.MethodCall) {\n const sub = traversal.traverse(c);\n if (sub.getCode().startsWith(\"abap.builtin.\")) {\n ret.appendChunk(sub);\n }\n else {\n const t = c === node.getFirstChild() ? \"this.\" : \"\";\n ret = new chunk_1.Chunk()\n .appendString(\"(await \")\n .append(t, node, traversal)\n .appendChunk(ret)\n .appendChunk(sub)\n .appendString(\")\");\n }\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.FieldChain) {\n ret.appendChunk(traversal.traverse(c));\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.ClassName) {\n ret = new chunk_1.Chunk().append(traversal.lookupClassOrInterface(c.getFirstToken().getStr(), c.getFirstToken()), c, traversal);\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.MethodName) {\n const name = traversal_1.Traversal.escapeNamespace(c.getFirstToken().getStr().toLowerCase().replace(\"~\", \"$\"));\n ret.append(name, c, traversal);\n }\n else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr() === \"->\") {\n if (ret.getCode() === \"super\") {\n ret.append(\".\", c, traversal);\n }\n else {\n ret.append(\".get().\", c, traversal);\n }\n }\n else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr() === \"=>\") {\n ret.append(\".\", c, traversal);\n }\n else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr() === \"-\") {\n ret.append(\".get()\", c, traversal);\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.ComponentName) {\n ret.append(\".\" + c.concatTokens().toLowerCase(), c, traversal);\n }\n else {\n ret.append(\"MethodCallChainTranspilerTodo-\" + c.get().constructor.name, c, traversal);\n }\n }\n const code = ret.getCode();\n if (code.startsWith(\"(\") && code.endsWith(\")\")) {\n return new chunk_1.Chunk().append(code.substr(1, code.length - 2), node, traversal);\n }\n else {\n return ret;\n }\n }\n}\nexports.MethodCallChainTranspiler = MethodCallChainTranspiler;\n//# sourceMappingURL=method_call_chain.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/method_call_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/method_call_param.js": +/*!****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/method_call_param.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodCallParamTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass MethodCallParamTranspiler {\n constructor(m) {\n this.m = m;\n }\n transpile(node, traversal) {\n var _a, _b;\n let name = \"\";\n if (!(node.get() instanceof core_1.Expressions.MethodCallParam)) {\n throw new Error(\"MethodCallParam, unexpected node, \" + (node === null || node === void 0 ? void 0 : node.get().constructor.name));\n }\n const source = node.findDirectExpression(core_1.Expressions.Source);\n if (source) {\n const def = (_b = (_a = this.m) === null || _a === void 0 ? void 0 : _a.getParameters().getDefaultImporting()) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n if (this.m === undefined || def === undefined) {\n return traversal.traverse(source);\n }\n else {\n return new chunk_1.Chunk()\n .appendString(\"{\" + def + \": \")\n .appendChunk(traversal.traverse(source))\n .appendString(\"}\");\n }\n }\n const parameters = node.findDirectExpression(core_1.Expressions.ParameterListS);\n if (parameters) {\n return traversal.traverse(parameters);\n }\n else {\n const params = node.findDirectExpression(core_1.Expressions.MethodParameters);\n if (params) {\n const s = params.findDirectExpression(core_1.Expressions.ParameterListS);\n if (s) {\n name += traversal.traverse(s).getCode();\n }\n for (const t of params.findDirectExpressions(core_1.Expressions.ParameterListT)) {\n name += traversal.traverse(t).getCode();\n }\n }\n }\n name = name.replace(/}{/g, \", \");\n return new chunk_1.Chunk(name);\n }\n}\nexports.MethodCallParamTranspiler = MethodCallParamTranspiler;\n//# sourceMappingURL=method_call_param.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/method_call_param.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/method_parameters.js": +/*!****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/method_parameters.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodParametersTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass MethodParametersTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk(\"{\");\n for (const s of node.findAllExpressions(core_1.Expressions.ParameterS)) {\n if (ret.getCode() !== \"{\") {\n ret.appendString(\",\");\n }\n ret.appendChunk(traversal.traverse(s));\n }\n const receiving = node.findExpressionAfterToken(\"RECEIVING\");\n for (const t of node.findAllExpressions(core_1.Expressions.ParameterT)) {\n if (t === receiving) {\n continue;\n }\n if (ret.getCode() !== \"{\") {\n ret.appendString(\",\");\n }\n ret.appendChunk(traversal.traverse(t));\n }\n ret.appendString(\"}\");\n if (ret.getCode() === \"{}\") {\n return new chunk_1.Chunk();\n }\n else {\n return ret;\n }\n }\n}\nexports.MethodParametersTranspiler = MethodParametersTranspiler;\n//# sourceMappingURL=method_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/method_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/method_source.js": +/*!************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/method_source.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodSourceTranspiler = void 0;\n/* eslint-disable max-len */\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass MethodSourceTranspiler {\n constructor(prepend) {\n this.prepend = (prepend || \"\") + \"await \";\n }\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n const children = node.getChildren();\n let call = \"\";\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const nextChild = children[i + 1];\n if (child.get() instanceof core_1.Expressions.ClassName) {\n call += traversal.lookupClassOrInterface(child.concatTokens(), child.getFirstToken());\n }\n else if (child.get() instanceof core_1.Expressions.Dynamic && (nextChild === null || nextChild === void 0 ? void 0 : nextChild.concatTokens()) === \"=>\") {\n const second = child.getChildren()[1];\n const illegalClass = traversal.lookupClassOrInterface(\"'CX_SY_DYN_CALL_ILLEGAL_CLASS'\", child.getFirstToken(), true);\n const illegalMethod = traversal.lookupClassOrInterface(\"'CX_SY_DYN_CALL_ILLEGAL_METHOD'\", child.getFirstToken(), true);\n if (second.get() instanceof core_1.Expressions.FieldChain && second instanceof core_1.Nodes.ExpressionNode) {\n const t = new _1.FieldChainTranspiler(true).transpile(second, traversal).getCode();\n call = traversal.lookupClassOrInterface(t, child.getFirstToken(), true);\n ret.appendString(`if (${call} === undefined && ${illegalClass} === undefined) { throw \"CX_SY_DYN_CALL_ILLEGAL_CLASS not found\"; }\\n`);\n ret.appendString(`if (${call} === undefined) { throw new ${illegalClass}(); }\\n`);\n }\n else if (second.get() instanceof core_1.Expressions.Constant) {\n call = traversal.lookupClassOrInterface(second.getFirstToken().getStr(), child.getFirstToken(), true);\n ret.appendString(`if (${call} === undefined && ${illegalClass} === undefined) { throw \"CX_SY_DYN_CALL_ILLEGAL_CLASS not found\"; }\\n`);\n ret.appendString(`if (${call} === undefined) { throw new ${illegalClass}(); }\\n`);\n const name = children[i + 2];\n if (name.get() instanceof core_1.Expressions.AttributeName) {\n const suffix = \".\" + name.concatTokens().toLowerCase().replace(\"~\", \"$\");\n ret.appendString(`if (${call + suffix} === undefined && ${illegalMethod} === undefined) { throw \"CX_SY_DYN_CALL_ILLEGAL_METHOD not found\"; }\\n`);\n ret.appendString(`if (${call + suffix} === undefined) { throw new ${illegalMethod}(); }\\n`);\n }\n }\n else {\n ret.appendString(\"MethodSourceTranspiler-Unexpected\");\n }\n }\n else if (child.get() instanceof core_1.Expressions.Dynamic) {\n const second = child.getChildren()[1];\n const lookupException = traversal.lookupClassOrInterface(\"'CX_SY_DYN_CALL_ILLEGAL_METHOD'\", child.getFirstToken(), true);\n if (second.get() instanceof core_1.Expressions.FieldChain) {\n if (call.endsWith(\".\")) {\n call = call.substring(0, call.length - 1);\n }\n if (call === \"\") {\n call = \"this\";\n }\n call += \"[\";\n call += traversal.traverse(second).getCode();\n call += \".get().toLowerCase().trimEnd()]\";\n }\n else if (second.get() instanceof core_1.Expressions.Constant) {\n if (call === \"\") {\n call = \"this.\";\n }\n else if (call.endsWith(\".\") === false) {\n call += \".\";\n }\n call += second.getFirstToken().getStr().replace(/\\'/g, \"\").toLowerCase().replace(\"~\", \"$\").trimEnd();\n }\n else {\n ret.appendString(\"MethodSourceTranspiler-Unexpected\");\n }\n ret.appendString(`if (${call} === undefined && ${lookupException} === undefined) { throw \"CX_SY_DYN_CALL_ILLEGAL_METHOD not found\"; }\\n`);\n ret.appendString(`if (${call} === undefined) { throw new ${lookupException}(); }\\n`);\n }\n else if (child.get() instanceof core_1.Expressions.MethodName\n || child.get() instanceof core_1.Expressions.AttributeName) {\n if (i === 0) {\n this.prepend += \"this.\";\n }\n const nameToken = child.getFirstToken();\n const m = traversal.findMethodReference(nameToken, traversal.findCurrentScopeByToken(nameToken));\n if (m) {\n call += traversal_1.Traversal.escapeNamespace(m.name.toLowerCase().replace(\"~\", \"$\"));\n }\n else {\n const methodName = traversal_1.Traversal.escapeNamespace(child.concatTokens().toLowerCase().replace(\"~\", \"$\"));\n call += methodName;\n }\n }\n else if (child.concatTokens() === \"=>\") {\n call += \".\";\n }\n else if (child.concatTokens() === \"->\") {\n if (ret.getCode() !== \"super\") {\n call += \".get()\";\n }\n if (!(nextChild.get() instanceof core_1.Expressions.Dynamic)) {\n call += \".\";\n }\n }\n else if (child.get() instanceof core_1.Expressions.FieldChain\n || child.get() instanceof core_1.Expressions.SourceField) {\n const nameToken = child.getFirstToken();\n const m = traversal.findMethodReference(nameToken, traversal.findCurrentScopeByToken(nameToken));\n if (i === 0 && m) {\n this.prepend += \"this.\";\n }\n call += traversal.traverse(child).getCode();\n }\n else {\n ret.appendString(\"MethodSourceTranspiler-\" + child.get().constructor.name + \"-todo\");\n }\n }\n ret.appendString(this.prepend);\n ret.appendString(call);\n return ret;\n }\n}\nexports.MethodSourceTranspiler = MethodSourceTranspiler;\n//# sourceMappingURL=method_source.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/method_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/parameter_list_s.js": +/*!***************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/parameter_list_s.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterListSTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ParameterListSTranspiler {\n transpile(node, traversal) {\n const parameters = [];\n for (const c of node.getChildren()) {\n if (c instanceof core_1.Nodes.ExpressionNode) {\n parameters.push(traversal.traverse(c));\n }\n }\n return new chunk_1.Chunk().appendString(\"{\").join(parameters).appendString(\"}\");\n }\n}\nexports.ParameterListSTranspiler = ParameterListSTranspiler;\n//# sourceMappingURL=parameter_list_s.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/parameter_list_s.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/parameter_list_t.js": +/*!***************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/parameter_list_t.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterListTTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ParameterListTTranspiler {\n transpile(node, traversal) {\n const parameters = [];\n for (const c of node.getChildren()) {\n if (c instanceof core_1.Nodes.ExpressionNode) {\n parameters.push(traversal.traverse(c));\n }\n }\n return new chunk_1.Chunk().appendString(\"{\").join(parameters).appendString(\"}\");\n }\n}\nexports.ParameterListTTranspiler = ParameterListTTranspiler;\n//# sourceMappingURL=parameter_list_t.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/parameter_list_t.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/parameter_name.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/parameter_name.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterNameTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ParameterNameTranspiler {\n transpile(node, traversal) {\n const nameToken = node.getFirstToken();\n const name = nameToken.getStr().toLowerCase();\n return new chunk_1.Chunk().append(name, nameToken, traversal);\n }\n}\nexports.ParameterNameTranspiler = ParameterNameTranspiler;\n//# sourceMappingURL=parameter_name.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/parameter_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/parameter_s.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/parameter_s.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterSTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ParameterSTranspiler {\n transpile(node, traversal) {\n var _a;\n const nameToken = (_a = node.findDirectExpression(core_1.Expressions.ParameterName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const name = nameToken === null || nameToken === void 0 ? void 0 : nameToken.getStr().toLowerCase();\n const source = traversal.traverse(node.findDirectExpression(core_1.Expressions.Source));\n return new chunk_1.Chunk().append(name + \": \", nameToken || node, traversal).appendChunk(source);\n }\n}\nexports.ParameterSTranspiler = ParameterSTranspiler;\n//# sourceMappingURL=parameter_s.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/parameter_s.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/parameter_t.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/parameter_t.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterTTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ParameterTTranspiler {\n transpile(node, traversal) {\n var _a;\n const nameToken = (_a = node.findDirectExpression(core_1.Expressions.ParameterName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const name = nameToken === null || nameToken === void 0 ? void 0 : nameToken.getStr();\n const source = traversal.traverse(node.findDirectExpression(core_1.Expressions.Target));\n return new chunk_1.Chunk().append(name + \": \", nameToken || node, traversal).appendChunk(source);\n }\n}\nexports.ParameterTTranspiler = ParameterTTranspiler;\n//# sourceMappingURL=parameter_t.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/parameter_t.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/simple_source1.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/simple_source1.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleSource1Transpiler = void 0;\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/build/src/expressions/source.js\");\nclass SimpleSource1Transpiler {\n transpile(node, traversal) {\n return new source_1.SourceTranspiler().transpile(node, traversal);\n }\n}\nexports.SimpleSource1Transpiler = SimpleSource1Transpiler;\n//# sourceMappingURL=simple_source1.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/simple_source1.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/simple_source2.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/simple_source2.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleSource2Transpiler = void 0;\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass SimpleSource2Transpiler {\n transpile(node, traversal) {\n return new _1.SourceTranspiler().transpile(node, traversal);\n }\n}\nexports.SimpleSource2Transpiler = SimpleSource2Transpiler;\n//# sourceMappingURL=simple_source2.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/simple_source2.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/simple_source3.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/simple_source3.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleSource3Transpiler = void 0;\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/build/src/expressions/source.js\");\nclass SimpleSource3Transpiler {\n constructor(addGet = false) {\n this.addGet = addGet;\n }\n transpile(node, traversal) {\n return new source_1.SourceTranspiler(this.addGet).transpile(node, traversal);\n }\n}\nexports.SimpleSource3Transpiler = SimpleSource3Transpiler;\n//# sourceMappingURL=simple_source3.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/simple_source3.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/simple_source4.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/simple_source4.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SimpleSource4Transpiler = void 0;\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/build/src/expressions/source.js\");\nclass SimpleSource4Transpiler {\n transpile(node, traversal) {\n return new source_1.SourceTranspiler().transpile(node, traversal);\n }\n}\nexports.SimpleSource4Transpiler = SimpleSource4Transpiler;\n//# sourceMappingURL=simple_source4.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/simple_source4.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/source.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/source.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SourceTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst constant_1 = __webpack_require__(/*! ./constant */ \"../../packages/transpiler/build/src/expressions/constant.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SourceTranspiler {\n constructor(addGet = false) {\n this.addGet = addGet;\n }\n transpile(node, traversal) {\n let ret = new chunk_1.Chunk();\n const post = new chunk_1.Chunk();\n const children = node.getChildren();\n for (let i = 0; i < children.length; i++) {\n const c = children[i];\n const last = i === children.length - 1;\n if (c instanceof core_1.Nodes.ExpressionNode) {\n if (c.get() instanceof core_1.Expressions.FieldChain) {\n ret.appendChunk(new _1.FieldChainTranspiler(this.addGet).transpile(c, traversal));\n }\n else if (c.get() instanceof core_1.Expressions.Constant) {\n ret.appendChunk(new constant_1.ConstantTranspiler(this.addGet).transpile(c, traversal));\n }\n else if (c.get() instanceof core_1.Expressions.StringTemplate) {\n ret.appendChunk(traversal.traverse(c));\n }\n else if (c.get() instanceof core_1.Expressions.Cond) {\n ret.appendChunk(traversal.traverse(c));\n }\n else if (c.get() instanceof core_1.Expressions.ArithOperator) {\n ret = new chunk_1.Chunk().appendChunk(traversal.traverse(c)).appendString(\"(\").appendChunk(ret).appendString(\",\");\n post.appendString(\")\");\n if (this.addGet) {\n post.append(\".get()\", c, traversal);\n }\n }\n else if (c.get() instanceof core_1.Expressions.MethodCallChain) {\n ret.appendChunk(traversal.traverse(c));\n const code = ret.getCode();\n if (code.includes(\"await\")) {\n ret = new chunk_1.Chunk().appendString(\"(\").appendChunk(ret).appendString(\")\");\n }\n if (this.addGet && last === true) {\n ret.append(\".get()\", c, traversal);\n }\n }\n else if (c.get() instanceof core_1.Expressions.Source) {\n ret.appendChunk(new SourceTranspiler(this.addGet).transpile(c, traversal));\n }\n else if (c.get() instanceof core_1.Expressions.Arrow) {\n ret = new chunk_1.Chunk().appendString(\"(\").appendChunk(ret).appendString(\").get().\");\n }\n else if (c.get() instanceof core_1.Expressions.AttributeChain) {\n ret.appendChunk(new _1.AttributeChainTranspiler().transpile(c, traversal));\n }\n else if (c.get() instanceof core_1.Expressions.ComponentChain) {\n ret = new chunk_1.Chunk().appendString(\"(\").appendChunk(ret).appendString(\").get().\");\n ret.appendChunk(new _1.ComponentChainTranspiler().transpile(c, traversal));\n if (this.addGet && last === true) {\n ret.append(\".get()\", c, traversal);\n }\n }\n else if (c.get() instanceof core_1.Expressions.Dereference) {\n ret = new chunk_1.Chunk().appendString(\"(\").appendChunk(ret).appendString(\").dereference()\");\n }\n else if (c.get() instanceof core_1.Expressions.TextElement) {\n ret = new chunk_1.Chunk().appendString(`new abap.types.String().set(\"${c.concatTokens()}\")`);\n }\n else {\n ret.appendString(\"SourceUnknown-\" + c.get().constructor.name);\n }\n }\n else if (c instanceof core_1.Nodes.TokenNode && (c.getFirstToken().getStr() === \"&&\" || c.getFirstToken().getStr() === \"&\")) {\n ret = new chunk_1.Chunk().appendString(\"abap.operators.concat(\").appendChunk(ret).appendString(\",\");\n post.appendString(\")\");\n if (this.addGet) {\n post.append(\".get()\", c, traversal);\n }\n }\n else if (c instanceof core_1.Nodes.TokenNodeRegex && c.getFirstToken().getStr().toUpperCase() === \"BOOLC\") {\n ret.append(\"abap.builtin.boolc(\", c, traversal);\n post.append(\")\", c, traversal);\n }\n else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().toUpperCase() === \"BIT\") { // todo, this will not work in the general case\n ret.append(\"abap.operators.bitnot(\", c, traversal);\n post.append(\")\", c, traversal);\n }\n }\n ret.appendChunk(post);\n // console.dir(ret.getCode());\n return ret;\n }\n}\nexports.SourceTranspiler = SourceTranspiler;\n//# sourceMappingURL=source.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/source_field.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/source_field.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SourceFieldTranspiler = void 0;\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SourceFieldTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n const name = traversal.prefixAndName(node.getFirstToken(), traversal.getFilename()).replace(\"~\", \"$\");\n ret.append(traversal_1.Traversal.escapeNamespace(name), node, traversal);\n return ret;\n }\n}\nexports.SourceFieldTranspiler = SourceFieldTranspiler;\n//# sourceMappingURL=source_field.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/source_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/source_field_symbol.js": +/*!******************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/source_field_symbol.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SourceFieldSymbolTranspiler = void 0;\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass SourceFieldSymbolTranspiler {\n transpile(node, traversal) {\n return new _1.FieldSymbolTranspiler().transpile(node, traversal);\n }\n}\nexports.SourceFieldSymbolTranspiler = SourceFieldSymbolTranspiler;\n//# sourceMappingURL=source_field_symbol.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/source_field_symbol.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_arithmetic_operator.js": +/*!**********************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_arithmetic_operator.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLArithmeticOperatorTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SQLArithmeticOperatorTranspiler {\n transpile(node, _traversal) {\n const chunk = new chunk_1.Chunk();\n const concat = node.concatTokens();\n chunk.appendString(concat);\n return chunk;\n }\n}\nexports.SQLArithmeticOperatorTranspiler = SQLArithmeticOperatorTranspiler;\n//# sourceMappingURL=sql_arithmetic_operator.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_arithmetic_operator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_cond.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_cond.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLCondTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst simple_source3_1 = __webpack_require__(/*! ./simple_source3 */ \"../../packages/transpiler/build/src/expressions/simple_source3.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/build/src/expressions/field_chain.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"../../packages/transpiler/build/src/expressions/sql_field_name.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nclass SQLCondTranspiler {\n transpile(node, traversal, table) {\n var _a;\n let ret = \"\";\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.ExpressionNode\n && c.get() instanceof abaplint.Expressions.SQLCompare) {\n if (ret !== \"\") {\n ret += \" \";\n }\n if (c.findDirectExpression(abaplint.Expressions.Dynamic)) {\n const chain = (_a = c.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(abaplint.Expressions.FieldChain);\n if (chain) {\n const code = new field_chain_1.FieldChainTranspiler(true).transpile(chain, traversal).getCode();\n ret += `\" + abap.expandDynamic(${code}, (name) => {try { return eval(name);} catch {}}) + \"`;\n }\n else {\n throw new Error(\"SQL Condition, transpiler todo, dyn cond, \" + c.concatTokens());\n }\n }\n else if (c.findDirectExpression(abaplint.Expressions.SQLIn)) {\n ret += this.sqlIn(c, traversal);\n }\n else {\n ret += this.basicCondition(c, traversal, traversal.getFilename(), table);\n }\n }\n else if (c instanceof abaplint.Nodes.ExpressionNode) {\n ret += \" \" + this.transpile(c, traversal, table).getCode();\n }\n else {\n ret += \" \" + c.concatTokens();\n }\n }\n const c = new chunk_1.Chunk();\n return c.appendString(ret.trim());\n }\n sqlIn(c, _traversal) {\n const fieldName = c.findDirectExpression(abaplint.Expressions.SQLFieldName);\n const slqin = c.findDirectExpression(abaplint.Expressions.SQLIn);\n const source = c.findFirstExpression(abaplint.Expressions.SimpleSource3);\n if (fieldName === undefined || slqin === undefined || source === undefined) {\n throw new Error(\"SQL Condition, transpiler todo, \" + c.concatTokens());\n }\n const ret = `\" + abap.expandIN(\"${fieldName.concatTokens()}\", ${source.concatTokens()}) + \"`;\n return ret;\n }\n basicCondition(c, traversal, filename, table) {\n let ret = \"\";\n if (c.getChildren().length !== 3) {\n return this.basicConditionNew(c, traversal, filename, table);\n }\n let fieldName = undefined;\n const fieldNameExpression = c.findDirectExpression(abaplint.Expressions.SQLFieldName);\n if (fieldNameExpression) {\n fieldName = new sql_field_name_1.SQLFieldNameTranspiler().transpile(fieldNameExpression, traversal).getCode();\n }\n const operator = c.findDirectExpression(abaplint.Expressions.SQLCompareOperator);\n const source = c.findDirectExpression(abaplint.Expressions.SQLSource);\n if (fieldName && source && operator === undefined && c.findDirectTokenByText(\"LIKE\")) {\n ret += fieldName + \" LIKE \";\n ret += this.sqlSource(source, traversal, filename, table);\n return ret;\n }\n if (fieldName === undefined || operator === undefined || source === undefined) {\n throw new Error(\"SQL Condition, transpiler todo2, \" + c.concatTokens());\n }\n let op = operator.concatTokens();\n if (op.toUpperCase() === \"EQ\") {\n op = \"=\";\n }\n else if (op.toUpperCase() === \"NE\") {\n op = \"<>\";\n }\n ret += fieldName + \" \" + op + \" \";\n ret += this.sqlSource(source, traversal, filename, table);\n return ret;\n }\n sqlSource(source, traversal, filename, table) {\n let ret = \"\";\n const simple = source.findDirectExpression(abaplint.Expressions.SimpleSource3);\n const alias = source.findDirectExpression(abaplint.Expressions.SQLAliasField);\n if (simple && simple.findDirectExpression(abaplint.Expressions.Constant) === undefined) {\n ret += \"'\\\" + \" + new simple_source3_1.SimpleSource3Transpiler(true).transpile(simple, traversal).getCode() + \" + \\\"'\";\n }\n else if (alias) {\n // SQLAliasField might be a SQL reference or value from ABAP interface\n const pre = alias.concatTokens().split(\"~\")[0];\n const found = traversal.findInterfaceDefinition(pre, traversal.findCurrentScopeByToken(alias.getFirstToken()));\n if (found) {\n let name = traversal.prefixAndName(alias.getFirstToken(), filename).replace(\"~\", \"$\");\n name = traversal_1.Traversal.escapeNamespace(name);\n ret += \"'\\\" + \" + name + \".get() + \\\"'\";\n }\n else {\n let concat = source.concatTokens();\n if (concat.includes(\"~\") && concat.split(\"~\")[0].includes(\"/\")) {\n concat = \"'\" + concat.replace(\"~\", \"'~\");\n }\n ret += concat;\n }\n }\n else {\n const concat = source.concatTokens();\n const conversionField = traversal.isSQLConversion(source.getFirstToken());\n if (conversionField) {\n const field = (table === null || table === void 0 ? void 0 : table.parseType(traversal.reg)).getComponentByName(conversionField);\n ret += \"'\\\" + \" + new transpile_types_1.TranspileTypes().toType(field) + \".set(\" + concat + \").get() + \\\"'\";\n }\n else if (concat.startsWith(\"`\")) {\n ret += \"'\" + concat.substring(1, concat.length - 1) + \"'\";\n }\n else {\n ret += concat;\n }\n }\n return ret;\n }\n basicConditionNew(node, traversal, filename, table) {\n let ret = \"\";\n for (const child of node.getChildren()) {\n if (ret !== \"\") {\n ret += \" \";\n }\n if (child.get() instanceof abaplint.Expressions.SQLFieldName\n && child instanceof abaplint.Nodes.ExpressionNode) {\n ret += new sql_field_name_1.SQLFieldNameTranspiler().transpile(child, traversal).getCode();\n }\n else if (child.get() instanceof abaplint.Expressions.SQLSource\n && child instanceof abaplint.Nodes.ExpressionNode) {\n ret += this.sqlSource(child, traversal, filename, table);\n }\n else {\n ret += child.concatTokens();\n }\n }\n return ret;\n }\n}\nexports.SQLCondTranspiler = SQLCondTranspiler;\n//# sourceMappingURL=sql_cond.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_cond.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_field.js": +/*!********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_field.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFieldTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"../../packages/transpiler/build/src/expressions/sql_field_name.js\");\nclass SQLFieldTranspiler {\n transpile(node, traversal) {\n const chunk = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.TokenNode) {\n // keywords\n chunk.appendString(c.concatTokens() + \" \");\n }\n else if (c.get() instanceof abaplint.Expressions.SQLFieldName) {\n chunk.appendChunk(new sql_field_name_1.SQLFieldNameTranspiler().transpile(c, traversal));\n }\n else {\n chunk.appendString(c.concatTokens() + \" \");\n }\n }\n return chunk;\n }\n}\nexports.SQLFieldTranspiler = SQLFieldTranspiler;\n//# sourceMappingURL=sql_field.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_field_and_value.js": +/*!******************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_field_and_value.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFieldAndValueTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SQLFieldAndValueTranspiler {\n transpile(node, traversal) {\n const chunk = new chunk_1.Chunk();\n chunk.appendString(\"\\\"\");\n for (const n of node.getChildren()) {\n const concat = n.concatTokens();\n if (concat === \"=\") {\n chunk.appendString(\" = \");\n }\n else if (n.get() instanceof abaplint.Expressions.SQLSource) {\n const source = traversal.traverse(n);\n // todo: value conversion? abap vs db, traversal.isSQLConversion\n // todo: integers?\n chunk.appendString(\"'\\\" + \" + source.getCode() + \".get() + \\\"'\");\n }\n else {\n chunk.appendString(traversal.traverse(n).getCode() + \" \");\n }\n }\n chunk.appendString(\"\\\"\");\n return chunk;\n }\n}\nexports.SQLFieldAndValueTranspiler = SQLFieldAndValueTranspiler;\n//# sourceMappingURL=sql_field_and_value.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_field_and_value.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_field_name.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_field_name.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFieldNameTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SQLFieldNameTranspiler {\n transpile(node, _traversal) {\n const chunk = new chunk_1.Chunk();\n let concat = node.concatTokens();\n if (concat.includes(\"~\") && concat.split(\"~\")[0].includes(\"/\")) {\n concat = \"'\" + concat.replace(\"~\", \"'~\");\n }\n chunk.appendString(concat);\n return chunk;\n }\n}\nexports.SQLFieldNameTranspiler = SQLFieldNameTranspiler;\n//# sourceMappingURL=sql_field_name.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_field_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_from.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_from.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFromTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst sql_join_1 = __webpack_require__(/*! ./sql_join */ \"../../packages/transpiler/build/src/expressions/sql_join.js\");\nconst sql_from_source_1 = __webpack_require__(/*! ./sql_from_source */ \"../../packages/transpiler/build/src/expressions/sql_from_source.js\");\nclass SQLFromTranspiler {\n transpile(node, traversal) {\n const chunk = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.TokenNode) {\n // keywords\n chunk.appendString(c.concatTokens() + \" \");\n }\n else if (c.get() instanceof abaplint.Expressions.SQLJoin) {\n chunk.appendChunk(new sql_join_1.SQLJoinTranspiler().transpile(c, traversal));\n chunk.appendString(\" \");\n }\n else if (c.get() instanceof abaplint.Expressions.SQLFromSource) {\n chunk.appendChunk(new sql_from_source_1.SQLFromSourceTranspiler().transpile(c, traversal));\n }\n else {\n const concat = c.concatTokens();\n chunk.appendString(concat + \" \");\n }\n }\n return chunk;\n }\n}\nexports.SQLFromTranspiler = SQLFromTranspiler;\n//# sourceMappingURL=sql_from.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_from.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_from_source.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_from_source.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLFromSourceTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst database_table_1 = __webpack_require__(/*! ./database_table */ \"../../packages/transpiler/build/src/expressions/database_table.js\");\nclass SQLFromSourceTranspiler {\n transpile(node, traversal) {\n const chunk = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n const concat = c.concatTokens();\n if (c instanceof abaplint.Nodes.TokenNode) {\n // keywords\n chunk.appendString(concat + \" \");\n }\n else if (c.get() instanceof abaplint.Expressions.DatabaseTable) {\n chunk.appendChunk(new database_table_1.DatabaseTableTranspiler().transpile(c, traversal));\n chunk.appendString(\" \");\n }\n else {\n chunk.appendString(concat + \" \");\n }\n }\n return chunk;\n }\n}\nexports.SQLFromSourceTranspiler = SQLFromSourceTranspiler;\n//# sourceMappingURL=sql_from_source.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_from_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_into_structure.js": +/*!*****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_into_structure.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLIntoStructureTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SQLIntoStructureTranspiler {\n transpile(node, traversal) {\n const targets = node.findDirectExpressions(abaplint.Expressions.SQLTarget);\n const transpiled = targets.map(t => traversal.traverse(t));\n if (targets.length === 1) {\n return transpiled[0];\n }\n else {\n const chunk = new chunk_1.Chunk();\n chunk.appendString(\"[\");\n chunk.appendString(transpiled.map(t => t.getCode()).join(\",\"));\n chunk.appendString(\"]\");\n return chunk;\n }\n }\n}\nexports.SQLIntoStructureTranspiler = SQLIntoStructureTranspiler;\n//# sourceMappingURL=sql_into_structure.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_into_structure.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_join.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_join.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLJoinTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst sql_cond_1 = __webpack_require__(/*! ./sql_cond */ \"../../packages/transpiler/build/src/expressions/sql_cond.js\");\nconst sql_from_source_1 = __webpack_require__(/*! ./sql_from_source */ \"../../packages/transpiler/build/src/expressions/sql_from_source.js\");\nclass SQLJoinTranspiler {\n transpile(node, traversal) {\n const chunk = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.TokenNode) {\n // keywords\n chunk.appendString(c.concatTokens() + \" \");\n }\n else if (c.get() instanceof abaplint.Expressions.SQLCond) {\n chunk.appendChunk(new sql_cond_1.SQLCondTranspiler().transpile(c, traversal));\n }\n else if (c.get() instanceof abaplint.Expressions.SQLFromSource) {\n chunk.appendChunk(new sql_from_source_1.SQLFromSourceTranspiler().transpile(c, traversal));\n }\n else {\n chunk.appendString(c.concatTokens() + \" \");\n }\n }\n return chunk;\n }\n}\nexports.SQLJoinTranspiler = SQLJoinTranspiler;\n//# sourceMappingURL=sql_join.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_join.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_source.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_source.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLSourceTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SQLSourceTranspiler {\n transpile(node, traversal) {\n let s = node.findDirectExpression(abaplint.Expressions.Source);\n if ((s === null || s === void 0 ? void 0 : s.getChildren().length) === 1 && s.getChildren()[0].get() instanceof abaplint.Expressions.SQLAliasField) {\n const chunk = new chunk_1.Chunk();\n let concat = s.concatTokens();\n if (concat.includes(\"~\") && concat.split(\"~\")[0].includes(\"/\")) {\n concat = \"'\" + concat.replace(\"~\", \"'~\");\n }\n chunk.appendString(concat);\n return chunk;\n }\n if (s === undefined) {\n s = node.findDirectExpression(abaplint.Expressions.SimpleSource3);\n }\n return traversal.traverse(s);\n }\n}\nexports.SQLSourceTranspiler = SQLSourceTranspiler;\n//# sourceMappingURL=sql_source.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_source_simple.js": +/*!****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_source_simple.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLSourceSimpleTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nclass SQLSourceSimpleTranspiler {\n transpile(node, traversal) {\n let s = node.findDirectExpression(abaplint.Expressions.Source);\n if (s === undefined) {\n s = node.findDirectExpression(abaplint.Expressions.SimpleSource3);\n }\n return traversal.traverse(s);\n }\n}\nexports.SQLSourceSimpleTranspiler = SQLSourceSimpleTranspiler;\n//# sourceMappingURL=sql_source_simple.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_source_simple.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/sql_target.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/sql_target.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLTargetTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nclass SQLTargetTranspiler {\n transpile(node, traversal) {\n const s = node.findDirectExpression(abaplint.Expressions.Target);\n return traversal.traverse(s);\n }\n}\nexports.SQLTargetTranspiler = SQLTargetTranspiler;\n//# sourceMappingURL=sql_target.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/sql_target.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/string_template.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/string_template.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringTemplateTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass StringTemplateTranspiler {\n transpile(node, traversal) {\n let ret = \"\";\n const children = node.getChildren();\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < children.length; i++) {\n const c = children[i];\n const g = c.get();\n if (c instanceof core_1.Nodes.TokenNode) {\n let original = c.getFirstToken().getStr();\n original = original.substring(1, original.length - 1);\n original = original.replace(/`/g, \"\\\\`\");\n if (g instanceof core_1.Tokens.StringTemplate) {\n ret = \"`\" + original + \"`\";\n }\n else if (g instanceof core_1.Tokens.StringTemplateBegin) {\n ret = \"`\" + original + \"${\";\n }\n else if (g instanceof core_1.Tokens.StringTemplateMiddle) {\n ret = ret + \"}\" + original + \"${\";\n }\n else if (g instanceof core_1.Tokens.StringTemplateEnd) {\n ret = ret + \"}\" + original + \"`\";\n }\n }\n else if (c instanceof core_1.Nodes.ExpressionNode) {\n ret += new _1.StringTemplateSourceTranspiler().transpile(c, traversal).getCode();\n }\n }\n return new chunk_1.Chunk(\"new abap.types.String().set(\" + ret + \")\");\n }\n}\nexports.StringTemplateTranspiler = StringTemplateTranspiler;\n//# sourceMappingURL=string_template.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/string_template.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/string_template_source.js": +/*!*********************************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/string_template_source.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StringTemplateSourceTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass StringTemplateSourceTranspiler {\n transpile(node, traversal) {\n let ret = \"\";\n const pre = \"abap.templateFormatting(\";\n let post = \")\";\n const formatting = node.findDirectExpression(core_1.Expressions.StringTemplateFormatting);\n if (formatting) {\n const options = this.build(formatting, traversal);\n if (options) {\n post = \",\" + options + \")\";\n }\n }\n const c = node.findDirectExpression(core_1.Expressions.Source);\n if (c === undefined) {\n throw new Error(\"StringTemplateSourceTranspiler, Source not found\");\n }\n ret += pre + new _1.SourceTranspiler().transpile(c, traversal).getCode() + post;\n return new chunk_1.Chunk(ret);\n }\n build(node, traversal) {\n let option = \"\";\n let count = 0;\n for (const c of node.getChildren()) {\n count++;\n if (c instanceof core_1.Nodes.TokenNode) {\n if (c.getFirstToken().getStr() === \"=\") {\n option += \":\";\n }\n else {\n if (count > 3 && (count - 1) % 3 === 0) {\n option += \",\";\n }\n option += `\"` + c.concatTokens().toLowerCase() + `\"`;\n }\n }\n else if (c.get() instanceof core_1.Expressions.Source) {\n option += new _1.SourceTranspiler(true).transpile(c, traversal).getCode();\n }\n }\n if (option !== \"\") {\n return \"{\" + option + \"}\";\n }\n return undefined;\n }\n}\nexports.StringTemplateSourceTranspiler = StringTemplateSourceTranspiler;\n//# sourceMappingURL=string_template_source.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/string_template_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/expressions/target.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/expressions/target.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TargetTranspiler = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass TargetTranspiler {\n transpile(node, traversal) {\n const offset = [];\n const ret = new chunk_1.Chunk();\n const children = node.getChildren();\n for (let i = 0; i < children.length; i++) {\n const c = children[i];\n const next = children[i + 1];\n if (c.get() instanceof core_1.Expressions.TargetField) {\n const prefix = traversal.prefixAndName(c.getFirstToken()).replace(\"~\", \"$\");\n ret.append(traversal_1.Traversal.escapeNamespace(prefix), c, traversal);\n }\n else if (c.get() instanceof core_1.Expressions.ClassName) {\n const name = traversal.lookupClassOrInterface(c.getFirstToken().getStr(), c.getFirstToken());\n ret.append(name, c, traversal);\n }\n else if (c.get() instanceof core_1.Expressions.ComponentName) {\n const name = c.getFirstToken().getStr().toLowerCase();\n if (name.match(/^\\d/) || name.includes(\"/\")) {\n ret.append(`[\"` + name + `\"]`, c, traversal);\n }\n else {\n ret.append(`.` + name, c, traversal);\n }\n }\n else if (c.get() instanceof core_1.Expressions.AttributeName) {\n const intf = traversal_1.Traversal.escapeNamespace(traversal.isInterfaceAttribute(c.getFirstToken()));\n let name = traversal_1.Traversal.escapeNamespace(c.getFirstToken().getStr()).replace(\"~\", \"$\").toLowerCase();\n if (intf && name.startsWith(intf) === false) {\n name = intf + \"$\" + name;\n }\n ret.append(name, c, traversal);\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.FieldOffset) {\n offset.push(\"offset: \" + new _1.FieldOffsetTranspiler().transpile(c, traversal).getCode());\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.FieldLength) {\n const len = new _1.FieldLengthTranspiler().transpile(c, traversal).getCode();\n if (len !== \"*\") {\n offset.push(\"length: \" + len);\n }\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.TargetFieldSymbol) {\n ret.appendChunk(new _1.FieldSymbolTranspiler().transpile(c, traversal));\n }\n else if (c.getFirstToken().getStr() === \"-\") {\n ret.append(\".get()\", c, traversal);\n }\n else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.Dereference) {\n ret.append(\".dereference()\", c, traversal);\n }\n else if (c.getFirstToken().getStr() === \"=>\") {\n ret.append(\".\", c, traversal);\n }\n else if (c.getFirstToken().getStr() === \"->\") {\n if (next.concatTokens() === \"*\") {\n ret.append(\".dereference()\", c, traversal);\n }\n else {\n ret.append(\".get().\", c, traversal);\n }\n }\n }\n let pre = \"\";\n let post = \"\";\n if (offset.length > 0) {\n pre = \"new abap.OffsetLength(\";\n post = \", {\" + offset.join(\", \") + \"})\";\n }\n return new chunk_1.Chunk()\n .appendString(pre)\n .appendChunk(ret)\n .appendString(post);\n }\n}\nexports.TargetTranspiler = TargetTranspiler;\n//# sourceMappingURL=target.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/expressions/target.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/handlers/handle_abap.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/handlers/handle_abap.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HandleABAP = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst requires_1 = __webpack_require__(/*! ../requires */ \"../../packages/transpiler/build/src/requires.js\");\nconst rearranger_1 = __webpack_require__(/*! ../rearranger */ \"../../packages/transpiler/build/src/rearranger.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass HandleABAP {\n constructor(options) {\n this.options = options;\n }\n runObject(obj, reg) {\n var _a, _b, _c;\n let ret = [];\n if (obj instanceof abaplint.Objects.Program && obj.isInclude() === true) {\n // includes are only compiled along with the programs where its used?\n return [];\n }\n const spaghetti = new abaplint.SyntaxLogic(reg, obj).run().spaghetti;\n for (const file of obj.getSequencedFiles()) {\n const chunk = new chunk_1.Chunk();\n if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.addFilenames) === true) {\n chunk.appendString(\"// \" + file.getFilename() + \"\\n\");\n }\n const rearranged = new rearranger_1.Rearranger().run(obj.getType(), file.getStructure());\n const contents = new traversal_1.Traversal(spaghetti, file, obj, reg, this.options).traverse(rearranged);\n chunk.appendChunk(contents);\n chunk.stripLastNewline();\n chunk.runIndentationLogic((_b = this.options) === null || _b === void 0 ? void 0 : _b.ignoreSourceMap);\n const exports = this.findExports(file.getStructure());\n const filename = file.getFilename().replace(\".abap\", \".mjs\").toLowerCase();\n const output = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: filename,\n chunk: chunk,\n requires: new requires_1.Requires(reg).find(obj, spaghetti.getTop(), file.getFilename()),\n exports: exports,\n };\n ret.push(output);\n }\n ret = this.rearrangeClassLocals(obj, ret);\n if (((_c = this.options) === null || _c === void 0 ? void 0 : _c.addCommonJS) === true) {\n ret.map(output => output.chunk = this.addImportsAndExports(output));\n }\n return ret;\n }\n /** merges the locals def and imp into one mjs file */\n rearrangeClassLocals(obj, output) {\n const ret = [];\n if (obj.getType() !== \"CLAS\") {\n return output;\n }\n let imp = undefined;\n let def = undefined;\n for (const o of output) {\n if (o.filename.endsWith(\".clas.locals_imp.mjs\")) {\n imp = o;\n }\n else if (o.filename.endsWith(\".clas.locals_def.mjs\")) {\n def = o;\n }\n else {\n ret.push(o);\n }\n }\n if (def) {\n def.filename = def.filename.replace(\".locals_def.mjs\", \".locals.mjs\");\n }\n if (imp) {\n imp.filename = imp.filename.replace(\".locals_imp.mjs\", \".locals.mjs\");\n }\n if (imp && def) {\n // remove duplicates\n const requires = [...def.requires];\n for (const r of imp.requires) {\n if (requires.find(a => a.filename === r.filename && a.name === r.name) === undefined) {\n requires.push(r);\n }\n }\n const chunk = new chunk_1.Chunk().appendChunk(def.chunk).appendChunk(imp.chunk);\n ret.push({\n object: imp.object,\n filename: imp.filename,\n chunk: chunk,\n requires: requires,\n exports: def.exports.concat(imp.exports),\n });\n }\n else if (imp) {\n ret.push(imp);\n }\n else if (def) {\n ret.push(def);\n }\n return ret;\n }\n addImportsAndExports(output) {\n var _a;\n const contents = new chunk_1.Chunk();\n for (const r of output.requires) {\n const name = (_a = r.name) === null || _a === void 0 ? void 0 : _a.toLowerCase();\n const filename = r.filename.replace(\".abap\", \".mjs\");\n if (filename === output.filename) {\n continue;\n }\n if (name) {\n contents.appendString(\"const {\" + traversal_1.Traversal.escapeNamespace(name) + \"} = await import(\\\"./\" + filename.replace(/#/g, \"%23\") + \"\\\");\\n\");\n }\n else {\n contents.appendString(\"await import(\\\"./\" + filename.replace(/#/g, \"%23\") + \"\\\");\\n\");\n }\n }\n contents.appendChunk(output.chunk);\n if (output.exports.length > 0) {\n contents.appendString(\"\\nexport {\" + output.exports.map(traversal_1.Traversal.escapeNamespace).join(\", \") + \"};\");\n }\n return contents;\n }\n findExports(node) {\n var _a, _b;\n if (node === undefined) {\n return [];\n }\n const res = [];\n for (const c of node.findAllStatements(abaplint.Statements.ClassDefinition)) {\n const e = (_a = c.findFirstExpression(abaplint.Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr();\n if (e) {\n res.push(e.toLowerCase());\n }\n }\n for (const c of node.findAllStatements(abaplint.Statements.Interface)) {\n const e = (_b = c.findFirstExpression(abaplint.Expressions.InterfaceName)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();\n if (e) {\n res.push(e.toLowerCase());\n }\n }\n return res;\n }\n}\nexports.HandleABAP = HandleABAP;\n//# sourceMappingURL=handle_abap.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/handlers/handle_abap.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/handlers/handle_data_element.js": +/*!***************************************************************************!*\ + !*** ../../packages/transpiler/build/src/handlers/handle_data_element.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HandleDataElement = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nclass HandleDataElement {\n runObject(obj, reg) {\n var _a;\n const filename = (_a = obj.getXMLFile()) === null || _a === void 0 ? void 0 : _a.getFilename().replace(\".xml\", \".mjs\").toLowerCase();\n if (filename === undefined) {\n return [];\n }\n const type = obj.parseType(reg);\n let fixedValues = undefined;\n if (obj.getDomainName()) {\n const doma = reg.getObject(\"DOMA\", obj.getDomainName());\n if (doma) {\n fixedValues = doma.getFixedValues();\n }\n }\n const chunk = new chunk_1.Chunk().appendString(`abap.DDIC[\"${obj.getName().toUpperCase()}\"] = {\n \"objectType\": \"DTEL\",\n \"type\": ${new transpile_types_1.TranspileTypes().toType(type)},\n \"domain\": ${JSON.stringify(obj.getDomainName())},\n \"fixedValues\": ${JSON.stringify(fixedValues)},\n};`);\n const output = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: filename,\n chunk: chunk,\n requires: [],\n exports: [],\n };\n return [output];\n }\n}\nexports.HandleDataElement = HandleDataElement;\n//# sourceMappingURL=handle_data_element.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/handlers/handle_data_element.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/handlers/handle_enqu.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/handlers/handle_enqu.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HandleEnqu = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\n// view, much like the tables\nclass HandleEnqu {\n runObject(obj, _reg) {\n var _a;\n const filename = (_a = obj.getXMLFile()) === null || _a === void 0 ? void 0 : _a.getFilename().replace(\".xml\", \".mjs\").toLowerCase();\n if (filename === undefined) {\n return [];\n }\n const chunk = new chunk_1.Chunk().appendString(`// enqueue object\nabap.FunctionModules[\"ENQUEUE_${obj.getName().toUpperCase()}\"] = async (INPUT) => {\n const lookup = abap.Classes[\"KERNEL_LOCK\"];\n if (lookup === undefined) {\n throw new Error(\"Lock, kernel class missing\");\n }\n await lookup.enqueue(INPUT);\n};\nabap.FunctionModules[\"DEQUEUE_${obj.getName().toUpperCase()}\"] = async (INPUT) => {\n const lookup = abap.Classes[\"KERNEL_LOCK\"];\n if (lookup === undefined) {\n throw new Error(\"Lock, kernel class missing\");\n }\n await lookup.dequeue(INPUT);\n};`);\n const output = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: filename,\n chunk: chunk,\n requires: [],\n exports: [],\n };\n return [output];\n }\n}\nexports.HandleEnqu = HandleEnqu;\n//# sourceMappingURL=handle_enqu.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/handlers/handle_enqu.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/handlers/handle_msag.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/handlers/handle_msag.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HandleMSAG = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass HandleMSAG {\n runObject(obj, _reg) {\n var _a;\n const filename = (_a = obj.getXMLFile()) === null || _a === void 0 ? void 0 : _a.getFilename().replace(\".xml\", \".mjs\").toLowerCase();\n if (filename === undefined) {\n return [];\n }\n const chunk = new chunk_1.Chunk().appendString(`abap.MSAG[\"${obj.getName().toUpperCase()}\"] = {\\n`);\n for (const m of obj.getMessages()) {\n chunk.appendString(` \"${m.getNumber()}\": \"${m.getMessage().replace(/\"/g, `\\\\\"`)}\",\\n`);\n }\n chunk.appendString(`};`);\n const output = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: filename,\n chunk: chunk,\n requires: [],\n exports: [],\n };\n return [output];\n }\n}\nexports.HandleMSAG = HandleMSAG;\n//# sourceMappingURL=handle_msag.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/handlers/handle_msag.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/handlers/handle_smim.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/handlers/handle_smim.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HandleSMIM = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass HandleSMIM {\n runObject(obj, _reg) {\n var _a;\n const filename = (_a = obj.getXMLFile()) === null || _a === void 0 ? void 0 : _a.getFilename().replace(\".xml\", \".mjs\").toLowerCase();\n if (filename === undefined) {\n return [];\n }\n obj.parse();\n const dataFile = obj.getDataFile();\n const chunk = new chunk_1.Chunk().appendString(`abap.SMIM[\"${obj.getName().toUpperCase()}\"] = {\n \"objectType\": \"SMIM\",\n \"filename\": ${JSON.stringify(dataFile === null || dataFile === void 0 ? void 0 : dataFile.getFilename())},\n \"url\": ${JSON.stringify(obj.getURL())},\n \"class\": ${JSON.stringify(obj.getClass())},\n};`);\n const output = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: filename,\n chunk: chunk,\n requires: [],\n exports: [],\n };\n const ret = [output];\n if (dataFile) {\n const data = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: dataFile === null || dataFile === void 0 ? void 0 : dataFile.getFilename(),\n chunk: new chunk_1.Chunk().appendString(dataFile === null || dataFile === void 0 ? void 0 : dataFile.getRaw()),\n requires: [],\n exports: [],\n };\n ret.push(data);\n }\n return ret;\n }\n}\nexports.HandleSMIM = HandleSMIM;\n//# sourceMappingURL=handle_smim.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/handlers/handle_smim.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/handlers/handle_table.js": +/*!********************************************************************!*\ + !*** ../../packages/transpiler/build/src/handlers/handle_table.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HandleTable = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\n// tables or structures\nclass HandleTable {\n runObject(obj, reg) {\n var _a;\n const filename = (_a = obj.getXMLFile()) === null || _a === void 0 ? void 0 : _a.getFilename().replace(\".xml\", \".mjs\").toLowerCase();\n if (filename === undefined) {\n return [];\n }\n const type = obj.parseType(reg);\n const chunk = new chunk_1.Chunk().appendString(`abap.DDIC[\"${obj.getName().toUpperCase()}\"] = {\n \"objectType\": \"TABL\",\n \"type\": ${new transpile_types_1.TranspileTypes().toType(type)},\n \"keyFields\": ${JSON.stringify(obj.listKeys(reg))},\n};`);\n const output = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: filename,\n chunk: chunk,\n requires: [],\n exports: [],\n };\n return [output];\n }\n}\nexports.HandleTable = HandleTable;\n//# sourceMappingURL=handle_table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/handlers/handle_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/handlers/handle_table_type.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/handlers/handle_table_type.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HandleTableType = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nclass HandleTableType {\n runObject(obj, reg) {\n var _a;\n const filename = (_a = obj.getXMLFile()) === null || _a === void 0 ? void 0 : _a.getFilename().replace(\".xml\", \".mjs\").toLowerCase();\n if (filename === undefined) {\n return [];\n }\n const type = obj.parseType(reg);\n const chunk = new chunk_1.Chunk().appendString(`abap.DDIC[\"${obj.getName().toUpperCase()}\"] = {\n \"objectType\": \"TTYP\",\n \"type\": ${new transpile_types_1.TranspileTypes().toType(type)},\n};`);\n const output = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: filename,\n chunk: chunk,\n requires: [],\n exports: [],\n };\n return [output];\n }\n}\nexports.HandleTableType = HandleTableType;\n//# sourceMappingURL=handle_table_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/handlers/handle_table_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/handlers/handle_type_pool.js": +/*!************************************************************************!*\ + !*** ../../packages/transpiler/build/src/handlers/handle_type_pool.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HandleTypePool = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nclass HandleTypePool {\n runObject(obj, reg) {\n var _a;\n const spaghetti = (_a = new abaplint.SyntaxLogic(reg, obj).run().spaghetti.getFirstChild()) === null || _a === void 0 ? void 0 : _a.getFirstChild();\n const chunk = new chunk_1.Chunk();\n chunk.appendString(`const pool = {};\\n`);\n for (const v in spaghetti === null || spaghetti === void 0 ? void 0 : spaghetti.getData().vars) {\n const abs = spaghetti.getData().vars[v];\n const name = `pool['${v.toLowerCase()}']`;\n chunk.appendString(`${name} = ${new transpile_types_1.TranspileTypes().toType(abs.getType())};\\n`);\n chunk.appendString(traversal_1.Traversal.setValues(abs, name));\n }\n for (const t in spaghetti === null || spaghetti === void 0 ? void 0 : spaghetti.getData().types) {\n const abs = spaghetti.getData().types[t];\n chunk.appendString(`pool['${t.toLowerCase()}'] = ${new transpile_types_1.TranspileTypes().toType(abs.getType())};\\n`);\n }\n chunk.appendString(`abap.TypePools['${obj.getName()}'] = pool;`);\n const output = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: obj.getName().toLowerCase() + \".\" + obj.getType().toLowerCase() + \".mjs\",\n chunk: chunk,\n requires: [],\n exports: [],\n };\n return [output];\n }\n}\nexports.HandleTypePool = HandleTypePool;\n//# sourceMappingURL=handle_type_pool.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/handlers/handle_type_pool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/handlers/handle_view.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/handlers/handle_view.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HandleView = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\n// view, much like the tables\nclass HandleView {\n runObject(obj, reg) {\n var _a;\n const filename = (_a = obj.getXMLFile()) === null || _a === void 0 ? void 0 : _a.getFilename().replace(\".xml\", \".mjs\").toLowerCase();\n if (filename === undefined) {\n return [];\n }\n const type = obj.parseType(reg);\n const chunk = new chunk_1.Chunk().appendString(`abap.DDIC[\"${obj.getName().toUpperCase()}\"] = {\n \"objectType\": \"VIEW\",\n \"type\": ${new transpile_types_1.TranspileTypes().toType(type)},\n};`);\n // todo, \"keyFields\": ${JSON.stringify(obj.listKeys())},\n const output = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: filename,\n chunk: chunk,\n requires: [],\n exports: [],\n };\n return [output];\n }\n}\nexports.HandleView = HandleView;\n//# sourceMappingURL=handle_view.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/handlers/handle_view.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/handlers/handle_w3mi.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/handlers/handle_w3mi.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HandleW3MI = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass HandleW3MI {\n runObject(obj, _reg) {\n var _a;\n const filename = (_a = obj.getXMLFile()) === null || _a === void 0 ? void 0 : _a.getFilename().replace(\".xml\", \".mjs\").toLowerCase();\n if (filename === undefined) {\n return [];\n }\n obj.parse();\n const dataFile = obj.getDataFile();\n const chunk = new chunk_1.Chunk().appendString(`abap.W3MI[\"${obj.getName().toUpperCase()}\"] = {\n \"objectType\": \"W3MI\",\n \"filename\": ${JSON.stringify(dataFile === null || dataFile === void 0 ? void 0 : dataFile.getFilename())},\n};`);\n const output = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: filename,\n chunk: chunk,\n requires: [],\n exports: [],\n };\n const ret = [output];\n if (dataFile) {\n const data = {\n object: {\n name: obj.getName(),\n type: obj.getType(),\n },\n filename: dataFile === null || dataFile === void 0 ? void 0 : dataFile.getFilename(),\n chunk: new chunk_1.Chunk().appendString(dataFile === null || dataFile === void 0 ? void 0 : dataFile.getRaw()),\n requires: [],\n exports: [],\n };\n ret.push(data);\n }\n return ret;\n }\n}\nexports.HandleW3MI = HandleW3MI;\n//# sourceMappingURL=handle_w3mi.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/handlers/handle_w3mi.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/index.js": +/*!****************************************************!*\ + !*** ../../packages/transpiler/build/src/index.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Transpiler = exports.config = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst validation_1 = __webpack_require__(/*! ./validation */ \"../../packages/transpiler/build/src/validation.js\");\nObject.defineProperty(exports, \"config\", ({ enumerable: true, get: function () { return validation_1.config; } }));\nconst unit_test_1 = __webpack_require__(/*! ./unit_test */ \"../../packages/transpiler/build/src/unit_test.js\");\nconst keywords_1 = __webpack_require__(/*! ./keywords */ \"../../packages/transpiler/build/src/keywords.js\");\nconst db_1 = __webpack_require__(/*! ./db */ \"../../packages/transpiler/build/src/db/index.js\");\nconst handle_table_1 = __webpack_require__(/*! ./handlers/handle_table */ \"../../packages/transpiler/build/src/handlers/handle_table.js\");\nconst handle_abap_1 = __webpack_require__(/*! ./handlers/handle_abap */ \"../../packages/transpiler/build/src/handlers/handle_abap.js\");\nconst handle_data_element_1 = __webpack_require__(/*! ./handlers/handle_data_element */ \"../../packages/transpiler/build/src/handlers/handle_data_element.js\");\nconst handle_table_type_1 = __webpack_require__(/*! ./handlers/handle_table_type */ \"../../packages/transpiler/build/src/handlers/handle_table_type.js\");\nconst handle_view_1 = __webpack_require__(/*! ./handlers/handle_view */ \"../../packages/transpiler/build/src/handlers/handle_view.js\");\nconst handle_enqu_1 = __webpack_require__(/*! ./handlers/handle_enqu */ \"../../packages/transpiler/build/src/handlers/handle_enqu.js\");\nconst handle_type_pool_1 = __webpack_require__(/*! ./handlers/handle_type_pool */ \"../../packages/transpiler/build/src/handlers/handle_type_pool.js\");\nconst handle_w3mi_1 = __webpack_require__(/*! ./handlers/handle_w3mi */ \"../../packages/transpiler/build/src/handlers/handle_w3mi.js\");\nconst handle_smim_1 = __webpack_require__(/*! ./handlers/handle_smim */ \"../../packages/transpiler/build/src/handlers/handle_smim.js\");\nconst handle_msag_1 = __webpack_require__(/*! ./handlers/handle_msag */ \"../../packages/transpiler/build/src/handlers/handle_msag.js\");\nclass Transpiler {\n constructor(options) {\n this.options = options;\n if (this.options === undefined) {\n this.options = {};\n }\n if (this.options.unknownTypes === undefined) {\n this.options.unknownTypes = \"compileError\";\n }\n }\n // workaround for web/webpack\n async runRaw(files) {\n const memory = files.map(f => new abaplint.MemoryFile(f.filename, f.contents));\n const reg = new abaplint.Registry().addFiles(memory).parse();\n return new Transpiler().run(reg);\n }\n async run(reg, progress) {\n var _a, _b, _c, _d, _e;\n reg.parse();\n new keywords_1.Keywords((_a = this.options) === null || _a === void 0 ? void 0 : _a.keywords).handle(reg);\n this.validate(reg);\n const dbSetup = new db_1.DatabaseSetup(reg).run(this.options);\n const output = {\n objects: [],\n unitTestScript: new unit_test_1.UnitTest().unitTestScript(reg, (_b = this.options) === null || _b === void 0 ? void 0 : _b.skip),\n unitTestScriptOpen: new unit_test_1.UnitTest().unitTestScriptOpen(reg, (_c = this.options) === null || _c === void 0 ? void 0 : _c.skip),\n initializationScript: new unit_test_1.UnitTest().initializationScript(reg, dbSetup, (_d = this.options) === null || _d === void 0 ? void 0 : _d.extraSetup),\n initializationScript2: new unit_test_1.UnitTest().initializationScript(reg, dbSetup, (_e = this.options) === null || _e === void 0 ? void 0 : _e.extraSetup, true),\n databaseSetup: dbSetup,\n reg: reg,\n };\n progress === null || progress === void 0 ? void 0 : progress.set(reg.getObjectCount(false), \"Building\");\n for (const obj of reg.getObjects()) {\n await (progress === null || progress === void 0 ? void 0 : progress.tick(\"Building, \" + obj.getName()));\n if (obj instanceof abaplint.ABAPObject && !(obj instanceof abaplint.Objects.TypePool)) {\n output.objects.push(...new handle_abap_1.HandleABAP(this.options).runObject(obj, reg));\n }\n else if (obj instanceof abaplint.Objects.TypePool) {\n output.objects.push(...new handle_type_pool_1.HandleTypePool().runObject(obj, reg));\n }\n else if (obj instanceof abaplint.Objects.Table) {\n output.objects.push(...new handle_table_1.HandleTable().runObject(obj, reg));\n }\n else if (obj instanceof abaplint.Objects.View) {\n output.objects.push(...new handle_view_1.HandleView().runObject(obj, reg));\n }\n else if (obj instanceof abaplint.Objects.LockObject) {\n output.objects.push(...new handle_enqu_1.HandleEnqu().runObject(obj, reg));\n }\n else if (obj instanceof abaplint.Objects.DataElement) {\n output.objects.push(...new handle_data_element_1.HandleDataElement().runObject(obj, reg));\n }\n else if (obj instanceof abaplint.Objects.TableType) {\n output.objects.push(...new handle_table_type_1.HandleTableType().runObject(obj, reg));\n }\n else if (obj instanceof abaplint.Objects.MIMEObject) {\n output.objects.push(...new handle_smim_1.HandleSMIM().runObject(obj, reg));\n }\n else if (obj instanceof abaplint.Objects.WebMIME) {\n output.objects.push(...new handle_w3mi_1.HandleW3MI().runObject(obj, reg));\n }\n else if (obj instanceof abaplint.Objects.MessageClass) {\n output.objects.push(...new handle_msag_1.HandleMSAG().runObject(obj, reg));\n }\n }\n return output;\n }\n // ///////////////////////////////\n validate(reg) {\n const issues = new validation_1.Validation(this.options).run(reg);\n if (issues.length > 0) {\n const messages = issues.map(i => i.getKey() + \", \" +\n i.getMessage() + \", \" +\n i.getFilename() + \":\" +\n i.getStart().getRow());\n throw new Error(messages.join(\"\\n\"));\n }\n }\n}\nexports.Transpiler = Transpiler;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/keywords.js": +/*!*******************************************************!*\ + !*** ../../packages/transpiler/build/src/keywords.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Keywords = exports.defaultKeywords = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\n// https://www.w3schools.com/js/js_reserved.asp\nexports.defaultKeywords = [\n \"abstract\", \"arguments\", \"await\",\n \"break\", \"byte\", \"catch\",\n \"char\", \"class\", \"const\", \"continue\",\n \"debugger\", \"default\", \"do\",\n \"double\", \"else\", \"enum\", \"eval\",\n \"export\", \"extends\", \"false\", \"final\",\n \"finally\", \"for\", \"function\",\n \"goto\", \"if\", \"implements\", \"import\",\n \"in\", \"instanceof\", \"interface\",\n \"let\", \"long\", \"native\", \"new\",\n \"null\", \"package\", \"private\",\n \"public\", \"return\", \"short\", \"static\",\n \"switch\", \"synchronized\", \"this\",\n \"throw\", \"throws\", \"transient\", \"true\",\n \"try\", \"typeof\", \"var\", \"void\",\n \"volatile\", \"while\", \"yield\"\n];\n// \"with\"\n// \"delete\"\n/** Replaces javascript keywords in ABAP source code, in-memory only */\nclass Keywords {\n constructor(keywords) {\n this.keywords = [];\n if (keywords !== undefined) {\n this.keywords = keywords;\n }\n else {\n this.keywords = exports.defaultKeywords;\n }\n }\n handle(reg) {\n reg.parse();\n for (const o of reg.getObjects()) {\n if (!(o instanceof abaplint.ABAPObject)) {\n continue;\n }\n for (const f of o.getABAPFiles()) {\n const tokens = [];\n for (const s of f.getStatements()) {\n tokens.push(...this.traverse(s, f));\n }\n if (tokens.length === 0) {\n continue;\n }\n const rows = f.getRawRows();\n for (const t of tokens.reverse()) {\n const original = rows[t.getRow() - 1];\n const index = t.getEnd().getCol() - 1;\n rows[t.getRow() - 1] = original.substring(0, index) + \"_\" + original.substring(index);\n }\n reg.updateFile(new abaplint.MemoryFile(f.getFilename(), rows.join(\"\\n\")));\n }\n }\n reg.parse();\n }\n traverse(node, file) {\n const ret = [];\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.TokenNodeRegex) {\n const token = c.getFirstToken();\n const start = token.getStart();\n if (start instanceof abaplint.VirtualPosition) {\n continue;\n }\n for (const k of this.keywords) {\n const lower = token.getStr().toLowerCase();\n if (k === lower\n || \"!\" + k === lower\n || lower.endsWith(\"~\" + k)) {\n ret.push(token);\n break;\n }\n }\n }\n else if (c instanceof abaplint.Nodes.TokenNode) {\n continue;\n }\n else {\n ret.push(...this.traverse(c, file));\n }\n }\n return ret;\n }\n}\nexports.Keywords = Keywords;\n//# sourceMappingURL=keywords.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/keywords.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/rearranger.js": +/*!*********************************************************!*\ + !*** ../../packages/transpiler/build/src/rearranger.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Rearranger = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\n// this rearranges the AST to take precedence into account\nclass Rearranger {\n run(type, node) {\n if (!node) {\n return undefined;\n }\n if (type === \"INTF\") {\n // no arithmethic expressions in global interfaces\n return node;\n }\n const flattened = this.flatten(node);\n const rebuilt = this.rebuild(flattened);\n return rebuilt;\n }\n /////////////////\n rebuild(node) {\n if (node instanceof core_1.Nodes.TokenNode) {\n return node;\n }\n const children = node.getChildren();\n children.forEach(this.rebuild.bind(this));\n if (node instanceof core_1.Nodes.ExpressionNode) {\n this.precedence(node);\n }\n return node;\n }\n // this takes a single flattened node, and splits into binary nodes according to precedence and left to right processing\n precedence(node) {\n const children = node.getChildren();\n const arith = node.findDirectExpressions(core_1.Expressions.ArithOperator);\n // after flattening it might have multiple operators under the samenode\n if (arith.length <= 1) {\n return;\n }\n let splitAt;\n // multiplication/division and left to right\n for (let i = arith.length - 1; i >= 0; i--) {\n const a = arith[i];\n if (a.concatTokens() === \"*\"\n || a.concatTokens() === \"/\"\n || a.concatTokens() === \"**\"\n || a.concatTokens() === \"MOD\"\n || a.concatTokens() === \"DIV\") {\n continue;\n }\n splitAt = a;\n break;\n }\n // fallback\n if (splitAt === undefined) {\n splitAt = arith[arith.length - 1];\n }\n const index = children.indexOf(splitAt);\n let left = [];\n {\n const lhs = children.slice(0, index);\n if (lhs.length > 1) {\n const temp = new core_1.Nodes.ExpressionNode(node.get());\n temp.setChildren(lhs);\n this.precedence(temp);\n left.push(temp);\n }\n else {\n left = lhs;\n }\n }\n let right = [];\n {\n const rhs = children.slice(index + 1);\n if (rhs.length > 1) {\n const temp = new core_1.Nodes.ExpressionNode(node.get());\n temp.setChildren(rhs);\n this.precedence(temp);\n right.push(temp);\n }\n else {\n right = rhs;\n }\n }\n node.setChildren(left.concat([splitAt]).concat(right));\n }\n // this flattens the arithmethic expressions so all related is under the same node\n flatten(node) {\n if (node instanceof core_1.Nodes.TokenNode) {\n return node;\n }\n const children = node.getChildren();\n children.forEach(this.flatten.bind(this));\n const last = children[children.length - 1];\n const secondLast = children[children.length - 2];\n if (last === undefined\n || secondLast === undefined\n || !(last instanceof core_1.Nodes.ExpressionNode)\n || !(last.get() instanceof core_1.Expressions.Source)\n || !(secondLast instanceof core_1.Nodes.ExpressionNode)\n || !(secondLast.get() instanceof core_1.Expressions.ArithOperator)) {\n return node;\n }\n const withoutLast = node.getChildren().slice(0, children.length - 1);\n const flat = withoutLast.concat(last.getChildren());\n node.setChildren(flat);\n return node;\n }\n}\nexports.Rearranger = Rearranger;\n//# sourceMappingURL=rearranger.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/rearranger.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/requires.js": +/*!*******************************************************!*\ + !*** ../../packages/transpiler/build/src/requires.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Requires = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nclass Requires {\n constructor(reg) {\n this.reg = reg;\n }\n // todo, refactor this method\n find(obj, _node, filename) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const ret = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n const add = function (req) {\n if (req === undefined || req.filename === filename) {\n return;\n }\n // skip if already in the list\n for (const r of ret) {\n if (r.filename === req.filename && r.name === req.name) {\n return;\n }\n }\n ret.push(req);\n };\n if (obj.getType() === \"CLAS\") {\n // add the superclass\n const clas = obj;\n const sup = (_b = (_a = clas.getDefinition()) === null || _a === void 0 ? void 0 : _a.getSuperClass()) === null || _b === void 0 ? void 0 : _b.toLowerCase().replace(/\\//g, \"#\");\n if (sup) {\n add({ filename: sup + \".clas.abap\", name: (_d = (_c = clas.getDefinition()) === null || _c === void 0 ? void 0 : _c.getSuperClass()) === null || _d === void 0 ? void 0 : _d.toLowerCase() });\n }\n for (const f of clas.getSequencedFiles()) {\n if (filename.endsWith(\".testclasses.abap\")) {\n // add the global class, in case its inherited by a local testclass\n add({ filename: ((_e = clas.getMainABAPFile()) === null || _e === void 0 ? void 0 : _e.getFilename()) || \"\", name: obj.getName().toLowerCase() });\n }\n if (f.getFilename() === filename\n || f.getFilename().endsWith(\".clas.testclasses.abap\")\n || f.getFilename().endsWith(\".clas.macros.abap\")\n || f.getFilename() === ((_f = clas.getMainABAPFile()) === null || _f === void 0 ? void 0 : _f.getFilename())) {\n continue;\n }\n let foo = f.getFilename();\n foo = foo.replace(\".clas.locals_imp.abap\", \".clas.locals.abap\");\n foo = foo.replace(\".clas.locals_def.abap\", \".clas.locals.abap\");\n let name = undefined;\n if (filename.endsWith(\".testclasses.abap\")) {\n name = f.getInfo().listClassDefinitions().map(c => c.name).join(\",\");\n }\n add({\n filename: foo,\n name: name,\n });\n }\n }\n // always add CX_ROOT, it is used for CATCH, no catches in global interfaces\n // todo, it might be possible to remove this, as CATCH uses instanceof with dynamic registered classes\n if (obj.getType() !== \"INTF\") {\n const cx = this.reg.getObject(\"CLAS\", \"CX_ROOT\");\n if (cx && cx instanceof abaplint.ABAPObject) {\n const main = (_g = cx.getMainABAPFile()) === null || _g === void 0 ? void 0 : _g.getFilename();\n if (main) {\n add({\n filename: main,\n name: cx.getName().toLowerCase(),\n });\n }\n }\n // include global super classes for local class definitions\n for (const f of obj.getSequencedFiles()) {\n for (const c of f.getInfo().listClassDefinitions()) {\n if (c.superClassName === undefined) {\n continue;\n }\n const found = this.reg.getObject(\"CLAS\", c.superClassName);\n if (found && found instanceof abaplint.ABAPObject) {\n const main = (_h = found.getMainABAPFile()) === null || _h === void 0 ? void 0 : _h.getFilename();\n if (main) {\n add({\n filename: main,\n name: found.getName().toLowerCase(),\n });\n }\n }\n }\n }\n }\n return ret;\n }\n}\nexports.Requires = Requires;\n//# sourceMappingURL=requires.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/requires.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/add.js": +/*!*************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/add.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AddTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AddTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n const source = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\n const ret = new chunk_1.Chunk();\n ret.appendChunk(target);\n ret.append(\".set(abap.operators.add(\", node, traversal);\n ret.appendChunk(target);\n ret.append(\",\", node, traversal);\n ret.appendChunk(source);\n ret.append(\"));\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.AddTranspiler = AddTranspiler;\n//# sourceMappingURL=add.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/add.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/append.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/append.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AppendTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AppendTranspiler {\n transpile(node, traversal) {\n const concat = node.concatTokens().toUpperCase();\n const t = node.findDirectExpression(abaplint.Expressions.Target);\n let target = undefined;\n if (t) {\n target = traversal.traverse(t);\n }\n if (concat.includes(\"INITIAL LINE\") && target) {\n const assigning = node.findExpressionAfterToken(\"ASSIGNING\");\n const into = node.findExpressionAfterToken(\"INTO\");\n if (assigning) {\n const found = assigning.findFirstExpression(abaplint.Expressions.FieldSymbol);\n const fs = traversal.traverse(found).getCode();\n return new chunk_1.Chunk(fs + \".assign(\" + target.getCode() + \".appendInitial());\");\n }\n else if (into) {\n const ref = traversal.traverse(into).getCode();\n return new chunk_1.Chunk(ref + \".assign(\" + target.getCode() + \".appendInitial());\");\n }\n else {\n return new chunk_1.Chunk(target.getCode() + \".appendInitial();\");\n }\n }\n else {\n const options = [];\n const s = node.findDirectExpression(abaplint.Expressions.SimpleSource4);\n if (s) {\n const option = new chunk_1.Chunk().appendString(\"source: \");\n option.appendChunk(traversal.traverse(s));\n options.push(option);\n }\n const assigning = node.findExpressionAfterToken(\"ASSIGNING\");\n if (assigning) {\n const option = new chunk_1.Chunk().appendString(\"assigning: \");\n option.appendChunk(traversal.traverse(assigning.findFirstExpression(abaplint.Expressions.FieldSymbol)));\n options.push(option);\n }\n const referenceInto = node.findExpressionAfterToken(\"INTO\");\n if (referenceInto && referenceInto.get() instanceof abaplint.Expressions.Target) {\n options.push(new chunk_1.Chunk().appendString(\"referenceInto: \" + traversal.traverse(referenceInto).getCode()));\n }\n const to = node.findExpressionAfterToken(\"TO\");\n if (to && to.get() instanceof abaplint.Expressions.Source) {\n options.push(new chunk_1.Chunk().appendString(\"to: \" + traversal.traverse(to).getCode()));\n }\n const from = node.findExpressionAfterToken(\"FROM\");\n if (from) {\n options.push(new chunk_1.Chunk().appendString(\"from: \" + traversal.traverse(from).getCode()));\n }\n if (concat.startsWith(\"APPEND LINES OF \")) {\n options.push(new chunk_1.Chunk().appendString(\"lines: true\"));\n }\n if (target) {\n options.push(new chunk_1.Chunk().appendString(\"target: \").appendChunk(target));\n }\n const ret = new chunk_1.Chunk();\n ret.append(\"abap.statements.append({\", node, traversal);\n ret.join(options);\n ret.append(\"});\", node.getLastToken(), traversal);\n return ret;\n }\n }\n}\nexports.AppendTranspiler = AppendTranspiler;\n//# sourceMappingURL=append.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/append.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/assert.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/assert.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AssertTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AssertTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n ret.append(\"abap.statements.assert(\", node, traversal);\n ret.appendChunk(traversal.traverse(node.findDirectExpression(abaplint.Expressions.Cond)));\n ret.append(\");\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.AssertTranspiler = AssertTranspiler;\n//# sourceMappingURL=assert.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/assert.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/assign.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/assign.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AssignTranspiler = void 0;\n/* eslint-disable max-len */\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AssignTranspiler {\n transpile(node, traversal) {\n var _a, _b;\n const assignSource = node.findDirectExpression(abaplint.Expressions.AssignSource);\n const sources = (assignSource === null || assignSource === void 0 ? void 0 : assignSource.findDirectExpressions(abaplint.Expressions.Source).map(e => new expressions_1.SourceTranspiler(false).transpile(e, traversal).getCode())) || [];\n const fs = new expressions_1.FieldSymbolTranspiler().transpile(node.findDirectExpression(abaplint.Expressions.FSTarget), traversal).getCode();\n const options = [];\n const concat = node.concatTokens().toUpperCase();\n if (concat.startsWith(\"ASSIGN COMPONENT \")) {\n options.push(\"component: \" + sources.shift());\n }\n options.push(\"target: \" + fs);\n if (sources.length !== 0\n && (assignSource === null || assignSource === void 0 ? void 0 : assignSource.findDirectExpression(abaplint.Expressions.Dynamic)) === undefined) {\n options.push(\"source: \" + sources.pop());\n }\n else {\n let dynamicName = \"\";\n for (const c of (assignSource === null || assignSource === void 0 ? void 0 : assignSource.getChildren()) || []) {\n if (c instanceof abaplint.Nodes.ExpressionNode\n && c.get() instanceof abaplint.Expressions.Dynamic\n && c.findFirstExpression(abaplint.Expressions.ConstantString)) {\n if (dynamicName !== \"\") {\n dynamicName += \" + \";\n }\n dynamicName += (_a = c.findFirstExpression(abaplint.Expressions.ConstantString)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr();\n }\n else if (c instanceof abaplint.Nodes.ExpressionNode\n && c.get() instanceof abaplint.Expressions.Dynamic\n && c.findDirectExpression(abaplint.Expressions.FieldChain)) {\n if (dynamicName !== \"\") {\n dynamicName += \" + \";\n }\n dynamicName += new expressions_1.FieldChainTranspiler(true).transpile(c.findDirectExpression(abaplint.Expressions.FieldChain), traversal).getCode();\n }\n else if (c.concatTokens() === \"(\" || c.concatTokens() === \")\") {\n continue;\n }\n else if (c.concatTokens() === \"=>\" || c.concatTokens() === \"->\") {\n dynamicName += \" + '\" + c.concatTokens() + \"'\";\n }\n else {\n if (dynamicName !== \"\") {\n dynamicName += \" + \";\n }\n dynamicName += \"'\" + c.concatTokens() + \"'\";\n }\n }\n options.push(`dynamicName: ` + dynamicName);\n // dynamicSource is the first part of the dynamic part\n const first = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getFirstChild();\n if ((first === null || first === void 0 ? void 0 : first.get()) instanceof abaplint.Expressions.Dynamic && first instanceof abaplint.Nodes.ExpressionNode) {\n const firstFirst = first.getChildren()[1];\n if ((firstFirst === null || firstFirst === void 0 ? void 0 : firstFirst.get()) instanceof abaplint.Expressions.Constant) {\n const s = (_b = firstFirst.getFirstToken().getStr().toLowerCase().match(/\\w+/)) === null || _b === void 0 ? void 0 : _b.toString();\n options.push(`dynamicSource: (() => {\n try { return ${s}; } catch {}\n try { return this.${s}; } catch {}\n })()`);\n }\n else if ((firstFirst === null || firstFirst === void 0 ? void 0 : firstFirst.get()) instanceof abaplint.Expressions.FieldChain && firstFirst instanceof abaplint.Nodes.ExpressionNode) {\n const code = new expressions_1.FieldChainTranspiler(true).transpile(firstFirst, traversal).getCode();\n options.push(`dynamicSource: (() => {\n const name = ${code}.toLowerCase().replace(/[~\\\\/]/g, \"$\").match(/[\\\\w\\\\$\\\\/]+/)[0];\n try { return eval(name); } catch {}\n try { return eval(\"this.\" + name); } catch {}\n })()`);\n }\n }\n else if ((first === null || first === void 0 ? void 0 : first.get()) instanceof abaplint.Expressions.Source && first instanceof abaplint.Nodes.ExpressionNode) {\n // const name = first.concatTokens().toLowerCase();\n const name = new expressions_1.SourceTranspiler().transpile(first, traversal).getCode();\n options.push(`dynamicSource: (() => {\n try { return ${name}; } catch {}\n try { return this.${name}; } catch {}\n })()`);\n }\n }\n if (concat.endsWith(\" CASTING.\") || concat.includes(\" CASTING TYPE \")) {\n options.push(\"casting: true\");\n }\n return new chunk_1.Chunk().append(\"abap.statements.assign({\", node, traversal)\n .appendString(options.join(\", \"))\n .append(\"});\", node.getLastToken(), traversal);\n }\n}\nexports.AssignTranspiler = AssignTranspiler;\n//# sourceMappingURL=assign.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/assign.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/at.js": +/*!************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/at.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AtTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"At, transpiler todo\");`);\n }\n}\nexports.AtTranspiler = AtTranspiler;\n//# sourceMappingURL=at.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/at.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/at_selection_screen.js": +/*!*****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/at_selection_screen.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtSelectionScreenTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AtSelectionScreenTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"AtSelectionScreen, not supported, transpiler\");`);\n }\n}\nexports.AtSelectionScreenTranspiler = AtSelectionScreenTranspiler;\n//# sourceMappingURL=at_selection_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/at_selection_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/authority_check.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/authority_check.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorityCheckTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AuthorityCheckTranspiler {\n transpile(node, traversal) {\n const lookup = traversal.lookupClassOrInterface(\"KERNEL_AUTHORITY_CHECK\", node.getFirstToken());\n const options = [];\n // todo\n const call = `await ${lookup}.call({${options.join(\",\")}});`;\n return new chunk_1.Chunk().append(`if (${lookup} === undefined) throw new Error(\"AuthorityCheck, kernel class missing\");\\n${call}`, node, traversal);\n }\n}\nexports.AuthorityCheckTranspiler = AuthorityCheckTranspiler;\n//# sourceMappingURL=authority_check.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/authority_check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/break.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/break.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BreakTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass BreakTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"debugger;\", node, traversal);\n }\n}\nexports.BreakTranspiler = BreakTranspiler;\n//# sourceMappingURL=break.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/break.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/break_id.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/break_id.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BreakIdTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass BreakIdTranspiler {\n transpile(_node, _traversal) {\n // for now, do nothing\n return new chunk_1.Chunk(``);\n }\n}\nexports.BreakIdTranspiler = BreakIdTranspiler;\n//# sourceMappingURL=break_id.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/break_id.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/call.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/call.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass CallTranspiler {\n transpile(node, traversal) {\n var _a, _b, _c, _d;\n const chain = node.findDirectExpression(abaplint.Expressions.MethodCallChain);\n if (chain) {\n let pre = \"\";\n let post = \"\";\n const receiving = (_b = (_a = chain.findFirstExpression(abaplint.Expressions.MethodParameters)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(abaplint.Expressions.ParameterT)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(abaplint.Expressions.Target);\n if (receiving) {\n pre = traversal.traverse(receiving).getCode() + \".set(\";\n post = \")\";\n }\n post += \";\";\n const exceptions = node.findFirstExpression(abaplint.Expressions.ParameterListExceptions);\n if (exceptions) {\n const build = CallTranspiler.buildExceptions(exceptions);\n pre = build.pre + pre;\n post += build.post;\n }\n const chainChunk = traversal.traverse(chain);\n let chainCode = chainChunk.getCode();\n if (chainCode.startsWith(\"await super.constructor(\")) {\n // semantics of constructors in JS vs ABAP is different, so the \"constructor_\" has been introduced,\n chainCode = chainCode.replace(\"await super.constructor(\", \"await super.constructor_(\");\n }\n return new chunk_1.Chunk()\n .appendString(pre)\n .appendString(chainCode)\n .append(post, node.getLastToken(), traversal);\n }\n const methodSource = node.findDirectExpression(abaplint.Expressions.MethodSource);\n if (methodSource) {\n let body = \"\";\n const nameToken = (_c = methodSource.getLastChild()) === null || _c === void 0 ? void 0 : _c.getFirstToken();\n const m = nameToken ? traversal.findMethodReference(nameToken, traversal.findCurrentScopeByToken(nameToken)) : undefined;\n const methodCallBody = node.findDirectExpression(abaplint.Expressions.MethodCallBody);\n if (methodCallBody) {\n body = new expressions_1.MethodCallBodyTranspiler(m === null || m === void 0 ? void 0 : m.def).transpile(methodCallBody, traversal).getCode();\n }\n let pre = \"\";\n let post = \"\";\n const receiving = (_d = node.findFirstExpression(abaplint.Expressions.MethodParameters)) === null || _d === void 0 ? void 0 : _d.findExpressionAfterToken(\"RECEIVING\");\n if (receiving) {\n const target = traversal.traverse(receiving.findDirectExpression(abaplint.Expressions.Target));\n pre = target.getCode() + \".set(\";\n post = \")\";\n }\n const exceptions = node.findFirstExpression(abaplint.Expressions.ParameterListExceptions);\n if (exceptions) {\n const build = CallTranspiler.buildExceptions(exceptions);\n pre = build.pre + pre;\n post += build.post;\n }\n let ms = new expressions_1.MethodSourceTranspiler(pre).transpile(methodSource, traversal).getCode();\n if (ms === \"await super.get().constructor\") {\n // semantics of constructors in JS vs ABAP is different, so the \"constructor_\" has been introduced,\n ms = \"await super.constructor_\";\n }\n else if (ms.startsWith(\"await super.get()\")) {\n ms = ms.replace(\"await super.get()\", \"await super\");\n }\n return new chunk_1.Chunk().appendString(ms).appendString(\"(\" + body + \")\" + post + \";\");\n }\n throw new Error(\"CallTranspiler, todo\");\n }\n static buildExceptions(node) {\n var _a;\n let pre = \"\";\n let post = \"\";\n pre = \"try {\\n\" + pre;\n post += `\\nabap.builtin.sy.get().subrc.set(0);\n} catch (e) {\nif (e.classic) {\n switch (e.classic.toUpperCase()) {\\n`;\n for (const e of node.findAllExpressions(abaplint.Expressions.ParameterException)) {\n const name = e.getFirstToken().getStr().toUpperCase();\n const value = (_a = e.findFirstExpression(abaplint.Expressions.SimpleName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr().toUpperCase();\n if (value === undefined) {\n continue;\n }\n if (name === \"OTHERS\") {\n post += `default: abap.builtin.sy.get().subrc.set(${value}); break;\\n`;\n }\n else {\n post += `case \"${name}\": abap.builtin.sy.get().subrc.set(${value}); break;\\n`;\n }\n }\n post += ` }\n} else {\n throw e;\n}\n}`;\n return { pre, post };\n }\n}\nexports.CallTranspiler = CallTranspiler;\n//# sourceMappingURL=call.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/call.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/call_function.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/call_function.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallFunctionTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst call_1 = __webpack_require__(/*! ./call */ \"../../packages/transpiler/build/src/statements/call.js\");\nclass CallFunctionTranspiler {\n transpile(node, traversal) {\n var _a, _b;\n const fmchild = (_a = node.findDirectExpression(abaplint.Expressions.FunctionName)) === null || _a === void 0 ? void 0 : _a.getFirstChild();\n if (fmchild === undefined) {\n throw new Error(\"CallFunctionTranspilerNameNotFound\");\n }\n let fmname = \"\";\n if (fmchild instanceof abaplint.Nodes.ExpressionNode\n && fmchild.get() instanceof abaplint.Expressions.FieldChain) {\n fmname = new expressions_1.FieldChainTranspiler(true).transpile(fmchild, traversal).getCode();\n fmname = fmname + \".trimEnd()\";\n }\n else {\n fmname = fmchild.concatTokens().toUpperCase();\n }\n let param = \"\";\n const fmp = node.findDirectExpression(abaplint.Expressions.FunctionParameters);\n if (fmp) {\n param = traversal.traverse(fmp).getCode();\n }\n const ret = new chunk_1.Chunk();\n const exceptions = node.findFirstExpression(abaplint.Expressions.ParameterListExceptions);\n if (exceptions) {\n ret.appendString(\"try {\\n\");\n }\n const dest = (_b = node.findDirectExpression(abaplint.Expressions.Destination)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(abaplint.Expressions.Source);\n if (dest) {\n const s = new expressions_1.SourceTranspiler(true).transpile(dest, traversal);\n param = param.replace(\"{\", \",\").replace(/}$/, \"\");\n ret.appendString(`await abap.statements.callFunction({name:${fmname},destination:${s.getCode()}${param}});`);\n }\n else {\n ret.appendString(`await abap.FunctionModules[${fmname}](${param});`);\n }\n if (exceptions) {\n const build = call_1.CallTranspiler.buildExceptions(exceptions);\n ret.appendString(build.post);\n }\n return ret;\n }\n}\nexports.CallFunctionTranspiler = CallFunctionTranspiler;\n//# sourceMappingURL=call_function.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/call_function.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/call_kernel.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/call_kernel.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallKernelTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CallKernelTranspiler {\n transpile(node, traversal) {\n const lookup = traversal.lookupClassOrInterface(\"KERNEL_CALL\", node.getFirstToken());\n const options = [];\n const name = traversal.traverse(node.getChildren()[1]);\n options.push(\"name: \" + name.getCode());\n for (const id of node.findDirectExpressions(abaplint.Expressions.KernelId)) {\n const key = id.getChildren()[1].concatTokens().replace(/'/g, \"\").toLowerCase();\n const value = traversal.traverse(id.getChildren()[3]);\n options.push(key + \": \" + value.getCode());\n }\n const call = `await ${lookup}.call({${options.join(\",\")}});`;\n return new chunk_1.Chunk().append(`if (${lookup} === undefined) throw new Error(\"Call kernel class missing\");\\n${call}`, node, traversal);\n }\n}\nexports.CallKernelTranspiler = CallKernelTranspiler;\n//# sourceMappingURL=call_kernel.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/call_kernel.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/call_screen.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/call_screen.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallScreenTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CallScreenTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"CallScreen, not supported, transpiler\");`);\n }\n}\nexports.CallScreenTranspiler = CallScreenTranspiler;\n//# sourceMappingURL=call_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/call_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/call_transaction.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/call_transaction.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransactionTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CallTransactionTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"CallTransaction, not supported, transpiler\");`);\n }\n}\nexports.CallTransactionTranspiler = CallTransactionTranspiler;\n//# sourceMappingURL=call_transaction.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/call_transaction.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/call_transformation.js": +/*!*****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/call_transformation.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransformationTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CallTransformationTranspiler {\n transpile(node, traversal) {\n var _a;\n const lookup = traversal.lookupClassOrInterface(\"KERNEL_CALL_TRANSFORMATION\", node.getFirstToken());\n const options = [];\n const name = (_a = node.findDirectExpression(abaplint.Expressions.NamespaceSimpleName)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n options.push(\"name: \\\"\" + name + \"\\\"\");\n const sourceXML = node.findDirectExpression(abaplint.Expressions.SimpleSource3);\n if (sourceXML) {\n options.push(\"sourceXML: \" + traversal.traverse(sourceXML).getCode());\n }\n const resultXML = node.findDirectExpression(abaplint.Expressions.Target);\n if (resultXML) {\n options.push(\"resultXML: \" + traversal.traverse(resultXML).getCode());\n }\n const callOptions = node.findExpressionAfterToken(\"OPTIONS\");\n if (callOptions) {\n options.push(\"options: \" + traversal.traverse(callOptions).getCode());\n }\n const result = node.findExpressionAfterToken(\"RESULT\");\n if (result && result.get() instanceof abaplint.Expressions.CallTransformationParameters) {\n options.push(\"result: \" + traversal.traverse(result).getCode());\n }\n const source = node.findExpressionAfterToken(\"SOURCE\");\n if (source && source.get() instanceof abaplint.Expressions.CallTransformationParameters) {\n options.push(\"source: \" + traversal.traverse(source).getCode());\n }\n const call = `await ${lookup}.call({${options.join(\",\")}});`;\n return new chunk_1.Chunk().append(`if (${lookup} === undefined) throw new Error(\"CallTransformation, kernel class missing\");\\n${call}`, node, traversal);\n }\n}\nexports.CallTransformationTranspiler = CallTransformationTranspiler;\n//# sourceMappingURL=call_transformation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/call_transformation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/case.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/case.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CaseTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CaseTranspiler {\n transpile(node, traversal) {\n const source = new expressions_1.SourceTranspiler(true).transpile(node.findDirectExpression(abaplint.Expressions.Source), traversal);\n return new chunk_1.Chunk()\n .append(\"switch (\", node, traversal)\n .appendChunk(source)\n .append(\") {\", node.getLastToken(), traversal);\n }\n}\nexports.CaseTranspiler = CaseTranspiler;\n//# sourceMappingURL=case.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/check.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/check.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/build/src/statements/index.js\");\nclass CheckTranspiler {\n transpile(node, traversal) {\n const cond = traversal.traverse(node.findFirstExpression(abaplint.Expressions.Cond));\n const ret = new chunk_1.Chunk();\n ret.append(\"if (!(\", node, traversal);\n ret.appendChunk(cond);\n ret.appendString(\")) {\\n\");\n if (traversal.isInsideLoop(node)) {\n ret.appendString(\"continue;\");\n }\n else {\n ret.appendChunk(new _1.ReturnTranspiler().transpile(node, traversal));\n }\n ret.append(\"\\n}\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.CheckTranspiler = CheckTranspiler;\n//# sourceMappingURL=check.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/class_deferred.js": +/*!************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/class_deferred.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDeferredTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ClassDeferredTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(\"\");\n }\n}\nexports.ClassDeferredTranspiler = ClassDeferredTranspiler;\n//# sourceMappingURL=class_deferred.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/class_deferred.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/class_definition_load.js": +/*!*******************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/class_definition_load.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDefinitionLoadTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ClassDefinitionLoadTranspiler {\n transpile(_node, _traversal) {\n // for now, do nothing\n return new chunk_1.Chunk(``);\n }\n}\nexports.ClassDefinitionLoadTranspiler = ClassDefinitionLoadTranspiler;\n//# sourceMappingURL=class_definition_load.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/class_definition_load.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/class_implementation.js": +/*!******************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/class_implementation.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassImplementationTranspiler = void 0;\n/* eslint-disable max-len */\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ClassImplementationTranspiler {\n transpile(node, traversal) {\n var _a;\n const token = node.findFirstExpression(abaplint.Expressions.ClassName).getFirstToken();\n const def = traversal.getClassDefinition(token);\n let ret = \"class \" + traversal_1.Traversal.escapeNamespace(token.getStr().toLowerCase());\n if (token.getStr().toLowerCase() === \"cx_root\") {\n // special case for exceptions\n ret += \" extends Error\";\n }\n else if (def === null || def === void 0 ? void 0 : def.getSuperClass()) {\n ret += \" extends \" + traversal_1.Traversal.escapeNamespace((_a = def === null || def === void 0 ? void 0 : def.getSuperClass()) === null || _a === void 0 ? void 0 : _a.toLowerCase());\n }\n const scope = traversal.findCurrentScopeByToken(token);\n return new chunk_1.Chunk().append(ret + ` {\nstatic INTERNAL_TYPE = 'CLAS';\nstatic INTERNAL_NAME = '${traversal.buildInternalName(token.getStr(), def)}';\nstatic IMPLEMENTED_INTERFACES = [${this.findImplementedByClass(traversal, def, scope).map(e => `\"` + e.toUpperCase() + `\"`).join(\",\")}];\nstatic ATTRIBUTES = {${traversal.buildAttributes(def, scope).join(\",\\n\")}};\nstatic METHODS = {${traversal.buildMethods(def, scope).join(\",\\n\")}};`, node, traversal);\n }\n findImplementedInterface(traversal, def, scope) {\n if (def === undefined || scope === undefined) {\n return [];\n }\n const list = def.getImplementing().map(i => i.name.toUpperCase());\n for (const i of def.getImplementing()) {\n const idef = traversal.findInterfaceDefinition(i.name, scope);\n list.push(...this.findImplementedInterface(traversal, idef, scope));\n }\n return list;\n }\n findImplementedByClass(traversal, def, scope) {\n if (def === undefined || scope === undefined) {\n return [];\n }\n const list = def.getImplementing().map(i => i.name.toUpperCase());\n for (const i of def.getImplementing()) {\n const idef = traversal.findInterfaceDefinition(i.name, scope);\n list.push(...this.findImplementedInterface(traversal, idef, scope));\n }\n let sup = def.getSuperClass();\n while (sup !== undefined) {\n const sdef = traversal.findClassDefinition(sup, scope);\n list.push(...this.findImplementedByClass(traversal, sdef, scope));\n sup = sdef === null || sdef === void 0 ? void 0 : sdef.getSuperClass();\n }\n return list;\n }\n}\nexports.ClassImplementationTranspiler = ClassImplementationTranspiler;\n//# sourceMappingURL=class_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/class_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/class_local_friends.js": +/*!*****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/class_local_friends.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassLocalFriendsTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ClassLocalFriendsTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(\"\");\n }\n}\nexports.ClassLocalFriendsTranspiler = ClassLocalFriendsTranspiler;\n//# sourceMappingURL=class_local_friends.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/class_local_friends.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/clear.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/clear.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClearTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ClearTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n const ret = new chunk_1.Chunk();\n ret.append(\"abap.statements.clear(\", node, traversal);\n ret.appendChunk(target);\n ret.append(\");\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.ClearTranspiler = ClearTranspiler;\n//# sourceMappingURL=clear.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/clear.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/close_dataset.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/close_dataset.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CloseDatasetTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CloseDatasetTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"CloseDataset, not supported, transpiler\");`);\n }\n}\nexports.CloseDatasetTranspiler = CloseDatasetTranspiler;\n//# sourceMappingURL=close_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/close_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/collect.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/collect.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CollectTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CollectTranspiler {\n transpile(node, traversal) {\n const source = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n const fstarget = node.findDirectExpression(abaplint.Expressions.FSTarget);\n if (fstarget) {\n return new chunk_1.Chunk(`throw new Error(\"Collect, transpiler todo\");`);\n }\n return new chunk_1.Chunk()\n .appendString(\"abap.statements.collect(\")\n .appendChunk(source)\n .appendString(\",\")\n .appendChunk(target)\n .appendString(\");\");\n }\n}\nexports.CollectTranspiler = CollectTranspiler;\n//# sourceMappingURL=collect.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/collect.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/commit.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/commit.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CommitTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CommitTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"abap.statements.commit();\", node, traversal);\n }\n}\nexports.CommitTranspiler = CommitTranspiler;\n//# sourceMappingURL=commit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/commit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/concatenate.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/concatenate.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConcatenateTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ConcatenateTranspiler {\n transpile(node, traversal) {\n var _a;\n const concat = node.concatTokens().toUpperCase();\n const slist = [];\n for (const s of node.findDirectExpressions(abaplint.Expressions.Source)) {\n slist.push(traversal.traverse(s));\n }\n let extra = \"\";\n if (node.findExpressionAfterToken(\"BY\")) {\n extra = `, separatedBy: ${(_a = slist.pop()) === null || _a === void 0 ? void 0 : _a.getCode()}`;\n }\n if (concat.startsWith(\"CONCATENATE LINES OF \")) {\n extra += \", lines: true\";\n }\n if (concat.includes(\" RESPECTING BLANKS\")) {\n extra += \", respectingBlanks: true\";\n }\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n return new chunk_1.Chunk()\n .append(\"abap.statements.concatenate({source: [\", node, traversal)\n .join(slist)\n .appendString(\"], target: \")\n .appendChunk(target)\n .append(extra + \"});\", node.getLastToken(), traversal);\n }\n}\nexports.ConcatenateTranspiler = ConcatenateTranspiler;\n//# sourceMappingURL=concatenate.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/concatenate.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/condense.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/condense.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CondenseTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CondenseTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n const noGaps = node.concatTokens().toUpperCase().includes(\" NO-GAPS\");\n const ret = new chunk_1.Chunk();\n ret.append(\"abap.statements.condense(\", node, traversal);\n ret.appendChunk(target);\n ret.append(\", {nogaps: \" + noGaps + \"});\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.CondenseTranspiler = CondenseTranspiler;\n//# sourceMappingURL=condense.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/condense.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/constant.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/constant.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstantTranspiler = void 0;\nconst data_1 = __webpack_require__(/*! ./data */ \"../../packages/transpiler/build/src/statements/data.js\");\nclass ConstantTranspiler {\n transpile(node, traversal) {\n return new data_1.DataTranspiler().transpile(node, traversal);\n }\n}\nexports.ConstantTranspiler = ConstantTranspiler;\n//# sourceMappingURL=constant.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/constant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/continue.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/continue.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ContinueTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ContinueTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"continue;\", node, traversal);\n }\n}\nexports.ContinueTranspiler = ContinueTranspiler;\n//# sourceMappingURL=continue.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/continue.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/convert.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/convert.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConvertTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ConvertTranspiler {\n transpile(node, traversal) {\n const source = [];\n const target = [];\n const date = node.findExpressionAfterToken(\"DATE\");\n if ((date === null || date === void 0 ? void 0 : date.get()) instanceof abaplint.Expressions.Source) {\n source.push(\"date: \" + new expressions_1.SourceTranspiler().transpile(date, traversal).getCode());\n }\n else if ((date === null || date === void 0 ? void 0 : date.get()) instanceof abaplint.Expressions.Target) {\n target.push(\"date: \" + new expressions_1.TargetTranspiler().transpile(date, traversal).getCode());\n }\n const time = node.findExpressionAfterToken(\"TIME\");\n if ((time === null || time === void 0 ? void 0 : time.get()) instanceof abaplint.Expressions.Source) {\n source.push(\"time: \" + new expressions_1.SourceTranspiler().transpile(time, traversal).getCode());\n }\n else if ((time === null || time === void 0 ? void 0 : time.get()) instanceof abaplint.Expressions.Target) {\n target.push(\"time: \" + new expressions_1.TargetTranspiler().transpile(time, traversal).getCode());\n }\n const stamp = node.findExpressionAfterToken(\"STAMP\");\n if ((stamp === null || stamp === void 0 ? void 0 : stamp.get()) instanceof abaplint.Expressions.Source) {\n source.push(\"stamp: \" + new expressions_1.SourceTranspiler().transpile(stamp, traversal).getCode());\n }\n else if ((stamp === null || stamp === void 0 ? void 0 : stamp.get()) instanceof abaplint.Expressions.Target) {\n target.push(\"stamp: \" + new expressions_1.TargetTranspiler().transpile(stamp, traversal).getCode());\n }\n const zone = node.findExpressionAfterToken(\"ZONE\");\n if ((zone === null || zone === void 0 ? void 0 : zone.get()) instanceof abaplint.Expressions.Source) {\n source.push(\"zone: \" + new expressions_1.SourceTranspiler().transpile(zone, traversal).getCode());\n }\n else if ((zone === null || zone === void 0 ? void 0 : zone.get()) instanceof abaplint.Expressions.Target) {\n target.push(\"zone: \" + new expressions_1.TargetTranspiler().transpile(zone, traversal).getCode());\n }\n return new chunk_1.Chunk(`abap.statements.convert({${source.join(\",\")}}, {${target.join(\",\")}});`);\n }\n}\nexports.ConvertTranspiler = ConvertTranspiler;\n//# sourceMappingURL=convert.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/convert.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/create_data.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/create_data.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CreateDataTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nclass CreateDataTranspiler {\n transpile(node, traversal) {\n var _a, _b, _c;\n const targetNode = node.findDirectExpression(abaplint.Expressions.Target);\n const target = traversal.traverse(targetNode);\n const concat = node.concatTokens().toUpperCase();\n const options = [];\n let dynamic = (_a = node.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(abaplint.Expressions.ConstantString);\n if (dynamic) {\n options.push(`\"name\": ` + dynamic.getFirstToken().getStr());\n }\n else {\n dynamic = (_b = node.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _b === void 0 ? void 0 : _b.findFirstExpression(abaplint.Expressions.FieldChain);\n if (dynamic) {\n options.push(`\"name\": ` + new expressions_1.FieldChainTranspiler(true).transpile(dynamic, traversal).getCode());\n }\n }\n const typeNameNode = node.findDirectExpression(abaplint.Expressions.TypeName);\n if (typeNameNode) {\n const id = (_c = traversal.findCurrentScopeByToken(typeNameNode.getFirstToken())) === null || _c === void 0 ? void 0 : _c.findType(typeNameNode.concatTokens());\n if (id) {\n options.push(`\"type\": ` + new transpile_types_1.TranspileTypes().toType(id.getType()));\n }\n else {\n options.push(`\"typeName\": \"${typeNameNode.concatTokens().toUpperCase()}\"`);\n }\n }\n if (node.findDirectTokenByText(\"TABLE\")) {\n options.push(`\"table\": true`);\n }\n if (concat.includes(\" LIKE LINE OF \")) {\n const so = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\n options.push(`\"likeLineOf\": ` + so.getCode());\n }\n else if (concat.includes(\" LIKE \")) {\n const so = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\n options.push(`\"like\": ` + so.getCode());\n }\n if (concat.includes(\" TYPE LINE OF \")) {\n options.push(`\"typeLineOf\": true`);\n }\n const handle = node.findExpressionAfterToken(\"HANDLE\");\n if (handle) {\n const so = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\n const lookup = traversal.lookupClassOrInterface(\"KERNEL_CREATE_DATA_HANDLE\", node.getFirstToken());\n const call = `await ${lookup}.call({handle: ${so.getCode()}, dref: ${target.getCode()}});`;\n return new chunk_1.Chunk().append(`if (${lookup} === undefined) throw new Error(\"CreateData, kernel class missing\");\\n${call}`, node, traversal);\n }\n const length = node.findExpressionAfterToken(\"LENGTH\");\n if (length) {\n const so = traversal.traverse(length);\n options.push(`\"length\": ` + so.getCode());\n }\n const decimals = node.findExpressionAfterToken(\"DECIMALS\");\n if (decimals) {\n const so = traversal.traverse(decimals);\n options.push(`\"decimals\": ` + so.getCode());\n }\n let add = \"\";\n if (options.length > 0) {\n add = \",{\" + options.join(\",\") + \"}\";\n }\n return new chunk_1.Chunk(\"abap.statements.createData(\" + target.getCode() + add + \");\");\n }\n}\nexports.CreateDataTranspiler = CreateDataTranspiler;\n//# sourceMappingURL=create_data.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/create_data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/create_object.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/create_object.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CreateObjectTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nclass CreateObjectTranspiler {\n transpile(node, traversal) {\n var _a, _b;\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)).getCode();\n let para = \"\";\n const parameters = node.findFirstExpression(abaplint.Expressions.ParameterListS);\n if (parameters) {\n para = traversal.traverse(parameters).getCode();\n }\n let name = \"\";\n let directGlobal = false;\n let dynamic = (_a = node.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(abaplint.Expressions.ConstantString);\n if (dynamic) {\n name = dynamic.getFirstToken().getStr();\n // name = name.substring(1, name.length - 1);\n }\n else {\n dynamic = (_b = node.findDirectExpression(abaplint.Expressions.Dynamic)) === null || _b === void 0 ? void 0 : _b.findFirstExpression(abaplint.Expressions.FieldChain);\n if (dynamic) {\n name = new expressions_1.FieldChainTranspiler(true).transpile(dynamic, traversal).getCode();\n directGlobal = true;\n }\n }\n if (name === \"\") {\n name = this.findClassName(node, traversal);\n }\n let ret = \"\";\n let clas = traversal.lookupClassOrInterface(name, node.getFirstToken(), directGlobal);\n const cx = traversal.lookupClassOrInterface(\"CX_SY_CREATE_OBJECT_ERROR\", node.getFirstToken());\n if (dynamic) {\n const id = unique_identifier_1.UniqueIdentifier.get();\n ret += `let ${id} = abap.Classes[\"${traversal.buildPrefix()}\"+${name}.trimEnd()];\\n`;\n ret += `if (${id} === undefined) { ${id} = abap.Classes[${name}.trimEnd()]; }\\n`;\n ret += `if (${id} === undefined) { throw new ${cx}; }\\n`;\n clas = id;\n }\n ret += target + \".set(await (new \" + clas + \"()).constructor_(\" + para + \"));\";\n return new chunk_1.Chunk(ret);\n }\n findClassName(node, traversal) {\n var _a;\n const c = node.findDirectExpression(abaplint.Expressions.ClassName);\n if (c) {\n return c.concatTokens();\n }\n const scope = traversal.findCurrentScopeByToken(node.getFirstToken());\n if (scope === undefined) {\n throw new Error(\"CreateObjectTranspiler, unable to lookup position\");\n }\n const target = node.findDirectExpression(abaplint.Expressions.Target);\n if (target === undefined) {\n throw new Error(`CreateObjectTranspiler, target not found`);\n }\n const type = traversal.determineType(node, scope);\n if (type === undefined) {\n throw new Error(`CreateObjectTranspiler, target variable \"${target === null || target === void 0 ? void 0 : target.concatTokens()}\" not found in scope`);\n }\n else if (type instanceof abaplint.BasicTypes.GenericObjectReferenceType) {\n return \"object\";\n }\n else if (!(type instanceof abaplint.BasicTypes.ObjectReferenceType)) {\n if (((_a = traversal.options) === null || _a === void 0 ? void 0 : _a.unknownTypes) !== \"runtimeError\") {\n throw new Error(`CreateObjectTranspiler, target variable \"${target === null || target === void 0 ? void 0 : target.concatTokens()}\" not a object reference`);\n }\n else {\n return \"RUNTIME_ERROR\";\n }\n }\n return type.getIdentifierName();\n }\n}\nexports.CreateObjectTranspiler = CreateObjectTranspiler;\n//# sourceMappingURL=create_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/create_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/data.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/data.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nconst constant_1 = __webpack_require__(/*! ../expressions/constant */ \"../../packages/transpiler/build/src/expressions/constant.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass DataTranspiler {\n transpile(node, traversal) {\n var _a;\n const token = (_a = node.findFirstExpression(abaplint.Expressions.DefinitionName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (token === undefined) {\n throw new Error(\"DataTranspiler, token not found\");\n }\n const scope = traversal.findCurrentScopeByToken(token);\n if (scope === undefined) {\n throw new Error(\"DataTranspiler, scope not found: \" + node.concatTokens());\n }\n const found = scope.findVariable(token.getStr());\n if (found === undefined) {\n throw new Error(\"DataTranspiler, var not found, \\\"\" + token.getStr() + \"\\\"\");\n }\n let value = \"\";\n if (found.getValue() !== undefined && node.concatTokens().includes(\" & \")) {\n value = \"\\n\" + traversal.setValues(found, found.getName());\n }\n else {\n value = DataTranspiler.buildValue(node, found.getName().toLowerCase(), traversal);\n }\n const ret = new chunk_1.Chunk()\n .appendString(\"let \")\n .append(found.getName().toLowerCase(), token, traversal)\n .appendString(\" = \" + new transpile_types_1.TranspileTypes().toType(found.getType()))\n .append(\";\", node.getLastToken(), traversal)\n .append(value, node.getLastToken(), traversal);\n return ret;\n }\n static buildValue(node, name, traversal) {\n let value = \"\";\n const val = node.findFirstExpression(abaplint.Expressions.Value);\n if (val) {\n let int = val.findFirstExpression(abaplint.Expressions.Integer);\n if (int === undefined) {\n int = val.findFirstExpression(abaplint.Expressions.ConstantString);\n }\n if (int) {\n const escaped = constant_1.ConstantTranspiler.escape(int.concatTokens());\n value = \"\\n\" + name + \".set(\" + escaped + \");\";\n }\n else if (val.getChildren()[1].get() instanceof abaplint.Expressions.SimpleFieldChain) {\n const s = new expressions_1.FieldChainTranspiler().transpile(val.getChildren()[1], traversal).getCode();\n value = \"\\n\" + name + \".set(\" + s + \");\";\n }\n }\n return value;\n }\n}\nexports.DataTranspiler = DataTranspiler;\n//# sourceMappingURL=data.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/delete_database.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/delete_database.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteDatabaseTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass DeleteDatabaseTranspiler {\n transpile(node, traversal) {\n const dbtab = node.findFirstExpression(abaplint.Expressions.DatabaseTable);\n if (dbtab === undefined) {\n throw new Error(\"internal error, InsertDatabaseTranspiler\");\n }\n const table = new expressions_1.DatabaseTableTranspiler(false).transpile(dbtab, traversal);\n const options = [];\n const tab = node.findExpressionAfterToken(\"TABLE\");\n if (tab) {\n const ttab = traversal.traverse(tab);\n options.push(`\"table\": ` + ttab.getCode());\n }\n const w = node.findExpressionAfterToken(\"WHERE\");\n if (w && w.get() instanceof abaplint.Expressions.SQLCond) {\n const ttab = traversal.traverse(w);\n options.push(`\"where\": \"` + ttab.getCode() + `\"`);\n }\n return new chunk_1.Chunk(`await abap.statements.deleteDatabase(${table.getCode()}, {${options.join(\", \")}});`);\n }\n}\nexports.DeleteDatabaseTranspiler = DeleteDatabaseTranspiler;\n//# sourceMappingURL=delete_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/delete_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/delete_dataset.js": +/*!************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/delete_dataset.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteDatasetTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass DeleteDatasetTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"DeleteDataset, not supported, transpiler\");`);\n }\n}\nexports.DeleteDatasetTranspiler = DeleteDatasetTranspiler;\n//# sourceMappingURL=delete_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/delete_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/delete_internal.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/delete_internal.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteInternalTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass DeleteInternalTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findFirstExpression(abaplint.Expressions.Target)).getCode();\n const concat = node.concatTokens().toUpperCase();\n const extra = [];\n const where = node.findFirstExpression(abaplint.Expressions.ComponentCond);\n if (where) {\n // todo, replacing \"await\" is a hack\n extra.push(\"where: \" + traversal.traverse(where).getCode().replace(\"await \", \"\"));\n }\n // todo, this is not completely correct, fields might have the name ADJACENT\n // comparisons should be on table key unless other is specified, but we're unaware\n if (node.findDirectTokenByText(\"ADJACENT\")) {\n extra.push(\"adjacent: true\");\n if (node.findDirectTokenByText(\"COMPARING\") && !node.concatTokens().toUpperCase().includes(\"COMPARING ALL FIELDS\")) {\n const comparing = node.findAllExpressions(abaplint.Expressions.FieldSub);\n if (comparing) {\n const compareFields = comparing.map(i => \"'\" + i.getFirstToken().getStr() + \"'\").join(\",\");\n extra.push(\"comparing: [\" + compareFields + \"]\");\n }\n }\n }\n const index = node.findExpressionAfterToken(\"INDEX\");\n if (index) {\n extra.push(\"index: \" + traversal.traverse(index).getCode());\n }\n const from = node.findExpressionAfterToken(\"FROM\");\n if (from && node.findDirectTokenByText(\"ADJACENT\") === undefined) {\n if (concat.startsWith(\"DELETE TABLE \") === true) {\n extra.push(\"fromValue: \" + traversal.traverse(from).getCode());\n }\n else {\n extra.push(\"from: \" + traversal.traverse(from).getCode());\n }\n }\n const to = node.findExpressionAfterToken(\"TO\");\n if (to) {\n extra.push(\"to: \" + traversal.traverse(to).getCode());\n }\n let blah = \"\";\n if (extra.length > 0) {\n blah = \",{\" + extra.join(\",\") + \"}\";\n }\n return new chunk_1.Chunk(\"await abap.statements.deleteInternal(\" + target + blah + \");\");\n }\n}\nexports.DeleteInternalTranspiler = DeleteInternalTranspiler;\n//# sourceMappingURL=delete_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/delete_internal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/delete_report.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/delete_report.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteReportTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass DeleteReportTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"DeleteReport, not supported, transpiler\");`);\n }\n}\nexports.DeleteReportTranspiler = DeleteReportTranspiler;\n//# sourceMappingURL=delete_report.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/delete_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/delete_textpool.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/delete_textpool.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DeleteTextpoolTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass DeleteTextpoolTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"DeleteTextpool, transpiler todo\");`);\n }\n}\nexports.DeleteTextpoolTranspiler = DeleteTextpoolTranspiler;\n//# sourceMappingURL=delete_textpool.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/delete_textpool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/describe.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/describe.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DescribeTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass DescribeTranspiler {\n transpile(node, traversal) {\n const options = [];\n const concat = node.concatTokens().toUpperCase();\n const field = node.findExpressionAfterToken(\"FIELD\");\n if (field) {\n options.push(\"field: \" + traversal.traverse(field).getCode());\n }\n const type = node.findExpressionAfterToken(\"TYPE\");\n if (type) {\n options.push(\"type: \" + traversal.traverse(type).getCode());\n }\n const length = node.findExpressionAfterToken(\"LENGTH\");\n if (length) {\n options.push(\"length: \" + traversal.traverse(length).getCode());\n }\n const decimals = node.findExpressionAfterToken(\"DECIMALS\");\n if (decimals) {\n options.push(\"decimals: \" + traversal.traverse(decimals).getCode());\n }\n const lines = node.findExpressionAfterToken(\"LINES\");\n if (lines) {\n options.push(\"lines: \" + traversal.traverse(lines).getCode());\n }\n const table = node.findExpressionAfterToken(\"TABLE\");\n if (table) {\n options.push(\"table: \" + traversal.traverse(table).getCode());\n }\n if (concat.includes(\"IN CHARACTER MODE\")) {\n options.push(\"mode: 'CHARACTER'\");\n }\n if (concat.includes(\"IN BYTE MODE\")) {\n options.push(\"mode: 'BYTE'\");\n }\n return new chunk_1.Chunk()\n .append(\"abap.statements.describe({\", node, traversal)\n .appendString(options.join(\", \"))\n .append(\"});\", node.getLastToken(), traversal);\n }\n}\nexports.DescribeTranspiler = DescribeTranspiler;\n//# sourceMappingURL=describe.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/describe.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/do.js": +/*!************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/do.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DoTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass DoTranspiler {\n constructor(syIndexBackup) {\n this.syIndexBackup = syIndexBackup;\n }\n transpile(node, traversal) {\n const found = node.findFirstExpression(abaplint.Expressions.Source);\n if (found) {\n const source = new expressions_1.SourceTranspiler(true).transpile(found, traversal).getCode();\n const idSource = unique_identifier_1.UniqueIdentifier.get();\n const id = unique_identifier_1.UniqueIdentifier.get();\n return new chunk_1.Chunk(`const ${this.syIndexBackup} = abap.builtin.sy.get().index.get();\nconst ${idSource} = ${source};\nfor (let ${id} = 0; ${id} < ${idSource}; ${id}++) {\nabap.builtin.sy.get().index.set(${id} + 1);`);\n }\n else {\n const unique = unique_identifier_1.UniqueIdentifier.get();\n return new chunk_1.Chunk(`const ${this.syIndexBackup} = abap.builtin.sy.get().index.get();\nlet ${unique} = 1;\nwhile (true) {\nabap.builtin.sy.get().index.set(${unique}++);`);\n }\n }\n}\nexports.DoTranspiler = DoTranspiler;\n//# sourceMappingURL=do.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/do.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/editor_call.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/editor_call.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EditorCallTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EditorCallTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"EditorCall, transpiler todo\");`);\n }\n}\nexports.EditorCallTranspiler = EditorCallTranspiler;\n//# sourceMappingURL=editor_call.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/editor_call.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/else.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/else.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ElseTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ElseTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"} else {\", node, traversal);\n }\n}\nexports.ElseTranspiler = ElseTranspiler;\n//# sourceMappingURL=else.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/else.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/else_if.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/else_if.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ElseIfTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ElseIfTranspiler {\n transpile(node, traversal) {\n const cond = traversal.traverse(node.findFirstExpression(abaplint.Expressions.Cond));\n return new chunk_1.Chunk()\n .append(\"} else if (\", node, traversal)\n .appendChunk(cond)\n .append(\") {\", node.getLastToken(), traversal);\n }\n}\nexports.ElseIfTranspiler = ElseIfTranspiler;\n//# sourceMappingURL=else_if.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/else_if.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_at.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_at.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndAtTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndAtTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"EndAt, transpiler todo\");`);\n }\n}\nexports.EndAtTranspiler = EndAtTranspiler;\n//# sourceMappingURL=end_at.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_at.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_case.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_case.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndCaseTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndCaseTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"}\", node, traversal);\n }\n}\nexports.EndCaseTranspiler = EndCaseTranspiler;\n//# sourceMappingURL=end_case.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_class.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_class.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndClassTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndClassTranspiler {\n transpile(node, traversal) {\n const def = traversal.getClassDefinition(node.getFirstToken());\n let ret = \"}\\n\";\n ret += traversal.registerClassOrInterface(def);\n return new chunk_1.Chunk().append(ret, node, traversal);\n }\n}\nexports.EndClassTranspiler = EndClassTranspiler;\n//# sourceMappingURL=end_class.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_class.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_do.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_do.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndDoTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndDoTranspiler {\n constructor(syIndexBackup) {\n this.syIndexBackup = syIndexBackup;\n }\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(`}\nabap.builtin.sy.get().index.set(${this.syIndexBackup});\\n`, node, traversal);\n }\n}\nexports.EndDoTranspiler = EndDoTranspiler;\n//# sourceMappingURL=end_do.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_do.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_enhancement_section.js": +/*!*********************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_enhancement_section.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndEnhancementSectionTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndEnhancementSectionTranspiler {\n transpile(_node, _traversal) {\n // for now, do nothing,\n return new chunk_1.Chunk(``);\n }\n}\nexports.EndEnhancementSectionTranspiler = EndEnhancementSectionTranspiler;\n//# sourceMappingURL=end_enhancement_section.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_enhancement_section.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_form.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_form.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndFormTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndFormTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"}\", node, traversal);\n }\n}\nexports.EndFormTranspiler = EndFormTranspiler;\n//# sourceMappingURL=end_form.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_form.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_if.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_if.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndIfTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndIfTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"}\", node, traversal);\n }\n}\nexports.EndIfTranspiler = EndIfTranspiler;\n//# sourceMappingURL=end_if.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_if.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_loop.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_loop.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndLoopTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndLoopTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"}\", node, traversal);\n }\n}\nexports.EndLoopTranspiler = EndLoopTranspiler;\n//# sourceMappingURL=end_loop.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_method.js": +/*!********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_method.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndMethodTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndMethodTranspiler {\n transpile(node, traversal) {\n const token = node.getFirstToken();\n const scope = traversal.findCurrentScopeByToken(token);\n if (scope === undefined) {\n throw new Error(\"EndMethodTranspiler, scope not found\");\n }\n let returning = \"\";\n returning += this.setSubrc(scope, traversal);\n const vars = scope.getData().vars;\n for (const n in vars) {\n const identifier = vars[n];\n if (identifier.getMeta().includes(\"returning\" /* abaplint.IdentifierMeta.MethodReturning */)) {\n returning += \"return \" + n.toLowerCase() + \";\\n\";\n }\n }\n const data = scope.getIdentifier();\n if (data.stype === abaplint.ScopeType.Method && data.sname.toLowerCase() === \"constructor\") {\n returning += \"return this;\\n\";\n }\n return new chunk_1.Chunk().append(returning + \"}\", node, traversal);\n }\n setSubrc(scope, traversal) {\n var _a, _b;\n let methodName = undefined;\n if ((scope === null || scope === void 0 ? void 0 : scope.getIdentifier().stype) === abaplint.ScopeType.Method) {\n methodName = scope === null || scope === void 0 ? void 0 : scope.getIdentifier().sname;\n }\n let className = undefined;\n if (((_a = scope === null || scope === void 0 ? void 0 : scope.getParent()) === null || _a === void 0 ? void 0 : _a.getIdentifier().stype) === abaplint.ScopeType.ClassImplementation) {\n className = (_b = scope === null || scope === void 0 ? void 0 : scope.getParent()) === null || _b === void 0 ? void 0 : _b.getIdentifier().sname;\n }\n if (methodName === undefined || className === undefined) {\n return \"\";\n }\n let methodDef = undefined;\n if (methodName.includes(\"~\")) {\n const split = methodName.split(\"~\");\n const classDef = traversal.findInterfaceDefinition(split[0], scope);\n methodDef = classDef === null || classDef === void 0 ? void 0 : classDef.getMethodDefinitions().getByName(split[1]);\n }\n else {\n const classDef = traversal.findClassDefinition(className, scope);\n methodDef = classDef === null || classDef === void 0 ? void 0 : classDef.getMethodDefinitions().getByName(methodName);\n }\n if (methodDef && methodDef.getExceptions().length > 0) {\n return \"abap.builtin.sy.get().subrc.set(0);\\n\";\n }\n return \"\";\n }\n}\nexports.EndMethodTranspiler = EndMethodTranspiler;\n//# sourceMappingURL=end_method.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_method.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_try.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_try.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndTryTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndTryTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"}\", node, traversal);\n }\n}\nexports.EndTryTranspiler = EndTryTranspiler;\n//# sourceMappingURL=end_try.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_try.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/end_while.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/end_while.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EndWhileTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EndWhileTranspiler {\n constructor(syIndexBackup) {\n this.syIndexBackup = syIndexBackup;\n }\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(`}\nabap.builtin.sy.get().index.set(${this.syIndexBackup});\\n`, node, traversal);\n }\n}\nexports.EndWhileTranspiler = EndWhileTranspiler;\n//# sourceMappingURL=end_while.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/end_while.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/enhancement_section.js": +/*!*****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/enhancement_section.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EnhancementSectionTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass EnhancementSectionTranspiler {\n transpile(_node, _traversal) {\n // for now, do nothing,\n return new chunk_1.Chunk(``);\n }\n}\nexports.EnhancementSectionTranspiler = EnhancementSectionTranspiler;\n//# sourceMappingURL=enhancement_section.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/enhancement_section.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/exit.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/exit.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExitTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst return_1 = __webpack_require__(/*! ./return */ \"../../packages/transpiler/build/src/statements/return.js\");\nclass ExitTranspiler {\n transpile(node, traversal) {\n if (traversal.isInsideLoop(node)) {\n return new chunk_1.Chunk().append(\"break;\", node, traversal);\n }\n else {\n return new return_1.ReturnTranspiler().transpile(node, traversal);\n }\n }\n}\nexports.ExitTranspiler = ExitTranspiler;\n//# sourceMappingURL=exit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/exit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/export.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/export.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExportTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ExportTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"Export, transpiler todo\");`);\n }\n}\nexports.ExportTranspiler = ExportTranspiler;\n//# sourceMappingURL=export.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/export.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/field_symbol.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/field_symbol.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldSymbolTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst field_symbol_1 = __webpack_require__(/*! ../expressions/field_symbol */ \"../../packages/transpiler/build/src/expressions/field_symbol.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nclass FieldSymbolTranspiler {\n transpile(node, traversal) {\n const name = node.findDirectExpression(abaplint.Expressions.FieldSymbol);\n const token = name === null || name === void 0 ? void 0 : name.getFirstToken();\n if (token === undefined) {\n throw new Error(\"FieldSymbolTranspiler, token not found\");\n }\n const scope = traversal.findCurrentScopeByToken(token);\n if (scope === undefined) {\n throw new Error(\"FieldSymbolTranspiler, scope not found\");\n }\n const found = scope.findVariable(token.getStr());\n if (found === undefined) {\n throw new Error(\"FieldSymbolTranspiler, var not found, \\\"\" + token.getStr() + \"\\\"\");\n }\n if (name) {\n return new chunk_1.Chunk()\n .append(\"let \", node, traversal)\n .appendChunk(new field_symbol_1.FieldSymbolTranspiler().transpile(name, traversal))\n .append(\" = new abap.types.FieldSymbol(\" + new transpile_types_1.TranspileTypes().toType(found.getType()) + \");\", node.getLastToken(), traversal);\n }\n throw new Error(\"FieldSymbolTranspiler, name not found\");\n }\n}\nexports.FieldSymbolTranspiler = FieldSymbolTranspiler;\n//# sourceMappingURL=field_symbol.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/field_symbol.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/find.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/find.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FindTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass FindTranspiler {\n transpile(node, traversal) {\n var _a;\n const options = [];\n let index = 1;\n const sources = node.findDirectExpressions(abaplint.Expressions.Source);\n const source0 = traversal.traverse(sources[0]).getCode();\n if ((_a = node.findFirstExpression(abaplint.Expressions.FindType)) === null || _a === void 0 ? void 0 : _a.findDirectTokenByText(\"REGEX\")) {\n options.push(\"regex: \" + source0);\n }\n else {\n options.push(\"find: \" + source0);\n }\n const concat = node.concatTokens().toUpperCase();\n if (concat.startsWith(\"FIND FIRST OCCURRENCE OF \")) {\n options.push(\"first: true\");\n }\n else if (concat.startsWith(\"FIND ALL OCCURRENCES OF \")) {\n options.push(\"first: false\");\n }\n if (concat.includes(\" IGNORING CASE\")) {\n options.push(\"ignoringCase: true\");\n }\n if (concat.includes(\" IN BYTE MODE\")) {\n options.push(\"byteMode: true\");\n }\n if (concat.includes(\" IN SECTION OFFSET\")) {\n options.push(\"sectionOffset: \" + traversal.traverse(sources[1]).getCode());\n index++;\n }\n const source1 = traversal.traverse(sources[index]).getCode();\n let prev = undefined;\n let off;\n for (const c of node.getChildren()) {\n if ((prev === null || prev === void 0 ? void 0 : prev.getFirstToken().getStr().toUpperCase()) === \"OFFSET\"\n && c.get() instanceof abaplint.Expressions.Target) {\n options.push(\"offset: \" + traversal.traverse(c).getCode());\n off = c;\n break;\n }\n prev = c;\n }\n const cnt = node.findExpressionAfterToken(\"COUNT\");\n if (cnt) {\n options.push(\"count: \" + traversal.traverse(cnt).getCode());\n }\n const len = node.findExpressionAfterToken(\"LENGTH\");\n if (len) {\n options.push(\"length: \" + traversal.traverse(len).getCode());\n }\n const res = node.findExpressionAfterToken(\"RESULTS\");\n if (res) {\n options.push(\"results: \" + traversal.traverse(res).getCode());\n }\n const firstSubmatch = node.findExpressionAfterToken(\"SUBMATCHES\");\n if (firstSubmatch) {\n const submatches = [];\n for (const t of node.findDirectExpressions(abaplint.Expressions.Target)) {\n if (t === len || t === cnt || t === off) {\n continue;\n }\n submatches.push(traversal.traverse(t).getCode());\n }\n options.push(\"submatches: [\" + submatches.join(\",\") + \"]\");\n }\n return new chunk_1.Chunk(\"abap.statements.find(\" + source1 + \", {\" + options.join(\", \") + \"});\");\n }\n}\nexports.FindTranspiler = FindTranspiler;\n//# sourceMappingURL=find.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/find.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/form.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/form.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nclass FormTranspiler {\n transpile(node) {\n unique_identifier_1.UniqueIdentifier.resetIndexBackup();\n const name = node.findFirstExpression(abaplint.Expressions.FormName).getFirstToken().getStr();\n return new chunk_1.Chunk(\"async function \" + name + \"() {\");\n }\n}\nexports.FormTranspiler = FormTranspiler;\n//# sourceMappingURL=form.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/form.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/free.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/free.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FreeTranspiler = void 0;\nconst clear_1 = __webpack_require__(/*! ./clear */ \"../../packages/transpiler/build/src/statements/clear.js\");\nclass FreeTranspiler {\n transpile(node, traversal) {\n return new clear_1.ClearTranspiler().transpile(node, traversal);\n }\n}\nexports.FreeTranspiler = FreeTranspiler;\n//# sourceMappingURL=free.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/free.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/free_memory.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/free_memory.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FreeMemoryTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass FreeMemoryTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"FreeMemory, not supported, transpiler\");`);\n }\n}\nexports.FreeMemoryTranspiler = FreeMemoryTranspiler;\n//# sourceMappingURL=free_memory.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/free_memory.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/function_pool.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/function_pool.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionPoolTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass FunctionPoolTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(\"\");\n }\n}\nexports.FunctionPoolTranspiler = FunctionPoolTranspiler;\n//# sourceMappingURL=function_pool.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/function_pool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/get_bit.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/get_bit.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetBitTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass GetBitTranspiler {\n transpile(node, traversal) {\n const sources = node.findDirectExpressions(abaplint.Expressions.Source);\n const source0 = traversal.traverse(sources[0]);\n const source1 = traversal.traverse(sources[1]);\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n return new chunk_1.Chunk()\n .append(\"abap.statements.getBit(\", node, traversal)\n .join([source0, source1, target])\n .append(\");\", node.getLastToken(), traversal);\n }\n}\nexports.GetBitTranspiler = GetBitTranspiler;\n//# sourceMappingURL=get_bit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/get_bit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/get_dataset.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/get_dataset.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetDatasetTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass GetDatasetTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"GetDataset, not supported, transpiler\");`);\n }\n}\nexports.GetDatasetTranspiler = GetDatasetTranspiler;\n//# sourceMappingURL=get_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/get_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/get_locale.js": +/*!********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/get_locale.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetLocaleTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass GetLocaleTranspiler {\n transpile(node, traversal) {\n const t = traversal.traverse(node.findFirstExpression(abaplint.Expressions.Target));\n return new chunk_1.Chunk(`abap.statements.getLocale(${t.getCode()});`);\n }\n}\nexports.GetLocaleTranspiler = GetLocaleTranspiler;\n//# sourceMappingURL=get_locale.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/get_locale.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/get_parameter.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/get_parameter.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetParameterTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass GetParameterTranspiler {\n transpile(node, traversal) {\n const source = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n return new chunk_1.Chunk(`abap.statements.getParameter(`)\n .appendChunk(source)\n .appendString(\",\")\n .appendChunk(target)\n .appendString(\");\");\n }\n}\nexports.GetParameterTranspiler = GetParameterTranspiler;\n//# sourceMappingURL=get_parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/get_parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/get_reference.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/get_reference.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetReferenceTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass GetReferenceTranspiler {\n transpile(node, traversal) {\n const s = node.findDirectExpression(abaplint.Expressions.Source);\n const t = node.findDirectExpression(abaplint.Expressions.Target);\n if (s === undefined) {\n throw new Error(\"GetReference, Source not found\");\n }\n else if (t === undefined) {\n throw new Error(\"GetReference, Target not found\");\n }\n const source = traversal.traverse(s);\n const target = traversal.traverse(t);\n if (s.getFirstToken().getStr().startsWith(\"<\")) {\n // its a field symbol\n source.appendString(\".getPointer()\");\n }\n return new chunk_1.Chunk()\n .appendChunk(target)\n .appendString(\".assign(\")\n .appendChunk(source)\n .append(\");\", node.getLastToken(), traversal);\n }\n}\nexports.GetReferenceTranspiler = GetReferenceTranspiler;\n//# sourceMappingURL=get_reference.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/get_reference.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/get_run_time.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/get_run_time.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetRunTimeTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass GetRunTimeTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n const ret = new chunk_1.Chunk();\n ret.append(\"abap.statements.getRunTime(\", node, traversal);\n ret.appendChunk(target);\n ret.append(\");\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.GetRunTimeTranspiler = GetRunTimeTranspiler;\n//# sourceMappingURL=get_run_time.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/get_run_time.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/get_time.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/get_time.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GetTimeTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass GetTimeTranspiler {\n transpile(node, traversal) {\n const concat = node.concatTokens().toUpperCase();\n let options = \"\";\n if (concat.startsWith(\"GET TIME FIELD\")) {\n options = \"{field: \" + traversal.traverse(node.findFirstExpression(abaplint.Expressions.Target)).getCode() + \"}\";\n }\n else if (concat.startsWith(\"GET TIME STAMP FIELD\")) {\n options = \"{stamp: \" + traversal.traverse(node.findFirstExpression(abaplint.Expressions.Target)).getCode() + \"}\";\n }\n return new chunk_1.Chunk()\n .append(\"abap.statements.getTime(\", node, traversal)\n .appendString(options)\n .append(\");\", node.getLastToken(), traversal);\n }\n}\nexports.GetTimeTranspiler = GetTimeTranspiler;\n//# sourceMappingURL=get_time.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/get_time.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/if.js": +/*!************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/if.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IfTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass IfTranspiler {\n transpile(node, traversal) {\n const cond = traversal.traverse(node.findFirstExpression(abaplint.Expressions.Cond));\n const ret = new chunk_1.Chunk();\n ret.append(\"if (\", node, traversal);\n ret.appendChunk(cond);\n ret.append(\") {\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.IfTranspiler = IfTranspiler;\n//# sourceMappingURL=if.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/if.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/import.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/import.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImportTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ImportTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"Import, transpiler todo\");`);\n }\n}\nexports.ImportTranspiler = ImportTranspiler;\n//# sourceMappingURL=import.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/import.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/include.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/include.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IncludeTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass IncludeTranspiler {\n transpile(_node, _traversal) {\n // todo, this will not work\n return new chunk_1.Chunk(\"\");\n }\n}\nexports.IncludeTranspiler = IncludeTranspiler;\n//# sourceMappingURL=include.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/include.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/index.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/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__exportStar(__webpack_require__(/*! ./add */ \"../../packages/transpiler/build/src/statements/add.js\"), exports);\n__exportStar(__webpack_require__(/*! ./append */ \"../../packages/transpiler/build/src/statements/append.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assert */ \"../../packages/transpiler/build/src/statements/assert.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assign */ \"../../packages/transpiler/build/src/statements/assign.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_selection_screen */ \"../../packages/transpiler/build/src/statements/at_selection_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at */ \"../../packages/transpiler/build/src/statements/at.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authority_check */ \"../../packages/transpiler/build/src/statements/authority_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./break_id */ \"../../packages/transpiler/build/src/statements/break_id.js\"), exports);\n__exportStar(__webpack_require__(/*! ./break */ \"../../packages/transpiler/build/src/statements/break.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_function */ \"../../packages/transpiler/build/src/statements/call_function.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_kernel */ \"../../packages/transpiler/build/src/statements/call_kernel.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_screen */ \"../../packages/transpiler/build/src/statements/call_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transaction */ \"../../packages/transpiler/build/src/statements/call_transaction.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transformation */ \"../../packages/transpiler/build/src/statements/call_transformation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call */ \"../../packages/transpiler/build/src/statements/call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./case */ \"../../packages/transpiler/build/src/statements/case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check */ \"../../packages/transpiler/build/src/statements/check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_deferred */ \"../../packages/transpiler/build/src/statements/class_deferred.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_definition_load */ \"../../packages/transpiler/build/src/statements/class_definition_load.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_implementation */ \"../../packages/transpiler/build/src/statements/class_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_local_friends */ \"../../packages/transpiler/build/src/statements/class_local_friends.js\"), exports);\n__exportStar(__webpack_require__(/*! ./clear */ \"../../packages/transpiler/build/src/statements/clear.js\"), exports);\n__exportStar(__webpack_require__(/*! ./close_dataset */ \"../../packages/transpiler/build/src/statements/close_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./collect */ \"../../packages/transpiler/build/src/statements/collect.js\"), exports);\n__exportStar(__webpack_require__(/*! ./commit */ \"../../packages/transpiler/build/src/statements/commit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./concatenate */ \"../../packages/transpiler/build/src/statements/concatenate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./condense */ \"../../packages/transpiler/build/src/statements/condense.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant */ \"../../packages/transpiler/build/src/statements/constant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./continue */ \"../../packages/transpiler/build/src/statements/continue.js\"), exports);\n__exportStar(__webpack_require__(/*! ./convert */ \"../../packages/transpiler/build/src/statements/convert.js\"), exports);\n__exportStar(__webpack_require__(/*! ./create_data */ \"../../packages/transpiler/build/src/statements/create_data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./create_object */ \"../../packages/transpiler/build/src/statements/create_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data */ \"../../packages/transpiler/build/src/statements/data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_database */ \"../../packages/transpiler/build/src/statements/delete_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_dataset */ \"../../packages/transpiler/build/src/statements/delete_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_internal */ \"../../packages/transpiler/build/src/statements/delete_internal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_report */ \"../../packages/transpiler/build/src/statements/delete_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_textpool */ \"../../packages/transpiler/build/src/statements/delete_textpool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./describe */ \"../../packages/transpiler/build/src/statements/describe.js\"), exports);\n__exportStar(__webpack_require__(/*! ./do */ \"../../packages/transpiler/build/src/statements/do.js\"), exports);\n__exportStar(__webpack_require__(/*! ./editor_call */ \"../../packages/transpiler/build/src/statements/editor_call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./else_if */ \"../../packages/transpiler/build/src/statements/else_if.js\"), exports);\n__exportStar(__webpack_require__(/*! ./else */ \"../../packages/transpiler/build/src/statements/else.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_at */ \"../../packages/transpiler/build/src/statements/end_at.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_case */ \"../../packages/transpiler/build/src/statements/end_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_class */ \"../../packages/transpiler/build/src/statements/end_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_do */ \"../../packages/transpiler/build/src/statements/end_do.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_enhancement_section */ \"../../packages/transpiler/build/src/statements/end_enhancement_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_form */ \"../../packages/transpiler/build/src/statements/end_form.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_if */ \"../../packages/transpiler/build/src/statements/end_if.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_loop */ \"../../packages/transpiler/build/src/statements/end_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_method */ \"../../packages/transpiler/build/src/statements/end_method.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_try */ \"../../packages/transpiler/build/src/statements/end_try.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_while */ \"../../packages/transpiler/build/src/statements/end_while.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_section */ \"../../packages/transpiler/build/src/statements/enhancement_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exit */ \"../../packages/transpiler/build/src/statements/exit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./export */ \"../../packages/transpiler/build/src/statements/export.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_symbol */ \"../../packages/transpiler/build/src/statements/field_symbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./find */ \"../../packages/transpiler/build/src/statements/find.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form */ \"../../packages/transpiler/build/src/statements/form.js\"), exports);\n__exportStar(__webpack_require__(/*! ./free_memory */ \"../../packages/transpiler/build/src/statements/free_memory.js\"), exports);\n__exportStar(__webpack_require__(/*! ./free */ \"../../packages/transpiler/build/src/statements/free.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_pool */ \"../../packages/transpiler/build/src/statements/function_pool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_bit */ \"../../packages/transpiler/build/src/statements/get_bit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_dataset */ \"../../packages/transpiler/build/src/statements/get_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_locale */ \"../../packages/transpiler/build/src/statements/get_locale.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_parameter */ \"../../packages/transpiler/build/src/statements/get_parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_reference */ \"../../packages/transpiler/build/src/statements/get_reference.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_run_time */ \"../../packages/transpiler/build/src/statements/get_run_time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_time */ \"../../packages/transpiler/build/src/statements/get_time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./if */ \"../../packages/transpiler/build/src/statements/if.js\"), exports);\n__exportStar(__webpack_require__(/*! ./import */ \"../../packages/transpiler/build/src/statements/import.js\"), exports);\n__exportStar(__webpack_require__(/*! ./include */ \"../../packages/transpiler/build/src/statements/include.js\"), exports);\n__exportStar(__webpack_require__(/*! ./initialization */ \"../../packages/transpiler/build/src/statements/initialization.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_database */ \"../../packages/transpiler/build/src/statements/insert_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_internal */ \"../../packages/transpiler/build/src/statements/insert_internal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_report */ \"../../packages/transpiler/build/src/statements/insert_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_textpool */ \"../../packages/transpiler/build/src/statements/insert_textpool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./leave */ \"../../packages/transpiler/build/src/statements/leave.js\"), exports);\n__exportStar(__webpack_require__(/*! ./log_point */ \"../../packages/transpiler/build/src/statements/log_point.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_at_screen */ \"../../packages/transpiler/build/src/statements/loop_at_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop */ \"../../packages/transpiler/build/src/statements/loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./macro_call */ \"../../packages/transpiler/build/src/statements/macro_call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message */ \"../../packages/transpiler/build/src/statements/message.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_implementation */ \"../../packages/transpiler/build/src/statements/method_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_database */ \"../../packages/transpiler/build/src/statements/modify_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_internal */ \"../../packages/transpiler/build/src/statements/modify_internal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_screen */ \"../../packages/transpiler/build/src/statements/modify_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./move_corresponding */ \"../../packages/transpiler/build/src/statements/move_corresponding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./move */ \"../../packages/transpiler/build/src/statements/move.js\"), exports);\n__exportStar(__webpack_require__(/*! ./open_dataset */ \"../../packages/transpiler/build/src/statements/open_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./overlay */ \"../../packages/transpiler/build/src/statements/overlay.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter */ \"../../packages/transpiler/build/src/statements/parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./perform */ \"../../packages/transpiler/build/src/statements/perform.js\"), exports);\n__exportStar(__webpack_require__(/*! ./raise_event */ \"../../packages/transpiler/build/src/statements/raise_event.js\"), exports);\n__exportStar(__webpack_require__(/*! ./raise */ \"../../packages/transpiler/build/src/statements/raise.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_dataset */ \"../../packages/transpiler/build/src/statements/read_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_line */ \"../../packages/transpiler/build/src/statements/read_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_report */ \"../../packages/transpiler/build/src/statements/read_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_table */ \"../../packages/transpiler/build/src/statements/read_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_textpool */ \"../../packages/transpiler/build/src/statements/read_textpool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./receive */ \"../../packages/transpiler/build/src/statements/receive.js\"), exports);\n__exportStar(__webpack_require__(/*! ./refresh */ \"../../packages/transpiler/build/src/statements/refresh.js\"), exports);\n__exportStar(__webpack_require__(/*! ./replace */ \"../../packages/transpiler/build/src/statements/replace.js\"), exports);\n__exportStar(__webpack_require__(/*! ./report */ \"../../packages/transpiler/build/src/statements/report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./retry */ \"../../packages/transpiler/build/src/statements/retry.js\"), exports);\n__exportStar(__webpack_require__(/*! ./return */ \"../../packages/transpiler/build/src/statements/return.js\"), exports);\n__exportStar(__webpack_require__(/*! ./rollback */ \"../../packages/transpiler/build/src/statements/rollback.js\"), exports);\n__exportStar(__webpack_require__(/*! ./scan */ \"../../packages/transpiler/build/src/statements/scan.js\"), exports);\n__exportStar(__webpack_require__(/*! ./search */ \"../../packages/transpiler/build/src/statements/search.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_option */ \"../../packages/transpiler/build/src/statements/select_option.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select */ \"../../packages/transpiler/build/src/statements/select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./selection_screen */ \"../../packages/transpiler/build/src/statements/selection_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_bit */ \"../../packages/transpiler/build/src/statements/set_bit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_dataset */ \"../../packages/transpiler/build/src/statements/set_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_handler */ \"../../packages/transpiler/build/src/statements/set_handler.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_language */ \"../../packages/transpiler/build/src/statements/set_language.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_locale */ \"../../packages/transpiler/build/src/statements/set_locale.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_parameter */ \"../../packages/transpiler/build/src/statements/set_parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_pf_status */ \"../../packages/transpiler/build/src/statements/set_pf_status.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_screen */ \"../../packages/transpiler/build/src/statements/set_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_titlebar */ \"../../packages/transpiler/build/src/statements/set_titlebar.js\"), exports);\n__exportStar(__webpack_require__(/*! ./shift */ \"../../packages/transpiler/build/src/statements/shift.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sort_dataset */ \"../../packages/transpiler/build/src/statements/sort_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sort */ \"../../packages/transpiler/build/src/statements/sort.js\"), exports);\n__exportStar(__webpack_require__(/*! ./split */ \"../../packages/transpiler/build/src/statements/split.js\"), exports);\n__exportStar(__webpack_require__(/*! ./start_of_selection */ \"../../packages/transpiler/build/src/statements/start_of_selection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./submit */ \"../../packages/transpiler/build/src/statements/submit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./subtract */ \"../../packages/transpiler/build/src/statements/subtract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./syntax_check */ \"../../packages/transpiler/build/src/statements/syntax_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./tables */ \"../../packages/transpiler/build/src/statements/tables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./translate */ \"../../packages/transpiler/build/src/statements/translate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./truncate_dataset */ \"../../packages/transpiler/build/src/statements/truncate_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./try */ \"../../packages/transpiler/build/src/statements/try.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_pools */ \"../../packages/transpiler/build/src/statements/type_pools.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type */ \"../../packages/transpiler/build/src/statements/type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unassign */ \"../../packages/transpiler/build/src/statements/unassign.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unpack */ \"../../packages/transpiler/build/src/statements/unpack.js\"), exports);\n__exportStar(__webpack_require__(/*! ./update_database */ \"../../packages/transpiler/build/src/statements/update_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wait */ \"../../packages/transpiler/build/src/statements/wait.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when */ \"../../packages/transpiler/build/src/statements/when.js\"), exports);\n__exportStar(__webpack_require__(/*! ./while */ \"../../packages/transpiler/build/src/statements/while.js\"), exports);\n__exportStar(__webpack_require__(/*! ./write */ \"../../packages/transpiler/build/src/statements/write.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/initialization.js": +/*!************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/initialization.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InitializationTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass InitializationTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"Initialization, transpiler todo\");`);\n }\n}\nexports.InitializationTranspiler = InitializationTranspiler;\n//# sourceMappingURL=initialization.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/initialization.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/insert_database.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/insert_database.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertDatabaseTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass InsertDatabaseTranspiler {\n transpile(node, traversal) {\n const dbtab = node.findFirstExpression(abaplint.Expressions.DatabaseTable);\n if (dbtab === undefined) {\n throw new Error(\"internal error, InsertDatabaseTranspiler\");\n }\n const table = new expressions_1.DatabaseTableTranspiler(false).transpile(dbtab, traversal);\n const options = [];\n const values = node.findExpressionAfterToken(\"VALUES\");\n if (values) {\n const tvalues = traversal.traverse(values);\n options.push(`\"values\": ` + tvalues.getCode());\n }\n const from = node.findExpressionAfterToken(\"FROM\");\n if (from && from.get() instanceof abaplint.Expressions.SQLSource) {\n const tvalues = traversal.traverse(from);\n options.push(`\"values\": ` + tvalues.getCode());\n }\n const fromTable = node.findExpressionAfterToken(\"TABLE\");\n if (fromTable && fromTable.get() instanceof abaplint.Expressions.SQLSource) {\n const tvalues = traversal.traverse(fromTable);\n options.push(`\"table\": ` + tvalues.getCode());\n }\n return new chunk_1.Chunk(`await abap.statements.insertDatabase(${table.getCode()}, {${options.join(\", \")}});`);\n }\n}\nexports.InsertDatabaseTranspiler = InsertDatabaseTranspiler;\n//# sourceMappingURL=insert_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/insert_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/insert_internal.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/insert_internal.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertInternalTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass InsertInternalTranspiler {\n transpile(node, traversal) {\n const options = [];\n let source = node.findDirectExpression(abaplint.Expressions.SimpleSource4);\n const target = node.findDirectExpression(abaplint.Expressions.Target);\n const concat = node.concatTokens().toUpperCase();\n if (concat.startsWith(\"INSERT LINES OF \")) {\n source = node.findDirectExpression(abaplint.Expressions.Source);\n options.push(\"lines: true\");\n }\n if (source === undefined) {\n options.push(\"initial: true\");\n }\n else {\n options.push(\"data: \" + traversal.traverse(source).getCode());\n }\n const index = node.findExpressionAfterToken(\"INDEX\");\n if (index) {\n options.push(\"index: \" + traversal.traverse(index).getCode());\n }\n if (concat.includes(\" REFERENCE INTO \")) {\n const targets = node.findDirectExpressions(abaplint.Expressions.Target);\n options.push(\"referenceInto: \" + traversal.traverse(targets[1]).getCode());\n }\n const assigning = node.findExpressionAfterToken(\"ASSIGNING\");\n if (assigning) {\n options.push(\"assigning: \" + traversal.traverse((assigning.findFirstExpression(abaplint.Expressions.FieldSymbol))).getCode());\n }\n options.push(\"table: \" + traversal.traverse(target).getCode());\n return new chunk_1.Chunk()\n .append(`abap.statements.insertInternal({`, node, traversal)\n .appendString(options.join(\", \"))\n .append(`});`, node.getLastToken(), traversal);\n }\n}\nexports.InsertInternalTranspiler = InsertInternalTranspiler;\n//# sourceMappingURL=insert_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/insert_internal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/insert_report.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/insert_report.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertReportTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass InsertReportTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"InsertReport, transpiler todo\");`);\n }\n}\nexports.InsertReportTranspiler = InsertReportTranspiler;\n//# sourceMappingURL=insert_report.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/insert_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/insert_textpool.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/insert_textpool.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InsertTextpoolTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass InsertTextpoolTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"InsertTextpool, transpiler todo\");`);\n }\n}\nexports.InsertTextpoolTranspiler = InsertTextpoolTranspiler;\n//# sourceMappingURL=insert_textpool.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/insert_textpool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/leave.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/leave.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LeaveTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass LeaveTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"Leave, transpiler todo\");`);\n }\n}\nexports.LeaveTranspiler = LeaveTranspiler;\n//# sourceMappingURL=leave.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/leave.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/log_point.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/log_point.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LogPointTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass LogPointTranspiler {\n transpile(_node, _traversal) {\n // for now, do nothing,\n return new chunk_1.Chunk(``);\n }\n}\nexports.LogPointTranspiler = LogPointTranspiler;\n//# sourceMappingURL=log_point.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/log_point.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/loop.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/loop.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass LoopTranspiler {\n constructor(options) {\n this.unique = \"\";\n this.injectFrom = undefined;\n this.skipInto = undefined;\n this.injectFrom = options === null || options === void 0 ? void 0 : options.injectFrom;\n this.skipInto = options === null || options === void 0 ? void 0 : options.skipInto;\n }\n getTarget() {\n return this.unique;\n }\n transpile(node, traversal) {\n var _a, _b, _c;\n if (!(node.get() instanceof abaplint.Statements.Loop)) {\n throw new Error(\"LoopTranspiler, unexpected node\");\n }\n const source = traversal.traverse(node.findDirectExpression(abaplint.Expressions.SimpleSource2)).getCode();\n this.unique = unique_identifier_1.UniqueIdentifier.get();\n let target = \"\";\n const into = (_a = node.findDirectExpression(abaplint.Expressions.LoopTarget)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(abaplint.Expressions.Target);\n if (into && this.skipInto !== true) {\n const concat = node.concatTokens().toUpperCase();\n const t = traversal.traverse(into).getCode();\n const scope = traversal.findCurrentScopeByToken(node.getFirstToken());\n const typ = traversal.determineType(node, scope);\n if (concat.includes(\" REFERENCE INTO \")) {\n // target is assumed to be a data reference\n target = t + \".assign(\" + this.unique + \");\";\n }\n else if (typ instanceof abaplint.BasicTypes.DataReference) {\n // row type and target is assumed to be data references\n target = t + \".assign(\" + this.unique + \".getPointer());\";\n }\n else {\n target = t + \".set(\" + this.unique + \");\";\n }\n }\n else if (this.skipInto !== true) {\n const assigning = (_b = node.findFirstExpression(abaplint.Expressions.FSTarget)) === null || _b === void 0 ? void 0 : _b.findFirstExpression(abaplint.Expressions.FieldSymbol);\n if (assigning) {\n target = traversal.traverse(assigning).getCode() + \".assign(\" + this.unique + \");\";\n }\n }\n const extra = [];\n const fromNode = node.findExpressionAfterToken(\"FROM\");\n if (fromNode) {\n const from = new expressions_1.SourceTranspiler().transpile(fromNode, traversal).getCode();\n extra.push(\"from: \" + from);\n }\n else if (this.injectFrom) {\n extra.push(\"from: \" + this.injectFrom);\n }\n const toNode = node.findExpressionAfterToken(\"TO\");\n if (toNode) {\n const to = new expressions_1.SourceTranspiler().transpile(toNode, traversal).getCode();\n extra.push(\"to: \" + to);\n }\n const keyNode = node.findExpressionAfterToken(\"KEY\");\n if (keyNode) {\n if (keyNode.get() instanceof abaplint.Expressions.Dynamic) {\n const children = keyNode.getChildren();\n if (children[1] instanceof abaplint.Nodes.ExpressionNode\n && children[1].get() instanceof abaplint.Expressions.FieldChain) {\n const t = new expressions_1.FieldChainTranspiler(true).transpile(children[1], traversal);\n extra.push(`usingKey: ${t.getCode()}`);\n }\n else {\n extra.push(`usingKey: ${keyNode.concatTokens()}`);\n }\n }\n else {\n extra.push(`usingKey: \"${keyNode.concatTokens()}\"`);\n }\n }\n const whereNode = node.findDirectExpression(abaplint.Expressions.ComponentCond);\n if (whereNode) {\n const where = traversal.traverse(whereNode).getCode();\n // todo, evil workaround removing \"await\",\n extra.push(\"where: async \" + where);\n }\n const topEquals = {};\n for (const compare of (whereNode === null || whereNode === void 0 ? void 0 : whereNode.findDirectExpressions(abaplint.Expressions.ComponentCompare)) || []) {\n const op = (_c = compare.findDirectExpression(abaplint.Expressions.CompareOperator)) === null || _c === void 0 ? void 0 : _c.concatTokens().toUpperCase();\n if (op !== \"=\" && op !== \"EQ\") {\n continue;\n }\n else if (compare.findDirectTokenByText(\"NOT\")) {\n continue;\n }\n const tchain = traversal.traverse(compare.findDirectExpression(abaplint.Expressions.ComponentChainSimple));\n const tsource = traversal.traverse(compare.findDirectExpression(abaplint.Expressions.Source));\n topEquals[tchain.getCode()] = tsource.getCode();\n }\n if (Object.keys(topEquals).length > 0) {\n const fields = [];\n for (const n in topEquals) {\n fields.push(`\"${n}\": ` + topEquals[n]);\n }\n extra.push(\"topEquals: {\" + fields.join(\",\") + \"}\");\n }\n let concat = \"\";\n if (extra.length > 0) {\n concat = \",{\" + extra.join(\",\") + \"}\";\n }\n return new chunk_1.Chunk(`for await (const ${this.unique} of abap.statements.loop(${source}${concat})) {\\n${target}`);\n }\n}\nexports.LoopTranspiler = LoopTranspiler;\n//# sourceMappingURL=loop.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/loop_at_screen.js": +/*!************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/loop_at_screen.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopAtScreenTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass LoopAtScreenTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"LoopAtScreen, transpiler todo\");\\n{`);\n }\n}\nexports.LoopAtScreenTranspiler = LoopAtScreenTranspiler;\n//# sourceMappingURL=loop_at_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/loop_at_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/macro_call.js": +/*!********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/macro_call.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MacroCallTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass MacroCallTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(``);\n }\n}\nexports.MacroCallTranspiler = MacroCallTranspiler;\n//# sourceMappingURL=macro_call.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/macro_call.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/message.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/message.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass MessageTranspiler {\n transpile(node, traversal) {\n const options = [];\n const into = node.findExpressionAfterToken(\"INTO\");\n if (into) {\n options.push(\"into: \" + traversal.traverse(into).getCode());\n }\n const messagesource = node.findDirectExpression(abaplint.Expressions.MessageSource);\n if (messagesource) {\n const id = messagesource.findExpressionAfterToken(\"ID\");\n if (id) {\n options.push(\"id: \" + traversal.traverse(id).getCode());\n }\n const cla = messagesource.findDirectExpression(abaplint.Expressions.MessageClass);\n if (cla) {\n options.push(\"id: \\\"\" + cla.concatTokens() + \"\\\"\");\n }\n const type = messagesource.findExpressionAfterToken(\"TYPE\");\n if (type) {\n options.push(\"type: \" + traversal.traverse(type).getCode());\n }\n const number = messagesource.findExpressionAfterToken(\"NUMBER\");\n if (number) {\n options.push(\"number: \" + traversal.traverse(number).getCode());\n }\n const typeAndNumber = messagesource.findDirectExpression(abaplint.Expressions.MessageTypeAndNumber);\n if (typeAndNumber) {\n const str = typeAndNumber.getFirstToken().getStr();\n options.push(\"number: \\\"\" + str.substr(1, 3) + \"\\\"\");\n options.push(\"type: \\\"\" + str.substr(0, 1).toUpperCase() + \"\\\"\");\n }\n const like = messagesource.findExpressionAfterToken(\"LIKE\");\n if (like) {\n options.push(\"displayLike: \" + traversal.traverse(like).getCode());\n }\n }\n else {\n // exception based\n const exception = node.findDirectExpression(abaplint.Expressions.SimpleSource3);\n options.push(\"exception: \" + traversal.traverse(exception).getCode());\n const type = node.findExpressionAfterToken(\"TYPE\");\n if (type) {\n options.push(\"type: \" + traversal.traverse(type).getCode());\n }\n const like = node.findExpressionAfterToken(\"LIKE\");\n if (like) {\n options.push(\"displayLike: \" + traversal.traverse(like).getCode());\n }\n }\n const w = [];\n let withs = false;\n for (const c of node.getChildren()) {\n if (c.getFirstToken().getStr().toUpperCase() === \"WITH\") {\n withs = true;\n }\n else if (withs === true && c.get() instanceof abaplint.Expressions.Source) {\n w.push(traversal.traverse(c).getCode());\n }\n else if (withs === true && c.get() instanceof abaplint.Expressions.SimpleSource3) {\n w.push(traversal.traverse(c).getCode());\n }\n else if (withs === true) {\n break;\n }\n }\n if (w.length > 0) {\n options.push(\"with: [\" + w.join(\",\") + \"]\");\n }\n return new chunk_1.Chunk()\n .append(\"await abap.statements.message({\", node, traversal)\n .appendString(options.join(\", \"))\n .append(\"});\", node.getLastToken(), traversal);\n }\n}\nexports.MessageTranspiler = MessageTranspiler;\n//# sourceMappingURL=message.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/message.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/method_implementation.js": +/*!*******************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/method_implementation.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodImplementationTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nclass MethodImplementationTranspiler {\n transpile(node, traversal) {\n var _a, _b;\n const token = node.findFirstExpression(abaplint.Expressions.MethodName).getFirstToken();\n let methodName = token.getStr();\n const scope = traversal.findCurrentScopeByToken(token);\n if (scope === undefined) {\n throw new Error(\"MethodTranspiler, scope not found, \" + methodName + \", \" + traversal.getFilename());\n }\n else if (scope.getIdentifier().sname !== methodName) {\n throw new Error(\"MethodTranspiler, wrong scope found, \" + scope.getIdentifier().sname + \", \" + methodName);\n }\n let after = \"\";\n const classDef = traversal.getClassDefinition(token);\n let unique = \"\";\n if (methodName.toUpperCase() === \"CONSTRUCTOR\" && classDef) {\n // note that all ABAP identifiers are lower cased, sometimes the kernel does magic, so it needs to know the method input name\n unique = \"INPUT\";\n // after = traversal.buildConstructorContents(scope.getParent(), classDef);\n methodName = \"constructor_\";\n }\n const methodDef = this.findMethodParameters(scope);\n const vars = scope.getData().vars;\n for (const n in vars) {\n const identifier = vars[n];\n const varName = n.toLowerCase();\n if (identifier.getMeta().includes(\"importing\" /* abaplint.IdentifierMeta.MethodImporting */)\n || identifier.getMeta().includes(\"changing\" /* abaplint.IdentifierMeta.MethodChanging */)\n || identifier.getMeta().includes(\"event_parameter\" /* abaplint.IdentifierMeta.EventParameter */)\n || identifier.getMeta().includes(\"exporting\" /* abaplint.IdentifierMeta.MethodExporting */)) {\n if (unique === \"\") {\n unique = \"INPUT\";\n }\n after = after + new transpile_types_1.TranspileTypes().declare(identifier) + \"\\n\";\n const type = identifier.getType();\n // todo, type X is also generic in method definitions, the real fix will be in abaplint\n const charGeneric = type instanceof abaplint.BasicTypes.CharacterType\n && type.getLength() === 1\n && type.getDDICName() === undefined\n && type.getQualifiedName() === undefined;\n if (identifier.getMeta().includes(\"importing\" /* abaplint.IdentifierMeta.MethodImporting */)\n && type.isGeneric() === false\n && charGeneric === false) {\n after += \"if (\" + unique + \" && \" + unique + \".\" + varName + \") {\" + varName + \".set(\" + unique + \".\" + varName + \");}\\n\";\n }\n else {\n after += \"if (\" + unique + \" && \" + unique + \".\" + varName + \") {\" + varName + \" = \" + unique + \".\" + varName + \";}\\n\";\n }\n const parameterDefault = methodDef === null || methodDef === void 0 ? void 0 : methodDef.getParameterDefault(varName);\n if (parameterDefault) {\n let val = \"\";\n if (parameterDefault.get() instanceof abaplint.Expressions.Constant) {\n val = new expressions_1.ConstantTranspiler().transpile(parameterDefault, traversal).getCode();\n }\n else if (parameterDefault.get() instanceof abaplint.Expressions.FieldChain) {\n if (parameterDefault.getFirstToken().getStr().toLowerCase() === \"abap_true\") {\n val = \"abap.builtin.abap_true\";\n }\n else if (parameterDefault.getFirstToken().getStr().toLowerCase() === \"abap_false\") {\n val = \"abap.builtin.abap_false\";\n }\n else if (parameterDefault.getFirstToken().getStr().toLowerCase() === \"space\") {\n val = \"abap.builtin.space\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-langu\") {\n val = \"abap.builtin.sy.get().langu\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-mandt\") {\n val = \"abap.builtin.sy.get().mandt\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-uname\") {\n val = \"abap.builtin.sy.get().uname\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-sysid\") {\n val = \"abap.builtin.sy.get().sysid\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-msgid\") {\n val = \"abap.builtin.sy.get().msgid\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-msgty\") {\n val = \"abap.builtin.sy.get().msgty\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-msgno\") {\n val = \"abap.builtin.sy.get().msgno\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-msgv1\") {\n val = \"abap.builtin.sy.get().msgv1\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-msgv2\") {\n val = \"abap.builtin.sy.get().msgv2\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-msgv3\") {\n val = \"abap.builtin.sy.get().msgv3\";\n }\n else if (parameterDefault.concatTokens().toLowerCase() === \"sy-msgv4\") {\n val = \"abap.builtin.sy.get().msgv4\";\n }\n else {\n // note: this can be difficult, the \"def\" might be from an interface, ie. a different scope than the method\n val = new expressions_1.FieldChainTranspiler().transpile(parameterDefault, traversal, true, methodDef === null || methodDef === void 0 ? void 0 : methodDef.getFilename(), true).getCode();\n if (val.startsWith(parameterDefault.getFirstToken().getStr().toLowerCase()) === true) {\n val = \"this.\" + val;\n }\n }\n }\n else {\n throw new Error(\"MethodImplementationTranspiler, unknown default param type\");\n }\n if (identifier.getMeta().includes(\"pass_by_value\" /* abaplint.IdentifierMeta.PassByValue */)) {\n after += \"if (\" + unique + \" === undefined || \" + unique + \".\" + varName + \" === undefined) {\" + varName + \".set(\" + val + \");}\\n\";\n }\n else {\n after += \"if (\" + unique + \" === undefined || \" + unique + \".\" + varName + \" === undefined) {\" + varName + \" = \" + val + \";}\\n\";\n }\n }\n }\n else if (identifier.getMeta().includes(\"returning\" /* abaplint.IdentifierMeta.MethodReturning */)) {\n after = after + new transpile_types_1.TranspileTypes().declare(identifier) + \"\\n\";\n }\n }\n if (after.length > 0) { // argh\n after = \"\\n\" + after;\n after = after.substring(0, after.length - 1);\n }\n const method = this.findMethod(methodName, classDef, traversal);\n let staticMethod = \"\";\n methodName = methodName.replace(\"~\", \"$\").toLowerCase();\n if (methodName === \"then\") {\n // todo, this should be a checked in the validation step, but no abaplint rule for it?\n // it messes up promises when \"this\" is returned\n throw new Error(`Method name \"then\" not allowed`);\n }\n const superDef = traversal.findClassDefinition(classDef === null || classDef === void 0 ? void 0 : classDef.getSuperClass(), scope);\n for (const a of (superDef === null || superDef === void 0 ? void 0 : superDef.getAliases().getAll()) || []) {\n if (a.getName().toLowerCase() === methodName) {\n methodName = a.getComponent().replace(\"~\", \"$\").toLowerCase();\n }\n }\n if (method && method.isStatic()) {\n // in ABAP static methods can be called with instance arrows, \"->\"\n const className = (_b = (_a = scope.getParent()) === null || _a === void 0 ? void 0 : _a.getIdentifier().sname) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n staticMethod = \"async \" + traversal_1.Traversal.escapeNamespace(methodName) + \"(\" + unique + \") {\\n\" +\n \"return \" + traversal_1.Traversal.escapeNamespace(className) + \".\" + traversal_1.Traversal.escapeNamespace(methodName) + \"(\" + unique + \");\\n\" +\n \"}\\n\" + \"static \";\n }\n unique_identifier_1.UniqueIdentifier.resetIndexBackup();\n const str = staticMethod + \"async \" + traversal_1.Traversal.escapeNamespace(methodName) + \"(\" + unique + \") {\" + after;\n return new chunk_1.Chunk().append(str, node, traversal);\n }\n /////////////////////////////\n findMethod(name, cdef, traversal) {\n var _a, _b;\n if (cdef === undefined) {\n return undefined;\n }\n if (name.includes(\"~\")) {\n const split = name.split(\"~\");\n const intfName = split[0];\n name = split[1];\n const scope = traversal.findCurrentScopeByToken(cdef.getToken());\n const intf = traversal.findInterfaceDefinition(intfName, scope);\n return (_a = intf === null || intf === void 0 ? void 0 : intf.getMethodDefinitions()) === null || _a === void 0 ? void 0 : _a.getByName(name);\n }\n else {\n return (_b = cdef.getMethodDefinitions()) === null || _b === void 0 ? void 0 : _b.getByName(name);\n }\n }\n findMethodParameters(scope) {\n for (const r of scope.getData().references) {\n if (r.referenceType === abaplint.ReferenceType.MethodImplementationReference\n && r.resolved instanceof abaplint.Types.MethodDefinition) {\n return r.resolved.getParameters();\n }\n }\n return undefined;\n }\n}\nexports.MethodImplementationTranspiler = MethodImplementationTranspiler;\n//# sourceMappingURL=method_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/method_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/modify_database.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/modify_database.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyDatabaseTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass ModifyDatabaseTranspiler {\n transpile(node, traversal) {\n const dbtab = node.findFirstExpression(abaplint.Expressions.DatabaseTable);\n if (dbtab === undefined) {\n throw new Error(\"internal error, ModifyDatabaseTranspiler\");\n }\n const table = new expressions_1.DatabaseTableTranspiler(false).transpile(dbtab, traversal);\n const options = [];\n const tab = node.findExpressionAfterToken(\"TABLE\");\n if (tab) {\n const ttab = traversal.traverse(tab);\n options.push(`\"table\": ` + ttab.getCode());\n }\n const from = node.findExpressionAfterToken(\"FROM\");\n if (from && from.get() instanceof abaplint.Expressions.SQLSource) {\n const tvalues = traversal.traverse(from);\n options.push(`\"values\": ` + tvalues.getCode());\n }\n return new chunk_1.Chunk(`await abap.statements.modifyDatabase(${table.getCode()}, {${options.join(\", \")}});`);\n }\n}\nexports.ModifyDatabaseTranspiler = ModifyDatabaseTranspiler;\n//# sourceMappingURL=modify_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/modify_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/modify_internal.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/modify_internal.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyInternalTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ModifyInternalTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)).getCode();\n const extra = [];\n const index = node.findExpressionAfterToken(\"INDEX\");\n if (index) {\n const s = new expressions_1.SourceTranspiler().transpile(index, traversal).getCode();\n extra.push(\"index: \" + s);\n }\n const from = node.findExpressionAfterToken(\"FROM\");\n if (from) {\n const s = new expressions_1.SourceTranspiler().transpile(from, traversal).getCode();\n extra.push(\"from: \" + s);\n }\n const whereNode = node.findDirectExpression(abaplint.Expressions.ComponentCond);\n if (whereNode) {\n // todo, replacing \"await\" is a hack\n extra.push(\"where: \" + traversal.traverse(whereNode).getCode().replace(\"await \", \"\"));\n }\n const transporting = node.findDirectExpressions(abaplint.Expressions.ComponentChainSimple);\n if (transporting.length > 0) {\n const list = [];\n for (const t of transporting) {\n list.push(\"\\\"\" + t.concatTokens().toLowerCase() + \"\\\"\");\n }\n extra.push(\"transporting: [\" + list.join(\",\") + \"]\");\n }\n let concat = \"\";\n if (extra.length > 0) {\n concat = \",{\" + extra.join(\",\") + \"}\";\n }\n return new chunk_1.Chunk()\n .append(\"abap.statements.modifyInternal(\", node, traversal)\n .appendString(target + concat)\n .append(\");\", node.getLastToken(), traversal);\n }\n}\nexports.ModifyInternalTranspiler = ModifyInternalTranspiler;\n//# sourceMappingURL=modify_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/modify_internal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/modify_screen.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/modify_screen.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyScreenTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ModifyScreenTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"ModifyScreen, not supported, transpiler\");`);\n }\n}\nexports.ModifyScreenTranspiler = ModifyScreenTranspiler;\n//# sourceMappingURL=modify_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/modify_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/move.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/move.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MoveTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass MoveTranspiler {\n transpile(node, traversal) {\n var _a;\n let source = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\n const targets = [];\n for (const t of node.findDirectExpressions(abaplint.Expressions.Target)) {\n targets.push(traversal.traverse(t));\n }\n const ret = new chunk_1.Chunk();\n const second = (_a = node.getChildren()[1]) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (second === \"?=\") {\n ret.appendString(\"await abap.statements.cast(\")\n .appendChunk(targets[0])\n .appendString(\", \")\n .appendChunk(source)\n .append(\");\", node.getLastToken(), traversal);\n }\n else {\n for (const target of targets.reverse()) {\n ret.appendChunk(target)\n .appendString(\".set(\")\n .appendChunk(source)\n .append(\");\", node.getLastToken(), traversal);\n source = target;\n }\n }\n return ret;\n }\n}\nexports.MoveTranspiler = MoveTranspiler;\n//# sourceMappingURL=move.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/move.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/move_corresponding.js": +/*!****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/move_corresponding.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MoveCorrespondingTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass MoveCorrespondingTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n const source = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\n return new chunk_1.Chunk().append(\"abap.statements.moveCorresponding(\", node, traversal)\n .join([source, target])\n .append(\");\", node.getLastToken(), traversal);\n }\n}\nexports.MoveCorrespondingTranspiler = MoveCorrespondingTranspiler;\n//# sourceMappingURL=move_corresponding.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/move_corresponding.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/open_dataset.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/open_dataset.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OpenDatasetTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass OpenDatasetTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"OpenDataset, not supported, transpiler\");`);\n }\n}\nexports.OpenDatasetTranspiler = OpenDatasetTranspiler;\n//# sourceMappingURL=open_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/open_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/overlay.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/overlay.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OverlayTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass OverlayTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk().append(\"abap.statements.overlay(\", node, traversal);\n ret.appendChunk(traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)));\n for (const s of node.findDirectExpressions(abaplint.Expressions.Source)) {\n ret.appendString(\",\");\n ret.appendChunk(traversal.traverse(s));\n }\n ret.append(\");\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.OverlayTranspiler = OverlayTranspiler;\n//# sourceMappingURL=overlay.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/overlay.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/parameter.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/parameter.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParameterTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ParameterTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"Parameter, not supported, transpiler\");`);\n }\n}\nexports.ParameterTranspiler = ParameterTranspiler;\n//# sourceMappingURL=parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/perform.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/perform.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PerformTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass PerformTranspiler {\n transpile(node, _traversal) {\n const formName = node.findDirectExpression(abaplint.Expressions.FormName);\n if (formName === undefined) {\n return new chunk_1.Chunk(`throw new Error(\"PerformTranspiler FormName not found\");`);\n }\n // todo, parameters\n if (node.concatTokens().toUpperCase().includes(\" IN PROGRAM \")) {\n return new chunk_1.Chunk(`throw new Error(\"PerformTranspiler IN PROGRAM, transpiler todo\");`);\n }\n return new chunk_1.Chunk(\"await \" + formName.concatTokens() + \"();\");\n }\n}\nexports.PerformTranspiler = PerformTranspiler;\n//# sourceMappingURL=perform.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/perform.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/raise.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/raise.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RaiseTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nclass RaiseTranspiler {\n transpile(node, traversal) {\n var _a, _b;\n const classNameToken = (_a = node.findFirstExpression(abaplint.Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const className = classNameToken === null || classNameToken === void 0 ? void 0 : classNameToken.getStr();\n if (className === undefined) {\n const s = node.findFirstExpression(abaplint.Expressions.SimpleSource2);\n if (s === undefined) {\n const name = (_b = node.findFirstExpression(abaplint.Expressions.ExceptionName)) === null || _b === void 0 ? void 0 : _b.concatTokens().toLowerCase();\n return new chunk_1.Chunk().append(`throw new abap.ClassicError({classic: \"${name}\"});`, node, traversal);\n }\n const sCode = new expressions_1.SourceTranspiler(true).transpile(s, traversal).getCode();\n return new chunk_1.Chunk().append(`throw ${sCode};`, node, traversal);\n }\n let p = \"\";\n const parameters = node.findFirstExpression(abaplint.Expressions.ParameterListS);\n if (parameters) {\n p = traversal.traverse(parameters).getCode();\n }\n const extra = `{\"INTERNAL_FILENAME\": \"${traversal.getFilename()}\",\"INTERNAL_LINE\": ${node.getStart().getRow()}}`;\n const lookup = traversal.lookupClassOrInterface(classNameToken === null || classNameToken === void 0 ? void 0 : classNameToken.getStr(), classNameToken);\n const id = unique_identifier_1.UniqueIdentifier.get();\n return new chunk_1.Chunk().append(`const ${id} = await (new ${lookup}()).constructor_(${p});\n${id}.EXTRA_CX = ${extra};\nthrow ${id};`, node, traversal);\n }\n}\nexports.RaiseTranspiler = RaiseTranspiler;\n//# sourceMappingURL=raise.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/raise.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/raise_event.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/raise_event.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RaiseEventTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass RaiseEventTranspiler {\n transpile(node, traversal) {\n // todo\n return new chunk_1.Chunk().append(`abap.statements.raiseEvent();`, node, traversal);\n }\n}\nexports.RaiseEventTranspiler = RaiseEventTranspiler;\n//# sourceMappingURL=raise_event.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/raise_event.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/read_dataset.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/read_dataset.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadDatasetTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ReadDatasetTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"ReadDataset, not supported, transpiler\");`);\n }\n}\nexports.ReadDatasetTranspiler = ReadDatasetTranspiler;\n//# sourceMappingURL=read_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/read_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/read_line.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/read_line.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadLineTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ReadLineTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"ReadLine, transpiler todo\");`);\n }\n}\nexports.ReadLineTranspiler = ReadLineTranspiler;\n//# sourceMappingURL=read_line.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/read_line.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/read_report.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/read_report.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadReportTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass ReadReportTranspiler {\n transpile(node, traversal) {\n const reportNode = node.findExpressionAfterToken(\"REPORT\");\n const reportChunk = new expressions_1.SourceTranspiler().transpile(reportNode, traversal);\n const options = [];\n const intoNode = node.findExpressionAfterToken(\"INTO\");\n if (intoNode) {\n options.push(\"into: \" + new expressions_1.TargetTranspiler().transpile(intoNode, traversal).getCode());\n }\n const stateNode = node.findExpressionAfterToken(\"STATE\");\n if (stateNode) {\n options.push(\"state: \" + new expressions_1.SourceTranspiler().transpile(stateNode, traversal).getCode());\n }\n return new chunk_1.Chunk().appendString(`abap.statements.readReport(`)\n .appendChunk(reportChunk)\n .appendString(\", {\" + options.join(\",\") + \"}\")\n .appendString(\");\");\n }\n}\nexports.ReadReportTranspiler = ReadReportTranspiler;\n//# sourceMappingURL=read_report.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/read_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/read_table.js": +/*!********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/read_table.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadTableTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ReadTableTranspiler {\n transpile(node, traversal) {\n let prefix = \"\";\n const s = node.findDirectExpression(abaplint.Expressions.SimpleSource2);\n const ret = traversal.traverse(s).getCode();\n const extra = [];\n const index = node.findExpressionAfterToken(\"INDEX\");\n if (index) {\n const s = new expressions_1.SourceTranspiler().transpile(index, traversal).getCode();\n extra.push(\"index: \" + s);\n }\n const from = node.findExpressionAfterToken(\"FROM\");\n if (from) {\n const s = new expressions_1.SourceTranspiler().transpile(from, traversal).getCode();\n extra.push(\"from: \" + s);\n }\n const keyName = node.findExpressionAfterToken(\"KEY\");\n if (keyName && node.findDirectTokenByText(\"COMPONENTS\")) {\n extra.push(\"keyName: \\\"\" + keyName.concatTokens() + \"\\\"\");\n }\n const binary = node.findTokenSequencePosition(\"BINARY\", \"SEARCH\");\n if (binary) {\n extra.push(\"binarySearch: true\");\n }\n const withTableKey = node.findTokenSequencePosition(\"WITH\", \"TABLE\");\n if (withTableKey) {\n extra.push(\"withTableKey: true\");\n }\n const rt = node.findDirectExpression(abaplint.Expressions.ReadTableTarget);\n const target = rt === null || rt === void 0 ? void 0 : rt.findDirectExpression(abaplint.Expressions.Target);\n const fs = rt === null || rt === void 0 ? void 0 : rt.findDirectExpression(abaplint.Expressions.FSTarget);\n if (rt && fs) {\n const name = new expressions_1.FieldSymbolTranspiler().transpile(fs, traversal).getCode();\n extra.push(\"assigning: \" + name);\n }\n else if (target) {\n const name = traversal.traverse(target).getCode();\n if (rt === null || rt === void 0 ? void 0 : rt.findDirectTokenByText(\"REFERENCE\")) {\n extra.push(\"referenceInto: \" + name);\n }\n else {\n extra.push(\"into: \" + name);\n }\n }\n const compare = node.findDirectExpression(abaplint.Expressions.ComponentCompareSimple);\n if (compare) {\n const withKey = [];\n const withKeyValue = [];\n const withKeySimple = [];\n const count = compare.getChildren().length / 3;\n let usesTableLine = false;\n for (let i = 0; i < count; i++) {\n const left = compare.getChildren()[i * 3];\n const source = compare.getChildren()[(i * 3) + 2];\n const s = traversal.traverse(source).getCode();\n let field = \"\";\n if (left.get() instanceof abaplint.Expressions.Dynamic\n && left instanceof abaplint.Nodes.ExpressionNode) {\n const concat = left.concatTokens().toLowerCase();\n field = concat.substring(2, concat.length - 2);\n }\n else {\n field = traversal.traverse(left).getCode();\n }\n if (field === \"table_line\") {\n usesTableLine = true;\n }\n if (s.includes(\"await\")) {\n const id = unique_identifier_1.UniqueIdentifier.get();\n prefix += \"const \" + id + \" = \" + s + \";\\n\";\n withKey.push(\"abap.compare.eq(i.\" + field + \", \" + id + \")\");\n withKeyValue.push(`{key: (i) => {return i.${field}}, value: ${id}}`);\n withKeySimple.push(`\"${field}\": ${id}`);\n }\n else {\n withKey.push(\"abap.compare.eq(i.\" + field + \", \" + s + \")\");\n withKeyValue.push(`{key: (i) => {return i.${field}}, value: ${s}}`);\n withKeySimple.push(`\"${field}\": ${s}`);\n }\n }\n extra.push(\"withKey: (i) => {return \" + withKey.join(\" && \") + \";}\");\n extra.push(`withKeyValue: [${withKeyValue.join(\",\")}]`);\n extra.push(`usesTableLine: ${usesTableLine}`);\n extra.push(`withKeySimple: {${withKeySimple.join(\",\")}}`);\n }\n let concat = \"\";\n if (extra.length > 0) {\n concat = \",{\" + extra.join(\",\\n \") + \"}\";\n }\n return new chunk_1.Chunk()\n .append(prefix + \"abap.statements.readTable(\", node, traversal)\n .appendString(ret + concat)\n .append(\");\", node.getLastToken(), traversal);\n }\n}\nexports.ReadTableTranspiler = ReadTableTranspiler;\n//# sourceMappingURL=read_table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/read_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/read_textpool.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/read_textpool.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReadTextpoolTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ReadTextpoolTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"ReadTextpool, transpiler todo\");`);\n }\n}\nexports.ReadTextpoolTranspiler = ReadTextpoolTranspiler;\n//# sourceMappingURL=read_textpool.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/read_textpool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/receive.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/receive.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReceiveTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ReceiveTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"Receive, transpiler todo\");`);\n }\n}\nexports.ReceiveTranspiler = ReceiveTranspiler;\n//# sourceMappingURL=receive.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/receive.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/refresh.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/refresh.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RefreshTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass RefreshTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n const ret = new chunk_1.Chunk();\n ret.append(\"abap.statements.clear(\", node, traversal);\n ret.appendChunk(target);\n ret.append(\");\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.RefreshTranspiler = RefreshTranspiler;\n//# sourceMappingURL=refresh.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/refresh.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/replace.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/replace.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReplaceTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ReplaceTranspiler {\n transpile(node, traversal) {\n const sources = node.findDirectExpressions(abaplint.Expressions.Source);\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)).getCode();\n const concat = node.concatTokens().toUpperCase();\n const all = concat.startsWith(\"REPLACE ALL\");\n const extra = [];\n const w = node.findExpressionAfterToken(\"WITH\");\n if (w) {\n extra.push(\"with: \" + new expressions_1.SourceTranspiler().transpile(w, traversal).getCode());\n }\n const o = node.findExpressionAfterToken(\"OF\");\n if (o && o.get() instanceof abaplint.Expressions.Source) {\n extra.push(\"of: \" + new expressions_1.SourceTranspiler().transpile(o, traversal).getCode());\n }\n const length = node.findExpressionAfterToken(\"LENGTH\");\n if (length && length.get() instanceof abaplint.Expressions.Source) {\n extra.push(\"sectionLength: \" + new expressions_1.SourceTranspiler().transpile(length, traversal).getCode());\n }\n const offset = node.findExpressionAfterToken(\"OFFSET\");\n if (offset && offset.get() instanceof abaplint.Expressions.Source) {\n extra.push(\"sectionOffset: \" + new expressions_1.SourceTranspiler().transpile(offset, traversal).getCode());\n }\n const r = node.findDirectExpression(abaplint.Expressions.FindType);\n const type = r === null || r === void 0 ? void 0 : r.concatTokens().toUpperCase();\n if (type === \"REGEX\") {\n extra.push(\"regex: \" + new expressions_1.SourceTranspiler().transpile(sources[0], traversal).getCode());\n }\n if (o === undefined && o === undefined && type !== \"REGEX\") {\n extra.push(\"of: \" + new expressions_1.SourceTranspiler().transpile(sources[0], traversal).getCode());\n }\n if (concat.includes(\" IGNORING CASE\")) {\n extra.push(\"ignoringCase: true\");\n }\n return new chunk_1.Chunk()\n .append(\"abap.statements.replace({target: \", node, traversal)\n .appendString(target + \", all: \" + all + \", \" + extra.join(\", \"))\n .append(\"});\", node.getLastToken(), traversal);\n }\n}\nexports.ReplaceTranspiler = ReplaceTranspiler;\n//# sourceMappingURL=replace.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/replace.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/report.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/report.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReportTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ReportTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(\"\");\n }\n}\nexports.ReportTranspiler = ReportTranspiler;\n//# sourceMappingURL=report.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/retry.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/retry.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RetryTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass RetryTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"Retry, not supported, transpiler\");`);\n }\n}\nexports.RetryTranspiler = RetryTranspiler;\n//# sourceMappingURL=retry.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/retry.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/return.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/return.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReturnTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nclass ReturnTranspiler {\n transpile(node, traversal) {\n let extra = \"\";\n const scope = traversal.findCurrentScopeByToken(node.getFirstToken());\n const vars = scope === null || scope === void 0 ? void 0 : scope.getData().vars;\n for (const n in vars) {\n const identifier = vars[n];\n if (identifier.getMeta().includes(\"returning\" /* abaplint.IdentifierMeta.MethodReturning */)) {\n extra = \" \" + n.toLowerCase();\n }\n }\n let pre = \"\";\n if (traversal.isInsideDoOrWhile(node)) {\n pre = `abap.builtin.sy.get().index.set(${unique_identifier_1.UniqueIdentifier.getIndexBackup1()});\\n`;\n }\n if ((scope === null || scope === void 0 ? void 0 : scope.getIdentifier().stype) === abaplint.ScopeType.Method\n && (scope === null || scope === void 0 ? void 0 : scope.getIdentifier().sname.toLowerCase()) === \"constructor\") {\n extra = \" this\";\n }\n return new chunk_1.Chunk().append(pre + \"return\" + extra + \";\", node, traversal);\n }\n}\nexports.ReturnTranspiler = ReturnTranspiler;\n//# sourceMappingURL=return.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/return.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/rollback.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/rollback.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RollbackTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass RollbackTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"abap.statements.rollback();\", node, traversal);\n }\n}\nexports.RollbackTranspiler = RollbackTranspiler;\n//# sourceMappingURL=rollback.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/rollback.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/scan.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/scan.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ScanTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ScanTranspiler {\n transpile(node, traversal) {\n const lookup = traversal.lookupClassOrInterface(\"KERNEL_SCAN_ABAP_SOURCE\", node.getFirstToken());\n const options = [];\n let name = \"\";\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.ExpressionNode) {\n options.push(name + \": \" + traversal.traverse(c).getCode());\n name = \"\";\n }\n else {\n if (c.concatTokens().toUpperCase() === \"WITH\" && name !== \"\") {\n options.push(name + \": true\");\n name = \"\";\n }\n if (name !== \"\" && name.endsWith(\"_\") === false) {\n name += \"_\";\n }\n name += c.concatTokens().toLowerCase().replace(\"-\", \"\");\n }\n }\n const call = `await ${lookup}.call({${options.join(\", \")}});`;\n return new chunk_1.Chunk().append(`if (${lookup} === undefined) throw new Error(\"ScanAbapSource, kernel class missing\");\\n${call}`, node, traversal);\n }\n}\nexports.ScanTranspiler = ScanTranspiler;\n//# sourceMappingURL=scan.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/scan.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/search.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/search.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SearchTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SearchTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"Search, transpiler todo\");`);\n }\n}\nexports.SearchTranspiler = SearchTranspiler;\n//# sourceMappingURL=search.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/search.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/select.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/select.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nconst sql_from_1 = __webpack_require__(/*! ../expressions/sql_from */ \"../../packages/transpiler/build/src/expressions/sql_from.js\");\nfunction escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n}\n// TODO: currently SELECT into are always handled as CORRESPONDING\nclass SelectTranspiler {\n transpile(node, traversal, targetOverride) {\n var _a;\n let target = \"undefined\";\n if (targetOverride) {\n // SelectLoop structure uses override\n target = targetOverride;\n }\n else if (node.findFirstExpression(abaplint.Expressions.SQLIntoTable)) {\n target = traversal.traverse(node.findFirstExpression(abaplint.Expressions.Target)).getCode();\n }\n else if (node.findFirstExpression(abaplint.Expressions.SQLIntoStructure)) {\n target = traversal.traverse(node.findFirstExpression(abaplint.Expressions.SQLIntoStructure)).getCode();\n }\n let select = \"SELECT \";\n const fieldList = node.findFirstExpression(abaplint.Expressions.SQLFieldList)\n || node.findFirstExpression(abaplint.Expressions.SQLFieldListLoop);\n const fields = [];\n for (const f of (fieldList === null || fieldList === void 0 ? void 0 : fieldList.getChildren()) || []) {\n if (f instanceof abaplint.Nodes.ExpressionNode && f.get() instanceof abaplint.Expressions.SQLField) {\n const code = new expressions_1.SQLFieldTranspiler().transpile(f, traversal).getCode();\n fields.push(code);\n }\n else {\n fields.push(f.concatTokens());\n }\n }\n select += fields.join(\", \") + \" \";\n const from = node.findFirstExpression(abaplint.Expressions.SQLFrom);\n if (from) {\n select += new sql_from_1.SQLFromTranspiler().transpile(from, traversal).getCode();\n }\n const { table, keys } = this.findTable(node, traversal);\n let where = undefined;\n for (const sqlCond of node.findAllExpressions(abaplint.Expressions.SQLCond)) {\n if (this.isWhereExpression(node, sqlCond)) {\n where = sqlCond;\n }\n }\n if (where) {\n select += \"WHERE \" + new expressions_1.SQLCondTranspiler().transpile(where, traversal, table).getCode() + \" \";\n }\n const upTo = node.findFirstExpression(abaplint.Expressions.SQLUpTo);\n if (upTo) {\n const s = upTo.findFirstExpression(abaplint.Expressions.SimpleSource3);\n if (s) {\n select += `UP TO \" + ${new expressions_1.SourceTranspiler(true).transpile(s, traversal).getCode()} + \" ROWS `;\n }\n else {\n select += upTo.concatTokens() + \" \";\n }\n }\n const orderBy = node.findFirstExpression(abaplint.Expressions.SQLOrderBy);\n if (orderBy) {\n select += orderBy.concatTokens() + \" \";\n }\n for (const d of node.findAllExpressionsRecursive(abaplint.Expressions.Dynamic)) {\n const chain = d.findFirstExpression(abaplint.Expressions.FieldChain);\n if (chain) {\n const code = new expressions_1.FieldChainTranspiler(true).transpile(chain, traversal).getCode();\n const search = d.concatTokens();\n select = select.replace(search, `\" + ${code} + \"`);\n }\n }\n if (node.concatTokens().toUpperCase().startsWith(\"SELECT SINGLE \")) {\n select += \"UP TO 1 ROWS\";\n }\n let runtimeOptions = \"\";\n const runtimeOptionsList = [];\n if (node.concatTokens().toUpperCase().includes(\" APPENDING TABLE \")) {\n runtimeOptionsList.push(`appending: true`);\n }\n if (runtimeOptionsList.length > 0) {\n runtimeOptions = `, {` + runtimeOptionsList.join(\", \") + `}`;\n }\n let extra = \"\";\n if (keys.length > 0) {\n extra = `, primaryKey: ${JSON.stringify(keys)}`;\n }\n if (node.findFirstExpression(abaplint.Expressions.SQLForAllEntries)) {\n const unique = unique_identifier_1.UniqueIdentifier.get();\n const fn = (_a = node.findFirstExpression(abaplint.Expressions.SQLForAllEntries)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(abaplint.Expressions.SQLSource);\n const faeTranspiled = new expressions_1.SQLSourceTranspiler().transpile(fn, traversal).getCode();\n select = select.replace(new RegExp(\" \" + escapeRegExp(faeTranspiled), \"g\"), \" \" + unique);\n select = select.replace(unique + \".get().table_line.get()\", unique + \".get()\"); // there can be only one?\n let by = `Object.keys(${target}.getRowType().get())`;\n if (keys.length > 0) {\n by = JSON.stringify(keys);\n }\n const code = `if (${faeTranspiled}.array().length === 0) {\n throw \"FAE, todo, empty table\";\n} else {\n abap.statements.clear(${target});\n for await (const ${unique} of abap.statements.loop(${faeTranspiled})) {\n await abap.statements.select(${target}, {select: \"${select.trim()}\"${extra}}, {appending: true});\n }\n if (!(${target} instanceof abap.types.HashedTable)) {\n abap.statements.sort(${target}, {by: ${by}.map(k => { return {component: k}; })});\n await abap.statements.deleteInternal(${target}, {adjacent: true, by: ${by}});\n }\n abap.builtin.sy.get().dbcnt.set(${target}.getArrayLength());\n}`;\n return new chunk_1.Chunk().append(code, node, traversal);\n }\n else {\n return new chunk_1.Chunk().append(`await abap.statements.select(${target}, {select: \"${select.trim()}\"${extra}}${runtimeOptions});`, node, traversal);\n }\n }\n findTable(node, traversal) {\n let keys = [];\n let tabl = undefined;\n const from = node.findAllExpressions(abaplint.Expressions.SQLFromSource).map(e => e.concatTokens());\n if (from.length === 1) {\n tabl = traversal.findTable(from[0]);\n if (tabl) {\n keys = tabl.listKeys(traversal.reg).map(k => k.toLowerCase());\n }\n }\n return { table: tabl, keys };\n }\n isWhereExpression(node, expression) {\n // check if previous token before sqlCond is \"WHERE\". It could also be \"ON\" in case of join condition\n let prevToken;\n const sqlCondToken = expression.getFirstToken();\n for (const token of node.getTokens()) {\n if (token.getStart() === sqlCondToken.getStart()) {\n break;\n }\n prevToken = token;\n }\n if (prevToken && prevToken.getStr().toUpperCase() === \"WHERE\") {\n return true;\n }\n else {\n return false;\n }\n }\n}\nexports.SelectTranspiler = SelectTranspiler;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/select.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/select_option.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/select_option.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectOptionTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SelectOptionTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"SelectOption, not supported, transpiler\");`);\n }\n}\nexports.SelectOptionTranspiler = SelectOptionTranspiler;\n//# sourceMappingURL=select_option.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/select_option.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/selection_screen.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/selection_screen.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectionScreenTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SelectionScreenTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"SelectionScreen, transpiler todo\");`);\n }\n}\nexports.SelectionScreenTranspiler = SelectionScreenTranspiler;\n//# sourceMappingURL=selection_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/selection_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/set_bit.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/set_bit.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetBitTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SetBitTranspiler {\n transpile(node, traversal) {\n const sources = node.findDirectExpressions(abaplint.Expressions.Source);\n const source = traversal.traverse(sources[0]).getCode();\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)).getCode();\n const value = sources[1] ? traversal.traverse(sources[1]).getCode() : undefined;\n if (value) {\n return new chunk_1.Chunk(\"abap.statements.setBit(\" + source + \", \" + target + \", \" + value + \");\");\n }\n else {\n return new chunk_1.Chunk(\"abap.statements.setBit(\" + source + \", \" + target + \");\");\n }\n }\n}\nexports.SetBitTranspiler = SetBitTranspiler;\n//# sourceMappingURL=set_bit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/set_bit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/set_dataset.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/set_dataset.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetDatasetTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SetDatasetTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"SetDataset, not supported, transpiler\");`);\n }\n}\nexports.SetDatasetTranspiler = SetDatasetTranspiler;\n//# sourceMappingURL=set_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/set_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/set_handler.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/set_handler.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetHandlerTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass SetHandlerTranspiler {\n transpile(node, traversal) {\n const methods = [];\n for (const m of node.findDirectExpressions(abaplint.Expressions.MethodSource)) {\n methods.push(new expressions_1.MethodSourceTranspiler().transpile(m, traversal).getCode());\n }\n let f = undefined;\n const forExpression = node.findExpressionAfterToken(\"FOR\");\n if (forExpression) {\n f = new expressions_1.SourceTranspiler().transpile(forExpression, traversal).getCode();\n }\n let activation = undefined;\n const activationExpression = node.findExpressionAfterToken(\"ACTIVATION\");\n if (activationExpression) {\n activation = new expressions_1.SourceTranspiler().transpile(activationExpression, traversal).getCode();\n }\n return new chunk_1.Chunk().append(`abap.statements.setHandler([${methods.join(\",\")}], ${f}, ${activation});`, node, traversal);\n }\n}\nexports.SetHandlerTranspiler = SetHandlerTranspiler;\n//# sourceMappingURL=set_handler.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/set_handler.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/set_language.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/set_language.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetLanguageTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SetLanguageTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"SetLanguage, transpiler todo\");`);\n }\n}\nexports.SetLanguageTranspiler = SetLanguageTranspiler;\n//# sourceMappingURL=set_language.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/set_language.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/set_locale.js": +/*!********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/set_locale.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetLocaleTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SetLocaleTranspiler {\n transpile(node, traversal) {\n const s = traversal.traverse(node.findFirstExpression(abaplint.Expressions.Source));\n return new chunk_1.Chunk(`abap.statements.setLocale(${s.getCode()});`);\n }\n}\nexports.SetLocaleTranspiler = SetLocaleTranspiler;\n//# sourceMappingURL=set_locale.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/set_locale.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/set_parameter.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/set_parameter.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetParameterTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SetParameterTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"SetParameter, transpiler todo\");`);\n }\n}\nexports.SetParameterTranspiler = SetParameterTranspiler;\n//# sourceMappingURL=set_parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/set_parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/set_pf_status.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/set_pf_status.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetPFStatusTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SetPFStatusTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"SetPFStatus, transpiler todo\");`);\n }\n}\nexports.SetPFStatusTranspiler = SetPFStatusTranspiler;\n//# sourceMappingURL=set_pf_status.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/set_pf_status.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/set_screen.js": +/*!********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/set_screen.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetScreenTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SetScreenTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"SetScreen, not supported, transpiler\");`);\n }\n}\nexports.SetScreenTranspiler = SetScreenTranspiler;\n//# sourceMappingURL=set_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/set_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/set_titlebar.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/set_titlebar.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SetTitlebarTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SetTitlebarTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"SetTitlebar, transpiler todo\");`);\n }\n}\nexports.SetTitlebarTranspiler = SetTitlebarTranspiler;\n//# sourceMappingURL=set_titlebar.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/set_titlebar.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/shift.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/shift.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ShiftTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ShiftTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)).getCode();\n const options = [];\n if (node.findDirectTokenByText(\"LEFT\")) {\n options.push(\"direction: 'LEFT'\");\n }\n else if (node.findDirectTokenByText(\"RIGHT\")) {\n options.push(\"direction: 'RIGHT'\");\n }\n if (node.findDirectTokenByText(\"CIRCULAR\")) {\n options.push(\"circular: true\");\n }\n const leading = node.findExpressionAfterToken(\"LEADING\");\n if (leading) {\n options.push(\"deletingLeading: \" + traversal.traverse(leading).getCode());\n }\n const trailing = node.findExpressionAfterToken(\"TRAILING\");\n if (trailing) {\n options.push(\"deletingTrailing: \" + traversal.traverse(trailing).getCode());\n }\n const places = node.findExpressionAfterToken(\"BY\");\n if (places) {\n options.push(\"places: \" + traversal.traverse(places).getCode());\n }\n const to = node.findExpressionAfterToken(\"TO\");\n if (to) {\n options.push(\"to: \" + traversal.traverse(to).getCode());\n }\n if (node.findDirectTokenByText(\"BYTE\")) {\n options.push(\"mode: 'BYTE'\");\n }\n const extra = options.length > 0 ? \", {\" + options.join(\",\") + \"}\" : \"\";\n return new chunk_1.Chunk().append(\"abap.statements.shift(\" + target + extra + \");\", node, traversal);\n }\n}\nexports.ShiftTranspiler = ShiftTranspiler;\n//# sourceMappingURL=shift.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/shift.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/sort.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/sort.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SortTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SortTranspiler {\n transpile(node, traversal) {\n const concat = node.concatTokens().toUpperCase();\n const components = node.findDirectExpressions(abaplint.Expressions.ComponentChain);\n const options = [];\n if (concat.includes(\" BY \") === false) {\n const descending = node.findDirectTokenByText(\"DESCENDING\") !== undefined;\n if (descending === true) {\n options.push(\"descending: true\");\n }\n }\n else if (components.length > 0) {\n const by = [];\n for (const c of components) {\n const next = this.findNextText(c, node);\n if (next === \"DESCENDING\") {\n by.push(`{component: \"${c.concatTokens().toLowerCase()}\", descending: true}`);\n }\n else {\n by.push(`{component: \"${c.concatTokens().toLowerCase()}\"}`);\n }\n }\n options.push(`by: [${by.join(\",\")}]`);\n }\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)).getCode();\n return new chunk_1.Chunk().append(\"abap.statements.sort(\" + target + \",{\" + options.join(\",\") + \"});\", node, traversal);\n }\n findNextText(c, parent) {\n const children = parent.getChildren();\n for (let i = 0; i < children.length; i++) {\n const element = children[i];\n if (element !== c) {\n continue;\n }\n const next = children[i + 1];\n if (next) {\n return next.concatTokens().toUpperCase();\n }\n }\n return \"\";\n }\n}\nexports.SortTranspiler = SortTranspiler;\n//# sourceMappingURL=sort.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/sort.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/sort_dataset.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/sort_dataset.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SortDatasetTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SortDatasetTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"SortDataset, not supported, transpiler\");`);\n }\n}\nexports.SortDatasetTranspiler = SortDatasetTranspiler;\n//# sourceMappingURL=sort_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/sort_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/split.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/split.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SplitTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SplitTranspiler {\n transpile(node, traversal) {\n const sources = node.findDirectExpressions(abaplint.Expressions.Source);\n const source = traversal.traverse(sources[0]).getCode();\n const at = traversal.traverse(sources[1]).getCode();\n let to = \"\";\n const table = node.findExpressionAfterToken(\"TABLE\");\n if (table) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)).getCode();\n to = \", table: \" + target;\n }\n else {\n to = \", targets: [\" + node.findDirectExpressions(abaplint.Expressions.Target).map(e => traversal.traverse(e).getCode()).join(\",\") + \"]\";\n }\n return new chunk_1.Chunk().append(\"abap.statements.split({source: \" + source + \", at: \" + at + to + \"});\", node, traversal);\n }\n}\nexports.SplitTranspiler = SplitTranspiler;\n//# sourceMappingURL=split.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/split.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/start_of_selection.js": +/*!****************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/start_of_selection.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StartOfSelectionTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass StartOfSelectionTranspiler {\n transpile(_node) {\n return new chunk_1.Chunk(\"\");\n }\n}\nexports.StartOfSelectionTranspiler = StartOfSelectionTranspiler;\n//# sourceMappingURL=start_of_selection.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/start_of_selection.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/submit.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/submit.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SubmitTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SubmitTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"Submit, transpiler todo\");`);\n }\n}\nexports.SubmitTranspiler = SubmitTranspiler;\n//# sourceMappingURL=submit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/submit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/subtract.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/subtract.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SubtractTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SubtractTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target));\n const source = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Source));\n const ret = new chunk_1.Chunk();\n ret.appendChunk(target);\n ret.append(\".set(abap.operators.minus(\", node, traversal);\n ret.appendChunk(target);\n ret.append(\",\", node, traversal);\n ret.appendChunk(source);\n ret.append(\"));\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.SubtractTranspiler = SubtractTranspiler;\n//# sourceMappingURL=subtract.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/subtract.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/syntax_check.js": +/*!**********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/syntax_check.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SyntaxCheckTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass SyntaxCheckTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"SyntaxCheck, transpiler todo\");`);\n }\n}\nexports.SyntaxCheckTranspiler = SyntaxCheckTranspiler;\n//# sourceMappingURL=syntax_check.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/syntax_check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/tables.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/tables.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TablesTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass TablesTranspiler {\n transpile(node, traversal) {\n var _a;\n const token = (_a = node.findFirstExpression(abaplint.Expressions.Field)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (token === undefined) {\n throw new Error(\"TablesTranspiler, token not found\");\n }\n const scope = traversal.findCurrentScopeByToken(token);\n if (scope === undefined) {\n throw new Error(\"TablesTranspiler, scope not found\");\n }\n const found = scope.findVariable(token.getStr());\n if (found === undefined) {\n throw new Error(\"TablesTranspiler, var not found, \\\"\" + token.getStr() + \"\\\"\");\n }\n const ret = new chunk_1.Chunk()\n .appendString(\"let \")\n .append(found.getName().toLowerCase(), token, traversal)\n .appendString(\" = \" + new transpile_types_1.TranspileTypes().toType(found.getType()))\n .append(\";\", node.getLastToken(), traversal);\n return ret;\n }\n}\nexports.TablesTranspiler = TablesTranspiler;\n//# sourceMappingURL=tables.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/tables.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/translate.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/translate.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TranslateTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass TranslateTranspiler {\n transpile(node, traversal) {\n const target = traversal.traverse(node.findDirectExpression(abaplint.Expressions.Target)).getCode();\n let type = \"\";\n if (node.findDirectTokenByText(\"UPPER\")) {\n type = `\"UPPER\"`;\n }\n else if (node.findDirectTokenByText(\"LOWER\")) {\n type = `\"LOWER\"`;\n }\n else {\n const s = node.findDirectExpression(abaplint.Expressions.Source);\n if (s) {\n type = new expressions_1.SourceTranspiler(true).transpile(s, traversal).getCode();\n }\n else {\n throw new Error(\"TranslateTranspiler, Source expression not found\");\n }\n }\n return new chunk_1.Chunk().append(\"abap.statements.translate(\" + target + \", \" + type + \");\", node, traversal);\n }\n}\nexports.TranslateTranspiler = TranslateTranspiler;\n//# sourceMappingURL=translate.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/translate.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/truncate_dataset.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/truncate_dataset.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TruncateDatasetTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass TruncateDatasetTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"TruncateDataset, not supported, transpiler\");`);\n }\n}\nexports.TruncateDatasetTranspiler = TruncateDatasetTranspiler;\n//# sourceMappingURL=truncate_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/truncate_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/try.js": +/*!*************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/try.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TryTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass TryTranspiler {\n transpile(node, traversal) {\n return new chunk_1.Chunk().append(\"try {\", node, traversal);\n }\n}\nexports.TryTranspiler = TryTranspiler;\n//# sourceMappingURL=try.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/try.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/type.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/type.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass TypeTranspiler {\n transpile(_node) {\n return new chunk_1.Chunk(\"\");\n }\n}\nexports.TypeTranspiler = TypeTranspiler;\n//# sourceMappingURL=type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/type_pools.js": +/*!********************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/type_pools.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypePoolsTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass TypePoolsTranspiler {\n transpile(_node, _traversal) {\n // not required for loading, https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abaptype-pools.htm\n return new chunk_1.Chunk(``);\n }\n}\nexports.TypePoolsTranspiler = TypePoolsTranspiler;\n//# sourceMappingURL=type_pools.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/type_pools.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/unassign.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/unassign.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnassignTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass UnassignTranspiler {\n transpile(node, traversal) {\n const fs = new expressions_1.FieldSymbolTranspiler().transpile(node.findDirectExpression(abaplint.Expressions.TargetFieldSymbol), traversal).getCode();\n return new chunk_1.Chunk().append(`${fs}.unassign();`, node.getLastToken(), traversal);\n }\n}\nexports.UnassignTranspiler = UnassignTranspiler;\n//# sourceMappingURL=unassign.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/unassign.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/unpack.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/unpack.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnpackTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass UnpackTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(`throw new Error(\"Unpack, transpiler todo\");`);\n }\n}\nexports.UnpackTranspiler = UnpackTranspiler;\n//# sourceMappingURL=unpack.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/unpack.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/update_database.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/update_database.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UpdateDatabaseTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass UpdateDatabaseTranspiler {\n transpile(node, traversal) {\n const dbtab = node.findFirstExpression(abaplint.Expressions.DatabaseTable);\n if (dbtab === undefined) {\n throw new Error(\"internal error, UpdateDatabaseTranspiler\");\n }\n const table = new expressions_1.DatabaseTableTranspiler(false).transpile(dbtab, traversal);\n const options = [];\n const cond = node.findFirstExpression(abaplint.Expressions.SQLCond);\n if (cond) {\n const ttab = traversal.traverse(cond);\n options.push(`\"where\": \"` + ttab.getCode() + `\"`);\n }\n const sets = node.findAllExpressions(abaplint.Expressions.SQLFieldAndValue);\n if (sets.length > 0) {\n const s = [];\n for (const set of sets) {\n s.push(new expressions_1.SQLFieldAndValueTranspiler().transpile(set, traversal).getCode());\n }\n options.push(`\"set\": [${s.join(\",\")}]`);\n }\n return new chunk_1.Chunk(`await abap.statements.updateDatabase(${table.getCode()}, {${options.join(\", \")}});`);\n }\n}\nexports.UpdateDatabaseTranspiler = UpdateDatabaseTranspiler;\n//# sourceMappingURL=update_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/update_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/wait.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/wait.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WaitTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass WaitTranspiler {\n transpile(node, traversal) {\n const options = [];\n const seconds = node.findExpressionAfterToken(\"TO\");\n if (seconds) {\n options.push(\"seconds: \" + traversal.traverse(seconds).getCode());\n }\n const concat = node.concatTokens().toUpperCase();\n if (concat.includes(\" UNTIL \") === false && seconds) {\n const sec = new expressions_1.SourceTranspiler(true).transpile(seconds, traversal).getCode();\n return new chunk_1.Chunk().appendString(`await new Promise(r => setTimeout(r, ${sec} * 1000));`);\n }\n const lookup = traversal.lookupClassOrInterface(\"KERNEL_PUSH_CHANNELS\", node.getFirstToken());\n const cond = node.findFirstExpression(abaplint.Expressions.Cond);\n if (cond) {\n options.push(\"cond: \" + traversal.traverse(cond).getCode());\n }\n const call = `await ${lookup}.wait({${options.join(\",\")}});`;\n return new chunk_1.Chunk().append(`if (${lookup} === undefined) throw new Error(\"Wait, kernel class missing\");\\n${call}`, node, traversal);\n }\n}\nexports.WaitTranspiler = WaitTranspiler;\n//# sourceMappingURL=wait.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/wait.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/when.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/when.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhenTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass WhenTranspiler {\n constructor(u) {\n this.u = u;\n }\n transpile(node, traversal) {\n let ret = \"\";\n for (const s of node.findAllExpressions(abaplint.Expressions.Source)) {\n const source = new expressions_1.SourceTranspiler().transpile(s, traversal).getCode();\n if (ret !== \"\") {\n ret += \" || \";\n }\n ret += \"abap.compare.eq(\" + this.u + \", \" + source + \")\";\n }\n return new chunk_1.Chunk().append(ret, node, traversal);\n }\n}\nexports.WhenTranspiler = WhenTranspiler;\n//# sourceMappingURL=when.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/when.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/while.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/while.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhileTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nclass WhileTranspiler {\n constructor(syIndexBackup) {\n this.syIndexBackup = syIndexBackup;\n }\n transpile(node, traversal) {\n const cond = new expressions_1.CondTranspiler().transpile(node.findFirstExpression(abaplint.Expressions.Cond), traversal);\n const unique = unique_identifier_1.UniqueIdentifier.get();\n return new chunk_1.Chunk()\n .append(`const ${this.syIndexBackup} = abap.builtin.sy.get().index.get();\nlet ${unique} = 1;\nwhile (`, node, traversal)\n .appendChunk(cond)\n .appendString(`) {\nabap.builtin.sy.get().index.set(${unique}++);`);\n }\n}\nexports.WhileTranspiler = WhileTranspiler;\n//# sourceMappingURL=while.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/while.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/statements/write.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/statements/write.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WriteTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass WriteTranspiler {\n transpile(node, traversal) {\n var _a;\n const extra = [];\n let source;\n const newLine = ((_a = node.findFirstExpression(abaplint.Expressions.WriteOffsetLength)) === null || _a === void 0 ? void 0 : _a.findDirectTokenByText(\"/\")) !== undefined;\n const concat = node.concatTokens().toUpperCase();\n const target = node.findDirectExpression(abaplint.Expressions.Target);\n if (target) {\n extra.push(\"target: \" + traversal.traverse(target).getCode());\n }\n const exponent = node.findExpressionAfterToken(\"EXPONENT\");\n if (exponent) {\n extra.push(\"exponent: \" + traversal.traverse(exponent).getCode());\n }\n if (concat.includes(\"NO-GROUPING\")) {\n extra.push(\"noGrouping: true\");\n }\n if (concat.includes(\"NO-SIGN\")) {\n extra.push(\"noSign: true\");\n }\n const expr = node.findDirectExpression(abaplint.Expressions.Source);\n if (expr === undefined) {\n source = new chunk_1.Chunk().append(\"''\", node, traversal);\n extra.push(\"newLine: true\");\n extra.push(\"skipLine: true\");\n }\n else {\n if (newLine === true) {\n extra.push(\"newLine: true\");\n }\n const concat = expr.concatTokens();\n if (concat.startsWith(\"'@KERNEL \")) {\n // @KERNEL commands must be taken verbatim\n return new chunk_1.Chunk().append(concat.substr(9, concat.length - 10), node, traversal);\n }\n source = traversal.traverse(expr);\n }\n const chunk = new chunk_1.Chunk();\n chunk.append(\"abap.statements.write(\", node, traversal);\n chunk.appendChunk(source);\n if (extra.length === 0) {\n chunk.append(\");\", node.getLastToken(), traversal);\n }\n else {\n chunk.append(\",{\" + extra.join(\",\") + \"});\", node.getLastToken(), traversal);\n }\n return chunk;\n }\n}\nexports.WriteTranspiler = WriteTranspiler;\n//# sourceMappingURL=write.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/statements/write.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/at.js": +/*!************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/at.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst statements_1 = __webpack_require__(/*! ../statements */ \"../../packages/transpiler/build/src/statements/index.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nclass AtTranspiler {\n transpile(node, traversal, previous, loopTarget, tabix, loopStatement) {\n var _a, _b;\n const ret = new chunk_1.Chunk();\n const atStatement = node.findDirectStatement(abaplint.Statements.At);\n const concat = atStatement === null || atStatement === void 0 ? void 0 : atStatement.concatTokens().toUpperCase();\n const name = (_b = (_a = atStatement === null || atStatement === void 0 ? void 0 : atStatement.findDirectExpression(abaplint.Expressions.FieldSub)) === null || _a === void 0 ? void 0 : _a.concatTokens()) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n let suffix = `.get().${name}`;\n if (name === \"table_line\") {\n suffix = \"\";\n }\n if (concat === null || concat === void 0 ? void 0 : concat.startsWith(\"AT NEW \")) {\n // eslint-disable-next-line max-len\n ret.appendString(`if (${previous} === undefined || abap.compare.eq(${previous}${suffix}, ${loopTarget}${suffix}) === false) {\\n`);\n const body = node.findDirectStructure(abaplint.Structures.Body);\n if (body) {\n ret.appendChunk(traversal.traverse(body));\n }\n ret.appendString(\"}\\n\");\n }\n else if (concat === null || concat === void 0 ? void 0 : concat.startsWith(\"AT END OF \")) {\n const next = unique_identifier_1.UniqueIdentifier.get();\n ret.appendString(`let ${next} = undefined;\\n`);\n const loop = new statements_1.LoopTranspiler({ injectFrom: tabix, skipInto: true });\n ret.appendChunk(loop.transpile(loopStatement, traversal));\n ret.appendString(`${next} = ${loop.getTarget()};\\n`);\n ret.appendString(`break;\\n`);\n ret.appendString(`}\\n`);\n // eslint-disable-next-line max-len\n ret.appendString(`if (${next} === undefined || abap.compare.eq(${next}${suffix}, ${loopTarget}${suffix}) === false) {\\n`);\n const body = node.findDirectStructure(abaplint.Structures.Body);\n if (body) {\n ret.appendChunk(traversal.traverse(body));\n }\n ret.appendString(\"}\\n\");\n }\n return ret;\n }\n}\nexports.AtTranspiler = AtTranspiler;\n//# sourceMappingURL=at.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/at.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/at_first.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/at_first.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtFirstTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AtFirstTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n const body = node.findDirectStructure(abaplint.Structures.Body);\n if (body) {\n ret.appendChunk(traversal.traverse(body));\n }\n return ret;\n }\n}\nexports.AtFirstTranspiler = AtFirstTranspiler;\n//# sourceMappingURL=at_first.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/at_first.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/at_last.js": +/*!*****************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/at_last.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AtLastTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass AtLastTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n const body = node.findDirectStructure(abaplint.Structures.Body);\n if (body) {\n ret.appendChunk(traversal.traverse(body));\n }\n return ret;\n }\n}\nexports.AtLastTranspiler = AtLastTranspiler;\n//# sourceMappingURL=at_last.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/at_last.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/case.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/case.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CaseTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nconst statements_1 = __webpack_require__(/*! ../statements */ \"../../packages/transpiler/build/src/statements/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass CaseTranspiler {\n transpile(node, traversal) {\n var _a;\n // does not use switch(), as it break;'s EXITs\n const s = (_a = node.findDirectStatement(abaplint.Statements.Case)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(abaplint.Expressions.Source);\n if (s === undefined) {\n throw new Error(\"CASE, no Source found\");\n }\n let first = true;\n const u = unique_identifier_1.UniqueIdentifier.get();\n const ret = new chunk_1.Chunk();\n // this determines and copies the value\n ret.append(\"let \" + u + \" = \", node, traversal);\n ret.appendChunk(traversal.traverse(s));\n ret.append(\";\\n\", node, traversal);\n for (const w of node.findDirectStructures(abaplint.Structures.When)) {\n for (const c of w.getChildren()) {\n if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.When) {\n if (first === true) {\n first = false;\n ret.appendString(\"if (\");\n }\n else {\n ret.appendString(\"} else if (\");\n }\n ret.appendChunk(new statements_1.WhenTranspiler(u).transpile(c, traversal));\n ret.appendString(\") {\\n\");\n }\n else if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.WhenOthers) {\n if (first === true) {\n continue;\n }\n ret.appendString(\"} else {\\n\");\n }\n else {\n ret.appendChunk(traversal.traverse(c)); // Normal\n }\n }\n }\n if (first === false) {\n ret.appendString(\"}\\n\");\n }\n return ret;\n }\n}\nexports.CaseTranspiler = CaseTranspiler;\n//# sourceMappingURL=case.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/class_definition.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/class_definition.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassDefinitionTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ClassDefinitionTranspiler {\n transpile(node, traversal) {\n var _a;\n const className = (_a = node.findFirstExpression(abaplint.Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n let found = false;\n if (className !== undefined) {\n for (const a of traversal.getCurrentObject().getABAPFiles()) {\n if (a.getInfo().getClassImplementationByName(className) !== undefined) {\n found = true;\n }\n }\n }\n if (found) {\n return new chunk_1.Chunk(\"\");\n }\n else {\n // its an abstract class with only abstract methods\n return new chunk_1.Chunk(`\nclass ${className === null || className === void 0 ? void 0 : className.toLowerCase()} {\n static INTERNAL_TYPE = 'CLAS';\n static IMPLEMENTED_INTERFACES = [];\n static INTERNAL_NAME = 'ABSTRACT_CLASS_INTERNAL_NAME';\n static ATTRIBUTES = {};\n async constructor_() {\n this.me = new abap.types.ABAPObject();\n this.me.set(this);\n return this;\n }\n}`);\n }\n }\n}\nexports.ClassDefinitionTranspiler = ClassDefinitionTranspiler;\n//# sourceMappingURL=class_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/class_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/class_implementation.js": +/*!******************************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/class_implementation.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassImplementationTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ClassImplementationTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n ret.appendChunk(traversal.traverse(c));\n if (c.get() instanceof abaplint.Statements.ClassImplementation) {\n ret.appendString(this.buildConstructor(node.getFirstStatement(), traversal));\n }\n if (c instanceof abaplint.Nodes.StatementNode\n && c.get() instanceof abaplint.Statements.ClassImplementation\n && this.hasConstructor(node) === false) {\n ret.appendString(\"async constructor_(INPUT) {\\nif (super.constructor_) { await super.constructor_(INPUT); }\\nreturn this;\\n}\\n\");\n }\n }\n ret.appendString(this.buildStatic(node.findFirstExpression(abaplint.Expressions.ClassName), traversal));\n ret.appendString(this.buildTypes(node.findFirstExpression(abaplint.Expressions.ClassName), traversal));\n return ret;\n }\n ///////////////////////////////\n hasConstructor(node) {\n var _a;\n for (const m of node.findAllStatements(abaplint.Statements.MethodImplementation)) {\n const name = (_a = m.findFirstExpression(abaplint.Expressions.MethodName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr();\n if ((name === null || name === void 0 ? void 0 : name.toUpperCase()) === \"CONSTRUCTOR\") {\n return true;\n }\n }\n return false;\n }\n /** Finds static attributes + constants including those from interfaces (from superclass is ingored) */\n findStaticAttributes(cdef, scope, traversal) {\n const ret = [];\n ret.push(...cdef.getAttributes().getStatic().map(a => { return { identifier: a, prefix: \"\" }; }));\n ret.push(...cdef.getAttributes().getConstants().map(a => { return { identifier: a, prefix: \"\" }; }));\n const implementing = [...cdef.getImplementing()];\n while (implementing.length > 0) {\n const i = implementing.shift();\n if (i === undefined) {\n break;\n }\n const intf = traversal.findInterfaceDefinition(i.name, scope);\n if (intf === undefined) {\n continue;\n }\n implementing.push(...intf.getImplementing());\n ret.push(...intf.getAttributes().getStatic().map(a => {\n return { identifier: a, prefix: intf.getName().toLowerCase() + \"$\" };\n }));\n ret.push(...intf.getAttributes().getConstants().map(a => {\n return { identifier: a, prefix: intf.getName().toLowerCase() + \"$\" };\n }));\n }\n return ret;\n }\n buildTypes(node, traversal) {\n if (node === undefined) {\n return \"\";\n }\n const cdef = traversal.getClassDefinition(node.getFirstToken());\n if (cdef === undefined) {\n return \"ERROR_CDEF_NOT_FOUND\";\n }\n const prefix = traversal_1.Traversal.escapeNamespace(cdef.getName().toLowerCase()) + \".\";\n let ret = \"\";\n for (const ty of cdef.getTypeDefinitions().getAll()) {\n ret += new transpile_types_1.TranspileTypes().declareStaticSkipVoid(prefix, ty.type);\n }\n return ret;\n }\n /** this builds the part after the class, containing the static variables/constants */\n buildStatic(node, traversal) {\n if (node === undefined) {\n return \"\";\n }\n const cdef = traversal.getClassDefinition(node.getFirstToken());\n if (cdef === undefined) {\n return \"ERROR_CDEF_NOT_FOUND\";\n }\n const scope = traversal.findCurrentScopeByToken(node.getFirstToken());\n if (scope === undefined) {\n return \"ERROR_SCOPE_NOT_FOUND\";\n }\n let ret = \"\";\n const clasName = node.getFirstToken().getStr().toLowerCase();\n const staticAttributes = this.findStaticAttributes(cdef, scope, traversal);\n for (const attr of staticAttributes) {\n const name = traversal_1.Traversal.escapeNamespace(clasName) + \".\" + traversal_1.Traversal.escapeNamespace(attr.prefix) + traversal_1.Traversal.escapeNamespace(attr.identifier.getName().toLowerCase());\n ret += name + \" = \" + new transpile_types_1.TranspileTypes().toType(attr.identifier.getType()) + \";\\n\";\n ret += traversal.setValues(attr.identifier, name);\n }\n for (const alias of cdef.getAliases().getAll()) {\n const isStatic = staticAttributes.some(s => s.prefix.replace(\"$\", \"~\") + s.identifier.getName() === alias.getComponent());\n if (isStatic === false) {\n continue;\n }\n ret += traversal_1.Traversal.escapeNamespace(clasName) + \".\" + alias.getName().toLowerCase() + \" = \" + traversal_1.Traversal.escapeNamespace(clasName) + \".\" + traversal_1.Traversal.escapeNamespace(alias.getComponent().replace(\"~\", \"$\")) + \";\\n\";\n }\n // this is not correct, ABAP does not invocate the class constructor at require time,\n // but this will probably work\n if (traversal.getCurrentObject().getType() === \"CLAS\") {\n // gather call of all class constructors together for a global class, also local classes\n // as they might use the global class, except for local testclass constructors\n if (cdef.isGlobal() === true) {\n for (const f of traversal.getCurrentObject().getABAPFiles()) {\n for (const def of f.getInfo().listClassDefinitions()) {\n if (def.isForTesting === true) {\n continue;\n }\n else if (def.methods.some(m => m.name.toLowerCase() === \"class_constructor\")) {\n ret += \"await \" + traversal.lookupClassOrInterface(def.name, node.getFirstToken()) + \".class_constructor();\\n\";\n }\n }\n }\n }\n if (cdef.isGlobal() === false && cdef.isForTesting() === true && cdef.getMethodDefinitions().getByName(\"class_constructor\")) {\n ret += \"await \" + traversal_1.Traversal.escapeNamespace(node.getFirstToken().getStr().toLowerCase()) + \".class_constructor();\\n\";\n }\n }\n else if (cdef.getMethodDefinitions().getByName(\"class_constructor\")) {\n ret += \"await \" + traversal_1.Traversal.escapeNamespace(node.getFirstToken().getStr().toLowerCase()) + \".class_constructor();\\n\";\n }\n return ret;\n }\n buildConstructor(node, traversal) {\n var _a;\n if (node === undefined) {\n throw new Error(\"buildConstructor node undefined\");\n }\n const scope = traversal.findCurrentScopeByToken(node.getFirstToken());\n const token = (_a = node.findFirstExpression(abaplint.Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (token === undefined) {\n throw \"buildConstructorTokenNotFound\";\n }\n const cdef = traversal.getClassDefinition(token);\n if (cdef === undefined) {\n throw \"buildConstructorCDEFNotFound, \" + token.getStr();\n }\n const ret = traversal.buildConstructorContents(scope, cdef);\n if (ret === \"\") {\n return ret;\n }\n // note: for CALL TRANSFORMATION, its nice that the values are initialized by the JS constructor,\n return \"constructor() {\\n\" + ret + \"}\\n\";\n }\n}\nexports.ClassImplementationTranspiler = ClassImplementationTranspiler;\n//# sourceMappingURL=class_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/class_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/constants.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/constants.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstantsTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst statements_1 = __webpack_require__(/*! ../statements */ \"../../packages/transpiler/build/src/statements/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass ConstantsTranspiler {\n transpile(node, traversal) {\n var _a, _b;\n const begin = node.findDirectStatement(abaplint.Statements.ConstantBegin);\n if (begin === undefined) {\n throw \"ConstantsTranspilerBegin\";\n }\n const name = (_a = begin.findDirectExpression(abaplint.Expressions.DefinitionName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr();\n if (name === undefined) {\n throw \"ConstantsTranspilerName\";\n }\n let ret = new statements_1.DataTranspiler().transpile(begin, traversal).getCode() + \"\\n\";\n // todo: CONSTANTS BEGIN inside CONSTANTS BEGIN\n for (const c of node.findDirectStatements(abaplint.Statements.Constant)) {\n const field = (_b = c.findDirectExpression(abaplint.Expressions.DefinitionName)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();\n if (field === undefined) {\n continue;\n }\n const value = c.findFirstExpression(abaplint.Expressions.Constant);\n if (value) {\n ret += `${name}.get().${field}.set(${traversal.traverse(value).getCode()});\\n`;\n }\n }\n return new chunk_1.Chunk(ret);\n }\n}\nexports.ConstantsTranspiler = ConstantsTranspiler;\n//# sourceMappingURL=constants.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/constants.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/data.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/data.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst statements_1 = __webpack_require__(/*! ../statements */ \"../../packages/transpiler/build/src/statements/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass DataTranspiler {\n transpile(node, traversal) {\n var _a, _b;\n const begin = node.findDirectStatement(abaplint.Statements.DataBegin);\n if (begin === undefined) {\n return new chunk_1.Chunk(\"\");\n }\n const topName = (_a = begin.findDirectExpression(abaplint.Expressions.DefinitionName)) === null || _a === void 0 ? void 0 : _a.concatTokens().toLowerCase();\n const chunk = new statements_1.DataTranspiler().transpile(begin, traversal);\n for (const d of node.findDirectStatements(abaplint.Statements.Data)) {\n const subName = (_b = d.findFirstExpression(abaplint.Expressions.DefinitionName)) === null || _b === void 0 ? void 0 : _b.concatTokens().toLowerCase();\n if (subName && topName) {\n chunk.appendString(statements_1.DataTranspiler.buildValue(d, topName + \".get().\" + subName, traversal));\n }\n }\n chunk.appendString(\"\\n\");\n return chunk;\n }\n}\nexports.DataTranspiler = DataTranspiler;\n//# sourceMappingURL=data.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/define.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/define.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DefineTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass DefineTranspiler {\n transpile(_node, _traversal) {\n // skip, macros are expanded by abaplint\n return new chunk_1.Chunk(\"\");\n }\n}\nexports.DefineTranspiler = DefineTranspiler;\n//# sourceMappingURL=define.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/define.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/do.js": +/*!************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/do.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DoTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst statements_1 = __webpack_require__(/*! ../statements */ \"../../packages/transpiler/build/src/statements/index.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nclass DoTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n const syIndexBackup = unique_identifier_1.UniqueIdentifier.getIndexBackup();\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.Do) {\n ret.appendChunk(new statements_1.DoTranspiler(syIndexBackup).transpile(c, traversal));\n ret.appendString(\"\\n\");\n }\n else if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.EndDo) {\n ret.appendChunk(new statements_1.EndDoTranspiler(syIndexBackup).transpile(c, traversal));\n }\n else {\n ret.appendChunk(traversal.traverse(c));\n }\n }\n return ret;\n }\n}\nexports.DoTranspiler = DoTranspiler;\n//# sourceMappingURL=do.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/do.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/function_module.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/function_module.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionModuleTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nclass FunctionModuleTranspiler {\n transpile(node, traversal) {\n var _a;\n let r = \"\";\n let name = \"\";\n for (const c of node.getChildren()) {\n if (c.get() instanceof abaplint.Statements.FunctionModule && c instanceof abaplint.Nodes.StatementNode) {\n name = (_a = c.findDirectExpression(abaplint.Expressions.Field)) === null || _a === void 0 ? void 0 : _a.concatTokens().toLowerCase();\n if (name === undefined) {\n name = \"FunctionModuleTranspilerNameNotFound\";\n }\n r += `async function ${traversal_1.Traversal.escapeNamespace(name)}(INPUT) {\\n`;\n r += this.findSignature(traversal, name, c);\n }\n else if (c.get() instanceof abaplint.Statements.EndFunction) {\n r += \"}\\n\";\n r += `abap.FunctionModules['${name.toUpperCase()}'] = ${traversal_1.Traversal.escapeNamespace(name)};\\n`;\n }\n else {\n r += traversal.traverse(c).getCode();\n }\n }\n unique_identifier_1.UniqueIdentifier.resetIndexBackup();\n return new chunk_1.Chunk(r);\n }\n //////////////////////\n findSignature(traversal, name, node) {\n var _a, _b, _c;\n const group = traversal.getCurrentObject();\n if (group === undefined) {\n throw \"FunctionModuleTranspilerGroupNotFound\";\n }\n const module = group.getModule(name);\n if (module === undefined) {\n throw \"FunctionModuleTranspilerModuleNotFound\";\n }\n const scope = traversal.findCurrentScopeByToken(node.getLastToken());\n let ret = \"\";\n for (const p of module.getParameters()) {\n ret += `// ${p.direction} ${p.name} ${p.type} ${p.optional}\\n`;\n let direction = p.direction;\n if (direction === \"importing\") {\n direction = \"exporting\";\n }\n else if (direction === \"exporting\") {\n direction = \"importing\";\n }\n // note: all directions are optional\n let name = p.name.toLowerCase();\n if ((_b = (_a = traversal.options) === null || _a === void 0 ? void 0 : _a.keywords) === null || _b === void 0 ? void 0 : _b.some(a => a === name)) {\n name += \"_\";\n }\n ret += `let ${name} = INPUT.${direction}?.${name};\\n`;\n const type = (_c = scope === null || scope === void 0 ? void 0 : scope.findVariable(name)) === null || _c === void 0 ? void 0 : _c.getType();\n if (type !== undefined && p.optional === true) {\n // todo, set DEFAULT value\n ret += `if (${name} === undefined) {\n ${name} = ${new transpile_types_1.TranspileTypes().toType(type)};\n}\\n`;\n }\n }\n return ret;\n }\n}\nexports.FunctionModuleTranspiler = FunctionModuleTranspiler;\n//# sourceMappingURL=function_module.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/function_module.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/index.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/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__(/*! ./case */ \"../../packages/transpiler/build/src/structures/case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_definition */ \"../../packages/transpiler/build/src/structures/class_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_implementation */ \"../../packages/transpiler/build/src/structures/class_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constants */ \"../../packages/transpiler/build/src/structures/constants.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data */ \"../../packages/transpiler/build/src/structures/data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./define */ \"../../packages/transpiler/build/src/structures/define.js\"), exports);\n__exportStar(__webpack_require__(/*! ./do */ \"../../packages/transpiler/build/src/structures/do.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_first */ \"../../packages/transpiler/build/src/structures/at_first.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_last */ \"../../packages/transpiler/build/src/structures/at_last.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_module */ \"../../packages/transpiler/build/src/structures/function_module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface */ \"../../packages/transpiler/build/src/structures/interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop */ \"../../packages/transpiler/build/src/structures/loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select */ \"../../packages/transpiler/build/src/structures/select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./try */ \"../../packages/transpiler/build/src/structures/try.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types */ \"../../packages/transpiler/build/src/structures/types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when */ \"../../packages/transpiler/build/src/structures/when.js\"), exports);\n__exportStar(__webpack_require__(/*! ./while */ \"../../packages/transpiler/build/src/structures/while.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/interface.js": +/*!*******************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/interface.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InterfaceTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst traversal_1 = __webpack_require__(/*! ../traversal */ \"../../packages/transpiler/build/src/traversal.js\");\nconst transpile_types_1 = __webpack_require__(/*! ../transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass InterfaceTranspiler {\n transpile(node, traversal) {\n var _a;\n let ret = \"\";\n let name;\n const def = traversal.getInterfaceDefinition(node.getFirstToken());\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.Interface) {\n const scope = traversal.findCurrentScopeByToken(node.getFirstToken());\n name = (_a = c.findDirectExpression(abaplint.Expressions.InterfaceName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr().toLowerCase();\n name = traversal_1.Traversal.escapeNamespace(name);\n ret += `class ${name} {\\n`;\n ret += `static INTERNAL_TYPE = 'INTF';\\n`;\n ret += `static ATTRIBUTES = {${traversal.buildAttributes(def, scope).join(\",\\n\")}};\\n`;\n ret += `static METHODS = {${traversal.buildMethods(def, scope).join(\",\\n\")}};\\n`;\n }\n else if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.EndInterface) {\n ret += \"}\\n\";\n ret += traversal.registerClassOrInterface(def);\n }\n }\n ret += this.buildConstants(node.findFirstExpression(abaplint.Expressions.InterfaceName), traversal);\n ret += this.buildTypes(def);\n return new chunk_1.Chunk(ret);\n }\n buildTypes(idef) {\n if (idef === undefined) {\n return \"\";\n }\n const prefix = traversal_1.Traversal.escapeNamespace(idef.getName().toLowerCase()) + \".\";\n let ret = \"\";\n for (const ty of idef.getTypeDefinitions().getAll()) {\n ret += new transpile_types_1.TranspileTypes().declareStaticSkipVoid(prefix, ty.type);\n }\n return ret;\n }\n buildConstants(node, traversal) {\n if (node === undefined) {\n return \"\";\n }\n const scope = traversal.findCurrentScopeByToken(node.getFirstToken());\n const vars = scope === null || scope === void 0 ? void 0 : scope.getData().vars;\n if (vars === undefined || Object.keys(vars).length === 0) {\n return \"\";\n }\n let ret = \"\\n\";\n for (const n in vars) {\n const identifier = vars[n];\n if (identifier.getMeta().includes(\"static\" /* abaplint.IdentifierMeta.Static */) === false\n || identifier.getMeta().includes(\"read_only\" /* abaplint.IdentifierMeta.ReadOnly */) === false) {\n continue;\n }\n const interfaceName = traversal_1.Traversal.escapeNamespace(node.getFirstToken().getStr().toLowerCase());\n const name = interfaceName + \".\" + interfaceName + \"$\" + n.toLowerCase();\n ret += name + \" = \" + new transpile_types_1.TranspileTypes().toType(identifier.getType()) + \";\\n\";\n const constantStatement = traversal.findStatementInFile(identifier.getStart());\n const valExpression = constantStatement === null || constantStatement === void 0 ? void 0 : constantStatement.findFirstExpression(abaplint.Expressions.Value);\n if ((valExpression === null || valExpression === void 0 ? void 0 : valExpression.getChildren()[1].get()) instanceof abaplint.Expressions.SimpleFieldChain) {\n const s = new expressions_1.FieldChainTranspiler().transpile(valExpression.getChildren()[1], traversal, false).getCode();\n const e = expressions_1.ConstantTranspiler.escape(s);\n ret += name + \".set(\" + e + \");\\n\";\n continue;\n }\n ret += traversal.setValues(identifier, name);\n }\n return ret;\n }\n}\nexports.InterfaceTranspiler = InterfaceTranspiler;\n//# sourceMappingURL=interface.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/interface.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/loop.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/loop.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LoopTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst at_first_1 = __webpack_require__(/*! ./at_first */ \"../../packages/transpiler/build/src/structures/at_first.js\");\nconst at_last_1 = __webpack_require__(/*! ./at_last */ \"../../packages/transpiler/build/src/structures/at_last.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nconst statements_1 = __webpack_require__(/*! ../statements */ \"../../packages/transpiler/build/src/statements/index.js\");\nconst at_1 = __webpack_require__(/*! ./at */ \"../../packages/transpiler/build/src/structures/at.js\");\nclass LoopTranspiler {\n transpile(node, traversal) {\n var _a;\n const ret = new chunk_1.Chunk();\n let pre = \"\";\n let atFirst = undefined;\n let atLast = undefined;\n let loopStatement = undefined;\n let previous = \"\";\n let tabix = \"\";\n let loopTarget = \"\";\n let hasAt = false;\n for (const n of ((_a = node.findDirectStructure(abaplint.Structures.Body)) === null || _a === void 0 ? void 0 : _a.findDirectStructures(abaplint.Structures.Normal)) || []) {\n if (n.findDirectStructure(abaplint.Structures.At) !== undefined) {\n hasAt = true;\n break;\n }\n }\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.StructureNode && c.get() instanceof abaplint.Structures.Body) {\n for (const b of c.getChildren()) {\n for (const n of b.getChildren()) {\n if (n instanceof abaplint.Nodes.StructureNode && n.get() instanceof abaplint.Structures.AtFirst) {\n atFirst = new at_first_1.AtFirstTranspiler().transpile(n, traversal);\n const u = unique_identifier_1.UniqueIdentifier.get();\n pre = \"let \" + u + \" = false;\\n\";\n ret.appendString(\"if (\" + u + \" === false) {\\n\");\n ret.appendChunk(atFirst);\n ret.appendString(u + \" = true;\\n\");\n ret.appendString(\"}\\n\");\n }\n else if (n instanceof abaplint.Nodes.StructureNode && n.get() instanceof abaplint.Structures.AtLast) {\n atLast = new at_last_1.AtLastTranspiler().transpile(n, traversal);\n }\n else if (n instanceof abaplint.Nodes.StructureNode && n.get() instanceof abaplint.Structures.At) {\n ret.appendChunk(new at_1.AtTranspiler().transpile(n, traversal, previous, loopTarget, tabix, loopStatement));\n }\n else {\n ret.appendChunk(traversal.traverse(n));\n }\n }\n }\n }\n else if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.Loop) {\n if (hasAt === true) {\n previous = unique_identifier_1.UniqueIdentifier.get();\n tabix = unique_identifier_1.UniqueIdentifier.get();\n ret.appendString(`let ${previous} = undefined;\\n`);\n ret.appendString(`let ${tabix} = undefined;\\n`);\n }\n const loop = new statements_1.LoopTranspiler();\n ret.appendChunk(loop.transpile(c, traversal));\n ret.appendString(\"\\n\");\n if (hasAt === true) {\n ret.appendString(tabix + \" = new abap.types.Integer().set(abap.builtin.sy.get().tabix.get() + 1);\\n\");\n }\n loopTarget = loop.getTarget();\n loopStatement = c;\n }\n else if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.EndLoop) {\n if (hasAt === true) {\n ret.appendString(`${previous} = ${loopTarget};\\n`);\n }\n ret.appendChunk(traversal.traverse(c));\n }\n else {\n ret.appendChunk(traversal.traverse(c));\n }\n }\n const atted = new chunk_1.Chunk();\n if (pre) {\n atted.appendString(pre);\n }\n atted.appendChunk(ret);\n if (atLast) {\n atted.appendString(\"if (abap.builtin.sy.get().subrc.get() === 0) {\\n\");\n atted.appendChunk(atLast);\n atted.appendString(\"}\\n\");\n }\n return atted;\n }\n}\nexports.LoopTranspiler = LoopTranspiler;\n//# sourceMappingURL=loop.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/select.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/select.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectTranspiler = void 0;\n/* eslint-disable max-len */\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst select_1 = __webpack_require__(/*! ../statements/select */ \"../../packages/transpiler/build/src/statements/select.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass SelectTranspiler {\n transpile(node, traversal) {\n var _a, _b;\n const ret = new chunk_1.Chunk();\n const selectStatement = node.findFirstStatement(abaplint.Statements.SelectLoop);\n if (selectStatement === undefined) {\n throw \"Structure, select loop not found\";\n }\n const concat = selectStatement.concatTokens().toUpperCase();\n const from = (_a = selectStatement.findFirstExpression(abaplint.Expressions.SQLFromSource)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n const intoName = new expressions_1.SQLTargetTranspiler().transpile(selectStatement.findFirstExpression(abaplint.Expressions.SQLTarget), traversal).getCode();\n // note: this implementation SELECTs everything into memory, which might be bad, and sometimes not correct\n const targetName = unique_identifier_1.UniqueIdentifier.get();\n const loopName = unique_identifier_1.UniqueIdentifier.get();\n ret.appendString(`let ${targetName} = new abap.types.Table(abap.DDIC[\"${from}\"].type);\\n`);\n ret.appendChunk(new select_1.SelectTranspiler().transpile(selectStatement, traversal, targetName));\n const packageSize = (_b = node.findFirstExpression(abaplint.Expressions.SelectLoop)) === null || _b === void 0 ? void 0 : _b.findExpressionAfterToken(\"SIZE\");\n if (packageSize) {\n const getSize = new expressions_1.SQLSourceTranspiler().transpile(packageSize, traversal).getCode() + \".get()\";\n ret.appendString(`if (${targetName}.array().length > ${getSize}) {\n throw new Error(\"PACKAGE SIZED loop larger than package size not supported\");\n};\nabap.statements.append({source: ${targetName}, target: ${intoName}, lines: true});\n{\\n`);\n }\n else if (concat.includes(\" INTO CORRESPONDING FIELDS OF \")) {\n ret.appendString(`\\nfor (const ${loopName} of ${targetName}.array()) {\\n`);\n ret.appendString(`abap.statements.moveCorresponding(${loopName}, ${intoName});\\n`);\n }\n else {\n ret.appendString(`\\nfor (const ${loopName} of ${targetName}.array()) {\\n`);\n ret.appendString(`${intoName}.set(${loopName});\\n`);\n }\n const body = node.findDirectStructure(abaplint.Structures.Body);\n if (body) {\n ret.appendChunk(traversal.traverse(body));\n }\n ret.appendString(\"}\\n\");\n return ret;\n }\n}\nexports.SelectTranspiler = SelectTranspiler;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/select.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/try.js": +/*!*************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/try.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TryTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass TryTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n const catches = node.findDirectStructures(abaplint.Structures.Catch);\n const cleanup = node.findDirectStructures(abaplint.Structures.Cleanup);\n let catchCode = this.buildCatchCode(catches, traversal);\n for (const c of node.getChildren()) {\n if (c.get() instanceof abaplint.Structures.Catch) {\n if (catchCode) {\n ret.appendChunk(catchCode);\n }\n catchCode = undefined;\n }\n else if (c.get() instanceof abaplint.Structures.Cleanup) {\n ret.appendString(`} finally {\\n// Transpiler todo: CLEANUP ignored\\n`);\n }\n else if (c.get() instanceof abaplint.Statements.Try\n || c.get() instanceof abaplint.Statements.EndTry) {\n if (catches.length === 0 && cleanup.length === 0) {\n continue;\n }\n ret.appendChunk(traversal.traverse(c));\n }\n else {\n ret.appendChunk(traversal.traverse(c));\n }\n }\n return ret;\n }\n /////////////////////\n buildCatchCode(nodes, traversal) {\n let ret = \"\";\n let first = true;\n if (nodes.length === 0) {\n return new chunk_1.Chunk(ret);\n }\n ret += `} catch (e) {\\n`;\n for (const n of nodes) {\n const catchStatement = n.findDirectStatement(abaplint.Statements.Catch);\n if (catchStatement === undefined) {\n throw \"TryTranspiler, unexpected structure\";\n }\n const catchNames = catchStatement.findDirectExpressions(abaplint.Expressions.ClassName).map(e => traversal.lookupClassOrInterface(e.concatTokens(), e.getFirstToken()));\n ret += first ? \"\" : \" else \";\n first = false;\n ret += \"if (\" + (catchNames === null || catchNames === void 0 ? void 0 : catchNames.map(n => \"e instanceof \" + n).join(\" || \")) + \") {\\n\";\n const intoNode = catchStatement.findExpressionAfterToken(\"INTO\");\n if (intoNode) {\n ret += traversal.traverse(intoNode).getCode() + \".set(e);\\n\";\n }\n const body = n.findDirectStructure(abaplint.Structures.Body);\n if (body) {\n ret += traversal.traverse(body).getCode();\n }\n ret += \"}\";\n }\n // \"else\" unhandled in this TRY-CATCH, or a javascript runtime error\n ret += ` else {\\n` +\n `throw e;\\n` +\n `}\\n`;\n return new chunk_1.Chunk(ret);\n }\n}\nexports.TryTranspiler = TryTranspiler;\n//# sourceMappingURL=try.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/try.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/types.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/types.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypesTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass TypesTranspiler {\n transpile(_node, _traversal) {\n return new chunk_1.Chunk(\"\");\n }\n}\nexports.TypesTranspiler = TypesTranspiler;\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/types.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/when.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/when.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhenTranspiler = void 0;\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nclass WhenTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n for (const c of node.getChildren()) {\n ret.appendChunk(traversal.traverse(c));\n }\n ret.append(\"break;\\n\", node, traversal);\n return ret;\n }\n}\nexports.WhenTranspiler = WhenTranspiler;\n//# sourceMappingURL=when.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/when.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/structures/while.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/build/src/structures/while.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhileTranspiler = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst statements_1 = __webpack_require__(/*! ../statements */ \"../../packages/transpiler/build/src/statements/index.js\");\nconst unique_identifier_1 = __webpack_require__(/*! ../unique_identifier */ \"../../packages/transpiler/build/src/unique_identifier.js\");\nclass WhileTranspiler {\n transpile(node, traversal) {\n const ret = new chunk_1.Chunk();\n const syIndexBackup = unique_identifier_1.UniqueIdentifier.getIndexBackup();\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.While) {\n ret.appendChunk(new statements_1.WhileTranspiler(syIndexBackup).transpile(c, traversal));\n ret.appendString(\"\\n\");\n }\n else if (c instanceof abaplint.Nodes.StatementNode && c.get() instanceof abaplint.Statements.EndWhile) {\n ret.appendChunk(new statements_1.EndWhileTranspiler(syIndexBackup).transpile(c, traversal));\n }\n else {\n ret.appendChunk(traversal.traverse(c));\n }\n }\n return ret;\n }\n}\nexports.WhileTranspiler = WhileTranspiler;\n//# sourceMappingURL=while.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/structures/while.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/transpile_types.js": +/*!**************************************************************!*\ + !*** ../../packages/transpiler/build/src/transpile_types.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TranspileTypes = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nclass TranspileTypes {\n declare(t) {\n const type = t.getType();\n return \"let \" + t.getName().toLowerCase() + \" = \" + this.toType(type) + \";\";\n }\n declareStaticSkipVoid(pre, t) {\n const type = t.getType();\n const code = this.toType(type);\n // todo, this should look at the configuration, for runtime vs compile time errors\n if (code.includes(\"Void type\") || code.includes(\"abap.types.typeTodo\")) {\n return \"\";\n }\n return pre + t.getName().toLowerCase() + \" = \" + code + \";\\n\";\n }\n toType(type) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n let resolved = \"\";\n let extra = \"\";\n if (type instanceof abaplint.BasicTypes.ObjectReferenceType\n || type instanceof abaplint.BasicTypes.GenericObjectReferenceType) {\n resolved = \"ABAPObject\";\n extra = \"{qualifiedName: \" + JSON.stringify((_a = type.getQualifiedName()) === null || _a === void 0 ? void 0 : _a.toUpperCase()) +\n \", RTTIName: \" + JSON.stringify((_b = type.getRTTIName()) === null || _b === void 0 ? void 0 : _b.toUpperCase()) + \"}\";\n }\n else if (type instanceof abaplint.BasicTypes.TableType) {\n resolved = \"Table\";\n extra = this.toType(type.getRowType());\n extra += \", \" + JSON.stringify(type.getOptions());\n if (type.getQualifiedName() !== undefined) {\n extra += \", \\\"\" + type.getQualifiedName() + \"\\\"\";\n }\n return \"abap.types.TableFactory.construct(\" + extra + \")\";\n }\n else if (type instanceof abaplint.BasicTypes.IntegerType) {\n resolved = \"Integer\";\n if (type.getQualifiedName() !== undefined) {\n extra = \"{qualifiedName: \\\"\" + ((_c = type.getQualifiedName()) === null || _c === void 0 ? void 0 : _c.toUpperCase()) + \"\\\"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.Integer8Type) {\n resolved = \"Integer8\";\n if (type.getQualifiedName() !== undefined) {\n extra = \"{qualifiedName: \\\"\" + ((_d = type.getQualifiedName()) === null || _d === void 0 ? void 0 : _d.toUpperCase()) + \"\\\"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.StringType) {\n resolved = \"String\";\n if (type.getQualifiedName() !== undefined) {\n extra = \"{qualifiedName: \\\"\" + ((_e = type.getQualifiedName()) === null || _e === void 0 ? void 0 : _e.toUpperCase()) + \"\\\"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.UTCLongType) {\n resolved = \"UTCLong\";\n if (type.getQualifiedName() !== undefined) {\n extra = \"{qualifiedName: \\\"\" + ((_f = type.getQualifiedName()) === null || _f === void 0 ? void 0 : _f.toUpperCase()) + \"\\\"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.DateType) {\n resolved = \"Date\";\n if (type.getQualifiedName() !== undefined) {\n extra = \"{qualifiedName: \\\"\" + ((_g = type.getQualifiedName()) === null || _g === void 0 ? void 0 : _g.toUpperCase()) + \"\\\"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.TimeType) {\n resolved = \"Time\";\n if (type.getQualifiedName() !== undefined) {\n extra = \"{qualifiedName: \\\"\" + ((_h = type.getQualifiedName()) === null || _h === void 0 ? void 0 : _h.toUpperCase()) + \"\\\"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.DataReference) {\n resolved = \"DataReference\";\n extra = this.toType(type.getType());\n }\n else if (type instanceof abaplint.BasicTypes.StructureType) {\n resolved = \"Structure\";\n const list = [];\n for (const c of type.getComponents()) {\n list.push(`\"` + c.name.toLowerCase() + `\": ` + this.toType(c.type));\n }\n extra = \"{\" + list.join(\", \") + \"}\";\n if (type.getQualifiedName() !== undefined) {\n extra += \", \\\"\" + type.getQualifiedName() + \"\\\"\";\n }\n else {\n extra += \", undefined\";\n }\n if (type.getDDICName() !== undefined) {\n extra += \", \\\"\" + type.getQualifiedName() + \"\\\"\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.CLikeType\n || type instanceof abaplint.BasicTypes.CGenericType\n || type instanceof abaplint.BasicTypes.CSequenceType) {\n // if not supplied its a Character(1)\n resolved = \"Character\";\n }\n else if (type instanceof abaplint.BasicTypes.AnyType) {\n // if not supplied its a Character(4)\n resolved = \"Character\";\n extra = \"4\";\n }\n else if (type instanceof abaplint.BasicTypes.SimpleType) {\n // if not supplied its a Character(1)\n resolved = \"Character\";\n }\n else if (type instanceof abaplint.BasicTypes.CharacterType) {\n resolved = \"Character\";\n extra = type.getLength() + \", \" + JSON.stringify(type.getAbstractTypeData());\n }\n else if (type instanceof abaplint.BasicTypes.NumericType) {\n resolved = \"Numc\";\n if (type.getQualifiedName() && type.getLength() !== 1) {\n extra = \"{length: \" + type.getLength() + \", qualifiedName: \\\"\" + type.getQualifiedName() + \"\\\"}\";\n }\n else if (type.getLength() !== 1) {\n extra = \"{length: \" + type.getLength() + \"}\";\n }\n else if (type.getQualifiedName()) {\n extra = \"{qualifiedName: \\\"\" + type.getQualifiedName() + \"\\\"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.PackedType) {\n resolved = \"Packed\";\n if (type.getQualifiedName()) {\n extra = \"{length: \" + type.getLength() + \", decimals: \" + type.getDecimals() + \", qualifiedName: \\\"\" + type.getQualifiedName() + \"\\\"}\";\n }\n else {\n extra = \"{length: \" + type.getLength() + \", decimals: \" + type.getDecimals() + \"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.NumericGenericType) {\n resolved = \"Packed\";\n extra = \"{length: 8, decimals: 0}\";\n }\n else if (type instanceof abaplint.BasicTypes.XStringType) {\n resolved = \"XString\";\n if (type.getQualifiedName() !== undefined) {\n extra = \"{qualifiedName: \\\"\" + ((_j = type.getQualifiedName()) === null || _j === void 0 ? void 0 : _j.toUpperCase()) + \"\\\"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.XSequenceType\n || type instanceof abaplint.BasicTypes.XGenericType) {\n // if not supplied itsa a Hex(1)\n resolved = \"Hex\";\n }\n else if (type instanceof abaplint.BasicTypes.HexType) {\n resolved = \"Hex\";\n if (type.getLength() !== 1) {\n extra = \"{length: \" + type.getLength() + \"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.FloatType) {\n resolved = \"Float\";\n if (type.getQualifiedName() !== undefined) {\n extra = \"{qualifiedName: \\\"\" + ((_k = type.getQualifiedName()) === null || _k === void 0 ? void 0 : _k.toUpperCase()) + \"\\\"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.FloatingPointType) {\n resolved = \"Float\";\n if (type.getQualifiedName() !== undefined) {\n extra = \"{qualifiedName: \\\"\" + ((_l = type.getQualifiedName()) === null || _l === void 0 ? void 0 : _l.toUpperCase()) + \"\\\"}\";\n }\n }\n else if (type instanceof abaplint.BasicTypes.DecFloat34Type) {\n resolved = \"DecFloat34\";\n }\n else if (type instanceof abaplint.BasicTypes.UnknownType) {\n return `(() => { throw \"Unknown type: ${type.getError()}\" })()`;\n }\n else if (type instanceof abaplint.BasicTypes.VoidType) {\n return `(() => { throw \"Void type: ${type.getVoided()}\" })()`;\n }\n else {\n resolved = \"typeTodo\" + type.constructor.name;\n }\n return \"new abap.types.\" + resolved + \"(\" + extra + \")\";\n }\n}\nexports.TranspileTypes = TranspileTypes;\n//# sourceMappingURL=transpile_types.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/transpile_types.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/traversal.js": +/*!********************************************************!*\ + !*** ../../packages/transpiler/build/src/traversal.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Traversal = void 0;\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst StatementTranspilers = __webpack_require__(/*! ./statements */ \"../../packages/transpiler/build/src/statements/index.js\");\nconst ExpressionTranspilers = __webpack_require__(/*! ./expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nconst StructureTranspilers = __webpack_require__(/*! ./structures */ \"../../packages/transpiler/build/src/structures/index.js\");\nconst transpile_types_1 = __webpack_require__(/*! ./transpile_types */ \"../../packages/transpiler/build/src/transpile_types.js\");\nconst chunk_1 = __webpack_require__(/*! ./chunk */ \"../../packages/transpiler/build/src/chunk.js\");\nconst expressions_1 = __webpack_require__(/*! ./expressions */ \"../../packages/transpiler/build/src/expressions/index.js\");\nclass Traversal {\n constructor(spaghetti, file, obj, reg, options) {\n this.scopeCache = undefined;\n this.spaghetti = spaghetti;\n this.file = file;\n this.obj = obj;\n this.reg = reg;\n this.options = options;\n }\n static escapeNamespace(name) {\n return name === null || name === void 0 ? void 0 : name.replace(/\\//g, \"$\");\n }\n getCurrentObject() {\n return this.obj;\n }\n traverse(node) {\n if (node instanceof abaplint.Nodes.StructureNode) {\n return this.traverseStructure(node);\n }\n else if (node instanceof abaplint.Nodes.StatementNode) {\n return this.traverseStatement(node);\n }\n else if (node instanceof abaplint.Nodes.ExpressionNode) {\n return this.traverseExpression(node);\n }\n else if (node === undefined) {\n throw new Error(\"Traverse, node undefined\");\n }\n else {\n throw new Error(\"Traverse, unexpected node type\");\n }\n }\n getFilename() {\n return this.file.getFilename();\n }\n getFile() {\n return this.file;\n }\n getSpaghetti() {\n return this.spaghetti;\n }\n /** finds a statement in the _current_ file given a position */\n findStatementInFile(pos) {\n for (const s of this.file.getStatements()) {\n if (pos.isBetween(s.getStart(), s.getEnd())) {\n return s;\n }\n }\n return undefined;\n }\n findCurrentScopeByToken(token) {\n const filename = this.file.getFilename();\n if (this.scopeCache\n && this.scopeCache.filename === filename\n && token.getEnd().isBetween(this.scopeCache.cov.start, this.scopeCache.cov.end)) {\n return this.scopeCache.node;\n }\n const node = this.spaghetti.lookupPosition(token.getStart(), filename);\n // note: cache only works for leafs, as parent nodes cover multiple leaves\n if (node && node.getChildren().length === 0) {\n this.scopeCache = {\n cov: node.calcCoverage(),\n filename: filename,\n node: node,\n };\n }\n else {\n this.scopeCache = undefined;\n }\n return node;\n }\n getInterfaceDefinition(token) {\n let scope = this.findCurrentScopeByToken(token);\n while (scope !== undefined) {\n if (scope.getIdentifier().stype === abaplint.ScopeType.Interface) {\n return scope.findInterfaceDefinition(scope === null || scope === void 0 ? void 0 : scope.getIdentifier().sname);\n }\n scope = scope.getParent();\n }\n return undefined;\n }\n getClassDefinition(token) {\n let scope = this.findCurrentScopeByToken(token);\n while (scope !== undefined) {\n if (scope.getIdentifier().stype === abaplint.ScopeType.ClassImplementation\n || scope.getIdentifier().stype === abaplint.ScopeType.ClassDefinition) {\n return scope.findClassDefinition(scope === null || scope === void 0 ? void 0 : scope.getIdentifier().sname);\n }\n scope = scope.getParent();\n }\n return undefined;\n }\n isClassAttribute(token) {\n const scope = this.findCurrentScopeByToken(token);\n if (scope === undefined) {\n throw new Error(\"isClassAttribute, unable to lookup position\");\n }\n const name = token.getStr();\n if (name.toLowerCase() === \"me\") {\n return true;\n }\n const found = scope.findScopeForVariable(name);\n if (found && (found.stype === abaplint.ScopeType.MethodInstance\n || found.stype === abaplint.ScopeType.ClassImplementation)) {\n return true;\n }\n return false;\n }\n prefixAndName(t, filename) {\n let name = t.getStr().toLowerCase();\n if (filename && this.getCurrentObject().getABAPFileByName(filename) === undefined) {\n // the prefix is from a different object\n const file = this.reg.getFileByName(filename);\n if (file) {\n const found = this.reg.findObjectForFile(file);\n if (found) {\n if (found instanceof abaplint.Objects.Interface) {\n return Traversal.escapeNamespace(this.lookupClassOrInterface(found.getName(), t)) + \".\" + found.getName().toLowerCase() + \"$\" + name;\n }\n else {\n return Traversal.escapeNamespace(this.lookupClassOrInterface(found.getName(), t)) + \".\" + name;\n }\n }\n }\n }\n const className = this.isStaticClassAttribute(t);\n if (className) {\n name = Traversal.escapeNamespace(className) + \".\" + name;\n }\n else if (name === \"super\") {\n return name;\n }\n else if (this.isClassAttribute(t)) {\n name = \"this.\" + Traversal.escapeNamespace(name);\n }\n else if (this.isBuiltinVariable(t)) {\n name = \"abap.builtin.\" + name;\n }\n else if (this.isTypePool(t)) {\n const tp = this.isTypePool(t);\n name = `abap.TypePools[\"${tp}\"].` + name.toLowerCase();\n }\n return name;\n }\n isStaticClassAttribute(token) {\n const scope = this.findCurrentScopeByToken(token);\n if (scope === undefined) {\n throw new Error(`isStaticClassAttribute, unable to lookup position, ${token.getStr()},${token.getRow()},${token.getCol()},` +\n this.file.getFilename());\n }\n const name = token.getStr();\n const found = scope.findScopeForVariable(name);\n const id = scope.findVariable(name);\n if (found && id\n && id.getMeta().includes(\"static\" /* abaplint.IdentifierMeta.Static */)\n && found.stype === abaplint.ScopeType.ClassImplementation) {\n // console.dir(found.sname);\n return found.sname.toLowerCase();\n }\n return undefined;\n }\n buildMethods(def, _scope) {\n const methods = [];\n if (def === undefined) {\n return methods;\n }\n for (const m of def.getMethodDefinitions().getAll()) {\n const parameters = [];\n for (const p of m.getParameters().getAll()) {\n const type = new transpile_types_1.TranspileTypes().toType(p.getType());\n const optional = m.getParameters().getOptional().includes(p.getName()) ? \"X\" : \" \";\n parameters.push(`\"${p.getName().toUpperCase()}\": {\"type\": () => {return ${type};}, \"is_optional\": \"${optional}\"}`);\n }\n methods.push(`\"${m.getName().toUpperCase()}\": {\"visibility\": \"${this.mapVisibility(m.getVisibility())}\", \"parameters\": {${parameters.join(\", \")}}}`);\n }\n return methods;\n }\n mapVisibility(vis) {\n switch (vis) {\n case abaplint.Visibility.Private:\n return \"I\";\n case abaplint.Visibility.Protected:\n return \"O\";\n default:\n return \"U\";\n }\n }\n buildAttributes(def, scope, prefix = \"\") {\n var _a, _b;\n const attr = [];\n if (def === undefined) {\n return attr;\n }\n for (const a of ((_a = def.getAttributes()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {\n const type = new transpile_types_1.TranspileTypes().toType(a.getType());\n const runtime = this.mapVisibility(a.getVisibility());\n const isClass = a.getMeta().includes(\"static\" /* abaplint.IdentifierMeta.Static */) ? \"X\" : \" \";\n attr.push(`\"${prefix + a.getName().toUpperCase()}\": {\"type\": () => {return ${type};}, \"visibility\": \"${runtime}\", \"is_constant\": \" \", \"is_class\": \"${isClass}\"}`);\n }\n for (const a of ((_b = def.getAttributes()) === null || _b === void 0 ? void 0 : _b.getConstants()) || []) {\n const type = new transpile_types_1.TranspileTypes().toType(a.getType());\n let runtime = \"\";\n switch (a.getVisibility()) {\n case abaplint.Visibility.Private:\n runtime = \"I\";\n break;\n case abaplint.Visibility.Protected:\n runtime = \"O\";\n break;\n default:\n runtime = \"U\";\n }\n attr.push(`\"${prefix + a.getName().toUpperCase()}\": {\"type\": () => {return ${type};}, \"visibility\": \"${runtime}\", \"is_constant\": \"X\", \"is_class\": \"X\"}`);\n }\n for (const impl of def.getImplementing()) {\n const idef = this.findInterfaceDefinition(impl.name, scope);\n attr.push(...this.buildAttributes(idef, scope, impl.name.toUpperCase() + \"~\"));\n }\n return attr;\n }\n isBuiltinMethod(token) {\n const scope = this.findCurrentScopeByToken(token);\n if (scope === undefined) {\n return false;\n }\n for (const r of scope.getData().references) {\n if (r.referenceType === abaplint.ReferenceType.BuiltinMethodReference\n && r.position.getStart().equals(token.getStart())) {\n return true;\n }\n }\n return false;\n }\n isSQLConversion(token) {\n const scope = this.findCurrentScopeByToken(token);\n for (const s of (scope === null || scope === void 0 ? void 0 : scope.getData().sqlConversion) || []) {\n if (s.token.getStart().equals(token.getStart())) {\n return s.fieldName;\n }\n }\n return undefined;\n }\n findMethodReference(token, scope) {\n var _a, _b;\n let candidate = undefined;\n if (scope === undefined) {\n return undefined;\n }\n for (const r of scope.getData().references) {\n if (r.referenceType === abaplint.ReferenceType.MethodReference\n && r.position.getStart().equals(token.getStart())\n && r.resolved instanceof abaplint.Types.MethodDefinition) {\n let name = r.resolved.getName();\n if (((_a = r.extra) === null || _a === void 0 ? void 0 : _a.ooName) && ((_b = r.extra) === null || _b === void 0 ? void 0 : _b.ooType) === \"INTF\") {\n name = r.extra.ooName + \"$\" + name;\n }\n candidate = { def: r.resolved, name };\n if (token.getStart() instanceof abaplint.VirtualPosition\n && name.toLowerCase().includes(token.getStr().toLowerCase()) === false) {\n // if its macros and they are nested everything can go wrong, so try looking for a better candidate\n continue;\n }\n return candidate;\n }\n else if (r.referenceType === abaplint.ReferenceType.BuiltinMethodReference\n && r.position.getStart().equals(token.getStart())) {\n const def = r.resolved;\n const name = def.getName();\n return { def, name };\n }\n }\n return candidate;\n }\n isBuiltinVariable(token) {\n const scope = this.findCurrentScopeByToken(token);\n if (scope === undefined) {\n throw new Error(\"isBuiltin, unable to lookup position\");\n }\n const name = token.getStr();\n const found = scope.findScopeForVariable(name);\n if (found && found.stype === abaplint.ScopeType.BuiltIn) {\n return true;\n }\n return false;\n }\n isTypePool(token) {\n const ref = this.findReadOrWriteReference(token);\n if (ref === null || ref === void 0 ? void 0 : ref.getFilename().endsWith(\".type.abap\")) {\n const file = this.reg.getFileByName(ref.getFilename());\n if (file === undefined) {\n return undefined;\n }\n const obj = this.reg.findObjectForFile(file);\n return obj === null || obj === void 0 ? void 0 : obj.getName();\n }\n return undefined;\n }\n // returns the interface name if interfaced\n isInterfaceAttribute(token) {\n const ref = this.findReadOrWriteReference(token);\n if (ref === undefined) {\n return undefined;\n }\n // local\n if (ref.getFilename() === this.getFilename()) {\n const scope = this.findCurrentScopeByToken(ref.getToken());\n if ((scope === null || scope === void 0 ? void 0 : scope.getIdentifier().stype) === abaplint.ScopeType.Interface) {\n return scope === null || scope === void 0 ? void 0 : scope.getIdentifier().sname;\n }\n }\n // global\n for (const obj of this.reg.getObjectsByType(\"INTF\")) {\n if (obj.getFiles().some(f => f.getFilename() === ref.getFilename())) {\n return obj.getName().toLowerCase();\n }\n }\n /*\n const file = this.reg.getFileByName(ref.getFilename());\n if (file) {\n const obj = this.reg.findObjectForFile(file);\n if (obj?.getType() === \"INTF\") {\n return obj.getName().toLowerCase();\n }\n }\n */\n return undefined;\n }\n findReadOrWriteReference(token) {\n const scope = this.findCurrentScopeByToken(token);\n if (scope === undefined) {\n return undefined;\n }\n for (const r of scope.getData().references) {\n if ((r.referenceType === abaplint.ReferenceType.DataReadReference\n || r.referenceType === abaplint.ReferenceType.DataWriteReference)\n && r.position.getStart().equals(token.getStart())) {\n return r.resolved;\n }\n }\n return undefined;\n }\n buildConstructorContents(scope, def) {\n var _a, _b, _c;\n let ret = \"\";\n if (def.getSuperClass() !== undefined || def.getName().toUpperCase() === \"CX_ROOT\") {\n ret += \"super();\\n\";\n }\n /*\n if (def.getSuperClass() !== undefined\n && def.getMethodDefinitions().getByName(\"CONSTRUCTOR\") === undefined) {\n ret += `await super.constructor_(INPUT);\\n`;\n }\n */\n const cName = Traversal.escapeNamespace(def.getName().toLowerCase());\n ret += \"this.me = new abap.types.ABAPObject();\\n\";\n ret += \"this.me.set(this);\\n\";\n for (const a of ((_a = def.getAttributes()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {\n const escaped = Traversal.escapeNamespace(a.getName().toLowerCase());\n if (a.getMeta().includes(\"static\" /* abaplint.IdentifierMeta.Static */) === true) {\n ret += \"this.\" + escaped + \" = \" + cName + \".\" + escaped + \";\\n\";\n continue;\n }\n const name = \"this.\" + escaped;\n ret += name + \" = \" + new transpile_types_1.TranspileTypes().toType(a.getType()) + \";\\n\";\n ret += this.setValues(a, name);\n }\n // attributes from directly implemented interfaces(not interfaces implemented in super classes)\n for (const i of def.getImplementing()) {\n ret += this.dataFromInterfaces(i.name, scope, cName);\n }\n // handle aliases after initialization of carrier variables\n for (const a of ((_b = def.getAliases()) === null || _b === void 0 ? void 0 : _b.getAll()) || []) {\n ret += \"this.\" + a.getName().toLowerCase() + \" = this.\" + Traversal.escapeNamespace(a.getComponent().replace(\"~\", \"$\").toLowerCase()) + \";\\n\";\n }\n // constants can be accessed both statically and via reference\n for (const c of ((_c = def.getAttributes()) === null || _c === void 0 ? void 0 : _c.getConstants()) || []) {\n ret += \"this.\" + Traversal.escapeNamespace(c.getName().toLowerCase()) + \" = \" + cName + \".\" + Traversal.escapeNamespace(c.getName().toLowerCase()) + \";\\n\";\n }\n return ret;\n }\n findInterfaceDefinition(name, scope) {\n let intf = scope === null || scope === void 0 ? void 0 : scope.findInterfaceDefinition(name);\n if (intf === undefined) {\n const iglobal = this.reg.getObject(\"INTF\", name);\n intf = iglobal === null || iglobal === void 0 ? void 0 : iglobal.getDefinition();\n }\n return intf;\n }\n findTable(name) {\n const tabl = this.reg.getObject(\"TABL\", name);\n return tabl;\n }\n findClassDefinition(name, scope) {\n if (name === undefined || scope === undefined) {\n return undefined;\n }\n let clas = scope.findClassDefinition(name);\n if (clas === undefined) {\n const iglobal = this.reg.getObject(\"CLAS\", name);\n clas = iglobal === null || iglobal === void 0 ? void 0 : iglobal.getDefinition();\n }\n return clas;\n }\n dataFromInterfaces(name, scope, cname) {\n let ret = \"\";\n const intf = this.findInterfaceDefinition(name, scope);\n for (const a of (intf === null || intf === void 0 ? void 0 : intf.getAttributes().getConstants()) || []) {\n const fname = Traversal.escapeNamespace(a.getName().toLowerCase());\n const iname = Traversal.escapeNamespace(intf === null || intf === void 0 ? void 0 : intf.getName().toLowerCase());\n if ((intf === null || intf === void 0 ? void 0 : intf.isGlobal()) === true) {\n ret += \"this.\" + iname + \"$\" + fname + \" = abap.Classes['\" + (intf === null || intf === void 0 ? void 0 : intf.getName().toUpperCase()) + \"'].\" + iname + \"$\" + fname + \";\\n\";\n }\n else {\n ret += \"this.\" + iname + \"$\" + fname + \" = \" + iname + \".\" + iname + \"$\" + fname + \";\\n\";\n }\n }\n for (const a of (intf === null || intf === void 0 ? void 0 : intf.getAttributes().getAll()) || []) {\n const n = Traversal.escapeNamespace(name.toLowerCase()) + \"$\" + a.getName().toLowerCase();\n // note: interface inheritenace and super inheritance might be strange,\n if (a.getMeta().includes(\"static\" /* abaplint.IdentifierMeta.Static */) === true) {\n ret += \"if (this.\" + n + \" === undefined) this.\" + n + \" = \" + cname + \".\" + n + \";\\n\";\n }\n else {\n ret += \"if (this.\" + n + \" === undefined) this.\" + n + \" = \" + new transpile_types_1.TranspileTypes().toType(a.getType()) + \";\\n\";\n }\n }\n for (const i of (intf === null || intf === void 0 ? void 0 : intf.getImplementing()) || []) {\n ret += this.dataFromInterfaces(i.name, scope, cname);\n }\n return ret;\n }\n determineType(node, scope) {\n var _a, _b, _c;\n if (scope === undefined) {\n return undefined;\n }\n const found = node.findDirectExpression(abaplint.Expressions.Target);\n if (found === undefined) {\n return undefined;\n }\n let context = undefined;\n for (const c of found.getChildren()) {\n if (context === undefined) {\n context = (_a = scope.findVariable(c.getFirstToken().getStr())) === null || _a === void 0 ? void 0 : _a.getType();\n }\n else if (c.get() instanceof abaplint.Expressions.ComponentName\n && context instanceof abaplint.BasicTypes.StructureType) {\n context = context.getComponentByName(c.getFirstToken().getStr());\n }\n else if (c.get() instanceof abaplint.Expressions.AttributeName\n && context instanceof abaplint.BasicTypes.ObjectReferenceType) {\n const id = context.getIdentifier();\n if (id instanceof abaplint.Types.ClassDefinition || id instanceof abaplint.Types.InterfaceDefinition) {\n const concat = c.concatTokens();\n if (concat.includes(\"~\")) {\n const [iname, aname] = concat.split(\"~\");\n const intf = this.findInterfaceDefinition(iname, scope);\n context = (_b = intf === null || intf === void 0 ? void 0 : intf.getAttributes().findByName(aname)) === null || _b === void 0 ? void 0 : _b.getType();\n }\n else {\n context = (_c = id.getAttributes().findByName(concat)) === null || _c === void 0 ? void 0 : _c.getType();\n }\n }\n }\n }\n return context;\n }\n isInsideLoop(node) {\n const stack = [];\n for (const statement of this.getFile().getStatements()) {\n const get = statement.get();\n if (get instanceof abaplint.Statements.Loop\n || get instanceof abaplint.Statements.While\n || get instanceof abaplint.Statements.SelectLoop\n || get instanceof abaplint.Statements.Do) {\n stack.push(statement);\n }\n else if (get instanceof abaplint.Statements.EndLoop\n || get instanceof abaplint.Statements.EndWhile\n || get instanceof abaplint.Statements.EndSelect\n || get instanceof abaplint.Statements.EndDo) {\n stack.pop();\n }\n if (statement === node) {\n break;\n }\n }\n return stack.length > 0;\n }\n isInsideDoOrWhile(node) {\n const stack = [];\n for (const statement of this.getFile().getStatements()) {\n const get = statement.get();\n if (get instanceof abaplint.Statements.While\n || get instanceof abaplint.Statements.Do) {\n stack.push(statement);\n }\n else if (get instanceof abaplint.Statements.EndWhile\n || get instanceof abaplint.Statements.EndDo) {\n stack.pop();\n }\n if (statement === node) {\n break;\n }\n }\n return stack.length > 0;\n }\n registerClassOrInterface(def) {\n if (def === undefined) {\n return \"\";\n }\n const name = this.buildInternalName(def.getName(), def);\n return `abap.Classes['${name}'] = ${Traversal.escapeNamespace(def.getName().toLowerCase())};`;\n }\n setValues(identifier, name) {\n return Traversal.setValues(identifier, name);\n }\n static setValues(identifier, name) {\n const val = identifier.getValue();\n let ret = \"\";\n const handle = (val, name) => {\n if (typeof val === \"string\") {\n const e = expressions_1.ConstantTranspiler.escape(val);\n ret += name + \".set(\" + e + \");\\n\";\n }\n else if (typeof val === \"object\") {\n const a = val;\n for (const v of Object.keys(val)) {\n const s = a[v];\n if (s === undefined) {\n continue;\n }\n handle(s, name + \".get().\" + v.toLowerCase());\n }\n }\n };\n handle(val, name);\n return ret;\n }\n buildInternalName(name, def) {\n var _a, _b;\n if (def) {\n if (def.isGlobal() === false) {\n const prefix = this.buildPrefix();\n return `${prefix}${(_a = def === null || def === void 0 ? void 0 : def.getName()) === null || _a === void 0 ? void 0 : _a.toUpperCase()}`;\n }\n else {\n return (_b = def === null || def === void 0 ? void 0 : def.getName()) === null || _b === void 0 ? void 0 : _b.toUpperCase();\n }\n }\n // assume global\n return name.toUpperCase();\n }\n lookupClassOrInterface(name, token, directGlobal = false) {\n if (name === undefined || token === undefined) {\n return \"abap.Classes['undefined']\";\n }\n if (directGlobal === true) {\n return \"abap.Classes[\" + name + \".trimEnd()]\";\n }\n const scope = this.findCurrentScopeByToken(token);\n let def = scope === null || scope === void 0 ? void 0 : scope.findClassDefinition(name);\n if (def === undefined) {\n def = scope === null || scope === void 0 ? void 0 : scope.findInterfaceDefinition(name);\n }\n const internalName = this.buildInternalName(name, def);\n return \"abap.Classes['\" + internalName + \"']\";\n }\n buildPrefix() {\n return this.obj.getType() + \"-\" + this.obj.getName() + \"-\";\n }\n ////////////////////////////\n traverseStructure(node) {\n const list = StructureTranspilers;\n const ret = new chunk_1.Chunk();\n const search = node.get().constructor.name + \"Transpiler\";\n if (list[search]) {\n const transpiler = new list[search]();\n ret.appendChunk(transpiler.transpile(node, this));\n return ret;\n }\n for (const c of node.getChildren()) {\n if (c instanceof abaplint.Nodes.StructureNode) {\n ret.appendChunk(this.traverseStructure(c));\n }\n else if (c instanceof abaplint.Nodes.StatementNode) {\n ret.appendChunk(this.traverseStatement(c));\n }\n else {\n throw new Error(\"traverseStructure, unexpected child node type\");\n }\n }\n return ret;\n }\n traverseStatement(node) {\n const list = StatementTranspilers;\n const search = node.get().constructor.name + \"Transpiler\";\n if (list[search]) {\n const transpiler = new list[search]();\n const chunk = transpiler.transpile(node, this);\n chunk.appendString(\"\\n\");\n return chunk;\n }\n throw new Error(`Statement ${node.get().constructor.name} not supported, ${node.concatTokens()}`);\n }\n traverseExpression(node) {\n const list = ExpressionTranspilers;\n const search = node.get().constructor.name + \"Transpiler\";\n if (list[search]) {\n const transpiler = new list[search]();\n return transpiler.transpile(node, this);\n }\n throw new Error(`Expression ${node.get().constructor.name} not supported, ${node.concatTokens()}`);\n }\n}\nexports.Traversal = Traversal;\n//# sourceMappingURL=traversal.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/traversal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/unique_identifier.js": +/*!****************************************************************!*\ + !*** ../../packages/transpiler/build/src/unique_identifier.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UniqueIdentifier = void 0;\nclass UniqueIdentifier {\n static reset() {\n this.counter = 0;\n }\n static get() {\n // as part of the validation, it is ensured that no identifiers exists\n // in the input source with ^unique\\d+$\n this.counter++;\n return \"unique\" + this.counter;\n }\n static resetIndexBackup() {\n this.indexBackup = 0;\n }\n static getIndexBackup() {\n this.indexBackup++;\n return \"indexBackup\" + this.indexBackup;\n }\n static getIndexBackup1() {\n return \"indexBackup1\";\n }\n}\nexports.UniqueIdentifier = UniqueIdentifier;\nUniqueIdentifier.counter = 0;\nUniqueIdentifier.indexBackup = 0;\n//# sourceMappingURL=unique_identifier.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/unique_identifier.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/unit_test.js": +/*!********************************************************!*\ + !*** ../../packages/transpiler/build/src/unit_test.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnitTest = void 0;\n/* eslint-disable max-len */\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nclass UnitTest {\n // todo, move this method somewhere else, its much more than just unit test relevant\n initializationScript(reg, dbSetup, extraSetup, useImport) {\n let ret = \"\";\n if (useImport === true) {\n ret = `/* eslint-disable import/newline-after-import */\nimport \"./_top.mjs\";\\n`;\n }\n else {\n ret = `/* eslint-disable import/newline-after-import */\nimport runtime from \"@abaplint/runtime\";\nglobalThis.abap = new runtime.ABAP();\\n`;\n }\n ret += `${this.buildImports(reg, useImport)}\n\nexport async function initializeABAP() {\\n`;\n ret += ` const sqlite = [];\\n`;\n for (const i of dbSetup.schemas.sqlite) {\n ret += `sqlite.push(\\`${i}\\`);\\n`;\n }\n ret += ` const hdb = \\`${dbSetup.schemas.hdb}\\`;\\n`;\n ret += ` const pg = \\`${dbSetup.schemas.pg}\\`;\\n`;\n ret += ` const schemas = {sqlite, hdb, pg};\\n`;\n ret += ` const insert = [];\\n`;\n for (const i of dbSetup.insert) {\n ret += ` insert.push(\\`${i}\\`);\\n`;\n }\n if (extraSetup === undefined) {\n ret += `// no setup logic specified in config\\n`;\n }\n else {\n ret += ` const {setup} = await import(\"${extraSetup}\");\\n` +\n ` await setup(globalThis.abap, schemas, insert);\\n`;\n }\n ret += `}`;\n return ret;\n }\n escapeNamespace(filename) {\n // ES modules are resolved and cached as URLs. This means that special characters must be percent-encoded, such as # with %23 and ? with %3F.\n return filename.replace(/\\//g, \"%23\");\n }\n unitTestScriptOpen(reg, _skip) {\n let ret = `/* eslint-disable curly */\nimport fs from \"fs\";\nimport path from \"path\";\nimport {fileURLToPath} from \"url\";\nimport {initializeABAP} from \"./init.mjs\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nasync function run() {\n await initializeABAP();\n let lt_input = new abap.types.Table(new abap.types.Structure({class_name: new abap.types.Character(30), testclass_name: new abap.types.Character(30), method_name: new abap.types.Character(30)}), {\"withHeader\":false,\"type\":\"STANDARD\",\"isUnique\":false,\"keyFields\":[]});\n let ls_input = new abap.types.Structure({class_name: new abap.types.Character(30), testclass_name: new abap.types.Character(30), method_name: new abap.types.Character(30)});\n let ls_result = new abap.types.Structure({list: new abap.types.Table(new abap.types.Structure({class_name: new abap.types.Character(30), testclass_name: new abap.types.Character(30), method_name: new abap.types.Character(30), expected: new abap.types.String(), actual: new abap.types.String(), status: new abap.types.String(), runtime: new abap.types.Integer(), message: new abap.types.String(), js_location: new abap.types.String(), console: new abap.types.String()}), {\"withHeader\":false,\"type\":\"STANDARD\",\"isUnique\":false,\"keyFields\":[]}), json: new abap.types.String()});\n`;\n for (const obj of reg.getObjects()) {\n if (reg.isDependency(obj) || !(obj instanceof abaplint.Objects.Class)) {\n continue;\n }\n const hasTestFile = obj.getFiles().some(f => { return f.getFilename().includes(\".testclasses.\"); });\n if (hasTestFile === true) {\n ret += ` await import(\"./${this.escapeNamespace(obj.getName().toLowerCase())}.${obj.getType().toLowerCase()}.testclasses.mjs\");\\n`;\n }\n for (const file of obj.getABAPFiles()) {\n for (const def of file.getInfo().listClassDefinitions()) {\n if (def.isForTesting === false || def.isGlobal === true || def.methods.length === 0) {\n // todo, fix, there might be global test methods\n continue;\n }\n for (const m of def.methods) {\n if (m.isForTesting === false) {\n continue;\n }\n ret += ` ls_input.get().class_name.set(\"${obj.getName()}\");\n ls_input.get().testclass_name.set(\"${def.name.toUpperCase()}\");\n ls_input.get().method_name.set(\"${m.name.toUpperCase()}\");\n abap.statements.append({source: ls_input, target: lt_input});\\n`;\n }\n }\n }\n }\n ret += `\n\n ls_result.set(await abap.Classes[\"KERNEL_UNIT_RUNNER\"].run({it_input: lt_input}));\n fs.writeFileSync(__dirname + path.sep + \"output.json\", ls_result.get().json.get());\n}\n\nrun().then(() => {\n process.exit(0);\n}).catch((err) => {\n console.log(err);\n process.exit(1);\n});`;\n return ret;\n }\n getSortedTests(reg) {\n const tests = [];\n for (const obj of reg.getObjects()) {\n if (reg.isDependency(obj) || !(obj instanceof abaplint.Objects.Class)) {\n continue;\n }\n const hasTestFile = obj.getFiles().some(f => { return f.getFilename().includes(\".testclasses.\"); });\n if (hasTestFile === false) {\n continue;\n }\n for (const file of obj.getABAPFiles()) {\n for (const def of file.getInfo().listClassDefinitions()) {\n if (def.isForTesting === false\n || def.isGlobal === true\n || def.methods.length === 0\n || def.isAbstract === true) {\n // todo, fix, there might be global test methods\n continue;\n }\n const methods = [];\n for (const m of def.methods) {\n if (m.isForTesting === false) {\n continue;\n }\n methods.push(m.name);\n }\n tests.push({\n obj,\n localClass: def.name,\n riskLevel: def.riskLevel,\n duration: def.duration,\n methods: methods,\n });\n }\n }\n }\n const toNumber = (riskLevel, duration) => {\n let int = 0;\n switch (riskLevel) {\n case abaplint.Info.RiskLevel.harmless:\n int = 10;\n break;\n case abaplint.Info.RiskLevel.critical:\n int = 20;\n break;\n case abaplint.Info.RiskLevel.dangerous:\n int = 30;\n break;\n default:\n break;\n }\n switch (duration) {\n case abaplint.Info.Duration.short:\n int += 1;\n break;\n case abaplint.Info.Duration.medium:\n int += 2;\n break;\n case abaplint.Info.Duration.long:\n int += 3;\n break;\n default:\n break;\n }\n return int;\n };\n tests.sort((a, b) => {\n const ai = toNumber(a.riskLevel, a.duration);\n const bi = toNumber(b.riskLevel, b.duration);\n let ret = ai - bi;\n if (ret === 0) {\n // if risk and duration are equal, then sort by name\n if (a.obj.getName() < b.obj.getName()) {\n ret = -1;\n }\n else if (a.obj.getName() > b.obj.getName()) {\n ret = 1;\n }\n }\n return ret;\n });\n return tests;\n }\n unitTestScript(reg, skip) {\n let ret = `/* eslint-disable curly */\nimport fs from \"fs\";\nimport path from \"path\";\nimport {fileURLToPath} from \"url\";\nimport {initializeABAP} from \"./init.mjs\";\nimport runtime from \"@abaplint/runtime\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nasync function run() {\n await initializeABAP();\n const unit = new runtime.UnitTestResult();\n let clas;\n let locl;\n let meth;\n try {\\n`;\n for (const st of this.getSortedTests(reg)) {\n ret += `// --------------------------------------------\\n`;\n ret += ` clas = unit.addObject(\"${st.obj.getName()}\");\\n`;\n ret += ` {\n const {${st.localClass}} = await import(\"./${this.escapeNamespace(st.obj.getName().toLowerCase())}.${st.obj.getType().toLowerCase()}.testclasses.mjs\");\n locl = clas.addTestClass(\"${st.localClass}\");\n if (${st.localClass}.class_setup) await ${st.localClass}.class_setup();\\n`;\n for (const m of st.methods) {\n const skipThis = (skip || []).some(a => a.object === st.obj.getName() && a.class === st.localClass && a.method === m);\n if (skipThis) {\n ret += ` console.log('${st.obj.getName()}: running ${st.localClass}->${m}, skipped');\\n`;\n ret += ` meth = locl.addMethod(\"${m}\");\\n`;\n ret += ` meth.skip();\\n`;\n continue;\n }\n ret += ` {\\n const test = await (new ${st.localClass}()).constructor_();\\n`;\n ret += ` if (test.setup) await test.setup();\\n`;\n ret += ` console.log(\"${st.obj.getName()}: running ${st.localClass}->${m}\");\\n`;\n ret += ` meth = locl.addMethod(\"${m}\");\\n`;\n ret += ` await test.${m}();\\n`;\n ret += ` meth.pass();\\n`;\n ret += ` if (test.teardown) await test.teardown();\\n`;\n ret += ` }\\n`;\n }\n ret += ` if (${st.localClass}.class_teardown) await ${st.localClass}.class_teardown();\\n`;\n ret += ` }\\n`;\n }\n /*\n for (const obj of reg.getObjects()) {\n if (reg.isDependency(obj) || !(obj instanceof abaplint.Objects.Class)) {\n continue;\n }\n ret += `// --------------------------------------------\\n`;\n ret += ` clas = unit.addObject(\"${obj.getName()}\");\\n`;\n for (const file of obj.getABAPFiles()) {\n for (const def of file.getInfo().listClassDefinitions()) {\n if (def.isForTesting === false\n || def.isGlobal === true\n || def.methods.length === 0\n || def.isAbstract === true) {\n // todo, fix, there might be global test methods\n continue;\n }\n const hasTestFile = obj.getFiles().some(f => { return f.getFilename().includes(\".testclasses.\"); });\n if (hasTestFile === false) {\n break;\n }\n ret += ` {\n const {${def.name}} = await import(\"./${this.escapeNamespace(obj.getName().toLowerCase())}.${obj.getType().toLowerCase()}.testclasses.mjs\");\n locl = clas.addTestClass(\"${def.name}\");\n if (${def.name}.class_setup) await ${def.name}.class_setup();\\n`;\n \n for (const m of def.methods) {\n if (m.isForTesting === false) {\n continue;\n }\n const skipThis = (skip || []).some(a => a.object === obj.getName() && a.class === def.name && a.method === m.name);\n if (skipThis) {\n ret += ` console.log('${obj.getName()}: running ${def.name}->${m.name}, skipped');\\n`;\n ret += ` meth = locl.addMethod(\"${m.name}\");\\n`;\n ret += ` meth.skip();\\n`;\n continue;\n }\n \n ret += ` {\\n const test = await (new ${def.name}()).constructor_();\\n`;\n ret += ` if (test.setup) await test.setup();\\n`;\n ret += ` console.log(\"${obj.getName()}: running ${def.name}->${m.name}\");\\n`;\n ret += ` meth = locl.addMethod(\"${m.name}\");\\n`;\n ret += ` await test.${m.name}();\\n`;\n ret += ` meth.pass();\\n`;\n ret += ` if (test.teardown) await test.teardown();\\n`;\n ret += ` }\\n`;\n }\n \n ret += ` if (${def.name}.class_teardown) await ${def.name}.class_teardown();\\n`;\n ret += ` }\\n`;\n }\n }\n }\n */\n ret += `// -------------------END-------------------\n fs.writeFileSync(__dirname + path.sep + \"_output.xml\", unit.xUnitXML());\n } catch (e) {\n if (meth) {\n meth.fail();\n }\n fs.writeFileSync(__dirname + path.sep + \"_output.xml\", unit.xUnitXML());\n throw e;\n }\n}\n\nrun().then(() => {\n process.exit(0);\n}).catch((err) => {\n console.log(err);\n process.exit(1);\n});`;\n return ret;\n }\n buildImports(reg, useImport) {\n // note: ES modules are hoised, so use the dynamic import(), due to setting of globalThis.abap\n // some sorting required: eg. a class constructor using constant from interface\n const list = [];\n const late = [];\n const imp = (filename) => {\n if (useImport === true) {\n return `import \"./${filename}.mjs\";`;\n }\n else {\n return `await import(\"./${filename}.mjs\");`;\n }\n };\n for (const obj of reg.getObjects()) {\n if (obj instanceof abaplint.Objects.Table\n || obj instanceof abaplint.Objects.DataElement\n || obj instanceof abaplint.Objects.LockObject\n || obj instanceof abaplint.Objects.MessageClass\n || obj instanceof abaplint.Objects.MIMEObject\n || obj instanceof abaplint.Objects.WebMIME\n || obj instanceof abaplint.Objects.TypePool\n || obj instanceof abaplint.Objects.TableType) {\n list.push(imp(`${this.escapeNamespace(obj.getName().toLowerCase())}.${obj.getType().toLowerCase()}`));\n }\n }\n for (const obj of reg.getObjects()) {\n if (obj instanceof abaplint.Objects.FunctionGroup) {\n for (const m of obj.getModules()) {\n list.push(imp(`${this.escapeNamespace(obj.getName().toLowerCase())}.fugr.${this.escapeNamespace(m.getName().toLowerCase())}`));\n }\n }\n else if (obj instanceof abaplint.Objects.Class) {\n if (obj.getName().toUpperCase() !== \"CL_ABAP_CHAR_UTILITIES\"\n && this.hasClassConstructor(reg, obj)) {\n // this will not solve all problems with class constors 100%, but probably good enough\n late.push(imp(`${this.escapeNamespace(obj.getName().toLowerCase())}.${obj.getType().toLowerCase()}`));\n }\n else {\n list.push(imp(`${this.escapeNamespace(obj.getName().toLowerCase())}.${obj.getType().toLowerCase()}`));\n }\n }\n else if (obj instanceof abaplint.Objects.Interface) {\n list.push(imp(`${this.escapeNamespace(obj.getName().toLowerCase())}.${obj.getType().toLowerCase()}`));\n }\n }\n return [...list.sort(), ...late].join(\"\\n\");\n }\n // class constructors might make early use of eg. constants from interfaces\n // sub classes will import() super classes and trigger a class constructor of the super\n hasClassConstructor(reg, clas) {\n var _a, _b;\n if (((_a = clas.getDefinition()) === null || _a === void 0 ? void 0 : _a.getMethodDefinitions().getByName(\"CLASS_CONSTRUCTOR\")) !== undefined) {\n return true;\n }\n const sup = (_b = clas.getDefinition()) === null || _b === void 0 ? void 0 : _b.getSuperClass();\n if (sup !== undefined) {\n const superClass = reg.getObject(\"CLAS\", sup);\n if (superClass) {\n return this.hasClassConstructor(reg, superClass);\n }\n }\n return false;\n }\n}\nexports.UnitTest = UnitTest;\n//# sourceMappingURL=unit_test.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/unit_test.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/build/src/validation.js": +/*!*********************************************************!*\ + !*** ../../packages/transpiler/build/src/validation.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Validation = exports.config = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst keywords_1 = __webpack_require__(/*! ./keywords */ \"../../packages/transpiler/build/src/keywords.js\");\nexports.config = {\n \"global\": {\n \"files\": \"/**/*.*\",\n \"skipGeneratedGatewayClasses\": true,\n \"skipGeneratedPersistentClasses\": true,\n \"skipGeneratedFunctionGroups\": true,\n },\n \"syntax\": {\n \"version\": core_1.Version.OpenABAP,\n \"errorNamespace\": \".\",\n },\n \"rules\": {\n \"when_others_last\": true,\n \"avoid_use\": {\n \"execSQL\": true,\n \"kernelCall\": true,\n \"communication\": true,\n \"systemCall\": true,\n \"break\": false,\n \"statics\": true,\n \"endselect\": false,\n \"defaultKey\": false,\n },\n \"parser_error\": true,\n \"allowed_object_types\": {\n \"allowed\": [\n \"AUTH\",\n \"CLAS\",\n \"DEVC\",\n \"DOMA\",\n \"DTEL\",\n \"ENHS\",\n \"ENQU\",\n \"FUGR\",\n \"INTF\",\n \"MSAG\",\n \"NROB\",\n \"NSPC\",\n \"PARA\",\n \"PROG\",\n \"SHLP\",\n \"SHMA\",\n \"SICF\",\n \"SMIM\",\n \"SMIM\",\n \"SRFC\",\n \"SUSO\",\n \"TABL\",\n \"TOBJ\",\n \"TRAN\",\n \"TTYP\",\n \"TYPE\",\n \"VIEW\",\n \"W3MI\",\n \"XSLT\",\n ],\n },\n \"unknown_types\": true,\n \"ambiguous_statement\": true,\n \"implement_methods\": true,\n \"begin_end_names\": true,\n \"check_syntax\": true,\n \"form_no_dash\": true,\n \"omit_preceding_zeros\": true,\n \"obsolete_statement\": {\n \"compute\": true,\n \"setExtended\": true,\n },\n \"forbidden_identifier\": {\n \"check\": [],\n },\n },\n};\n// todo, make sure nothing is overloaded, eg \"lines()\", there is a rule for this in abaplint now\n// hmm this ^ is okay? since lines will be prefixed with \"abap.builtin\"?\nclass Validation {\n constructor(options) {\n this.options = options;\n }\n run(reg) {\n var _a, _b, _c;\n if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.ignoreSyntaxCheck) === true) {\n exports.config.rules.check_syntax = false;\n }\n else {\n exports.config.rules.check_syntax = true;\n }\n exports.config.rules.forbidden_identifier.check = [\"^unique\\\\d+$\"];\n if (((_b = this.options) === null || _b === void 0 ? void 0 : _b.keywords) === undefined) {\n for (const d of keywords_1.defaultKeywords) {\n const add = \"^\" + d + \"$\";\n exports.config.rules[\"forbidden_identifier\"][\"check\"].push(add);\n }\n }\n else {\n for (const d of this.options.keywords) {\n const add = \"^\" + d + \"$\";\n exports.config.rules[\"forbidden_identifier\"][\"check\"].push(add);\n }\n }\n if (((_c = this.options) === null || _c === void 0 ? void 0 : _c.unknownTypes) === \"runtimeError\") {\n // this is not a constant, just a regex that happens to not match anything\n exports.config.syntax.errorNamespace = \"VOID_EVERYTHING\";\n }\n const conf = new core_1.Config(JSON.stringify(exports.config));\n reg.setConfig(conf);\n const issues = reg.findIssues();\n return issues;\n }\n}\nexports.Validation = Validation;\n//# sourceMappingURL=validation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/build/src/validation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst tokens_1 = __webpack_require__(/*! ./tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass Buffer {\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}\nclass Stream {\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 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}\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 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 Stream(raw.replace(/\\r/g, \"\"));\n this.buffer = new Buffer();\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.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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Token = void 0;\nconst position_1 = __webpack_require__(/*! ../../../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass Token {\n constructor(start, str) {\n this.start = start;\n this.str = 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.Token = Token;\n//# sourceMappingURL=_token.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/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.WAtW = exports.AtW = exports.WAt = exports.At = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass At extends _token_1.Token {\n static railroad() {\n return \"@\";\n }\n}\nexports.At = At;\nclass WAt extends _token_1.Token {\n static railroad() {\n return \" @\";\n }\n}\nexports.WAt = WAt;\nclass AtW extends _token_1.Token {\n static railroad() {\n return \"@ \";\n }\n}\nexports.AtW = AtW;\nclass WAtW extends _token_1.Token {\n static railroad() {\n return \" @ \";\n }\n}\nexports.WAtW = WAtW;\n//# sourceMappingURL=at.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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.WBracketLeftW = exports.BracketLeftW = exports.WBracketLeft = exports.BracketLeft = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass BracketLeft extends _token_1.Token {\n static railroad() {\n return \"[\";\n }\n}\nexports.BracketLeft = BracketLeft;\nclass WBracketLeft extends _token_1.Token {\n static railroad() {\n return \" [\";\n }\n}\nexports.WBracketLeft = WBracketLeft;\nclass BracketLeftW extends _token_1.Token {\n static railroad() {\n return \"[ \";\n }\n}\nexports.BracketLeftW = BracketLeftW;\nclass WBracketLeftW extends _token_1.Token {\n static railroad() {\n return \" [ \";\n }\n}\nexports.WBracketLeftW = WBracketLeftW;\n//# sourceMappingURL=bracket_left.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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.WBracketRightW = exports.BracketRightW = exports.WBracketRight = exports.BracketRight = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass BracketRight extends _token_1.Token {\n static railroad() {\n return \"]\";\n }\n}\nexports.BracketRight = BracketRight;\nclass WBracketRight extends _token_1.Token {\n static railroad() {\n return \" ]\";\n }\n}\nexports.WBracketRight = WBracketRight;\nclass BracketRightW extends _token_1.Token {\n static railroad() {\n return \"] \";\n }\n}\nexports.BracketRightW = BracketRightW;\nclass WBracketRightW extends _token_1.Token {\n static railroad() {\n return \" ] \";\n }\n}\nexports.WBracketRightW = WBracketRightW;\n//# sourceMappingURL=bracket_right.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Colon extends _token_1.Token {\n}\nexports.Colon = Colon;\n//# sourceMappingURL=colon.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Comment extends _token_1.Token {\n}\nexports.Comment = Comment;\n//# sourceMappingURL=comment.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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.WDashW = exports.DashW = exports.WDash = exports.Dash = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Dash extends _token_1.Token {\n static railroad() {\n return \"-\";\n }\n}\nexports.Dash = Dash;\nclass WDash extends _token_1.Token {\n static railroad() {\n return \" -\";\n }\n}\nexports.WDash = WDash;\nclass DashW extends _token_1.Token {\n static railroad() {\n return \"- \";\n }\n}\nexports.DashW = DashW;\nclass WDashW extends _token_1.Token {\n static railroad() {\n return \" - \";\n }\n}\nexports.WDashW = WDashW;\n//# sourceMappingURL=dash.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Identifier extends _token_1.Token {\n}\nexports.Identifier = Identifier;\n//# sourceMappingURL=identifier.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bracket_left */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bracket_right */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js\"), exports);\n__exportStar(__webpack_require__(/*! ./colon */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js\"), exports);\n__exportStar(__webpack_require__(/*! ./comment */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dash */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js\"), exports);\n__exportStar(__webpack_require__(/*! ./instance_arrow */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.js\"), exports);\n__exportStar(__webpack_require__(/*! ./paren_left */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js\"), exports);\n__exportStar(__webpack_require__(/*! ./paren_right */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.js\"), exports);\n__exportStar(__webpack_require__(/*! ./plus */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.js\"), exports);\n__exportStar(__webpack_require__(/*! ./pragma */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js\"), exports);\n__exportStar(__webpack_require__(/*! ./punctuation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static_arrow */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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.WInstanceArrowW = exports.InstanceArrowW = exports.WInstanceArrow = exports.InstanceArrow = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass InstanceArrow extends _token_1.Token {\n static railroad() {\n return \"->\";\n }\n}\nexports.InstanceArrow = InstanceArrow;\nclass WInstanceArrow extends _token_1.Token {\n static railroad() {\n return \" ->\";\n }\n}\nexports.WInstanceArrow = WInstanceArrow;\nclass InstanceArrowW extends _token_1.Token {\n static railroad() {\n return \"-> \";\n }\n}\nexports.InstanceArrowW = InstanceArrowW;\nclass WInstanceArrowW extends _token_1.Token {\n static railroad() {\n return \" -> \";\n }\n}\nexports.WInstanceArrowW = WInstanceArrowW;\n//# sourceMappingURL=instance_arrow.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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.WParenLeftW = exports.ParenLeftW = exports.WParenLeft = exports.ParenLeft = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass ParenLeft extends _token_1.Token {\n static railroad() {\n return \"(\";\n }\n}\nexports.ParenLeft = ParenLeft;\nclass WParenLeft extends _token_1.Token {\n static railroad() {\n return \" (\";\n }\n}\nexports.WParenLeft = WParenLeft;\nclass ParenLeftW extends _token_1.Token {\n static railroad() {\n return \"( \";\n }\n}\nexports.ParenLeftW = ParenLeftW;\nclass WParenLeftW extends _token_1.Token {\n static railroad() {\n return \" ( \";\n }\n}\nexports.WParenLeftW = WParenLeftW;\n//# sourceMappingURL=paren_left.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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.WParenRightW = exports.ParenRightW = exports.WParenRight = exports.ParenRight = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass ParenRight extends _token_1.Token {\n static railroad() {\n return \")\";\n }\n}\nexports.ParenRight = ParenRight;\nclass WParenRight extends _token_1.Token {\n static railroad() {\n return \" )\";\n }\n}\nexports.WParenRight = WParenRight;\nclass ParenRightW extends _token_1.Token {\n static railroad() {\n return \") \";\n }\n}\nexports.ParenRightW = ParenRightW;\nclass WParenRightW extends _token_1.Token {\n static railroad() {\n return \" ) \";\n }\n}\nexports.WParenRightW = WParenRightW;\n//# sourceMappingURL=paren_right.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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.WPlusW = exports.PlusW = exports.WPlus = exports.Plus = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Plus extends _token_1.Token {\n static railroad() {\n return \"+\";\n }\n}\nexports.Plus = Plus;\nclass WPlus extends _token_1.Token {\n static railroad() {\n return \" +\";\n }\n}\nexports.WPlus = WPlus;\nclass PlusW extends _token_1.Token {\n static railroad() {\n return \"+ \";\n }\n}\nexports.PlusW = PlusW;\nclass WPlusW extends _token_1.Token {\n static railroad() {\n return \" + \";\n }\n}\nexports.WPlusW = WPlusW;\n//# sourceMappingURL=plus.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Pragma extends _token_1.Token {\n}\nexports.Pragma = Pragma;\n//# sourceMappingURL=pragma.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Punctuation extends _token_1.Token {\n}\nexports.Punctuation = Punctuation;\n//# sourceMappingURL=punctuation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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.WStaticArrowW = exports.StaticArrowW = exports.WStaticArrow = exports.StaticArrow = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass StaticArrow extends _token_1.Token {\n static railroad() {\n return \"=>\";\n }\n}\nexports.StaticArrow = StaticArrow;\nclass WStaticArrow extends _token_1.Token {\n static railroad() {\n return \" =>\";\n }\n}\nexports.WStaticArrow = WStaticArrow;\nclass StaticArrowW extends _token_1.Token {\n static railroad() {\n return \"=> \";\n }\n}\nexports.StaticArrowW = StaticArrowW;\nclass WStaticArrowW extends _token_1.Token {\n static railroad() {\n return \" => \";\n }\n}\nexports.WStaticArrowW = WStaticArrowW;\n//# sourceMappingURL=static_arrow.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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.StringTemplateMiddle = exports.StringTemplateEnd = exports.StringTemplateBegin = exports.StringTemplate = exports.StringToken = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass StringToken extends _token_1.Token {\n}\nexports.StringToken = StringToken;\nclass StringTemplate extends _token_1.Token {\n}\nexports.StringTemplate = StringTemplate;\nclass StringTemplateBegin extends _token_1.Token {\n}\nexports.StringTemplateBegin = StringTemplateBegin;\nclass StringTemplateEnd extends _token_1.Token {\n}\nexports.StringTemplateEnd = StringTemplateEnd;\nclass StringTemplateMiddle extends _token_1.Token {\n}\nexports.StringTemplateMiddle = StringTemplateMiddle;\n//# sourceMappingURL=string.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/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.failStar = exports.failCombinator = exports.verNot = exports.ver = exports.plusPrio = exports.plus = exports.starPrio = exports.star = exports.per = exports.optPrio = exports.opt = exports.altPrio = exports.alt = exports.seq = exports.tok = exports.regex = exports.str = exports.Combi = exports.Expression = void 0;\nconst Tokens = __webpack_require__(/*! ../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst version_1 = __webpack_require__(/*! ../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst result_1 = __webpack_require__(/*! ./result */ \"../../packages/transpiler/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 const 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 result.push(...res);\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 const 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 result.push(...temp);\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}\nexports.str = str;\nfunction regex(r) {\n return new Regex(r);\n}\nexports.regex = regex;\nfunction tok(t) {\n return new Token(t.name);\n}\nexports.tok = tok;\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}\nexports.seq = seq;\nfunction alt(first, second, ...rest) {\n const list = [map(first), map(second)];\n list.push(...rest.map(map));\n return new Alternative(list);\n}\nexports.alt = alt;\nfunction altPrio(first, second, ...rest) {\n const list = [map(first), map(second)];\n list.push(...rest.map(map));\n return new AlternativePriority(list);\n}\nexports.altPrio = altPrio;\nfunction opt(first) {\n return new Optional(map(first));\n}\nexports.opt = opt;\nfunction optPrio(first) {\n return new OptionalPriority(map(first));\n}\nexports.optPrio = optPrio;\nfunction per(first, second, ...rest) {\n const list = [map(first), map(second)];\n list.push(...rest.map(map));\n return new Permutation(list);\n}\nexports.per = per;\nfunction star(first) {\n return new Star(map(first));\n}\nexports.star = star;\nfunction starPrio(first) {\n return new StarPriority(map(first));\n}\nexports.starPrio = starPrio;\nfunction plus(first) {\n return new Plus(map(first));\n}\nexports.plus = plus;\nfunction plusPrio(first) {\n return new PlusPriority(map(first));\n}\nexports.plusPrio = plusPrio;\nfunction ver(version, first, or) {\n return new Vers(version, map(first), or);\n}\nexports.ver = ver;\nfunction verNot(version, first) {\n return new VersNot(version, map(first));\n}\nexports.verNot = verNot;\nfunction failCombinator() {\n return new FailCombinator();\n}\nexports.failCombinator = failCombinator;\nfunction failStar() {\n return new FailStar();\n}\nexports.failStar = failStar;\n//# sourceMappingURL=combi.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expand_macros.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ./expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Tokens = __webpack_require__(/*! ../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _statement_1 = __webpack_require__(/*! ./statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst statement_node_1 = __webpack_require__(/*! ../nodes/statement_node */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/statement_node.js\");\nconst token_node_1 = __webpack_require__(/*! ../nodes/token_node */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/token_node.js\");\nconst statement_parser_1 = __webpack_require__(/*! ./statement_parser */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js\");\nconst memory_file_1 = __webpack_require__(/*! ../../files/memory_file */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/files/memory_file.js\");\nconst lexer_1 = __webpack_require__(/*! ../1_lexer/lexer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass Macros {\n constructor(globalMacros) {\n this.macros = {};\n for (const m of globalMacros) {\n this.macros[m.toUpperCase()] = [];\n }\n }\n addMacro(name, contents) {\n if (this.isMacro(name)) {\n return;\n }\n this.macros[name.toUpperCase()] = contents;\n }\n getContents(name) {\n return this.macros[name.toUpperCase()];\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}\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) {\n var _a, _b;\n let name = undefined;\n let contents = [];\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 name = statement.getTokens()[1].getStr();\n contents = [];\n }\n else if (type instanceof Statements.Include) {\n const includeName = (_a = statement.findDirectExpression(Expressions.IncludeName)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n // todo, this does not take function module includes into account\n const prog = (_b = this.reg) === null || _b === void 0 ? void 0 : _b.getObject(\"PROG\", includeName);\n if (prog) {\n prog.parse(this.version, this.globalMacros, this.reg);\n const main = prog.getMainABAPFile();\n if (main) {\n // slow, this copies everything,\n this.find([...main.getStatements()]);\n }\n }\n }\n else if (name) {\n if (type instanceof Statements.EndOfDefinition) {\n this.macros.addMacro(name, contents);\n name = 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) {\n const result = [];\n let containsUnknown = false;\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 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);\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 position_1.VirtualPosition) {\n end = new 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expand_macros.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract_methods.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst method_name_1 = __webpack_require__(/*! ./method_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract_methods.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/and_return.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/and_return.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arith_operator.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arith_operator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow_or_dash.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow_or_dash.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/assign_source.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst field_1 = __webpack_require__(/*! ./field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js\");\nclass AssignSource extends combi_1.Expression {\n getRunnable() {\n const component = (0, combi_1.seq)(\"COMPONENT\", 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/assign_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/association_name.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/association_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_chain.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst table_body_1 = __webpack_require__(/*! ./table_body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/block_name.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/block_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_options.js": +/*!************************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst field_1 = __webpack_require__(/*! ./field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js\");\nconst integer_1 = __webpack_require__(/*! ./integer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_options.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_parameters.js": +/*!***************************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst field_1 = __webpack_require__(/*! ./field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js\");\nconst integer_1 = __webpack_require__(/*! ./integer */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cast.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cast.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_final.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_final.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_friends.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst class_name_1 = __webpack_require__(/*! ./class_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_friends.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_global.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_global.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_name.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/color.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/color.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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.SourceFieldSymbol, \"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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare_operator.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare_operator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst table_body_1 = __webpack_require__(/*! ./table_body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain_simple.js": +/*!*******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain_simple.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_simple.js": +/*!*********************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst component_chain_simple_1 = __webpack_require__(/*! ./component_chain_simple */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_simple.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_single.js": +/*!*********************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst component_chain_simple_1 = __webpack_require__(/*! ./component_chain_simple */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_single.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond_sub.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond_sub.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_name.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/concatenated_constant.js": +/*!******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/concatenated_constant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst cond_sub_1 = __webpack_require__(/*! ./cond_sub */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_sub.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_body.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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.alt)(_1.Cond, _1.Source), \"THEN\", (0, combi_1.alt)(_1.Source, _1.Throw));\n const elsee = (0, combi_1.seq)(\"ELSE\", (0, combi_1.alt)(_1.Source, _1.Throw));\n return (0, combi_1.seq)((0, combi_1.opt)(_1.Let), (0, combi_1.plus)(when), (0, combi_1.opt)(elsee));\n }\n}\nexports.CondBody = CondBody;\n//# sourceMappingURL=cond_body.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_sub.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_sub.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_field_length.js": +/*!******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_field_length.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_string.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_string.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/conv_body.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/conv_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/corresponding_body.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst component_chain_1 = __webpack_require__(/*! ./component_chain */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/corresponding_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/data_definition.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! . */ \"../../packages/transpiler/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));\n }\n}\nexports.DataDefinition = DataDefinition;\n//# sourceMappingURL=data_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/data_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_connection.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_connection.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_table.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/decimals.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/decimals.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/default.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/default.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/definition_name.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/definition_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dereference.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dereference.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/destination.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/destination.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/entity_association.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/entity_association.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_handler.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_handler.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_name.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/exception_name.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst field_1 = __webpack_require__(/*! ./field */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/exception_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_all.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_all.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_assignment.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst field_sub_1 = __webpack_require__(/*! ./field_sub */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_sub.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_assignment.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_length.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_length.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_offset.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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.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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_offset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_sub.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst table_body_1 = __webpack_require__(/*! ./table_body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_sub.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_symbol.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_symbol.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/filter_body.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/filter_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/final_methods.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst method_name_1 = __webpack_require__(/*! ./method_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/final_methods.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/find_type.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/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\")));\n }\n}\nexports.FindType = FindType;\n//# sourceMappingURL=find_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/find_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/for.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/for.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_changing.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_changing.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_name.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_name.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_type.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_raising.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_raising.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_tables.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_tables.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_using.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_using.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/fstarget.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/fstarget.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting_parameter.js": +/*!*************************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst parameter_name_1 = __webpack_require__(/*! ./parameter_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_name.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst simple_source3_1 = __webpack_require__(/*! ./simple_source3 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting_parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_name.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_parameters.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/include_name.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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)(/^?$/), (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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/include_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract_methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./abstract */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/abstract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./and_return */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/and_return.js\"), exports);\n__exportStar(__webpack_require__(/*! ./arith_operator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arith_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./arrow_or_dash */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow_or_dash.js\"), exports);\n__exportStar(__webpack_require__(/*! ./arrow */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/arrow.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assign_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/assign_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./association_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/association_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./attribute_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./attribute_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./block_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/block_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transformation_options */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_options.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transformation_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/call_transformation_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cast */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cast.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_final */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_final.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_friends */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_friends.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_global */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_global.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/class_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./color */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/color.js\"), exports);\n__exportStar(__webpack_require__(/*! ./compare_operator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./compare */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/compare.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_chain_simple */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain_simple.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_compare_simple */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_simple.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_compare_single */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare_single.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_compare */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_compare.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_cond_sub */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond_sub.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_cond.js\"), exports);\n__exportStar(__webpack_require__(/*! ./component_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_fields */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields.js\"), exports);\n__exportStar(__webpack_require__(/*! ./concatenated_constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/concatenated_constant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cond_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cond_sub */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond_sub.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/cond.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant_field_length */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_field_length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant_string */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant_string.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./conv_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/conv_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./corresponding_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/corresponding_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/data_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./database_connection */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_connection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./database_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/database_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./decimals */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/decimals.js\"), exports);\n__exportStar(__webpack_require__(/*! ./default */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/default.js\"), exports);\n__exportStar(__webpack_require__(/*! ./definition_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/definition_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dereference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dereference.js\"), exports);\n__exportStar(__webpack_require__(/*! ./destination */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/destination.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\"), exports);\n__exportStar(__webpack_require__(/*! ./entity_association */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/entity_association.js\"), exports);\n__exportStar(__webpack_require__(/*! ./entity_association */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/entity_association.js\"), exports);\n__exportStar(__webpack_require__(/*! ./event_handler */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_handler.js\"), exports);\n__exportStar(__webpack_require__(/*! ./event_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/event_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exception_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/exception_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_all */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_all.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_assignment */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_assignment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_length */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_offset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_offset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_sub */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_sub.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_symbol */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_symbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./filter_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/filter_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./final_methods */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/final_methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./find_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/find_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./for */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/for.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_changing */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_changing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_param_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_param_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_param */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_param.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_raising */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_raising.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_tables */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_tables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_using */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/form_using.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fstarget */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/fstarget.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_exporting_parameter */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting_parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_exporting */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/function_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./include_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/include_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inline_field_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inline_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inline_loop_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_loop_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inlinedata */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinedata.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inlinefs */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinefs.js\"), exports);\n__exportStar(__webpack_require__(/*! ./integer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/interface_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./kernel_id */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/kernel_id.js\"), exports);\n__exportStar(__webpack_require__(/*! ./language */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/language.js\"), exports);\n__exportStar(__webpack_require__(/*! ./length */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./let */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/let.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_group_by_component */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_component.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_group_by_target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_group_by */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./macro_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/macro_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_class */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_number */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_number.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_type_and_number */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_type_and_number.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call_param */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_param.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_call */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_changing */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_changing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_exceptions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exceptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_exporting */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_importing */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_importing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_raising */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_raising.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def_returning */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_returning.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_param_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_param_optional */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_optional.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_param */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modif */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/modif.js\"), exports);\n__exportStar(__webpack_require__(/*! ./namespace_simple_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/namespace_simple_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./new_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/new_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ole_exporting */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/ole_exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./or */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/or.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_exception */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_exception.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_list_exceptions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_exceptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_list_s */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_s.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_list_t */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_t.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_s */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_s.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter_t */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_t.js\"), exports);\n__exportStar(__webpack_require__(/*! ./pass_by_value */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/pass_by_value.js\"), exports);\n__exportStar(__webpack_require__(/*! ./perform_changing */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_changing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./perform_tables */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_tables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./perform_using */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_using.js\"), exports);\n__exportStar(__webpack_require__(/*! ./radio_group_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/radio_group_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./raise_with */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/raise_with.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_table_target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/read_table_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./receive_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/receive_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./redefinition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/redefinition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reduce_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reduce_next */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_next.js\"), exports);\n__exportStar(__webpack_require__(/*! ./report_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/report_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_field_chain2 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain2.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source1 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source1.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source2 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source2.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source3 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_source4 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source4.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./source_field_symbol */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./source_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_aggregation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_alias_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_alias_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_arithmetics */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetics.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_arithmetic_operator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_as_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_as_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_cds_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cds_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_client */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_client.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_compare_operator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_compare */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cond.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field_and_value */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_and_value.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field_list_loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field_list */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_for_all_entries */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_for_all_entries.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_from_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_from */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_function */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_group_by */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_group_by.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_having */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_having.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_hints */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_hints.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_in */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_in.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_into_structure */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_into_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_join */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_join.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_order_by */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_order_by.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_path */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_path.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_source_simple */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_simple.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_up_to */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template_formatting */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_formatting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_template */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template.js\"), exports);\n__exportStar(__webpack_require__(/*! ./super_class_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/super_class_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./switch_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/switch_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table_expression */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_expression.js\"), exports);\n__exportStar(__webpack_require__(/*! ./target_field_symbol */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field_symbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./target_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js\"), exports);\n__exportStar(__webpack_require__(/*! ./test_seam_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/test_seam_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./text_element_key */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_key.js\"), exports);\n__exportStar(__webpack_require__(/*! ./text_element_string */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_string.js\"), exports);\n__exportStar(__webpack_require__(/*! ./text_element */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element.js\"), exports);\n__exportStar(__webpack_require__(/*! ./throw */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/throw.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_name_or_infer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name_or_infer.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_param */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_param.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_table_key */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table_key.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./value_body_line */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./value_body_lines */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_lines.js\"), exports);\n__exportStar(__webpack_require__(/*! ./value_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./value */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value.js\"), exports);\n__exportStar(__webpack_require__(/*! ./with_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/with_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./write_offset_length */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/write_offset_length.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field_definition.js": +/*!********************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_field_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_loop_definition.js": +/*!*******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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 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)(index));\n }\n}\nexports.InlineLoopDefinition = InlineLoopDefinition;\n//# sourceMappingURL=inline_loop_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inline_loop_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinedata.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinedata.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinefs.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/inlinefs.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/interface_name.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/interface_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/kernel_id.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/kernel_id.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/language.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/language.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/length.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/length.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/let.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/let.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nconst loop_group_by_target_1 = __webpack_require__(/*! ./loop_group_by_target */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_component.js": +/*!********************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst component_name_1 = __webpack_require__(/*! ./component_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/component_name.js\");\nconst component_compare_single_1 = __webpack_require__(/*! ./component_compare_single */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_component.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_target.js": +/*!*****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js\");\nconst fstarget_1 = __webpack_require__(/*! ./fstarget */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_target.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_target.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_target.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/macro_name.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/macro_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_class.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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+\\/)?\\w+#?@?\\/?!?&?>?\\$?$/);\n }\n}\nexports.MessageClass = MessageClass;\n//# sourceMappingURL=message_class.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_class.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_number.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_number.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_type_and_number.js": +/*!********************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_type_and_number.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_call_param_1 = __webpack_require__(/*! ./method_call_param */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_body.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_call_param_1 = __webpack_require__(/*! ./method_call_param */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_chain.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_param.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst constant_string_1 = __webpack_require__(/*! ./constant_string */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_param.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_changing.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_changing.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exceptions.js": +/*!******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exceptions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exporting.js": +/*!*****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_exporting.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_importing.js": +/*!*****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_importing.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_raising.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst class_name_1 = __webpack_require__(/*! ./class_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_raising.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_returning.js": +/*!*****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_def_returning.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_name.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_name.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_optional.js": +/*!******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_param_optional.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_parameters.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_source.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/modif.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/modif.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/namespace_simple_name.js": +/*!******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/namespace_simple_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/new_object.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst field_assignment_1 = __webpack_require__(/*! ./field_assignment */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/new_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/ole_exporting.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/ole_exporting.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/or.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/or.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_exception.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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, \"=\", _1.SimpleName, (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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_exception.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_exceptions.js": +/*!**********************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_exceptions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_s.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_s.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_t.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_list_t.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_name.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_s.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_s.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_t.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/parameter_t.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/pass_by_value.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/pass_by_value.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_changing.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_changing.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_tables.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_tables.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_using.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_using.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/radio_group_name.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/radio_group_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/raise_with.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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.Source, (0, combi_1.opt)(_1.Source), (0, combi_1.opt)(_1.Source), (0, combi_1.opt)(_1.Source));\n return wit;\n }\n}\nexports.RaiseWith = RaiseWith;\n//# sourceMappingURL=raise_with.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/raise_with.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/read_table_target.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst fstarget_1 = __webpack_require__(/*! ./fstarget */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/fstarget.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/read_table_target.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/receive_parameters.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/receive_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/redefinition.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/redefinition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_body.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst reduce_next_1 = __webpack_require__(/*! ./reduce_next */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_next.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/reduce_next.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/report_name.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/report_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst sql_group_by_1 = __webpack_require__(/*! ./sql_group_by */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_group_by.js\");\nconst sql_into_structure_1 = __webpack_require__(/*! ./sql_into_structure */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\");\nconst sql_up_to_1 = __webpack_require__(/*! ./sql_up_to */ \"../../packages/transpiler/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);\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 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);\n const permSingle = (0, combi_1.per)(_1.SQLFrom, sql_into_structure_1.SQLIntoStructure, where, _1.SQLClient, bypass, fields, _1.DatabaseConnection);\n const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), sql_field_name_1.SQLFieldName, (0, combi_1.tok)(tokens_1.WParenRightW));\n const fieldList = (0, combi_1.optPrio)((0, combi_1.altPrio)(_1.SQLFieldList, paren));\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), (0, combi_1.optPrio)(_1.SQLHints));\n return ret;\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select_loop.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst sql_order_by_1 = __webpack_require__(/*! ./sql_order_by */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_order_by.js\");\nconst sql_having_1 = __webpack_require__(/*! ./sql_having */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_having.js\");\nconst sql_into_structure_1 = __webpack_require__(/*! ./sql_into_structure */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js\");\nconst sql_hints_1 = __webpack_require__(/*! ./sql_hints */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\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 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, sql_into_structure_1.SQLIntoStructure, packTab));\n const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields), where, sql_into_structure_1.SQLIntoStructure, 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/select_loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain2.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain2.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_name.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source1.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source1.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source2.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source2.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source4.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_call_chain_1 = __webpack_require__(/*! ./method_call_chain */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source4.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_target.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js\");\nconst dereference_1 = __webpack_require__(/*! ./dereference */ \"../../packages/transpiler/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 return (0, combi_1.seq)(start, something, fields);\n }\n}\nexports.SimpleTarget = SimpleTarget;\n//# sourceMappingURL=simple_target.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_target.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst text_element_1 = __webpack_require__(/*! ./text_element */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element.js\");\nconst attribute_chain_1 = __webpack_require__(/*! ./attribute_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_chain.js\");\nconst dereference_1 = __webpack_require__(/*! ./dereference */ \"../../packages/transpiler/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 method = (0, combi_1.seq)(_1.MethodCallChain, (0, combi_1.optPrio)((0, combi_1.altPrio)(attr, comp)), (0, combi_1.optPrio)(dereference_1.Dereference));\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 // 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, (0, combi_1.optPrio)(dereference_1.Dereference)), 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, (0, combi_1.tok)(tokens_1.ParenLeftW), _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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst sql_arithmetics_1 = __webpack_require__(/*! ./sql_arithmetics */ \"../../packages/transpiler/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));\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_alias_field.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_alias_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js": +/*!********************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetics.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst sql_arithmetic_operator_1 = __webpack_require__(/*! ./sql_arithmetic_operator */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetics.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_as_name.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_as_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_case.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst constant_1 = __webpack_require__(/*! ./constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js\");\nconst sql_cond_1 = __webpack_require__(/*! ./sql_cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cond.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"../../packages/transpiler/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 when = (0, combi_1.seq)(\"WHEN\", (0, combi_1.alt)(constant_1.Constant, sql_cond_1.SQLCond), \"THEN\", (0, combi_1.altPrio)(_1.SQLAggregation, _1.SQLFunction, sql_source_1.SQLSource), (0, combi_1.starPrio)(sub));\n const els = (0, combi_1.seq)(\"ELSE\", sql_source_1.SQLSource);\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.plus)(when), (0, combi_1.optPrio)(els), \"END\"));\n }\n}\nexports.SQLCase = SQLCase;\n//# sourceMappingURL=sql_case.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cds_parameters.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cds_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_client.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst sql_source_simple_1 = __webpack_require__(/*! ./sql_source_simple */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_client.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass SQLCompare extends combi_1.Expression {\n getRunnable() {\n const subSelect = (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\")), subSelect);\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 rett = (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLFunction, (0, combi_1.seq)(_1.SQLFieldName, (0, combi_1.optPrio)(arith))), (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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare_operator.js": +/*!*****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_compare_operator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cond.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_cond.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst sql_function_1 = __webpack_require__(/*! ./sql_function */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js\");\nconst simple_field_chain_1 = __webpack_require__(/*! ./simple_field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_field_chain.js\");\nconst sql_path_1 = __webpack_require__(/*! ./sql_path */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_and_value.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst integer_1 = __webpack_require__(/*! ./integer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js\");\nconst sql_arithmetic_operator_1 = __webpack_require__(/*! ./sql_arithmetic_operator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetic_operator.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_and_value.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass SQLFieldList extends combi_1.Expression {\n getRunnable() {\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)));\n }\n}\nexports.SQLFieldList = SQLFieldList;\n//# sourceMappingURL=sql_field_list.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst sql_path_1 = __webpack_require__(/*! ./sql_path */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_path.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 fieldList = (0, combi_1.seq)((0, combi_1.star)(someField), (0, combi_1.alt)(_1.SQLFieldName, 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_list_loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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\", _1.SQLFieldList);\n }\n}\nexports.SQLFields = SQLFields;\n//# sourceMappingURL=sql_fields.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_for_all_entries.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_for_all_entries.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from_source.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst with_name_1 = __webpack_require__(/*! ./with_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 constant_1 = __webpack_require__(/*! ./constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/constant.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst integer_1 = __webpack_require__(/*! ./integer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.js\");\nconst sql_alias_field_1 = __webpack_require__(/*! ./sql_alias_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_alias_field.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_field_name.js\");\nconst simple_source3_1 = __webpack_require__(/*! ./simple_source3 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nconst sql_aggregation_1 = __webpack_require__(/*! ./sql_aggregation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_aggregation.js\");\nclass SQLFunction 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.alt)(simple_source3_1.SimpleSource3, paren)));\n const param = (0, combi_1.alt)(sql_field_name_1.SQLFieldName, sql_alias_field_1.SQLAliasField, SQLFunction, constant_1.Constant, sql_aggregation_1.SQLAggregation, at);\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 abs = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"abs\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const cast = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"cast\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \"AS\", castTypes, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const ceil = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"ceil\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const coalesce = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"coalesce\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const concat = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"concat\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const div = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"div\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const floor = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"floor\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const length = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"length\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const lower = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"lower\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const mod = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"mod\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const replace = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"replace\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const round = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"round\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const upper = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"upper\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const uuid = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)(\"uuid\", (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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_group_by.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_group_by.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_having.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nclass SQLHaving extends combi_1.Expression {\n getRunnable() {\n const having = (0, combi_1.seq)(\"HAVING\", dynamic_1.Dynamic);\n return having;\n }\n}\nexports.SQLHaving = SQLHaving;\n//# sourceMappingURL=sql_having.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_having.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_hints.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_hints.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_in.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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 = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.At), _1.SimpleSource3);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_in.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst paren_left_1 = __webpack_require__(/*! ../../1_lexer/tokens/paren_left */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js\");\nclass SQLIntoStructure extends combi_1.Expression {\n getRunnable() {\n const intoList = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(paren_left_1.WParenLeft), (0, combi_1.tok)(paren_left_1.WParenLeftW)), (0, combi_1.starPrio)((0, combi_1.seq)(_1.SQLTarget, \",\")), _1.SQLTarget, \")\");\n const intoSimple = (0, combi_1.seq)((0, combi_1.optPrio)(\"CORRESPONDING FIELDS OF\"), _1.SQLTarget);\n return (0, combi_1.seq)(\"INTO\", (0, combi_1.altPrio)(intoList, intoSimple));\n }\n}\nexports.SQLIntoStructure = SQLIntoStructure;\n//# sourceMappingURL=sql_into_structure.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_structure.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_table.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_into_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_join.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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\")), \"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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_join.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_order_by.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/dynamic.js\");\nconst sql_field_name_1 = __webpack_require__(/*! ./sql_field_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_order_by.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_path.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_path.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_simple.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_source_simple.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_target.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_target.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_up_to.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Tokens = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_formatting.js": +/*!***********************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/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);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_formatting.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_source.js": +/*!*******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/string_template_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/super_class_name.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/super_class_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/switch_body.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/switch_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_body.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_expression.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/table_expression.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_name.js\");\nconst dereference_1 = __webpack_require__(/*! ./dereference */ \"../../packages/transpiler/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 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.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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field_symbol.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TargetFieldSymbol extends combi_1.Expression {\n getRunnable() {\n return new _1.FieldSymbol();\n }\n}\nexports.TargetFieldSymbol = TargetFieldSymbol;\n//# sourceMappingURL=target_field_symbol.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/target_field_symbol.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/test_seam_name.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/test_seam_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_key.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_key.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_string.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/text_element_string.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/throw.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass Throw extends combi_1.Expression {\n getRunnable() {\n // todo, MESSAGE\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)), (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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/throw.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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), typeType);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name_or_infer.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_name_or_infer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_param.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_param.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/field_chain.js\");\nconst type_table_key_1 = __webpack_require__(/*! ./type_table_key */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table_key.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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.opt)(\"REF TO\"), (0, combi_1.opt)(_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.opt)(header), (0, combi_1.opt)(initial));\n const rangeLike = (0, combi_1.seq)(\"RANGE OF\", _1.SimpleFieldChain, (0, combi_1.opt)(header), (0, combi_1.opt)(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\", \"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 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, derived)));\n return ret;\n }\n}\nexports.TypeTable = TypeTable;\n//# sourceMappingURL=type_table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table_key.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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 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)(\"READ-ONLY\"));\n return key;\n }\n}\nexports.TypeTableKey = TypeTableKey;\n//# sourceMappingURL=type_table_key.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_table_key.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_line.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst value_body_lines_1 = __webpack_require__(/*! ./value_body_lines */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_line.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_lines.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/value_body_lines.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/with_name.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/with_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/write_offset_length.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst simple_field_chain2_1 = __webpack_require__(/*! ./simple_field_chain2 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/write_offset_length.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/result.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/result.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ./expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Tokens = __webpack_require__(/*! ../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst artifacts_1 = __webpack_require__(/*! ../artifacts */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/artifacts.js\");\nconst combi_1 = __webpack_require__(/*! ./combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst _statement_1 = __webpack_require__(/*! ./statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst expand_macros_1 = __webpack_require__(/*! ./expand_macros */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expand_macros.js\");\nconst tokens_1 = __webpack_require__(/*! ../1_lexer/tokens */ \"../../packages/transpiler/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);\n }\n for (const w of wa) {\n const res = macros.handleMacros(w.statements);\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)) {\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/add.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/add.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/add_corresponding.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/add_corresponding.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/aliases.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/aliases.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/append.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/append.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/assert.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/assert.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign_local_copy.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign_local_copy.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_first.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_first.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_last.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_last.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_line_selection.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_line_selection.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_selection_screen.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_selection_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_user_command.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_user_command.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/authority_check.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/authority_check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/back.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/back.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/break.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass Break {\n getMatcher() {\n const next = (0, combi_1.str)(\"AT NEXT APPLICATION STATEMENT\");\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\", expressions_1.FieldSub));\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/break.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/break_id.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/break_id.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_badi.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_badi.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_database.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_dialog.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_dialog.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_function.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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.MethodName, \"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 dynamic = (0, combi_1.seq)(\"PARAMETER-TABLE\", expressions_1.Source, (0, combi_1.opt)((0, combi_1.seq)(\"EXCEPTION-TABLE\", expressions_1.Source)));\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_function.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_kernel.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_kernel.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_ole.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_ole.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_screen.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_selection_screen.js": +/*!*****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_selection_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transaction.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transaction.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transformation.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transformation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/case.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/case_type.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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));\n }\n}\nexports.CaseType = CaseType;\n//# sourceMappingURL=case_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/case_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch_system_exceptions.js": +/*!*******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch_system_exceptions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/check.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/check_select_options.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/check_select_options.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_begin.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_begin.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_end.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_end.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_deferred.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_deferred.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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.NamespaceSimpleName)), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition_load.js": +/*!*****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition_load.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_implementation.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_local_friends.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_local_friends.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/cleanup.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/cleanup.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/clear.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/clear.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_cursor.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass CloseCursor {\n getMatcher() {\n const ret = (0, combi_1.seq)(\"CLOSE CURSOR\", expressions_1.SQLSource);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_cursor.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_dataset.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/collect.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/collect.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit_entities.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit_entities.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/communication.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/communication.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/compute.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/compute.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/concatenate.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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.Source);\n const options = (0, combi_1.per)(mode, blanks, sep);\n const sourc = (0, combi_1.seq)(expressions_1.Source, (0, combi_1.plus)(expressions_1.Source));\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/concatenate.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/condense.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/condense.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_begin.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_begin.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_end.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_end.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/contexts.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/contexts.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/continue.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/continue.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/controls.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/controls.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert_text.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert_text.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_data.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_object.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_ole.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_ole.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/data.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_begin.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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 structure = (0, combi_1.seq)(\"BEGIN OF\", (0, combi_1.opt)(\"COMMON PART\"), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_begin.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_end.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_end.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/define.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/define.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_cluster.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_cluster.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_database.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst sql_client_1 = __webpack_require__(/*! ../expressions/sql_client */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dataset.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dynpro.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dynpro.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_internal.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_internal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_memory.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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 shared = (0, combi_1.seq)(\"SHARED MEMORY\", expressions_1.Field, \"(\", expressions_1.Field, \")\", 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_memory.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_report.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_textpool.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_textpool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/demand.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/demand.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/describe.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/describe.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/detail.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/detail.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/divide.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/divide.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/do.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/do.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/editor_call.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass EditorCall {\n getMatcher() {\n const title = (0, combi_1.seq)(\"TITLE\", expressions_1.Source);\n const options = (0, combi_1.per)(\"DISPLAY-MODE\", title);\n const ret = (0, combi_1.seq)(\"EDITOR-CALL FOR\", (0, combi_1.opt)(\"REPORT\"), expressions_1.Source, (0, combi_1.opt)(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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/editor_call.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/else.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/else.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/elseif.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/elseif.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement_section.js": +/*!*******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement_section.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_page.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_page.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_selection.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_selection.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_injection.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_injection.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_seam.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass EndTestSeam {\n getMatcher() {\n return (0, combi_1.str)(\"END-TEST-SEAM\");\n }\n}\nexports.EndTestSeam = EndTestSeam;\n//# sourceMappingURL=end_test_seam.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_seam.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endat.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endat.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcase.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcase.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcatch.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcatch.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endclass.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endclass.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddefine.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddefine.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddo.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddo.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endexec.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endexec.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endform.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endform.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endfunction.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endfunction.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endif.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endif.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endinterface.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endinterface.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endloop.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endloop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmethod.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmethod.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmodule.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmodule.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endon.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endon.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endprovide.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endprovide.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endselect.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endselect.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endtry.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endtry.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwhile.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwhile.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwith.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwith.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst namespace_simple_name_1 = __webpack_require__(/*! ../expressions/namespace_simple_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_point.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_point.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_section.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst dash_1 = __webpack_require__(/*! ../../1_lexer/tokens/dash */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_section.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/events.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/events.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/exec_sql.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/exec_sql.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/exit.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/exit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/export.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/export.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/export_dynpro.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/export_dynpro.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/extract.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/extract.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/fetch_next_cursor.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst sql_into_structure_1 = __webpack_require__(/*! ../expressions/sql_into_structure */ \"../../packages/transpiler/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.SQLSource);\n const ret = (0, combi_1.seq)(\"FETCH NEXT CURSOR\", expressions_1.SQLSource, (0, combi_1.alt)(sql_into_structure_1.SQLIntoStructure, expressions_1.SQLIntoTable), (0, combi_1.opt)(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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/fetch_next_cursor.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/field_group.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/field_group.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/fields.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/fields.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/fieldsymbol.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/fieldsymbol.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/find.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/find.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/form.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/form.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/form_definition.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/form_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/format.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/format.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/free.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/free.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_memory.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_memory.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_object.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_module.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_module.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_pool.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_pool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_dynpro.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_dynpro.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_report.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_subroutine.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_subroutine.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_badi.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_badi.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_bit.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_bit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_cursor.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_cursor.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_dataset.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_locale.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_locale.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_parameter.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_permissions.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_permissions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_pf_status.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_pf_status.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_property.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_property.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_reference.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_reference.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_run_time.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_run_time.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_time.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_time.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/hide.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/hide.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/if.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/if.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/import.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/import.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_dynpro.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_dynpro.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_nametab.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_nametab.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/include.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/include.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/include_type.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/include_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./report */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./write */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/write.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endmethod */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmethod.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endform */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endform.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/form.js\"), exports);\n__exportStar(__webpack_require__(/*! ./import_nametab */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_nametab.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_select_options */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/check_select_options.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_badi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_badi.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_data_begin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_data_end */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_data_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/select_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./do */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/do.js\"), exports);\n__exportStar(__webpack_require__(/*! ./break_id */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/break_id.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_deferred */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_deferred.js\"), exports);\n__exportStar(__webpack_require__(/*! ./while */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/while.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_at_screen */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop_at_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endprovide */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endprovide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./if */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/if.js\"), exports);\n__exportStar(__webpack_require__(/*! ./convert_text */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert_text.js\"), exports);\n__exportStar(__webpack_require__(/*! ./log_point */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/log_point.js\"), exports);\n__exportStar(__webpack_require__(/*! ./window */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/window.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endif */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endif.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_enum */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_enum_begin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_enum_end */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_run_time */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_run_time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_group */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/field_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./print_control */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/print_control.js\"), exports);\n__exportStar(__webpack_require__(/*! ./extract */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/extract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sum */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/sum.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_of_page */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_page.js\"), exports);\n__exportStar(__webpack_require__(/*! ./generate_report */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./elseif */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/elseif.js\"), exports);\n__exportStar(__webpack_require__(/*! ./else */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/else.js\"), exports);\n__exportStar(__webpack_require__(/*! ./perform */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/perform.js\"), exports);\n__exportStar(__webpack_require__(/*! ./append */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/append.js\"), exports);\n__exportStar(__webpack_require__(/*! ./clear */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/clear.js\"), exports);\n__exportStar(__webpack_require__(/*! ./concatenate */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/concatenate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enddo */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddo.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endclass */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endclass.js\"), exports);\n__exportStar(__webpack_require__(/*! ./try */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/try.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endtry */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endtry.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assert */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/assert.js\"), exports);\n__exportStar(__webpack_require__(/*! ./return */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/return.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endwhile */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwhile.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./catch */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch.js\"), exports);\n__exportStar(__webpack_require__(/*! ./infotypes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/infotypes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/message.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endloop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endloop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./create_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_local_friends */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_local_friends.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_deferred */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_deferred.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fieldsymbol */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/fieldsymbol.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./translate */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/translate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exit */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/exit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endcase */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcase.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant_begin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant_end */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/constant_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when_others */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_others.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/when.js\"), exports);\n__exportStar(__webpack_require__(/*! ./continue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/continue.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assign */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_badi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_badi.js\"), exports);\n__exportStar(__webpack_require__(/*! ./suppress_dialog */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/suppress_dialog.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./hide */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/hide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_locale */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_locale.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_locale */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locale.js\"), exports);\n__exportStar(__webpack_require__(/*! ./commit */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_screen */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./commit_entities */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/commit_entities.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_entities */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_entities.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_entities */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_entities.js\"), exports);\n__exportStar(__webpack_require__(/*! ./rollback_entities */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback_entities.js\"), exports);\n__exportStar(__webpack_require__(/*! ./summary */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/summary.js\"), exports);\n__exportStar(__webpack_require__(/*! ./on_change */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/on_change.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_user_command */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_user_command.js\"), exports);\n__exportStar(__webpack_require__(/*! ./position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/position.js\"), exports);\n__exportStar(__webpack_require__(/*! ./resume */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/resume.js\"), exports);\n__exportStar(__webpack_require__(/*! ./stop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/stop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_pf_status */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_pf_status.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_report */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./controls */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/controls.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_line_selection */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_line_selection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./new_page */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_page.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_property */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_property.js\"), exports);\n__exportStar(__webpack_require__(/*! ./scroll_list */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/scroll_list.js\"), exports);\n__exportStar(__webpack_require__(/*! ./load_of_program */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_of_program.js\"), exports);\n__exportStar(__webpack_require__(/*! ./top_of_page */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/top_of_page.js\"), exports);\n__exportStar(__webpack_require__(/*! ./truncate_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/truncate_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_update_task */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_update_task.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_user_command */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_user_command.js\"), exports);\n__exportStar(__webpack_require__(/*! ./rollback */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_internal */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_internal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_database */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./free_memory */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_memory.js\"), exports);\n__exportStar(__webpack_require__(/*! ./catch_system_exceptions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/catch_system_exceptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endcatch */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endcatch.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assign_local_copy */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/assign_local_copy.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_extended_check */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_extended_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./split */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/split.js\"), exports);\n__exportStar(__webpack_require__(/*! ./new_line */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./free_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/free_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sort */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort.js\"), exports);\n__exportStar(__webpack_require__(/*! ./replace */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/replace.js\"), exports);\n__exportStar(__webpack_require__(/*! ./with_loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/with_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./with */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/with.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endwith */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endwith.js\"), exports);\n__exportStar(__webpack_require__(/*! ./condense */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/condense.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_internal */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_internal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_database */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_field_group */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_field_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./update_database */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/update_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_database */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_internal */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_internal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./raise */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise.js\"), exports);\n__exportStar(__webpack_require__(/*! ./define */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/define.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enddefine */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enddefine.js\"), exports);\n__exportStar(__webpack_require__(/*! ./find */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/find.js\"), exports);\n__exportStar(__webpack_require__(/*! ./move */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/move.js\"), exports);\n__exportStar(__webpack_require__(/*! ./move_corresponding */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/move_corresponding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_time */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_point */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_point.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_enhancement_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_handler */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_handler.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_left */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_left.js\"), exports);\n__exportStar(__webpack_require__(/*! ./pack */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/pack.js\"), exports);\n__exportStar(__webpack_require__(/*! ./case_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/case_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exec_sql */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/exec_sql.js\"), exports);\n__exportStar(__webpack_require__(/*! ./open_cursor */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_cursor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./communication */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/communication.js\"), exports);\n__exportStar(__webpack_require__(/*! ./generate_subroutine */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_subroutine.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reject */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/reject.js\"), exports);\n__exportStar(__webpack_require__(/*! ./load_report */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./private */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/private.js\"), exports);\n__exportStar(__webpack_require__(/*! ./system_call */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/system_call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_language */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_language.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_dialog */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_dialog.js\"), exports);\n__exportStar(__webpack_require__(/*! ./protected */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/protected.js\"), exports);\n__exportStar(__webpack_require__(/*! ./public */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/public.js\"), exports);\n__exportStar(__webpack_require__(/*! ./nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/nodes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./demand */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/demand.js\"), exports);\n__exportStar(__webpack_require__(/*! ./supply */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/supply.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fields */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/fields.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_cluster */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_cluster.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_margin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_margin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_database */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_database.js\"), exports);\n__exportStar(__webpack_require__(/*! ./contexts */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/contexts.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endinterface */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endinterface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./include */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/include.js\"), exports);\n__exportStar(__webpack_require__(/*! ./collect */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/collect.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ranges */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/ranges.js\"), exports);\n__exportStar(__webpack_require__(/*! ./events */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/events.js\"), exports);\n__exportStar(__webpack_require__(/*! ./receive */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/receive.js\"), exports);\n__exportStar(__webpack_require__(/*! ./back */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/back.js\"), exports);\n__exportStar(__webpack_require__(/*! ./add_corresponding */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/add_corresponding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./subtract_corresponding */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract_corresponding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static_begin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static_end */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./tables */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/tables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./local */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/local.js\"), exports);\n__exportStar(__webpack_require__(/*! ./add */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/add.js\"), exports);\n__exportStar(__webpack_require__(/*! ./describe */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/describe.js\"), exports);\n__exportStar(__webpack_require__(/*! ./submit */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/submit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./scan */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/scan.js\"), exports);\n__exportStar(__webpack_require__(/*! ./export */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/export.js\"), exports);\n__exportStar(__webpack_require__(/*! ./import */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/import.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_first */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_first.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_last */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_last.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at.js\"), exports);\n__exportStar(__webpack_require__(/*! ./put */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/put.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endat */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endat.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endselect */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endselect.js\"), exports);\n__exportStar(__webpack_require__(/*! ./refresh */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh.js\"), exports);\n__exportStar(__webpack_require__(/*! ./shift */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/shift.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_mesh */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh.js\"), exports);\n__exportStar(__webpack_require__(/*! ./transfer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/transfer.js\"), exports);\n__exportStar(__webpack_require__(/*! ./subtract */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unassign */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/unassign.js\"), exports);\n__exportStar(__webpack_require__(/*! ./open_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./close_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_load */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_load.js\"), exports);\n__exportStar(__webpack_require__(/*! ./close_cursor */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/close_cursor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./leave */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/leave.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_definition_load */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/class_definition_load.js\"), exports);\n__exportStar(__webpack_require__(/*! ./initialization */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/initialization.js\"), exports);\n__exportStar(__webpack_require__(/*! ./start_of_selection */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/start_of_selection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_blank */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_blank.js\"), exports);\n__exportStar(__webpack_require__(/*! ./export_dynpro */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/export_dynpro.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_of_selection */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_of_selection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./search */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/search.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_line */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./selectionscreen */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectionscreen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./free */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/free.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endon */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endon.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fetch_next_cursor */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/fetch_next_cursor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reserve */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/reserve.js\"), exports);\n__exportStar(__webpack_require__(/*! ./refresh_control */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh_control.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_dynpro */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_dynpro.js\"), exports);\n__exportStar(__webpack_require__(/*! ./generate_dynpro */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/generate_dynpro.js\"), exports);\n__exportStar(__webpack_require__(/*! ./detail */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/detail.js\"), exports);\n__exportStar(__webpack_require__(/*! ./editor_call */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/editor_call.js\"), exports);\n__exportStar(__webpack_require__(/*! ./break */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/break.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_textpool */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_textpool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get.js\"), exports);\n__exportStar(__webpack_require__(/*! ./selectoption */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectoption.js\"), exports);\n__exportStar(__webpack_require__(/*! ./convert */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/convert.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/static.js\"), exports);\n__exportStar(__webpack_require__(/*! ./compute */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/compute.js\"), exports);\n__exportStar(__webpack_require__(/*! ./multiply */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/multiply.js\"), exports);\n__exportStar(__webpack_require__(/*! ./divide */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/divide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./format */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/format.js\"), exports);\n__exportStar(__webpack_require__(/*! ./syntax_check */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/syntax_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./aliases */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/aliases.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_def */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_def.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_mesh_begin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_mesh_end */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_def */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_def.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_selection_screen */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_selection_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./include_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/include_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./import_dynpro */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/import_dynpro.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_function */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_function.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_selection_screen */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_selection_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transformation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transformation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_line */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_textpool */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_textpool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_report */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./read_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_bit */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_bit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_reference.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_report */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_report.js\"), exports);\n__exportStar(__webpack_require__(/*! ./insert_textpool */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_textpool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_bit */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_bit.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_run_time */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_run_time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_parameter */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./create_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_country */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_country.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_module */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_pools */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pools.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_pool */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./wait */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/wait.js\"), exports);\n__exportStar(__webpack_require__(/*! ./overlay */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/overlay.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_screen */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_cursor */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_cursor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_screen */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_pf_status */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_pf_status.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_titlebar */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_titlebar.js\"), exports);\n__exportStar(__webpack_require__(/*! ./program */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/program.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_pool */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/function_pool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./module */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endmodule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endmodule.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endfunction */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endfunction.js\"), exports);\n__exportStar(__webpack_require__(/*! ./retry */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/retry.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authority_check */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/authority_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_parameter */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_cursor */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_cursor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_kernel */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_kernel.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transaction */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_transaction.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unpack */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/unpack.js\"), exports);\n__exportStar(__webpack_require__(/*! ./skip */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/skip.js\"), exports);\n__exportStar(__webpack_require__(/*! ./uline */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/uline.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_begin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_end */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/data_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_begin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_begin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_end */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./raise_event */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_event.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cleanup */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/cleanup.js\"), exports);\n__exportStar(__webpack_require__(/*! ./create_ole */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/create_ole.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_ole */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/call_ole.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_property */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_property.js\"), exports);\n__exportStar(__webpack_require__(/*! ./test_injection */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_injection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_test_injection */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_injection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./test_seam */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_seam.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_test_seam */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_test_seam.js\"), exports);\n__exportStar(__webpack_require__(/*! ./delete_memory */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/delete_memory.js\"), exports);\n__exportStar(__webpack_require__(/*! ./provide */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/provide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./endexec */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/endexec.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sort_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort_dataset.js\"), exports);\n__exportStar(__webpack_require__(/*! ./get_permissions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/get_permissions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./set_locks */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locks.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/enhancement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./end_enhancement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/end_enhancement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/form_definition.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/infotypes.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/infotypes.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/initialization.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/initialization.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_database.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_field_group.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_field_group.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_internal.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_internal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_report.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_textpool.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_textpool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_def.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_def.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_deferred.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_deferred.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_load.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/interface_load.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/leave.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/leave.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_of_program.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_of_program.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_report.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/load_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/local.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/local.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/log_point.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/log_point.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst simple_source2_1 = __webpack_require__(/*! ../expressions/simple_source2 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source2.js\");\nconst loop_group_by_1 = __webpack_require__(/*! ../expressions/loop_group_by */ \"../../packages/transpiler/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 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);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop_at_screen.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/loop_at_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/message.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/message.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_def.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst combi_1 = __webpack_require__(/*! ../combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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 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, \"FOR READ\", (0, combi_1.alt)(expressions_1.TypeName, expressions_1.EntityAssociation), (0, combi_1.optPrio)(full), result, (0, combi_1.optPrio)(link)), (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));\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), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_def.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_implementation.js": +/*!*****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_database.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_entities.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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.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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_entities.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_internal.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_internal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_line.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_line.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_screen.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/modify_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/module.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/module.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/move.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/move.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/move_corresponding.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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\", expressions_1.Target, (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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/move_corresponding.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/multiply.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/multiply.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_line.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_line.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_page.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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 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, name, layout, destination, 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/new_page.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/nodes.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/nodes.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/on_change.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/on_change.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_cursor.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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, (0, combi_1.optPrio)(expressions_1.SQLHints));\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_cursor.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_dataset.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/open_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/overlay.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/overlay.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/pack.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/pack.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/parameter.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/perform.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst Expressions = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/perform.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/position.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/position.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/print_control.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/print_control.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/private.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/private.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/program.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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.optPrio)(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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/program.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/protected.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/protected.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/provide.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/provide.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/public.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/public.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/put.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/put.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_event.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise_event.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/ranges.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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.FieldSub, (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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/ranges.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_dataset.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_entities.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_entities.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_line.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_line.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_report.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_table.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.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 fields = (0, combi_1.plus)((0, combi_1.alt)((0, combi_1.seq)(\"INTO\", (0, combi_1.failStar)()), expressions_1.FieldSub));\n const perm = (0, combi_1.per)((0, combi_1.alt)(index, key, from), expressions_1.ReadTableTarget, using, comparing, \"CASTING\", \"TRANSPORTING ALL FIELDS\", (0, combi_1.seq)(\"TRANSPORTING\", (0, combi_1.altPrio)(expressions_1.Dynamic, fields)), \"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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_textpool.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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.Target);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_textpool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/receive.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/receive.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh_control.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/refresh_control.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/reject.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/reject.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/replace.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/replace.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/report.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/reserve.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/reserve.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/resume.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/resume.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/retry.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/retry.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/return.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass Return {\n getMatcher() {\n return (0, combi_1.str)(\"RETURN\");\n }\n}\nexports.Return = Return;\n//# sourceMappingURL=return.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/return.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback_entities.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback_entities.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/scan.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/scan.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/scroll_list.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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\"), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/scroll_list.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/search.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/search.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/select.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/select.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/select_loop.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/select_loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectionscreen.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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.Field), 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.InlineField, \"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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectionscreen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectoption.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/selectoption.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_bit.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_bit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_blank.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_blank.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_country.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_country.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_cursor.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_cursor.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_dataset.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_extended_check.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_extended_check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_handler.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_handler.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_language.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_language.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_left.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_left.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locale.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locale.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locks.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_locks.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_margin.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_margin.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_parameter.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_pf_status.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_pf_status.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_property.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_property.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_run_time.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_run_time.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_screen.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_titlebar.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_titlebar.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_update_task.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_update_task.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_user_command.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/set_user_command.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/shift.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/shift.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/skip.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/skip.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort_dataset.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/sort_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/split.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/split.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/start_of_selection.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/start_of_selection.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/static.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/static.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_begin.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_begin.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_end.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/static_end.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/stop.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/stop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/submit.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/submit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract_corresponding.js": +/*!******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/subtract_corresponding.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/sum.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/sum.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/summary.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/summary.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/supply.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/supply.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/suppress_dialog.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/suppress_dialog.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/syntax_check.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/syntax_check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/system_call.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/system_call.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/tables.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/tables.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_injection.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_injection.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_seam.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TestSeam {\n getMatcher() {\n return (0, combi_1.seq)(\"TEST-SEAM\", expressions_1.TestSeamName);\n }\n}\nexports.TestSeam = TestSeam;\n//# sourceMappingURL=test_seam.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/test_seam.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/top_of_page.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/top_of_page.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/transfer.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/transfer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/translate.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/translate.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/truncate_dataset.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass TruncateDataset {\n getMatcher() {\n return (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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/truncate_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/try.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/try.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Expressions = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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)));\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_begin.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_begin.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_end.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_end.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_begin.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_begin.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_end.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_enum_end.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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\", 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_begin.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_begin.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_end.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_mesh_end.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pool.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pools.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/type_pools.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/uline.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/uline.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/unassign.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/unassign.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/unpack.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/unpack.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/update_database.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/update_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/wait.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/wait.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/when.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/when.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_others.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_others.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_type.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass WhenType {\n getMatcher() {\n const into = (0, combi_1.seq)(\"INTO\", expressions_1.InlineData);\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));\n }\n}\nexports.WhenType = WhenType;\n//# sourceMappingURL=when_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/when_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/while.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/while.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/window.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/window.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/with.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/with.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/with_loop.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/with_loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/write.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst expressions_1 = __webpack_require__(/*! ../expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/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.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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/write.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structure_parser.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst Structures = __webpack_require__(/*! ./structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst issue_1 = __webpack_require__(/*! ../../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst severity_1 = __webpack_require__(/*! ../../severity */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structure_parser.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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.sub = exports.sta = exports.star = exports.opt = exports.beginEnd = exports.alt = exports.seq = void 0;\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"../../packages/transpiler/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 const 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 out.push(...match.matched);\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 const 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 out.push(...match.matched);\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}\nexports.seq = seq;\nfunction alt(first, ...rest) {\n return new Alternative([first].concat(rest));\n}\nexports.alt = alt;\nfunction beginEnd(begin, body, end) {\n return new Sequence([begin, body, end]);\n}\nexports.beginEnd = beginEnd;\nfunction opt(o) {\n return new Optional(o);\n}\nexports.opt = opt;\nfunction star(s) {\n return new Star(s);\n}\nexports.star = star;\nfunction sta(s) {\n return new SubStatement(s);\n}\nexports.sta = sta;\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}\nexports.sub = sub;\n//# sourceMappingURL=_combi.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/any.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst Structures = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/any.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/at.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/at.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_first.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_first.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_last.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_last.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst normal_1 = __webpack_require__(/*! ./normal */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/case.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst when_1 = __webpack_require__(/*! ./when */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/when.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/case_type.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst when_type_1 = __webpack_require__(/*! ./when_type */ \"../../packages/transpiler/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.sub)(when_type_1.WhenType)), (0, _combi_1.sta)(Statements.EndCase));\n }\n}\nexports.CaseType = CaseType;\n//# sourceMappingURL=case_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/case_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch_system_exceptions.js": +/*!*******************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch_system_exceptions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_data.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_definition.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst private_section_1 = __webpack_require__(/*! ./private_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/private_section.js\");\nconst protected_section_1 = __webpack_require__(/*! ./protected_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/protected_section.js\");\nconst public_section_1 = __webpack_require__(/*! ./public_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/public_section.js\");\nconst statements_1 = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nclass ClassDefinition {\n getMatcher() {\n const body = (0, _combi_1.seq)((0, _combi_1.opt)((0, _combi_1.sta)(statements_1.SetExtendedCheck)), (0, _combi_1.star)((0, _combi_1.sta)(statements_1.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_1.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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_global.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_global.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_implementation.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/cleanup.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/cleanup.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/data.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst enhancement_1 = __webpack_require__(/*! ./enhancement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement.js\");\nconst constants_1 = __webpack_require__(/*! ./constants */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js\");\nconst types_1 = __webpack_require__(/*! ./types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js\");\nconst define_1 = __webpack_require__(/*! ./define */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/define.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/define.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/do.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/do.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/else.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/else.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/elseif.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/elseif.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement_section.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement_section.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/exec_sql.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/exec_sql.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/form.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/form.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/function_module.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/function_module.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/if.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nconst elseif_1 = __webpack_require__(/*! ./elseif */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/elseif.js\");\nconst else_1 = __webpack_require__(/*! ./else */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/if.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/any.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/at.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_first */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_first.js\"), exports);\n__exportStar(__webpack_require__(/*! ./at_last */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/at_last.js\"), exports);\n__exportStar(__webpack_require__(/*! ./body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\"), exports);\n__exportStar(__webpack_require__(/*! ./case_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/case_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./catch_system_exceptions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch_system_exceptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./catch */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_global */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_global.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cleanup */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/cleanup.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constants */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./define */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/define.js\"), exports);\n__exportStar(__webpack_require__(/*! ./do */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/do.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_mesh */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_mesh.js\"), exports);\n__exportStar(__webpack_require__(/*! ./else */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/else.js\"), exports);\n__exportStar(__webpack_require__(/*! ./elseif */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/elseif.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/enhancement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exec_sql */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/exec_sql.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/form.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_module */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/function_module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./if */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/if.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_global */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface_global.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop_at_screen */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop_at_screen.js\"), exports);\n__exportStar(__webpack_require__(/*! ./loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/method.js\"), exports);\n__exportStar(__webpack_require__(/*! ./module */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./normal */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/normal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./on_change */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/on_change.js\"), exports);\n__exportStar(__webpack_require__(/*! ./private_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/private_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./protected_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/protected_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./provide */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/provide.js\"), exports);\n__exportStar(__webpack_require__(/*! ./public_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/public_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./section_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./statics */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/statics.js\"), exports);\n__exportStar(__webpack_require__(/*! ./test_injection */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_injection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./test_seam */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_seam.js\"), exports);\n__exportStar(__webpack_require__(/*! ./try */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/try.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_enum */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_enum.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/when_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/when.js\"), exports);\n__exportStar(__webpack_require__(/*! ./while */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/while.js\"), exports);\n__exportStar(__webpack_require__(/*! ./with */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/with.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst section_section_1 = __webpack_require__(/*! ./section_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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_section_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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface_global.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/interface_global.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nclass Loop {\n getMatcher() {\n const body = (0, _combi_1.alt)((0, _combi_1.sub)(_1.Body), (0, _combi_1.sub)(_1.OnChange));\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Loop), (0, _combi_1.star)(body), (0, _combi_1.sta)(Statements.EndLoop));\n }\n}\nexports.Loop = Loop;\n//# sourceMappingURL=loop.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop_at_screen.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/loop_at_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/method.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/method.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/module.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/module.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/normal.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"../../packages/transpiler/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.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.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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/normal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/on_change.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/on_change.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/private_section.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst section_section_1 = __webpack_require__(/*! ./section_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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_section_1.SectionContents)));\n }\n}\nexports.PrivateSection = PrivateSection;\n//# sourceMappingURL=private_section.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/private_section.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/protected_section.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst section_section_1 = __webpack_require__(/*! ./section_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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_section_1.SectionContents)));\n }\n}\nexports.ProtectedSection = ProtectedSection;\n//# sourceMappingURL=protected_section.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/protected_section.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/provide.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/provide.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/public_section.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst section_section_1 = __webpack_require__(/*! ./section_section */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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_section_1.SectionContents)));\n }\n}\nexports.PublicSection = PublicSection;\n//# sourceMappingURL=public_section.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/public_section.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst types_1 = __webpack_require__(/*! ./types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js\");\nconst constants_1 = __webpack_require__(/*! ./constants */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/constants.js\");\nconst type_enum_1 = __webpack_require__(/*! ./type_enum */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_enum.js\");\nconst class_data_1 = __webpack_require__(/*! ./class_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/class_data.js\");\nconst data_1 = __webpack_require__(/*! ./data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/data.js\");\nconst _1 = __webpack_require__(/*! . */ \"../../packages/transpiler/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.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_section.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/select.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/select.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/statics.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/statics.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_injection.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_injection.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_seam.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/test_seam.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/try.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst catch_1 = __webpack_require__(/*! ./catch */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/catch.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/body.js\");\nconst cleanup_1 = __webpack_require__(/*! ./cleanup */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/try.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_enum.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_enum.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_mesh.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/type_mesh.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst _statement_1 = __webpack_require__(/*! ../../2_statements/statements/_statement */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/types.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/when.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/when.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/when_type.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/when_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/while.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/while.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/with.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _combi_1 = __webpack_require__(/*! ./_combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/_combi.js\");\nconst body_1 = __webpack_require__(/*! ./body */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/with.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/abap_file_information.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _abap_file_information_1 = __webpack_require__(/*! ./_abap_file_information */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js\");\nconst _identifier_1 = __webpack_require__(/*! ./_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst Tokens = __webpack_require__(/*! ../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst visibility_1 = __webpack_require__(/*! ./visibility */ \"../../packages/transpiler/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 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/abap_file_information.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BuiltIn = exports.BuiltInMethod = void 0;\n/* eslint-disable max-len */\nconst _typed_identifier_1 = __webpack_require__(/*! ../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst version_1 = __webpack_require__(/*! ../../version */ \"../../packages/transpiler/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 return [];\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, row) {\n const token = new tokens_1.Identifier(new position_1.Position(row, 1), method.name);\n return new BuiltInMethod(token, BuiltIn.filename, method, row);\n }\n searchBuiltin(name) {\n if (name === undefined) {\n return undefined;\n }\n // todo, optimize, use hash map\n const index = BuiltIn.methods.findIndex(a => a.name === name.toUpperCase());\n if (index < 0) {\n return undefined;\n }\n return this.buildDefinition(BuiltIn.methods[index], index);\n }\n isPredicate(name) {\n if (name === undefined) {\n return undefined;\n }\n // todo, optimize, use hash map\n const index = BuiltIn.methods.findIndex(a => a.name === name.toUpperCase());\n if (index < 0) {\n return undefined;\n }\n return BuiltIn.methods[index].predicate;\n }\n getTypes() {\n const ret = this.buildSY();\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 return ret;\n }\n get(extras) {\n const ret = this.buildSY();\n ret.push(this.buildVariable(\"screen\")); // todo, add structure, or alternatively make native Statements\n ret.push(this.buildConstant(\"%_BACKSPACE\"));\n ret.push(this.buildConstant(\"%_CHARSIZE\"));\n ret.push(this.buildConstant(\"%_CR_LF\"));\n ret.push(this.buildConstant(\"%_ENDIAN\"));\n ret.push(this.buildConstant(\"%_FORMFEED\"));\n ret.push(this.buildConstant(\"%_HORIZONTAL_TAB\"));\n ret.push(this.buildConstant(\"%_MAXCHAR\"));\n ret.push(this.buildConstant(\"%_MINCHAR\"));\n ret.push(this.buildConstant(\"%_NEWLINE\"));\n ret.push(this.buildConstant(\"%_VERTICAL_TAB\"));\n ret.push(this.buildConstant(\"abap_false\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"' '\"));\n ret.push(this.buildConstant(\"abap_true\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"'X'\"));\n ret.push(this.buildConstant(\"abap_undefined\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"'-'\"));\n ret.push(this.buildConstant(\"abap_off\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"' '\"));\n ret.push(this.buildConstant(\"abap_on\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"'X'\"));\n ret.push(this.buildConstant(\"col_background\", basic_1.IntegerType.get(), \"0\"));\n ret.push(this.buildConstant(\"col_heading\", basic_1.IntegerType.get(), \"1\"));\n ret.push(this.buildConstant(\"col_key\", basic_1.IntegerType.get(), \"4\"));\n ret.push(this.buildConstant(\"col_negative\", basic_1.IntegerType.get(), \"6\"));\n ret.push(this.buildConstant(\"col_group\", basic_1.IntegerType.get(), \"7\"));\n ret.push(this.buildConstant(\"col_normal\", basic_1.IntegerType.get(), \"2\"));\n ret.push(this.buildConstant(\"col_positive\", basic_1.IntegerType.get(), \"5\"));\n ret.push(this.buildConstant(\"col_total\", basic_1.IntegerType.get(), \"3\"));\n ret.push(this.buildConstant(\"space\", new basic_1.CharacterType(1, { derivedFromConstant: true }), \"' '\"));\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 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 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}\nexports.BuiltIn = BuiltIn;\nBuiltIn.filename = \"_builtin.prog.abap\";\n// todo: \"pcre\" vs \"regex\", only one of these parameters are allowed\n// todo: \"pcre\", only possible from 755\nBuiltIn.methods = [\n {\n name: \"ABS\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"ACOS\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"ASIN\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"ATAN\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"BIT-SET\",\n mandatory: {\n \"val\": basic_1.IntegerType.get(),\n },\n return: new basic_1.XStringType(),\n version: version_1.Version.v702,\n },\n {\n name: \"BOOLC\",\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"BOOLX\",\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 {\n name: \"CEIL\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"CHAR_OFF\",\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 {\n name: \"CHARLEN\",\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"CMAX\",\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 {\n name: \"CMIN\",\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 {\n name: \"CONCAT_LINES_OF\",\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 {\n name: \"CONDENSE\",\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 {\n name: \"CONTAINS\",\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 {\n name: \"CONTAINS_ANY_NOT_OF\",\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 {\n name: \"CONTAINS_ANY_OF\",\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 {\n name: \"COS\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"COSH\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"COUNT\",\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 {\n name: \"COUNT_ANY_NOT_OF\",\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 {\n name: \"COUNT_ANY_OF\",\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 {\n name: \"DBMAXLEN\",\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"DISTANCE\",\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 {\n name: \"ESCAPE\",\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 {\n name: \"EXP\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"FIND\",\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 {\n name: \"FIND_ANY_NOT_OF\",\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 {\n name: \"FIND_ANY_OF\",\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 {\n name: \"FIND_END\",\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 {\n name: \"FLOOR\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"FRAC\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"FROM_MIXED\",\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 {\n name: \"INSERT\",\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 {\n name: \"IPOW\",\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 {\n name: \"LINE_EXISTS\",\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 {\n name: \"LINE_INDEX\",\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v740sp02,\n },\n {\n name: \"LINES\",\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 {\n name: \"LOG\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"LOG10\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"MATCH\",\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 {\n name: \"MATCHES\",\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 {\n name: \"NMAX\",\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 {\n name: \"NMIN\",\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 {\n name: \"NUMOFCHAR\",\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"REPEAT\",\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 {\n name: \"REPLACE\",\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 {\n name: \"RESCALE\",\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 {\n name: \"REVERSE\",\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"ROUND\",\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 {\n name: \"SEGMENT\",\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 {\n name: \"SHIFT_LEFT\",\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 {\n name: \"SHIFT_RIGHT\",\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 {\n name: \"SIGN\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"SIN\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"SINH\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"SQRT\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"STRLEN\",\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"SUBSTRING\",\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 {\n name: \"SUBSTRING_AFTER\",\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 {\n name: \"SUBSTRING_BEFORE\",\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 {\n name: \"SUBSTRING_FROM\",\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 {\n name: \"SUBSTRING_TO\",\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 {\n name: \"TAN\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"TANH\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"TO_LOWER\",\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"TO_MIXED\",\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 {\n name: \"TO_UPPER\",\n mandatory: { \"val\": basic_1.CLikeType.get() },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"TRANSLATE\",\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 {\n name: \"TRUNC\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"UTCLONG_ADD\",\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 {\n name: \"UTCLONG_CURRENT\",\n return: new basic_1.UTCLongType(),\n version: version_1.Version.v754,\n },\n {\n name: \"UTCLONG_DIFF\",\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 {\n name: \"XSDBOOL\",\n mandatory: {\n \"val\": basic_1.CLikeType.get(),\n },\n return: new basic_1.CharacterType(1),\n version: version_1.Version.v740sp08,\n },\n {\n name: \"XSTRLEN\",\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst ddic_1 = __webpack_require__(/*! ../../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst spaghetti_scope_1 = __webpack_require__(/*! ./spaghetti_scope */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/spaghetti_scope.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst _scope_type_1 = __webpack_require__(/*! ./_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _reference_1 = __webpack_require__(/*! ./_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst syntax_1 = __webpack_require__(/*! ./syntax */ \"../../packages/transpiler/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 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 var _a;\n (_a = this.current) === null || _a === void 0 ? void 0 : _a.getData().idefs.push(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 throw new Error(`Variable name \"${name}\" already defined`);\n }\n this.current.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) {\n var _a;\n if (token === undefined) {\n return;\n }\n (_a = this.current) === null || _a === void 0 ? void 0 : _a.getData().deferred.push(token);\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 // todo, found + type can be removed from method output?\n existsObject(name) {\n var _a, _b, _c;\n if (name === undefined) {\n return { found: false };\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 { found: true, id: findLocalClass, type: _reference_1.ReferenceType.ObjectOrientedReference, ooType: \"CLAS\", RTTIName: prefixRTTI + \"\\\\CLASS=\" + findLocalClass.getName() };\n }\n const globalClas = this.reg.getObject(\"CLAS\", name);\n if (globalClas) {\n return { found: true, id: globalClas.getIdentifier(), type: _reference_1.ReferenceType.ObjectOrientedReference, 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 { found: true, id: findLocalInterface, type: _reference_1.ReferenceType.ObjectOrientedReference, ooType: \"INTF\", RTTIName: prefixRTTI + \"\\\\INTERFACE=\" + findLocalInterface.getName() };\n }\n const globalIntf = this.reg.getObject(\"INTF\", name);\n if (globalIntf) {\n return { found: true, id: globalIntf.getIdentifier(), type: _reference_1.ReferenceType.ObjectOrientedReference, 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 return { found: true, id: def };\n }\n return { found: false };\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 <= 2 || typePoolName.length > 5) {\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 (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 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 === _scope_type_1.ScopeType.ClassImplementation\n || stype === _scope_type_1.ScopeType.Interface) {\n return true;\n }\n curr = curr.getParent();\n }\n return false;\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 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\n// todo, think some of the public methods can be made private\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().getAll()) {\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 addAliasedTypes(aliases) {\n for (const alias of aliases.getAll()) {\n const comp = alias.getComponent();\n const idef = this.scope.findInterfaceDefinition(comp.split(\"~\")[0]);\n if (idef) {\n const found = idef.getTypeDefinitions().getByName(comp.split(\"~\")[1]);\n if (found) {\n this.scope.addTypeNamed(alias.getName(), found);\n }\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().getAll()) {\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 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 var _a;\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 ((_a = def.getAliases()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {\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 var _a;\n if (def === undefined || name === undefined) {\n return undefined;\n }\n const upper = name.toUpperCase();\n for (const a of def.getAttributes().getAll()) {\n if (a.getName().toUpperCase() === upper) {\n return a;\n }\n }\n for (const a of ((_a = def.getAliases()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {\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 (def.getImplementing().some((a) => a.name.toUpperCase() === 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().getAll()) {\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 for (const method of def.getMethodDefinitions().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\n fromInterfaces(classDefinition, skip) {\n const ignore = [];\n for (const i of classDefinition.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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_procedural.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst _current_scope_1 = __webpack_require__(/*! ./_current_scope */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js\");\nconst _scope_type_1 = __webpack_require__(/*! ./_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst objects_1 = __webpack_require__(/*! ../../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst ddic_1 = __webpack_require__(/*! ../../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ./_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _reference_1 = __webpack_require__(/*! ./_reference */ \"../../packages/transpiler/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 dummy = _current_scope_1.CurrentScope.buildDefault(this.reg, obj);\n for (const found of structure.findAllStructures(Structures.Form)) {\n this.scope.addFormDefinitions([new types_1.FormDefinition(found, file.getFilename(), dummy)]);\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 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 const type = new _typed_identifier_1.TypedIdentifier(nameToken, filename, found);\n this.scope.addNamedIdentifier(param.name, type);\n }\n }\n}\nexports.Procedural = Procedural;\n//# sourceMappingURL=_procedural.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_procedural.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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[\"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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst basic_1 = __webpack_require__(/*! ../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst cgeneric_type_1 = __webpack_require__(/*! ../types/basic/cgeneric_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js\");\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.StringType\n || type instanceof basic_1.AnyType\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.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.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 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;\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) {\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 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 && 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 (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.FloatType) {\n if (target instanceof basic_1.IntegerType) {\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.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.ObjectReferenceType\n || target instanceof basic_1.HexType) {\n return false;\n }\n }\n return this.isAssignable(source, target);\n }\n isAssignable(source, target) {\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.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.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.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.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.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.StringType) {\n if (source instanceof basic_1.TableType && source.isWithHeader() === false) {\n return false;\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 return true;\n }\n}\nexports.TypeUtils = TypeUtils;\n//# sourceMappingURL=_type_utils.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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;\n/* eslint-disable default-case */\nconst _typed_identifier_1 = __webpack_require__(/*! ../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Types = __webpack_require__(/*! ../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _scope_type_1 = __webpack_require__(/*! ./_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ./_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst class_constant_1 = __webpack_require__(/*! ../types/class_constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_constant.js\");\nconst identifier_1 = __webpack_require__(/*! ../1_lexer/tokens/identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ./_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst basic_1 = __webpack_require__(/*! ../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./expressions/field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst types_1 = __webpack_require__(/*! ../types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _builtin_1 = __webpack_require__(/*! ./_builtin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass BasicTypes {\n constructor(filename, scope) {\n this.filename = filename;\n this.scope = scope;\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.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.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.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.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.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.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.scope, this.filename, _reference_1.ReferenceType.TypeReference);\n }\n else {\n const name = children.shift().getFirstToken().getStr();\n let found = this.scope.findVariable(name);\n const full = this.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.scope.findExtraLikeType(name);\n type = found === null || found === void 0 ? void 0 : found.getType();\n }\n if (found) {\n this.scope.addReference(chain === null || chain === void 0 ? void 0 : chain.getFirstToken(), found, _reference_1.ReferenceType.TypeReference, this.filename);\n }\n if (type === undefined) {\n type = (_a = this.scope.getDDIC().lookupNoVoid(name)) === null || _a === void 0 ? void 0 : _a.type;\n }\n if (type === undefined && this.scope.isOO() === false && this.scope.getDDIC().inErrorNamespace(name) === false) {\n this.scope.addReference(chain.getChildren()[0].getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.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 let sub = undefined;\n if (type instanceof Types.TableType) {\n type = type.getRowType();\n }\n if (type instanceof Types.StructureType) {\n sub = type.getComponentByName(child.getFirstToken().getStr());\n }\n if (sub === undefined) {\n return new Types.UnknownType(\"Type error, field not part of structure \" + fullName);\n }\n type = sub;\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.scope.getDDIC().lookupBuiltinType(chainText, length, decimals, qualifiedName);\n if (f !== undefined) {\n return f;\n }\n const typ = this.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.scope.findInterfaceDefinition(name);\n if (idef) {\n this.scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, this.filename, { ooType: \"INTF\", ooName: name });\n }\n }\n this.scope.addReference(token, typ, _reference_1.ReferenceType.TypeReference, this.filename);\n return typ.getType();\n }\n const type = (_a = this.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.scope.getDDIC().lookup(chainText);\n if (ddic) {\n this.scope.getDDICReferences().addUsing(this.scope.getParentObj(), { object: ddic.object, token: typeName.getFirstToken(), filename: this.filename });\n if (ddic.type instanceof _typed_identifier_1.TypedIdentifier) {\n this.scope.addReference(typeName.getFirstToken(), ddic.type, _reference_1.ReferenceType.TypeReference, this.filename);\n }\n else if (ddic.type instanceof basic_1.VoidType) {\n this.scope.addReference(typeName.getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.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.scope.isTypePool() === true) {\n qualifiedName = name.getStr();\n }\n else {\n qualifiedName = (qualifiedNamePrefix || \"\") + name.getStr();\n if (this.scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || this.scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = this.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.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.SimpleFieldChain);\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.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.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;\n const chainText = expr.concatTokens().toUpperCase();\n if (chainText.includes(\"-\")) {\n // workaround for stuff like \"sy-repid\"\n const built = this.scope.findType(chainText);\n if (built) {\n this.scope.addReference(expr.getFirstToken(), built, _reference_1.ReferenceType.TypeReference, this.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.scope.getType() === _scope_type_1.ScopeType.Interface\n || this.scope.getType() === _scope_type_1.ScopeType.ClassDefinition)\n && this.scope.getName().toUpperCase() === className.toUpperCase()) {\n const foundId = this.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 this.scope.addReference(expr.getTokens()[2], foundId, _reference_1.ReferenceType.TypeReference, this.filename);\n }\n else {\n // lookup in local and global scope\n const obj = this.scope.findObjectDefinition(className);\n if (obj === undefined && this.scope.getDDIC().inErrorNamespace(className) === false) {\n this.scope.addReference(expr.getFirstToken(), undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, this.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.scope.addReference(expr.getFirstToken(), obj, _reference_1.ReferenceType.ObjectOrientedReference, this.filename, { ooType: type, ooName: className });\n const byName = new _object_oriented_1.ObjectOriented(this.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 this.scope.addReference(expr.getTokens()[2], byName, _reference_1.ReferenceType.TypeReference, this.filename);\n }\n }\n else if (className && chainText.includes(\"->\")) {\n const varVar = this.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.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.scope.addReference(expr.getFirstToken(), id, _reference_1.ReferenceType.ObjectOrientedReference, this.filename, { ooType: type, ooName: id.getName() });\n const byName = new _object_oriented_1.ObjectOriented(this.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 this.scope.addReference(expr.getTokens()[2], byName, _reference_1.ReferenceType.TypeReference, this.filename);\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.scope.findType(subs[0]);\n foundType = found === null || found === void 0 ? void 0 : found.getType();\n if (foundType === undefined) {\n const typePoolType = (_a = this.scope.findTypePoolType(subs[0])) === null || _a === void 0 ? void 0 : _a.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.scope.getDDIC().lookupTableOrView(subs[0]);\n this.scope.getDDICReferences().addUsing(this.scope.getParentObj(), { object: f.object, filename: this.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.scope.addReference(expr.getFirstToken(), found, _reference_1.ReferenceType.TypeReference, this.filename);\n }\n if (foundType === undefined && this.scope.getDDIC().inErrorNamespace(subs[0]) === false) {\n this.scope.addReference(expr.getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.filename);\n return new Types.VoidType(subs[0]);\n }\n else if (foundType instanceof Types.VoidType) {\n this.scope.addReference(expr.getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.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.scope.findVariable(firstName);\n const val = found === null || found === void 0 ? void 0 : found.getValue();\n if (typeof val === \"string\") {\n this.scope.addReference(firstToken, found, _reference_1.ReferenceType.DataReadReference, this.filename);\n return val;\n }\n else if ((found === null || found === void 0 ? void 0 : found.getType()) instanceof basic_1.StructureType) {\n this.scope.addReference(firstToken, found, _reference_1.ReferenceType.DataReadReference, this.filename);\n }\n return undefined;\n }\n else if (firstNode.get() instanceof Expressions.ClassName\n && firstName.toLowerCase() === this.scope.getName().toLowerCase()\n && (this.scope.getType() === _scope_type_1.ScopeType.Interface\n || this.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.scope.findVariable(token.getStr());\n const val = found === null || found === void 0 ? void 0 : found.getValue();\n if (typeof val === \"string\") {\n this.scope.addReference(firstToken, found, _reference_1.ReferenceType.DataReadReference, this.filename);\n return val;\n }\n return undefined;\n }\n else if (firstNode.get() instanceof Expressions.ClassName) {\n const obj = this.scope.findObjectDefinition(firstName);\n if (obj === undefined) {\n if (this.scope.existsObject(firstName).found === true) {\n return undefined;\n }\n else if (this.scope.getDDIC().inErrorNamespace(firstName) === true) {\n throw new Error(\"resolveConstantValue, not found: \" + firstName);\n }\n else {\n this.scope.addReference(firstNode.getFirstToken(), undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, this.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.scope).searchConstantName(obj, attr);\n if (c instanceof class_constant_1.ClassConstant) {\n this.scope.addReference(token, c, _reference_1.ReferenceType.DataReadReference, this.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.getAllTokens().length === 1) {\n if (name.toUpperCase() === \"OBJECT\") {\n return new Types.GenericObjectReferenceType();\n }\n const search = this.scope.existsObject(name);\n if (search.found === true && search.id) {\n this.scope.addReference(chain.getFirstToken(), search.id, _reference_1.ReferenceType.ObjectOrientedReference, this.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.AnyType());\n }\n if (this.scope.isBadiDef(name) === true) {\n return new Types.VoidType(name);\n }\n if (((_a = this.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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_chain.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\");\nconst object_reference_type_1 = __webpack_require__(/*! ../../types/basic/object_reference_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass AttributeChain {\n runSyntax(inputContext, node, scope, filename, type) {\n if (inputContext instanceof void_type_1.VoidType) {\n return inputContext;\n }\n else if (!(inputContext instanceof object_reference_type_1.ObjectReferenceType)) {\n throw new Error(\"Not an object reference(AttributeChain)\");\n }\n const children = node.getChildren().slice();\n const first = children[0];\n if (!(first.get() instanceof expressions_1.AttributeName)) {\n throw new Error(\"AttributeChain, unexpected first child\");\n }\n const def = scope.findObjectDefinition(inputContext.getIdentifierName());\n if (def === undefined) {\n throw new Error(\"Definition for \\\"\" + inputContext.getIdentifierName() + \"\\\" not found in scope(AttributeChain)\");\n }\n const nameToken = first.getFirstToken();\n const name = nameToken.getStr();\n const helper = new _object_oriented_1.ObjectOriented(scope);\n let context = helper.searchAttributeName(def, name);\n if (context === undefined) {\n context = helper.searchConstantName(def, name);\n }\n if (context === undefined) {\n throw new Error(\"Attribute or constant \\\"\" + name + \"\\\" not found in \\\"\" + def.getName() + \"\\\"\");\n }\n for (const t of type) {\n scope.addReference(nameToken, context, t, 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\");\nconst structure_type_1 = __webpack_require__(/*! ../../types/basic/structure_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js\");\nconst object_reference_type_1 = __webpack_require__(/*! ../../types/basic/object_reference_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst data_reference_type_1 = __webpack_require__(/*! ../../types/basic/data_reference_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_type.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass AttributeName {\n runSyntax(context, node, scope, filename, type) {\n if (context instanceof void_type_1.VoidType) {\n return context;\n }\n const helper = new _object_oriented_1.ObjectOriented(scope);\n let ret = undefined;\n if (context instanceof object_reference_type_1.ObjectReferenceType) {\n const def = scope.findObjectDefinition(context.getIdentifierName());\n if (def === undefined) {\n throw new Error(\"Definition for \\\"\" + context.getIdentifierName() + \"\\\" not found in scope(AttributeName)\");\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 throw new Error(\"Attribute or constant \\\"\" + name + \"\\\" not found in \\\"\" + def.getName() + \"\\\"\");\n }\n if (type) {\n scope.addReference(token, found, type, filename);\n }\n if (found && name.includes(\"~\")) {\n const idef = scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, 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 throw new Error(\"Data reference not structured\");\n }\n ret = sub.getComponentByName(name);\n if (ret === undefined) {\n throw new Error(\"Component \\\"\" + name + \"\\\" not found in data reference structure\");\n }\n }\n else {\n throw new Error(\"Not an object reference, attribute name\");\n }\n return ret;\n }\n}\nexports.AttributeName = AttributeName;\n//# sourceMappingURL=attribute_name.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cast.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nclass Cast {\n runSyntax(node, scope, targetType, filename) {\n const sourceNode = node.findDirectExpression(Expressions.Source);\n if (sourceNode === undefined) {\n throw new Error(\"Cast, source node not found\");\n }\n const sourceType = new source_1.Source().runSyntax(sourceNode, scope, filename);\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 throw new Error(\"Cast, child TypeNameOrInfer not found\");\n }\n else if (typeName === \"#\" && targetType) {\n tt = targetType;\n }\n else if (typeName === \"#\") {\n throw new Error(\"Cast, todo, infer type\");\n }\n if (tt === undefined && typeExpression) {\n const basic = new basic_types_1.BasicTypes(filename, scope);\n tt = basic.parseType(typeExpression);\n if (tt === undefined || tt instanceof basic_1.VoidType || tt instanceof basic_1.UnknownType) {\n const found = scope.findObjectDefinition(typeName);\n if (found) {\n tt = new basic_1.ObjectReferenceType(found, { qualifiedName: typeName });\n }\n }\n else {\n tt = new basic_1.DataReference(tt, typeName);\n }\n if (tt === undefined && 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 throw new Error(\"Type \\\"\" + typeName + \"\\\" not found in scope, Cast\");\n }\n }\n new source_1.Source().addIfInferred(node, scope, filename, tt);\n if (new _type_utils_1.TypeUtils(scope).isCastable(sourceType, tt) === false) {\n throw new Error(\"Cast, incompatible types\");\n }\n return tt;\n }\n}\nexports.Cast = Cast;\n//# sourceMappingURL=cast.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cast.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/compare.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst method_call_chain_1 = __webpack_require__(/*! ./method_call_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js\");\nconst source_field_symbol_1 = __webpack_require__(/*! ./source_field_symbol */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js\");\nclass Compare {\n runSyntax(node, scope, filename) {\n for (const t of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(t, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.SourceFieldSymbol)) {\n new source_field_symbol_1.SourceFieldSymbol().runSyntax(t, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.MethodCallChain)) {\n new method_call_chain_1.MethodCallChain().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Compare = Compare;\n//# sourceMappingURL=compare.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/compare.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst void_type_1 = __webpack_require__(/*! ../../types/basic/void_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\");\nconst structure_type_1 = __webpack_require__(/*! ../../types/basic/structure_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst types_1 = __webpack_require__(/*! ../../types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nclass ComponentChain {\n runSyntax(context, node, scope, filename) {\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 throw new Error(\"ComponentChain, not a structure\");\n }\n }\n else if (concat === \"=>\") {\n if (!(context instanceof basic_1.ObjectReferenceType)) {\n throw new Error(\"ComponentChain, not a reference\");\n }\n }\n else if (concat === \"->\") {\n if (!(context instanceof basic_1.ObjectReferenceType) && !(context instanceof basic_1.DataReference)) {\n throw new Error(\"ComponentChain, not a reference\");\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 throw new Error(\"Component \\\"\" + name + \"\\\" not found in structure\");\n }\n }\n else if (context instanceof basic_1.ObjectReferenceType) {\n const id = context.getIdentifier();\n const def = scope.findObjectDefinition(id.getName());\n if (def === undefined) {\n throw new Error(id.getName() + \" not found in scope\");\n }\n const helper = new _object_oriented_1.ObjectOriented(scope);\n const found = helper.searchAttributeName(def, name);\n context = found === null || found === void 0 ? void 0 : found.getType();\n if (context === undefined) {\n throw new Error(\"Attribute \\\"\" + name + \"\\\" not found\");\n }\n else {\n const extra = {\n ooName: id.getName(),\n ooType: id instanceof types_1.ClassDefinition ? \"CLAS\" : \"INTF\"\n };\n scope.addReference(child.getFirstToken(), found, _reference_1.ReferenceType.DataWriteReference, filename, extra);\n }\n }\n else {\n throw new Error(\"ComponentChain, not a structure, \" + (context === null || context === void 0 ? void 0 : context.constructor.name));\n }\n }\n }\n return context;\n }\n}\nexports.ComponentChain = ComponentChain;\n//# sourceMappingURL=component_chain.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst component_chain_1 = __webpack_require__(/*! ./component_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass ComponentCompare {\n runSyntax(node, scope, filename, type) {\n const chain = node.findDirectExpression(Expressions.ComponentChainSimple);\n if (chain === undefined) {\n throw new Error(\"ComponentCompare, chain not found\");\n }\n new component_chain_1.ComponentChain().runSyntax(type, chain, scope, filename);\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.ComponentCompare = ComponentCompare;\n//# sourceMappingURL=component_compare.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare_simple.js": +/*!*****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst component_chain_1 = __webpack_require__(/*! ./component_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass ComponentCompareSimple {\n runSyntax(node, scope, filename, 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, scope, filename);\n }\n else if (c.get() instanceof Expressions.Dynamic) {\n targetType = undefined;\n }\n else if (c.get() instanceof Expressions.Source) {\n new source_1.Source().runSyntax(c, scope, filename, targetType);\n }\n else {\n throw \"ComponentCompareSimple, unexpected node\";\n }\n }\n }\n }\n}\nexports.ComponentCompareSimple = ComponentCompareSimple;\n//# sourceMappingURL=component_compare_simple.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare_simple.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst component_compare_1 = __webpack_require__(/*! ./component_compare */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js\");\nclass ComponentCond {\n runSyntax(node, scope, filename, 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, scope, filename, type);\n }\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCompare)) {\n new component_compare_1.ComponentCompare().runSyntax(t, scope, filename, type);\n }\n }\n}\nexports.ComponentCond = ComponentCond;\n//# sourceMappingURL=component_cond.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass ComponentName {\n runSyntax(context, node) {\n if (context instanceof Basic.VoidType) {\n return context;\n }\n const name = node.getFirstToken().getStr();\n if (context instanceof Basic.StructureType) {\n const ret = context.getComponentByName(name);\n if (ret === undefined) {\n throw new Error(\"Component \\\"\" + name + \"\\\" not found in structure\");\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 throw new Error(\"Component \\\"\" + name + \"\\\" not found in structure\");\n }\n return ret;\n }\n }\n throw new Error(\"Not a structure, ComponentName, \\\"\" + name + \"\\\"\");\n }\n}\nexports.ComponentName = ComponentName;\n//# sourceMappingURL=component_name.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst compare_1 = __webpack_require__(/*! ./compare */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/compare.js\");\nclass Cond {\n runSyntax(node, scope, filename) {\n if (node === undefined) {\n throw new Error(\"Cond, expected node input\");\n }\n for (const t of node.findDirectExpressions(Expressions.CondSub)) {\n const c = t.findDirectExpression(Expressions.Cond);\n if (c) {\n new Cond().runSyntax(c, scope, filename);\n }\n }\n for (const t of node.findDirectExpressions(Expressions.Compare)) {\n new compare_1.Compare().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Cond = Cond;\n//# sourceMappingURL=cond.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond_body.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js\");\nconst cond_1 = __webpack_require__(/*! ./cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass CondBody {\n runSyntax(node, scope, filename) {\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, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\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, scope, filename);\n }\n else {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n if (scoped === true) {\n scope.pop(node.getLastToken().getEnd());\n }\n return type;\n }\n}\nexports.CondBody = CondBody;\n//# sourceMappingURL=cond_body.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/constant.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/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();\n }\n else if (node.getFirstToken().getStr().startsWith(\"'\")) {\n let len = node.getFirstToken().getStr().length - 2;\n if (len <= 0) {\n len = 1;\n }\n return new basic_1.CharacterType(len, { derivedFromConstant: true });\n }\n else if (node.getFirstToken().getStr().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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/constant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/conv_body.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js\");\nclass ConvBody {\n runSyntax(node, scope, filename) {\n if (node === undefined) {\n return;\n }\n let scoped = false;\n const l = node.findDirectExpression(Expressions.Let);\n if (l) {\n scoped = new let_1.Let().runSyntax(l, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n if (scoped === true) {\n scope.pop(node.getLastToken().getEnd());\n }\n }\n}\nexports.ConvBody = ConvBody;\n//# sourceMappingURL=conv_body.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/conv_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/corresponding_body.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass CorrespondingBody {\n runSyntax(node, scope, filename, 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, scope, filename);\n }\n else {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n return targetType ? targetType : type;\n }\n}\nexports.CorrespondingBody = CorrespondingBody;\n//# sourceMappingURL=corresponding_body.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/corresponding_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/data_definition.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst type_table_1 = __webpack_require__(/*! ./type_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js\");\nclass DataDefinition {\n runSyntax(node, scope, filename) {\n const tt = node.findFirstExpression(Expressions.TypeTable);\n if (tt) {\n return new type_table_1.TypeTable().runSyntax(node, scope, filename);\n }\n const valueNode = node.findFirstExpression(Expressions.Value);\n let value = undefined;\n if (valueNode) {\n value = new basic_types_1.BasicTypes(filename, scope).findValue(node);\n }\n const bfound = new basic_types_1.BasicTypes(filename, scope).simpleType(node);\n if (bfound) {\n if (value) {\n return new _typed_identifier_1.TypedIdentifier(bfound.getToken(), filename, bfound.getType(), bfound.getMeta(), value);\n }\n else {\n return bfound;\n }\n }\n const name = node.findFirstExpression(Expressions.DefinitionName);\n if (name) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/data_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass DatabaseTable {\n runSyntax(node, scope, filename) {\n const token = node.getFirstToken();\n const name = token.getStr();\n if (name === \"(\") {\n // dynamic\n return undefined;\n }\n const found = scope.getDDIC().lookupTableOrView2(name);\n if (found === undefined && scope.getDDIC().inErrorNamespace(name) === true) {\n throw new Error(\"Database table or view \\\"\" + name + \"\\\" not found\");\n }\n else if (found === undefined) {\n scope.addReference(token, undefined, _reference_1.ReferenceType.TableVoidReference, filename);\n }\n else {\n scope.addReference(token, found.getIdentifier(), _reference_1.ReferenceType.TableReference, filename);\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: found, token: token, filename: filename });\n }\n return found;\n }\n}\nexports.DatabaseTable = DatabaseTable;\n//# sourceMappingURL=database_table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/default.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Default {\n runSyntax(node, scope, filename) {\n const chain = node.findDirectExpression(Expressions.FieldChain);\n if (chain) {\n new field_chain_1.FieldChain().runSyntax(chain, scope, filename, _reference_1.ReferenceType.DataReadReference);\n }\n }\n}\nexports.Default = Default;\n//# sourceMappingURL=default.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/default.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dereference.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass Dereference {\n runSyntax(type) {\n if (type instanceof basic_1.VoidType\n || type instanceof basic_1.AnyType\n || type === undefined\n || type instanceof basic_1.UnknownType) {\n return type;\n }\n if (!(type instanceof basic_1.DataReference)) {\n throw new Error(\"Not a data reference, cannot be dereferenced\");\n }\n return type.getType();\n }\n}\nexports.Dereference = Dereference;\n//# sourceMappingURL=dereference.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dereference.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Dynamic {\n runSyntax(node, scope, filename) {\n const chain = node.findDirectExpression(Expressions.FieldChain);\n if (chain) {\n new field_chain_1.FieldChain().runSyntax(chain, scope, filename, _reference_1.ReferenceType.DataReadReference);\n }\n }\n}\nexports.Dynamic = Dynamic;\n//# sourceMappingURL=dynamic.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_assignment.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass FieldAssignment {\n runSyntax(node, scope, filename, targetType) {\n const fieldSub = node.findDirectExpression(Expressions.FieldSub);\n if (fieldSub === undefined) {\n throw new Error(\"FieldAssignment, FieldSub node not found\");\n }\n const s = node.findDirectExpression(Expressions.Source);\n if (s === undefined) {\n throw new Error(\"FieldAssignment, Source node not found\");\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 throw new Error(`field ${text} does not exist in structure`);\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, scope, filename, type);\n }\n}\nexports.FieldAssignment = FieldAssignment;\n//# sourceMappingURL=field_assignment.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_assignment.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst component_name_1 = __webpack_require__(/*! ./component_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst field_offset_1 = __webpack_require__(/*! ./field_offset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_offset.js\");\nconst field_length_1 = __webpack_require__(/*! ./field_length */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_length.js\");\nconst table_expression_1 = __webpack_require__(/*! ./table_expression */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/table_expression.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst dereference_1 = __webpack_require__(/*! ./dereference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dereference.js\");\nconst source_field_symbol_1 = __webpack_require__(/*! ./source_field_symbol */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js\");\nconst source_field_1 = __webpack_require__(/*! ./source_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field.js\");\nclass FieldChain {\n runSyntax(node, scope, filename, refType) {\n const concat = node.concatTokens();\n if (concat.includes(\"-\")) {\n // workaround for names with dashes\n const found = scope.findVariable(concat);\n if (found) {\n if (refType) {\n scope.addReference(node.getFirstToken(), found, refType, filename);\n }\n return found.getType();\n }\n }\n const children = node.getChildren().slice();\n let contextName = children[0].concatTokens();\n let context = this.findTop(children.shift(), scope, filename, refType);\n while (children.length > 0) {\n contextName += children[0].concatTokens();\n const current = children.shift();\n if (current === undefined) {\n break;\n }\n if (current.get() instanceof tokens_1.DashW) {\n throw new Error(\"Ending with dash\");\n }\n else if (current.get() instanceof tokens_1.Dash) {\n if (context instanceof basic_1.UnknownType) {\n throw new Error(\"Not a structure, type unknown, FieldChain\");\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 if (scope.isAllowHeaderUse(contextName.substring(0, contextName.length - 1))) {\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 throw new Error(\"Table without header, cannot access fields, \" + contextName);\n }\n }\n else {\n throw new Error(\"Not a structure, FieldChain\");\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 throw new Error(\"Not an object reference, field chain\");\n }\n }\n else if (current.get() instanceof expressions_1.Dereference) {\n context = new dereference_1.Dereference().runSyntax(context);\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);\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 throw new Error(\"Table expression, expected table\");\n }\n new table_expression_1.TableExpression().runSyntax(current, scope, filename);\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, scope, filename, 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, scope, filename);\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, scope, filename);\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, scope, filename, 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, scope, filename);\n }\n else if (node instanceof nodes_1.ExpressionNode\n && node.get() instanceof Expressions.SourceField) {\n return new source_field_1.SourceField().runSyntax(node, scope, filename, 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 = scope.existsObject(classNam);\n if (found.found === true && found.id) {\n scope.addReference(classTok, found.id, found.type, filename);\n return new basic_1.ObjectReferenceType(found.id);\n }\n else if (scope.getDDIC().inErrorNamespace(classNam) === false) {\n scope.addReference(classTok, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, { ooName: classNam.toUpperCase() });\n return new basic_1.VoidType(classNam);\n }\n else {\n throw new Error(\"Unknown class \" + classNam);\n }\n }\n return undefined;\n }\n}\nexports.FieldChain = FieldChain;\n//# sourceMappingURL=field_chain.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_length.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nclass FieldLength {\n runSyntax(node, scope, filename) {\n const field = node.findDirectExpression(Expressions.SimpleFieldChain2);\n if (field) {\n new field_chain_1.FieldChain().runSyntax(field, scope, filename, _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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_length.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_offset.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nclass FieldOffset {\n runSyntax(node, scope, filename) {\n const field = node.findDirectExpression(Expressions.SimpleFieldChain2);\n if (field) {\n new field_chain_1.FieldChain().runSyntax(field, scope, filename, _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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_offset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/filter_body.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass FilterBody {\n runSyntax(node, scope, filename, 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, scope, filename);\n }\n else {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n return type ? type : targetType;\n }\n}\nexports.FilterBody = FilterBody;\n//# sourceMappingURL=filter_body.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/filter_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/for.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_field_definition_1 = __webpack_require__(/*! ./inline_field_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst inline_loop_definition_1 = __webpack_require__(/*! ./inline_loop_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_loop_definition.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst component_cond_1 = __webpack_require__(/*! ./component_cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js\");\nconst cond_1 = __webpack_require__(/*! ./cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js\");\nclass For {\n runSyntax(node, scope, filename) {\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 scope.push(_scope_type_1.ScopeType.For, \"FOR\", node.getFirstToken().getStart(), filename);\n scoped = true;\n }\n for (const s of inlineLoop) {\n new inline_loop_definition_1.InlineLoopDefinition().runSyntax(s, scope, filename);\n }\n for (const f of inlineField) {\n new inline_field_definition_1.InlineFieldDefinition().runSyntax(f, scope, filename);\n }\n if (groupsToken !== undefined) {\n const type = new basic_1.VoidType(\"todoGroupBy\");\n const identifier = new _typed_identifier_1.TypedIdentifier(groupsToken, filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(groupsToken, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n if (lett) {\n new let_1.Let().runSyntax(lett, scope, filename, true);\n }\n return scoped;\n }\n}\nexports.For = For;\n//# sourceMappingURL=for.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/for.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/form_param.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nclass FormParam {\n runSyntax(node, scope, filename) {\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 = scope.findType(typeName)) === null || _c === void 0 ? void 0 : _c.getType();\n if (type === undefined) {\n type = 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, 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, filename, new basic_1.AnyType(), [\"form_parameter\" /* IdentifierMeta.FormParameter */]);\n }\n const bfound = new basic_types_1.BasicTypes(filename, scope).parseType(node);\n if (nameToken && bfound) {\n return new _typed_identifier_1.TypedIdentifier(nameToken, filename, bfound, [\"form_parameter\" /* IdentifierMeta.FormParameter */]);\n }\n if (nameToken) {\n return new _typed_identifier_1.TypedIdentifier(nameToken, filename, new basic_1.UnknownType(\"FormParam, todo\"), [\"form_parameter\" /* IdentifierMeta.FormParameter */]);\n }\n throw new Error(\"FormParam, unexpected node\");\n }\n}\nexports.FormParam = FormParam;\n//# sourceMappingURL=form_param.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/form_param.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_fs_1 = __webpack_require__(/*! ./inline_fs */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass FSTarget {\n runSyntax(node, scope, filename, 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, scope, filename, 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 = scope.findVariable(token.getStr());\n if (found === undefined) {\n throw new Error(`\"${token.getStr()}\" not found, FSTarget`);\n }\n scope.addReference(token, found, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n }\n}\nexports.FSTarget = FSTarget;\n//# sourceMappingURL=fstarget.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass InlineData {\n runSyntax(node, scope, filename, 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 const identifier = new _typed_identifier_1.TypedIdentifier(token, filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, 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, filename, new basic_1.UnknownType(message), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n }\n}\nexports.InlineData = InlineData;\n//# sourceMappingURL=inline_data.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass InlineFieldDefinition {\n runSyntax(node, scope, filename, 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, scope, filename);\n }\n const typeName = node.findDirectExpression(Expressions.TypeName);\n if (typeName) {\n type = new basic_types_1.BasicTypes(filename, scope).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 (scope.findVariable(name) !== undefined) {\n throw new Error(`Variable ${name} already defined`);\n }\n const identifier = new _typed_identifier_1.TypedIdentifier(field, filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addReference(field, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n scope.addIdentifier(identifier);\n return type;\n }\n}\nexports.InlineFieldDefinition = InlineFieldDefinition;\n//# sourceMappingURL=inline_field_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass InlineFS {\n runSyntax(node, scope, filename, 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, filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, 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, filename, new basic_1.UnknownType(message), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n }\n}\nexports.InlineFS = InlineFS;\n//# sourceMappingURL=inline_fs.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_loop_definition.js": +/*!***************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass InlineLoopDefinition {\n runSyntax(node, scope, filename) {\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, scope, filename);\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 throw new Error(\"Unknown type, \" + sourceType.getError());\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 throw new Error(\"InlineLoopDefinition, not a table type\");\n }\n const identifier = new _typed_identifier_1.TypedIdentifier(target.getFirstToken(), filename, rowType, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addReference(target.getFirstToken(), identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n scope.addReference(target.getFirstToken(), identifier, _reference_1.ReferenceType.DataReadReference, filename);\n 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(), filename, basic_1.IntegerType.get(), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addReference(index.getFirstToken(), identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n scope.addIdentifier(identifier);\n }\n }\n}\nexports.InlineLoopDefinition = InlineLoopDefinition;\n//# sourceMappingURL=inline_loop_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_loop_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_field_definition_1 = __webpack_require__(/*! ./inline_field_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass Let {\n runSyntax(node, scope, filename, skipScope = false) {\n if (node === undefined) {\n return false;\n }\n if (skipScope !== true) {\n scope.push(_scope_type_1.ScopeType.Let, \"LET\", node.getFirstToken().getStart(), filename);\n }\n for (const f of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {\n new inline_field_definition_1.InlineFieldDefinition().runSyntax(f, scope, filename);\n }\n return true;\n }\n}\nexports.Let = Let;\n//# sourceMappingURL=let.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/loop_group_by.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst component_compare_1 = __webpack_require__(/*! ./component_compare */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js\");\nconst inline_data_1 = __webpack_require__(/*! ./inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst fstarget_1 = __webpack_require__(/*! ./fstarget */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass LoopGroupBy {\n runSyntax(node, scope, filename) {\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, scope, filename, new basic_1.VoidType(\"todoGroupBy\"));\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n for (const t of node.findAllExpressions(Expressions.FSTarget)) {\n new fstarget_1.FSTarget().runSyntax(t, scope, filename, new basic_1.VoidType(\"todoGroupBy\"));\n }\n /*\n const components: IStructureComponent[] = [];\n for (const c of node.findDirectExpressions(Expressions.LoopGroupByComponent)) {\n components.push({name: c.getFirstToken().getStr(), type: new VoidType(\"todoGroupBy\")});\n }\n if (components.length === 0) {\n return;\n }\n */\n // const sourceType = new StructureType(components);\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, scope, filename);\n }\n }\n }\n}\nexports.LoopGroupBy = LoopGroupBy;\n//# sourceMappingURL=loop_group_by.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/loop_group_by.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/message_source.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass MessageSource {\n runSyntax(node, scope, filename) {\n var _a, _b, _c, _d;\n for (const f of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(f, scope, filename);\n }\n if (node.getFirstToken().getStr().toUpperCase() === \"ID\") {\n const id = (_a = node.findExpressionAfterToken(\"ID\")) === null || _a === void 0 ? void 0 : _a.concatTokens();\n const number = (_b = node.findDirectExpression(Expressions.MessageNumber)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if ((id === null || id === void 0 ? void 0 : id.startsWith(\"'\")) && number) {\n const messageClass = id.substring(1, id.length - 1).toUpperCase();\n scope.getMSAGReferences().addUsing(filename, node.getFirstToken(), messageClass, number);\n }\n }\n else {\n const typeAndNumber = (_c = node.findDirectExpression(Expressions.MessageTypeAndNumber)) === null || _c === void 0 ? void 0 : _c.concatTokens();\n const messageNumber = typeAndNumber === null || typeAndNumber === void 0 ? void 0 : typeAndNumber.substring(1);\n const messageClass = (_d = node.findDirectExpression(Expressions.MessageClass)) === null || _d === void 0 ? void 0 : _d.concatTokens().toUpperCase();\n if (messageNumber && messageClass) {\n scope.getMSAGReferences().addUsing(filename, node.getFirstToken(), messageClass, messageNumber);\n }\n }\n }\n}\nexports.MessageSource = MessageSource;\n//# sourceMappingURL=message_source.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/message_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_body.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_parameters_1 = __webpack_require__(/*! ./method_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst method_call_param_1 = __webpack_require__(/*! ./method_call_param */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_param.js\");\nclass MethodCallBody {\n runSyntax(node, scope, filename, method) {\n const parameters = node.findDirectExpression(Expressions.MethodParameters);\n if (parameters) {\n new method_parameters_1.MethodParameters().runSyntax(parameters, scope, method, filename);\n }\n const param = node.findDirectExpression(Expressions.MethodCallParam);\n if (param) {\n new method_call_param_1.MethodCallParam().runSyntax(param, scope, method, filename);\n }\n // for PARAMETER-TABLE and EXCEPTION-TABLE\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.MethodCallBody = MethodCallBody;\n//# sourceMappingURL=method_call_body.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst new_object_1 = __webpack_require__(/*! ./new_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/new_object.js\");\nconst cast_1 = __webpack_require__(/*! ./cast */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cast.js\");\nconst _builtin_1 = __webpack_require__(/*! ../_builtin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst method_call_param_1 = __webpack_require__(/*! ./method_call_param */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_param.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst component_name_1 = __webpack_require__(/*! ./component_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js\");\nconst class_definition_1 = __webpack_require__(/*! ../../types/class_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_definition.js\");\nclass MethodCallChain {\n runSyntax(node, scope, filename, targetType) {\n var _a, _b;\n const helper = new _object_oriented_1.ObjectOriented(scope);\n const children = node.getChildren().slice();\n const first = children.shift();\n if (first === undefined) {\n throw new Error(\"MethodCallChain, first child expected\");\n }\n let context = this.findTop(first, scope, targetType, filename);\n if (first.get() instanceof Expressions.MethodCall) {\n children.unshift(first);\n }\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 = 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 scope.addReference(methodToken, method, _reference_1.ReferenceType.BuiltinMethodReference, filename);\n }\n }\n else {\n const extra = {\n ooName: foundDef === null || foundDef === void 0 ? void 0 : foundDef.getName(),\n ooType: foundDef instanceof class_definition_1.ClassDefinition ? \"CLAS\" : \"INTF\"\n };\n scope.addReference(methodToken, method, _reference_1.ReferenceType.MethodReference, filename, extra);\n }\n if (methodName === null || methodName === void 0 ? void 0 : methodName.includes(\"~\")) {\n const name = methodName.split(\"~\")[0];\n const idef = scope.findInterfaceDefinition(name);\n if (idef) {\n scope.addReference(methodToken, idef, _reference_1.ReferenceType.ObjectOrientedReference, 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 throw new Error(\"Method \\\"\" + methodName + \"\\\" not found, methodCallChain\");\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, scope, method, filename);\n }\n else if (param && context instanceof basic_1.VoidType) {\n new method_call_param_1.MethodCallParam().runSyntax(param, scope, context, filename);\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);\n }\n else if (current instanceof nodes_1.ExpressionNode && current.get() instanceof Expressions.AttributeName) {\n context = new attribute_name_1.AttributeName().runSyntax(context, current, scope, filename);\n }\n }\n return context;\n }\n //////////////////////////////////////\n findTop(first, scope, targetType, filename) {\n var _a;\n if (first.get() instanceof Expressions.ClassName) {\n const token = first.getFirstToken();\n const className = token.getStr();\n const classDefinition = scope.findObjectDefinition(className);\n if (classDefinition === undefined && scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, extra);\n return new basic_1.VoidType(className);\n }\n else if (classDefinition === undefined) {\n throw new Error(\"Class \" + className + \" not found\");\n }\n scope.addReference(first.getFirstToken(), classDefinition, _reference_1.ReferenceType.ObjectOrientedReference, 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, scope, filename, _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, scope, targetType, filename);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Cast) {\n return new cast_1.Cast().runSyntax(first, scope, targetType, filename);\n }\n else {\n const meType = (_a = 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_param.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_parameters_1 = __webpack_require__(/*! ./method_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nclass MethodCallParam {\n runSyntax(node, scope, method, filename) {\n if (!(node.get() instanceof Expressions.MethodCallParam)) {\n throw new Error(\"MethodCallParam, unexpected input\");\n }\n const children = node.getChildren();\n if (children.length < 2 || children.length > 3) {\n throw new Error(\"MethodCallParam, unexpected child length\");\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 throw new Error(\"Parameter \\\"\" + required[0].getName() + \"\\\" must be supplied\");\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) && method.getParameters().getImporting().length === 0) {\n throw new Error(\"Method \\\"\" + method.getName() + \"\\\" has no importing parameters\");\n }\n let targetType = undefined;\n if (!(method instanceof basic_1.VoidType)) {\n const name = method.getParameters().getDefaultImporting();\n if (name === undefined) {\n throw new Error(\"No default importing parameter\");\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, scope, filename, 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 throw new Error(\"No source type determined, method source\");\n }\n else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(sourceType, targetType, calculated) === false) {\n throw new Error(\"Method parameter type not compatible\");\n }\n }\n else if (child instanceof nodes_1.ExpressionNode && child.get() instanceof Expressions.ParameterListS) {\n new method_parameters_1.MethodParameters().checkExporting(child, scope, method, filename);\n }\n else if (child.get() instanceof Expressions.MethodParameters) {\n new method_parameters_1.MethodParameters().runSyntax(child, scope, method, filename);\n }\n else {\n // console.dir(child);\n throw new Error(\"MethodCallParam, unexpected child\");\n }\n }\n}\nexports.MethodCallParam = MethodCallParam;\n//# sourceMappingURL=method_call_param.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_param.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_def_returning.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nclass MethodDefReturning {\n runSyntax(node, scope, filename, meta) {\n const name = node.findDirectExpression(Expressions.MethodParamName);\n if (name === undefined) {\n throw new Error(\"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 Error(\"method_parameter.ts, unexpected structure\");\n }\n let found = new basic_types_1.BasicTypes(filename, scope).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(), filename, found, meta);\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_def_returning.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_param.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst default_1 = __webpack_require__(/*! ./default */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/default.js\");\nconst cgeneric_type_1 = __webpack_require__(/*! ../../types/basic/cgeneric_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js\");\nclass MethodParam {\n runSyntax(node, scope, filename, meta) {\n const name = node.findDirectExpression(Expressions.MethodParamName);\n if (name === undefined) {\n throw new Error(\"MethodParam, todo, handle pass by value and reference\");\n }\n const type = node.findDirectExpression(Expressions.TypeParam);\n if (type === undefined) {\n throw new Error(\"MethodParam, unexpected structure\");\n }\n const def = type.findDirectExpression(Expressions.Default);\n if (def) {\n try {\n new default_1.Default().runSyntax(def, scope, filename);\n }\n catch (e) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), 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(), 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(), filename, new basic_1.XGenericType(), meta);\n }\n const found = new basic_types_1.BasicTypes(filename, scope).parseType(type);\n if (found) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), filename, found, meta);\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_param.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ./inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nclass MethodParameters {\n constructor() {\n this.requiredParameters = undefined;\n }\n runSyntax(node, scope, method, filename) {\n var _a;\n if (!(node.get() instanceof Expressions.MethodParameters)) {\n throw new Error(\"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(), scope, method, filename, false);\n break;\n case \"IMPORTING\":\n this.checkImporting(children.shift(), scope, method, filename);\n break;\n case \"CHANGING\":\n this.checkChanging(children.shift(), scope, method, filename);\n break;\n case \"RECEIVING\":\n this.checkReceiving(children.shift(), scope, method, filename);\n break;\n case \"EXCEPTIONS\":\n children.shift(); // todo, old style exceptions\n break;\n default:\n throw new Error(\"MethodParameters, unexpected token, \" + name);\n }\n }\n this.reportErrors();\n }\n ///////////////////////\n checkReceiving(node, scope, method, filename) {\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 throw new Error(\"Method does not have a returning parameter\");\n }\n else if (!(node instanceof nodes_1.ExpressionNode)) {\n throw new Error(\"checkReceiving, not an expression node\");\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, scope, filename, type);\n }\n else if (target) {\n const targetType = new target_1.Target().runSyntax(target, scope, filename);\n if (targetType && new _type_utils_1.TypeUtils(scope).isAssignable(type, targetType) === false) {\n throw new Error(\"Method returning value not type compatible\");\n }\n }\n }\n checkImporting(node, scope, method, filename) {\n for (const item of this.parameterListT(node, scope, filename)) {\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 throw new Error(\"Method exporting parameter \\\"\" + item.name + \"\\\" does not exist\");\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, scope, filename, parameterType);\n }\n else if (item.targetType === undefined) {\n throw new Error(\"Could not determine target type\");\n }\n else if (item.targetType && new _type_utils_1.TypeUtils(scope).isAssignable(parameterType, item.targetType) === false) {\n throw new Error(\"Method parameter type not compatible, \" + item.name);\n }\n }\n }\n checkChanging(node, scope, method, filename) {\n var _a;\n for (const item of this.parameterListT(node, scope, filename)) {\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 throw new Error(\"Method changing parameter \\\"\" + item.name + \"\\\" does not exist\");\n }\n parameterType = parameter.getType();\n }\n if (item.targetType && new _type_utils_1.TypeUtils(scope).isAssignable(parameterType, item.targetType) === false) {\n throw new Error(\"Method parameter type not compatible, \" + item.name);\n }\n (_a = this.requiredParameters) === null || _a === void 0 ? void 0 : _a.delete(item.name);\n }\n }\n checkExporting(node, scope, method, filename, errors = true) {\n const items = this.parameterListS(node, scope, filename, 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 throw new Error(\"Method importing parameter \\\"\" + item.name + \"\\\" does not exist\");\n }\n else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(item.sourceType, parameter.getType(), calculated) === false) {\n throw new Error(\"Method parameter type not compatible, \" + item.name);\n }\n this.requiredParameters.delete(item.name);\n }\n if (errors === true) {\n this.reportErrors();\n }\n }\n reportErrors() {\n var _a;\n for (const r of ((_a = this.requiredParameters) === null || _a === void 0 ? void 0 : _a.values()) || []) {\n throw new Error(`method parameter \"${r}\" must be supplied`);\n }\n }\n parameterListS(node, scope, filename, method) {\n var _a;\n if (node === undefined) {\n return [];\n }\n else if (!(node.get() instanceof Expressions.ParameterListS)) {\n throw new Error(\"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 Error(\"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 Error(\"parameterListS, no name determined\");\n }\n const source = c.findDirectExpression(Expressions.Source);\n if (source === undefined) {\n throw new Error(\"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, scope, filename, targetType);\n if (sourceType === undefined) {\n if (method instanceof basic_1.VoidType) {\n sourceType = method;\n }\n else {\n throw new Error(\"No source type determined for parameter \" + name + \" input\");\n }\n }\n ret.push({ name, source, sourceType });\n }\n return ret;\n }\n parameterListT(node, scope, filename) {\n var _a;\n if (node === undefined) {\n return [];\n }\n else if (!(node.get() instanceof Expressions.ParameterListT)) {\n throw new Error(\"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 Error(\"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 Error(\"parameterListT, no name determined\");\n }\n const target = c.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n throw new Error(\"parameterListT, no target found\");\n }\n const targetType = new target_1.Target().runSyntax(target, scope, filename);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_source.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _abstract_type_1 = __webpack_require__(/*! ../../types/basic/_abstract_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nconst source_field_symbol_1 = __webpack_require__(/*! ./source_field_symbol */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js\");\nconst source_field_1 = __webpack_require__(/*! ./source_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js\");\nconst component_name_1 = __webpack_require__(/*! ./component_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js\");\nconst types_1 = __webpack_require__(/*! ../../types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass MethodSource {\n runSyntax(node, scope, filename) {\n var _a, _b, _c;\n const helper = new _object_oriented_1.ObjectOriented(scope);\n const children = node.getChildren().slice();\n const first = children.shift();\n if (first === undefined) {\n throw new Error(\"MethodSource, first child expected\");\n }\n let context = this.findTop(first, scope, filename);\n if (context === undefined) {\n context = (_a = scope.findVariable(\"me\")) === null || _a === void 0 ? void 0 : _a.getType();\n children.unshift(first);\n }\n if (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, \"\");\n if (name !== undefined && scope.findClassDefinition(name) === undefined) {\n throw new Error(`Class \"${name}\" not found/released`);\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 throw new Error(\"Not a structure, type unknown, MethodSource\");\n }\n else if (!(context instanceof basic_1.StructureType)) {\n throw new Error(\"Not a structure, MethodSource\");\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 try {\n if (context instanceof _abstract_type_1.AbstractType) {\n const attr = new attribute_name_1.AttributeName().runSyntax(context, current, scope, filename, _reference_1.ReferenceType.DataReadReference);\n context = attr;\n continue;\n }\n }\n catch (_d) {\n // ignore\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 = 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 throw new Error(\"Method or attribute \\\"\" + methodName + \"\\\" not found, MethodSource\");\n }\n else if (method) {\n const extra = {\n ooName: foundDef === null || foundDef === void 0 ? void 0 : foundDef.getName(),\n ooType: foundDef instanceof types_1.ClassDefinition ? \"CLAS\" : \"INTF\"\n };\n scope.addReference(methodToken, method, _reference_1.ReferenceType.MethodReference, 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);\n }\n else if (current instanceof nodes_1.ExpressionNode && current.get() instanceof Expressions.Dynamic) {\n new dynamic_1.Dynamic().runSyntax(current, scope, filename);\n context = new basic_1.VoidType(\"Dynamic\");\n }\n }\n if (context instanceof _abstract_type_1.AbstractType && !(context instanceof basic_1.VoidType)) {\n throw new Error(\"Not a method, MethodSource\");\n }\n else if (context === undefined) {\n throw new Error(\"Not found, MethodSource\");\n }\n return context;\n }\n //////////////////////////////////////\n findTop(first, scope, filename) {\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 = scope.findObjectDefinition(className);\n if (classDefinition === undefined && scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, extra);\n return new basic_1.VoidType(className);\n }\n else if (classDefinition === undefined) {\n throw new Error(\"Class \" + className + \" not found\");\n }\n scope.addReference(first.getFirstToken(), classDefinition, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n return new basic_1.ObjectReferenceType(classDefinition);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.SourceField) {\n try {\n return new source_field_1.SourceField().runSyntax(first, scope, filename, _reference_1.ReferenceType.DataReadReference);\n }\n catch (_a) {\n return undefined;\n }\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.SourceFieldSymbol) {\n return new source_field_symbol_1.SourceFieldSymbol().runSyntax(first, scope, filename);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Dynamic) {\n new dynamic_1.Dynamic().runSyntax(first, scope, filename);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/new_object.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst method_parameters_1 = __webpack_require__(/*! ./method_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nclass NewObject {\n runSyntax(node, scope, targetType, filename) {\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 Error(\"NewObject, child TypeNameOrInfer not found\");\n }\n else if (typeName === \"#\" && targetType && targetType instanceof basic_1.ObjectReferenceType) {\n const clas = scope.findClassDefinition(targetType.getIdentifierName());\n if (clas) {\n scope.addReference(typeToken, clas, _reference_1.ReferenceType.InferredType, filename);\n }\n ret = targetType;\n if ((clas === null || clas === void 0 ? void 0 : clas.isAbstract()) === true) {\n throw new Error(clas.getName() + \" is abstract, cannot be instantiated\");\n }\n }\n else if (typeName === \"#\" && targetType) {\n ret = targetType;\n }\n else if (typeName === \"#\") {\n throw new Error(\"NewObject, todo, infer type\");\n }\n if (ret === undefined) {\n const objDefinition = scope.findObjectDefinition(typeName);\n if (objDefinition) {\n scope.addReference(typeToken, objDefinition, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n const objref = new basic_1.ObjectReferenceType(objDefinition);\n const clas = scope.findClassDefinition(objref.getIdentifierName());\n if ((clas === null || clas === void 0 ? void 0 : clas.isAbstract()) === true) {\n throw new Error(clas.getName() + \" is abstract, cannot be instantiated\");\n }\n ret = objref;\n }\n }\n if (ret === undefined) {\n const basic = new basic_types_1.BasicTypes(filename, scope);\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 throw new Error(\"Type \\\"\" + typeName + \"\\\" not found in scope, NewObject\");\n }\n }\n if (ret instanceof basic_1.ObjectReferenceType) {\n this.parameters(node, ret, scope, filename);\n }\n else {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename, ret);\n }\n }\n if (ret instanceof basic_1.UnknownType && scope.getDDIC().inErrorNamespace(typeName) === true) {\n throw new Error(\"Class or type \\\"\" + typeName + \"\\\" not found\");\n }\n return ret;\n }\n parameters(node, obj, scope, filename) {\n const name = obj.getIdentifier().getName();\n const def = scope.findObjectDefinition(name);\n const helper = new _object_oriented_1.ObjectOriented(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 throw new Error(\"NewObject, no default importing parameter found for constructor, \" + name);\n }\n new source_1.Source().runSyntax(source, scope, filename, type);\n }\n else if (parameters) {\n // parameters with names\n if (method === undefined) {\n throw new Error(\"NewObject, no parameters for constructor found, \" + name);\n }\n new method_parameters_1.MethodParameters().checkExporting(parameters, scope, method, filename);\n }\n else if (requiredParameters.length > 0) {\n throw new Error(`constructor parameter \"${requiredParameters[0].getName()}\" must be supplied` + name);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/new_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/raise_with.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass RaiseWith {\n runSyntax(node, scope, filename) {\n for (const f of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(f, scope, filename);\n }\n }\n}\nexports.RaiseWith = RaiseWith;\n//# sourceMappingURL=raise_with.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/raise_with.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_body.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst for_1 = __webpack_require__(/*! ./for */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/for.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst inline_field_definition_1 = __webpack_require__(/*! ./inline_field_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_field_definition.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst reduce_next_1 = __webpack_require__(/*! ./reduce_next */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_next.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass ReduceBody {\n runSyntax(node, scope, filename, 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, scope, filename);\n }\n let first = undefined;\n for (const i of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {\n if (scoped === false) {\n scope.push(_scope_type_1.ScopeType.Let, \"LET\", node.getFirstToken().getStart(), filename);\n scoped = true;\n }\n const found = new inline_field_definition_1.InlineFieldDefinition().runSyntax(i, scope, filename, targetType);\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, scope, filename);\n if (scoped === true) {\n forScopes++;\n }\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.ReduceNext)) {\n new reduce_next_1.ReduceNext().runSyntax(s, scope, filename);\n }\n if (scoped === true) {\n scope.pop(node.getLastToken().getEnd());\n }\n for (let i = 0; i < forScopes; i++) {\n 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_next.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass ReduceNext {\n runSyntax(node, scope, filename) {\n if (node === undefined) {\n return;\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleTarget)) {\n new target_1.Target().runSyntax(s, scope, filename);\n }\n }\n}\nexports.ReduceNext = ReduceNext;\n//# sourceMappingURL=reduce_next.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_next.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ./inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst target_1 = __webpack_require__(/*! ./target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst sql_from_1 = __webpack_require__(/*! ./sql_from */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_for_all_entries.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js\");\nconst sql_compare_1 = __webpack_require__(/*! ./sql_compare */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_compare.js\");\nclass Select {\n runSyntax(node, scope, filename, skipImplicitInto = false) {\n var _a, _b;\n const token = node.getFirstToken();\n const from = node.findDirectExpression(Expressions.SQLFrom);\n const dbSources = from ? new sql_from_1.SQLFrom().runSyntax(from, scope, filename) : [];\n for (const inline of node.findAllExpressions(Expressions.InlineData)) {\n // todo, for now these are voided\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, new basic_1.VoidType(\"SELECT_todo\"));\n }\n const fae = node.findDirectExpression(Expressions.SQLForAllEntries);\n if (fae) {\n scope.push(_scope_type_1.ScopeType.OpenSQL, \"SELECT\", token.getStart(), filename);\n new sql_for_all_entries_1.SQLForAllEntries().runSyntax(fae, scope, filename);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\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.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 name = (_b = from === null || from === void 0 ? void 0 : from.findDirectExpression(Expressions.SQLFromSource)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (name && scope.findVariable(name) === undefined) {\n throw new Error(`Target variable ${name} not found in scope`);\n }\n }\n }\n // OFFSET\n for (const s of node.findDirectExpressions(Expressions.SQLSource)) {\n new sql_source_1.SQLSource().runSyntax(s, scope, filename);\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, scope, filename);\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, scope, filename);\n }\n }\n for (const s of node.findAllExpressions(Expressions.SQLCompare)) {\n new sql_compare_1.SQLCompare().runSyntax(s, scope, filename, dbSources);\n }\n if (scope.getType() === _scope_type_1.ScopeType.OpenSQL) {\n scope.pop(node.getLastToken().getEnd());\n }\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js\");\nclass SelectLoop {\n runSyntax(node, scope, filename) {\n // try using the other Select, they should look very much the same\n new select_1.Select().runSyntax(node, scope, filename);\n }\n}\nexports.SelectLoop = SelectLoop;\n//# sourceMappingURL=select_loop.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_call_chain_1 = __webpack_require__(/*! ./method_call_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst field_chain_1 = __webpack_require__(/*! ./field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst constant_1 = __webpack_require__(/*! ./constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/constant.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst component_chain_1 = __webpack_require__(/*! ./component_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_chain.js\");\nconst string_template_1 = __webpack_require__(/*! ./string_template */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/string_template.js\");\nconst value_body_1 = __webpack_require__(/*! ./value_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/value_body.js\");\nconst cond_1 = __webpack_require__(/*! ./cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nconst reduce_body_1 = __webpack_require__(/*! ./reduce_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/reduce_body.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst switch_body_1 = __webpack_require__(/*! ./switch_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/switch_body.js\");\nconst cond_body_1 = __webpack_require__(/*! ./cond_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond_body.js\");\nconst conv_body_1 = __webpack_require__(/*! ./conv_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/conv_body.js\");\nconst filter_body_1 = __webpack_require__(/*! ./filter_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/filter_body.js\");\nconst corresponding_body_1 = __webpack_require__(/*! ./corresponding_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/corresponding_body.js\");\nconst _builtin_1 = __webpack_require__(/*! ../_builtin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst attribute_chain_1 = __webpack_require__(/*! ./attribute_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_chain.js\");\nconst dereference_1 = __webpack_require__(/*! ./dereference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dereference.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.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, scope, filename, 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 scope.addReference(token, method, _reference_1.ReferenceType.BuiltinMethodReference, filename);\n new cond_1.Cond().runSyntax(node.findDirectExpression(Expressions.Cond), scope, filename);\n return basic_1.StringType.get();\n }\n case \"XSDBOOL\":\n {\n const method = new _builtin_1.BuiltIn().searchBuiltin(tok);\n scope.addReference(token, method, _reference_1.ReferenceType.BuiltinMethodReference, filename);\n new cond_1.Cond().runSyntax(node.findDirectExpression(Expressions.Cond), scope, filename);\n return new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" });\n }\n case \"REDUCE\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n const bodyType = new reduce_body_1.ReduceBody().runSyntax(node.findDirectExpression(Expressions.ReduceBody), scope, filename, foundType);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, scope, filename, bodyType);\n }\n else {\n this.addIfInferred(node, scope, filename, foundType);\n }\n return foundType ? foundType : bodyType;\n }\n case \"SWITCH\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n const bodyType = new switch_body_1.SwitchBody().runSyntax(node.findDirectExpression(Expressions.SwitchBody), scope, filename);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, scope, filename, bodyType);\n }\n else {\n this.addIfInferred(node, scope, filename, foundType);\n }\n return foundType ? foundType : bodyType;\n }\n case \"COND\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n const bodyType = new cond_body_1.CondBody().runSyntax(node.findDirectExpression(Expressions.CondBody), scope, filename);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, scope, filename, bodyType);\n }\n else {\n this.addIfInferred(node, scope, filename, foundType);\n }\n return foundType ? foundType : bodyType;\n }\n case \"CONV\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n new conv_body_1.ConvBody().runSyntax(node.findDirectExpression(Expressions.ConvBody), scope, filename);\n this.addIfInferred(node, scope, filename, foundType);\n return foundType;\n }\n case \"REF\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n const s = new Source().runSyntax(node.findDirectExpression(Expressions.Source), scope, filename);\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, scope, filename, targetType);\n const bodyType = new filter_body_1.FilterBody().runSyntax(node.findDirectExpression(Expressions.FilterBody), scope, filename, foundType);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, scope, filename, bodyType);\n }\n else {\n this.addIfInferred(node, scope, filename, 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, scope, filename, targetType);\n new corresponding_body_1.CorrespondingBody().runSyntax(node.findDirectExpression(Expressions.CorrespondingBody), scope, filename, foundType);\n this.addIfInferred(node, scope, filename, foundType);\n return foundType;\n }\n case \"EXACT\":\n return this.determineType(node, scope, filename, targetType);\n case \"VALUE\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n const bodyType = new value_body_1.ValueBody().runSyntax(node.findDirectExpression(Expressions.ValueBody), scope, filename, foundType);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, scope, filename, bodyType);\n }\n else {\n this.addIfInferred(node, scope, filename, 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 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, scope, filename, targetType);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.FieldChain) {\n context = new field_chain_1.FieldChain().runSyntax(first, scope, filename, type);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.StringTemplate) {\n context = new string_template_1.StringTemplate().runSyntax(first, scope, filename);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Source) {\n const found = new Source().runSyntax(first, scope, filename);\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(context);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.ComponentChain) {\n context = new component_chain_1.ComponentChain().runSyntax(context, first, scope, filename);\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 }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.AttributeChain) {\n context = new attribute_chain_1.AttributeChain().runSyntax(context, first, scope, filename, type);\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 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, scope, filename, inferredType) {\n const basic = new basic_types_1.BasicTypes(filename, scope);\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 scope.addReference(typeToken, found, _reference_1.ReferenceType.InferredType, filename);\n }\n else if (inferredType instanceof basic_1.ObjectReferenceType) {\n const def = scope.findObjectDefinition(inferredType.getQualifiedName());\n if (def) {\n const tid = new _typed_identifier_1.TypedIdentifier(typeToken, filename, inferredType);\n scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, 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, filename, inferredType);\n scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, filename);\n }\n }\n }\n determineType(node, scope, filename, targetType) {\n const basic = new basic_types_1.BasicTypes(filename, scope);\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 Error(\"determineType, child TypeNameOrInfer not found\");\n }\n else if (typeName === \"#\" && targetType) {\n // const found = basic.lookupQualifiedName(targetType.getQualifiedName());\n /*\n if (found) {\n scope.addReference(typeToken, found, ReferenceType.InferredType, filename);\n }\n */\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 (scope.getDDIC().inErrorNamespace(typeName) === false) {\n scope.addReference(typeToken, undefined, _reference_1.ReferenceType.VoidType, filename);\n return new basic_1.VoidType(typeName);\n }\n else {\n const tid = new _typed_identifier_1.TypedIdentifier(typeToken, filename, found);\n scope.addReference(typeToken, tid, _reference_1.ReferenceType.TypeReference, filename);\n return found;\n }\n }\n else if (found === undefined) {\n throw new Error(\"Type \\\"\" + typeName + \"\\\" not found in scope, VALUE\");\n }\n return found;\n }\n return targetType;\n }\n}\nexports.Source = Source;\n//# sourceMappingURL=source.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass SourceField {\n runSyntax(node, scope, filename, type) {\n const token = node.getFirstToken();\n const name = token.getStr();\n const found = scope.findVariable(name);\n if (found === undefined) {\n throw new Error(\"\\\"\" + name + \"\\\" not found, findTop\");\n }\n if (type) {\n scope.addReference(token, found, type, filename);\n }\n if (name.includes(\"~\")) {\n const idef = scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n }\n }\n return found.getType();\n }\n}\nexports.SourceField = SourceField;\n//# sourceMappingURL=source_field.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass SourceFieldSymbol {\n runSyntax(node, scope, filename) {\n const token = node.getFirstToken();\n const found = scope.findVariable(token.getStr());\n if (found === undefined) {\n throw new Error(\"\\\"\" + node.getFirstToken().getStr() + \"\\\" not found, SourceFieldSymbol\");\n }\n scope.addReference(token, found, _reference_1.ReferenceType.DataReadReference, filename);\n return found.getType();\n }\n}\nexports.SourceFieldSymbol = SourceFieldSymbol;\n//# sourceMappingURL=source_field_symbol.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source_field_symbol.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_compare.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst sql_source_1 = __webpack_require__(/*! ./sql_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js\");\nclass SQLCompare {\n runSyntax(node, scope, filename, tables) {\n var _a;\n let sourceType;\n let token;\n for (const s of node.findAllExpressions(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, scope, filename);\n }\n const fieldName = (_a = node.findDirectExpression(Expressions.SQLFieldName)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (fieldName && sourceType && token) {\n // check compatibility for rule sql_value_conversion\n const targetType = this.findType(fieldName, tables, 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 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_compare.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_for_all_entries.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass SQLForAllEntries {\n runSyntax(node, scope, filename) {\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, scope, filename);\n if (type instanceof basic_1.VoidType) {\n return;\n }\n if (!(type instanceof basic_1.TableType)) {\n throw new Error(\"FAE parameter must be table type\");\n }\n const name = s.concatTokens().replace(\"[]\", \"\");\n scope.setAllowHeaderUse(name);\n }\n }\n}\nexports.SQLForAllEntries = SQLForAllEntries;\n//# sourceMappingURL=sql_for_all_entries.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_for_all_entries.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_from.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ./dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst database_table_1 = __webpack_require__(/*! ./database_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js\");\nclass SQLFrom {\n runSyntax(node, scope, filename) {\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, scope, filename);\n }\n const dbtab = from.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n ret.push(new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename));\n }\n }\n return ret;\n }\n}\nexports.SQLFrom = SQLFrom;\n//# sourceMappingURL=sql_from.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_from.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SQLSource {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n return new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n return new source_1.Source().runSyntax(s, scope, filename);\n }\n return undefined;\n }\n}\nexports.SQLSource = SQLSource;\n//# sourceMappingURL=sql_source.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/string_template.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nclass StringTemplate {\n runSyntax(node, scope, filename) {\n const typeUtils = new _type_utils_1.TypeUtils(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, scope, filename, ret);\n if (type === undefined) {\n throw new Error(\"No target type determined\");\n }\n else if (typeUtils.isCharLike(type) === false && typeUtils.isHexLike(type) === false) {\n throw new Error(\"Not character like, \" + type.constructor.name);\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, scope, filename);\n }\n if ((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 throw new Error(\"Cannot apply ALPHA to this type\");\n }\n }\n return ret;\n }\n}\nexports.StringTemplate = StringTemplate;\n//# sourceMappingURL=string_template.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/string_template.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/switch_body.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SwitchBody {\n runSyntax(node, scope, filename) {\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 throw new Error(\"SwitchBody, unexpected\");\n }\n const type = new source_1.Source().runSyntax(thenSource, scope, filename);\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n if (s === thenSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, scope, filename);\n }\n return type;\n }\n}\nexports.SwitchBody = SwitchBody;\n//# sourceMappingURL=switch_body.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/switch_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/table_expression.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass TableExpression {\n runSyntax(node, scope, filename) {\n if (node === undefined) {\n return;\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.TableExpression = TableExpression;\n//# sourceMappingURL=table_expression.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/table_expression.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst component_name_1 = __webpack_require__(/*! ./component_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_name.js\");\nconst attribute_name_1 = __webpack_require__(/*! ./attribute_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/attribute_name.js\");\nconst field_offset_1 = __webpack_require__(/*! ./field_offset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_offset.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst table_expression_1 = __webpack_require__(/*! ./table_expression */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/table_expression.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Target {\n runSyntax(node, scope, filename) {\n const concat = node.concatTokens();\n if (concat.includes(\"-\")) {\n // workaround for names with dashes\n const found = scope.findVariable(concat);\n if (found) {\n scope.addReference(node.getFirstToken(), found, _reference_1.ReferenceType.DataWriteReference, 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, scope, filename);\n if (context === undefined) {\n throw new Error(`\"${first.getFirstToken().getStr()}\" not found, Target`);\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 throw new Error(\"Not a structure, type unknown, target\");\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 throw new Error(\"Not a structure, target\");\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 throw new Error(\"Not an object reference, target\");\n }\n }\n else if (current.get() instanceof expressions_1.Dereference) {\n if (!(context instanceof basic_1.DataReference) && !(context instanceof basic_1.VoidType)) {\n throw new Error(\"Not an object reference, target\");\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);\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 throw new Error(\"Not a internal table, \\\"[]\\\"\");\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 throw new Error(\"Table expression, expected table\");\n }\n new table_expression_1.TableExpression().runSyntax(current, scope, filename);\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, scope, filename, type);\n }\n }\n const offset = node.findDirectExpression(Expressions.FieldOffset);\n if (offset) {\n new field_offset_1.FieldOffset().runSyntax(offset, scope, filename);\n }\n return context;\n }\n /////////////////////////////////\n findTop(node, scope, filename) {\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 = scope.findVariable(name);\n if (found) {\n scope.addReference(token, found, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n if (name.includes(\"~\")) {\n const idef = scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, 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 = scope.findObjectDefinition(name);\n if (found) {\n scope.addReference(token, found, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n return new basic_1.ObjectReferenceType(found);\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, 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 return new unknown_type_1.UnknownType(\"unknown target type\");\n }\n}\nexports.Target = Target;\n//# sourceMappingURL=target.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst type_table_key_1 = __webpack_require__(/*! ./type_table_key */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table_key.js\");\nclass TypeTable {\n runSyntax(node, scope, filename, 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 (scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = scope.getName() + \"=>\" + qualifiedName;\n }\n }\n let type = new basic_types_1.BasicTypes(filename, scope).parseTable(node, qualifiedName);\n if (type === undefined) {\n return new _typed_identifier_1.TypedIdentifier(name, 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, filename, type);\n }\n}\nexports.TypeTable = TypeTable;\n//# sourceMappingURL=type_table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table_key.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table_key.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/value_body.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst for_1 = __webpack_require__(/*! ./for */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/for.js\");\nconst source_1 = __webpack_require__(/*! ./source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst let_1 = __webpack_require__(/*! ./let */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/let.js\");\nconst field_assignment_1 = __webpack_require__(/*! ./field_assignment */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_assignment.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass ValueBody {\n runSyntax(node, scope, filename, targetType) {\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, scope, filename);\n }\n let forScopes = 0;\n for (const forNode of node.findDirectExpressions(Expressions.For) || []) {\n const scoped = new for_1.For().runSyntax(forNode, scope, filename);\n if (scoped === true) {\n forScopes++;\n }\n }\n for (const s of node.findDirectExpressions(Expressions.FieldAssignment)) {\n new field_assignment_1.FieldAssignment().runSyntax(s, scope, filename, targetType);\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, scope, filename);\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 throw new Error(\"Value, not a table type\");\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, scope, filename);\n }\n }\n for (const s of foo.findDirectExpressions(Expressions.FieldAssignment)) {\n new field_assignment_1.FieldAssignment().runSyntax(s, scope, filename, rowType);\n }\n for (const s of foo.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename, rowType);\n }\n }\n if (letScoped === true) {\n scope.pop(node.getLastToken().getEnd());\n }\n for (let i = 0; i < forScopes; i++) {\n 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/value_body.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/global_definitions/find_global_definitions.js": +/*!***********************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/interface_definition.js\");\nconst class_definition_1 = __webpack_require__(/*! ../../types/class_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_definition.js\");\nconst _current_scope_1 = __webpack_require__(/*! ../_current_scope */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst interface_1 = __webpack_require__(/*! ../../../objects/interface */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/interface.js\");\nconst class_1 = __webpack_require__(/*! ../../../objects/class */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/class.js\");\nconst BasicTypes = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst objects_1 = __webpack_require__(/*! ../../../objects */ \"../../packages/transpiler/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 const struc = file === null || file === void 0 ? void 0 : file.getStructure();\n if (obj instanceof interface_1.Interface) {\n const found = struc === null || struc === void 0 ? void 0 : struc.findFirstStructure(Structures.Interface);\n if (struc && file && found) {\n try {\n const def = new interface_definition_1.InterfaceDefinition(found, file.getFilename(), _current_scope_1.CurrentScope.buildDefault(this.reg, obj));\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 === null || struc === void 0 ? void 0 : struc.findFirstStructure(Structures.ClassDefinition);\n if (struc && file && found) {\n try {\n const def = new class_definition_1.ClassDefinition(found, file.getFilename(), _current_scope_1.CurrentScope.buildDefault(this.reg, obj));\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/global_definitions/find_global_definitions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/spaghetti_scope.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ./_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass ScopeData {\n constructor() {\n this.data = {\n vars: {},\n cdefs: {},\n idefs: [],\n forms: [],\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 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 Error(\"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 for (const d of search.getData().deferred) {\n if (d.getStr().toUpperCase() === name.toUpperCase()) {\n return new _identifier_1.Identifier(d, search.identifier.filename);\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 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 // todo, can be deleted, not called from anywhere?\n listFormDefinitions() {\n let search = this;\n const ret = [];\n while (search !== undefined) {\n for (const form of search.getData().forms) {\n ret.push(form);\n }\n search = search.getParent();\n }\n return ret;\n }\n // todo, optimize\n findInterfaceDefinition(name) {\n let search = this;\n while (search !== undefined) {\n for (const idef of search.getData().idefs) {\n if (idef.getName().toUpperCase() === name.toUpperCase()) {\n return idef;\n }\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 data = search.getData();\n if (data.types[upper]) {\n return data.types[upper];\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/spaghetti_scope.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Add {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Add = Add;\n//# sourceMappingURL=add.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add_corresponding.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass AddCorresponding {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.AddCorresponding = AddCorresponding;\n//# sourceMappingURL=add_corresponding.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add_corresponding.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/append.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\n// todo: issue error for short APPEND if the source is without header line\nclass Append {\n runSyntax(node, scope, filename) {\n let targetType = undefined;\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n targetType = new target_1.Target().runSyntax(target, scope, filename);\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 throw new Error(\"APPEND to non table type\");\n }\n const rowType = targetType instanceof basic_1.TableType ? targetType.getRowType() : targetType;\n new fstarget_1.FSTarget().runSyntax(fsTarget, scope, filename, 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 throw new Error(\"APPEND to non table type\");\n }\n const rowType = targetType instanceof basic_1.TableType ? targetType.getRowType() : targetType;\n new inline_data_1.InlineData().runSyntax(dataTarget, scope, filename, 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 throw new Error(\"Append, target not a table type\");\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 new source_1.Source().runSyntax(source, scope, filename, rowType);\n }\n const from = node.findExpressionAfterToken(\"FROM\");\n if (from && from.get() instanceof Expressions.Source) {\n new source_1.Source().runSyntax(from, scope, filename);\n }\n const to = node.findExpressionAfterToken(\"TO\");\n if (to && to.get() instanceof Expressions.Source) {\n new source_1.Source().runSyntax(to, scope, filename);\n }\n }\n}\nexports.Append = Append;\n//# sourceMappingURL=append.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/append.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assert.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass Assert {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Assert = Assert;\n//# sourceMappingURL=assert.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assert.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assign.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass Assign {\n runSyntax(node, scope, filename) {\n var _a, _b, _c;\n const sources = ((_a = node.findDirectExpression(Expressions.AssignSource)) === null || _a === void 0 ? void 0 : _a.findDirectExpressions(Expressions.Source)) || [];\n const theSource = sources[sources.length - 1];\n let sourceType = new source_1.Source().runSyntax(theSource, scope, filename);\n if (sourceType === undefined || ((_b = node.findDirectExpression(Expressions.AssignSource)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.Dynamic))) {\n sourceType = new basic_1.AnyType();\n }\n for (const d of ((_c = node.findDirectExpression(Expressions.AssignSource)) === null || _c === void 0 ? void 0 : _c.findAllExpressions(Expressions.Dynamic)) || []) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.FSTarget);\n if (target) {\n new fstarget_1.FSTarget().runSyntax(target, scope, filename, sourceType);\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n if (s === theSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Assign = Assign;\n//# sourceMappingURL=assign.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assign.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/authority_check.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass AuthorityCheck {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.AuthorityCheck = AuthorityCheck;\n//# sourceMappingURL=authority_check.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/authority_check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_call_chain_1 = __webpack_require__(/*! ../expressions/method_call_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_chain.js\");\nconst method_source_1 = __webpack_require__(/*! ../expressions/method_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_source.js\");\nconst method_call_body_1 = __webpack_require__(/*! ../expressions/method_call_body */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_call_body.js\");\nconst void_type_1 = __webpack_require__(/*! ../../types/basic/void_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\");\nclass Call {\n runSyntax(node, scope, filename) {\n const chain = node.findDirectExpression(Expressions.MethodCallChain);\n if (chain) {\n new method_call_chain_1.MethodCallChain().runSyntax(chain, scope, filename);\n return;\n }\n const methodSource = node.findDirectExpression(Expressions.MethodSource);\n if (methodSource === undefined) {\n throw new Error(\"Call, child MethodSource not found\");\n }\n const methodDef = new method_source_1.MethodSource().runSyntax(methodSource, scope, filename);\n const body = node.findDirectExpression(Expressions.MethodCallBody);\n if (body) {\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, scope, filename, methodDef || new void_type_1.VoidType(\"CallTODO\"));\n }\n }\n}\nexports.Call = Call;\n//# sourceMappingURL=call.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_badi.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass CallBadi {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n }\n}\nexports.CallBadi = CallBadi;\n//# sourceMappingURL=call_badi.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_badi.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_function.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst field_chain_1 = __webpack_require__(/*! ../expressions/field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass CallFunction {\n runSyntax(node, scope, filename) {\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, scope, filename, _reference_1.ReferenceType.DataReadReference);\n }\n else if (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 (scope.findFunctionModule(functionName) === undefined) {\n throw new Error(`Function module \"${functionName}\" not found/released`);\n }\n }\n // just recurse\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource2)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.CallFunction = CallFunction;\n//# sourceMappingURL=call_function.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_function.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_kernel.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass CallKernel {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.CallKernel = CallKernel;\n//# sourceMappingURL=call_kernel.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_kernel.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transaction.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass CallTransaction {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.CallTransaction = CallTransaction;\n//# sourceMappingURL=call_transaction.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transaction.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transformation.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass CallTransformation {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\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, scope, filename, new basic_1.XStringType());\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n}\nexports.CallTransformation = CallTransformation;\n//# sourceMappingURL=call_transformation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transformation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass Case {\n runSyntax(node, scope, filename) {\n // just recurse\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Case = Case;\n//# sourceMappingURL=case.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/catch.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Catch {\n runSyntax(node, scope, filename) {\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 = scope.existsObject(className);\n if (found.found === true && found.id) {\n scope.addReference(token, found.id, found.type, filename);\n }\n else if (scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, extra);\n }\n else {\n throw new Error(\"CATCH, unknown class \" + className);\n }\n if (names.has(className)) {\n throw new Error(\"Duplicate class name in CATCH: \" + className);\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 = scope.existsObject(firstClassName);\n if (token && found.found === true && firstClassName && found.id) {\n const identifier = new _typed_identifier_1.TypedIdentifier(token, filename, new basic_1.ObjectReferenceType(found.id), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n else if (token && scope.getDDIC().inErrorNamespace(firstClassName) === false) {\n const identifier = new _typed_identifier_1.TypedIdentifier(token, filename, new basic_1.VoidType(firstClassName), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, 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, filename, new unknown_type_1.UnknownType(message), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n }\n else if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.Catch = Catch;\n//# sourceMappingURL=catch.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/catch.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/check.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass Check {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Check = Check;\n//# sourceMappingURL=check.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_data.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst data_definition_1 = __webpack_require__(/*! ../expressions/data_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/data_definition.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nclass ClassData {\n runSyntax(node, scope, filename) {\n const dd = node.findFirstExpression(Expressions.DataDefinition);\n if (dd) {\n const found = new data_definition_1.DataDefinition().runSyntax(dd, scope, filename);\n if (found === undefined) {\n return undefined;\n }\n const meta = [...found.getMeta(), \"static\" /* IdentifierMeta.Static */];\n return new _typed_identifier_1.TypedIdentifier(found.getToken(), 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(), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_deferred.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ClassDeferred {\n runSyntax(node, scope, _filename) {\n var _a;\n const name = (_a = node.findFirstExpression(Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n scope.addDeferred(name);\n }\n}\nexports.ClassDeferred = ClassDeferred;\n//# sourceMappingURL=class_deferred.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_deferred.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_implementation.js": +/*!************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst position_1 = __webpack_require__(/*! ../../../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _builtin_1 = __webpack_require__(/*! ../_builtin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass ClassImplementation {\n runSyntax(node, scope, filename) {\n const helper = new _object_oriented_1.ObjectOriented(scope);\n const className = helper.findClassName(node);\n scope.push(_scope_type_1.ScopeType.ClassImplementation, className, node.getFirstToken().getStart(), filename);\n const classDefinition = scope.findClassDefinition(className);\n if (classDefinition === undefined) {\n throw new Error(\"Class definition for \\\"\" + className + \"\\\" not found\");\n }\n for (const t of classDefinition.getTypeDefinitions().getAll()) {\n scope.addType(t.type);\n }\n const sup = scope.findClassDefinition(classDefinition.getSuperClass());\n if (sup) {\n 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 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 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 scope.addList(classAttributes.getConstants());\n scope.addList(classAttributes.getStatic());\n for (const i of classAttributes.getInstance()) {\n scope.addExtraLikeType(i);\n }\n helper.fromSuperClassesAndInterfaces(classDefinition);\n }\n}\nexports.ClassImplementation = ClassImplementation;\n//# sourceMappingURL=class_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_local_friends.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass ClassLocalFriends {\n runSyntax(node, scope, filename) {\n const found = node.findDirectExpression(Expressions.ClassName);\n if (found) {\n const token = found.getFirstToken();\n const name = token.getStr();\n const def = scope.findClassDefinition(name);\n if (def) {\n scope.addReference(token, def, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n }\n else {\n throw new Error(`Class ${name.toUpperCase()} not found`);\n }\n }\n }\n}\nexports.ClassLocalFriends = ClassLocalFriends;\n//# sourceMappingURL=class_local_friends.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_local_friends.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/clear.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Clear {\n runSyntax(node, scope, filename) {\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Clear = Clear;\n//# sourceMappingURL=clear.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/clear.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/close_dataset.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass CloseDataset {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.CloseDataset = CloseDataset;\n//# sourceMappingURL=close_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/close_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/collect.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Collect {\n runSyntax(node, scope, filename) {\n const source = node.findDirectExpression(Expressions.Source);\n if (source) {\n new source_1.Source().runSyntax(source, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n const fs = node.findDirectExpression(Expressions.FSTarget);\n if (fs) {\n new fstarget_1.FSTarget().runSyntax(fs, scope, filename, undefined);\n }\n }\n}\nexports.Collect = Collect;\n//# sourceMappingURL=collect.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/collect.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/commit_entities.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass CommitEntities {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, new basic_1.VoidType(\"CommitEntities\"));\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n}\nexports.CommitEntities = CommitEntities;\n//# sourceMappingURL=commit_entities.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/commit_entities.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/concatenate.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nclass Concatenate {\n runSyntax(node, scope, filename) {\n const byteMode = node.findDirectTokenByText(\"BYTE\") !== undefined;\n let 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, scope, filename, new basic_1.XStringType());\n }\n else {\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, basic_1.StringType.get());\n }\n }\n else if (target) {\n const type = new target_1.Target().runSyntax(target, scope, filename);\n const compatible = byteMode ? new _type_utils_1.TypeUtils(scope).isHexLike(type) : new _type_utils_1.TypeUtils(scope).isCharLike(type);\n if (compatible === false) {\n throw new Error(\"Target type not compatible\");\n }\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n const type = new source_1.Source().runSyntax(s, scope, filename);\n if (linesMode) {\n if (!(type instanceof basic_1.UnknownType) && !(type instanceof basic_1.VoidType) && !(type instanceof basic_1.TableType)) {\n throw new Error(\"Source must be an internal table\");\n }\n linesMode = false;\n continue;\n }\n const compatible = byteMode ? new _type_utils_1.TypeUtils(scope).isHexLike(type) : new _type_utils_1.TypeUtils(scope).isCharLike(type);\n if (compatible === false) {\n throw new Error(\"Source type not compatible\");\n }\n }\n }\n}\nexports.Concatenate = Concatenate;\n//# sourceMappingURL=concatenate.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/concatenate.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/condense.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Condense {\n runSyntax(node, scope, filename) {\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Condense = Condense;\n//# sourceMappingURL=condense.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/condense.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass Constant {\n runSyntax(node, scope, filename) {\n const basic = new basic_types_1.BasicTypes(filename, scope);\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(), 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(), filename, new basic_1.UnknownType(\"constant, fallback\"));\n }\n throw new Error(\"Statement Constant: unexpected structure\");\n }\n}\nexports.Constant = Constant;\n//# sourceMappingURL=constant.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/controls.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass Controls {\n runSyntax(node, scope, filename) {\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, filename, type);\n 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) },\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, filename, type);\n scope.addIdentifier(id);\n }\n }\n}\nexports.Controls = Controls;\n//# sourceMappingURL=controls.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/controls.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/convert.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Convert {\n runSyntax(node, scope, filename) {\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, scope, filename);\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, scope, filename, new basic_1.TimeType());\n }\n else {\n new target_1.Target().runSyntax(timeTarget, scope, filename);\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, scope, filename, new basic_1.DateType());\n }\n else {\n new target_1.Target().runSyntax(dateTarget, scope, filename);\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, scope, filename, new basic_1.PackedType(8, 4));\n }\n else {\n new target_1.Target().runSyntax(stampTarget, scope, filename);\n }\n }\n }\n}\nexports.Convert = Convert;\n//# sourceMappingURL=convert.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/convert.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_data.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nclass CreateData {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, scope, filename);\n }\n const type = node.findDirectExpression(Expressions.TypeName);\n if (type) {\n new basic_types_1.BasicTypes(filename, scope).resolveTypeName(type);\n }\n }\n}\nexports.CreateData = CreateData;\n//# sourceMappingURL=create_data.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_object.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst types_1 = __webpack_require__(/*! ../../types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nclass CreateObject {\n runSyntax(node, scope, filename) {\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 = scope.findClassDefinition(name);\n if (cdef) {\n scope.addReference(token, cdef, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n if (cdef.isAbstract() === true) {\n throw new Error(cdef.getName() + \" is abstract, cannot be instantiated\");\n }\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, { ooName: name, ooType: \"CLAS\" });\n }\n else {\n throw new Error(\"TYPE \\\"\" + name + \"\\\" not found\");\n }\n }\n // just recurse\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n let first = true;\n for (const t of node.findAllExpressions(Expressions.Target)) {\n const found = new target_1.Target().runSyntax(t, scope, filename);\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 throw new Error(\"Target type unknown, \" + t.concatTokens());\n }\n else if (!(found instanceof basic_1.ObjectReferenceType)\n && !(found instanceof basic_1.AnyType)\n && !(found instanceof basic_1.GenericObjectReferenceType)) {\n throw new Error(\"Target must be an object reference, \" + t.concatTokens());\n }\n else if (found instanceof basic_1.GenericObjectReferenceType && type === undefined) {\n throw new Error(\"Generic type, cannot be instantiated\");\n }\n else if (found instanceof basic_1.ObjectReferenceType) {\n const id = found.getIdentifier();\n if (id instanceof types_1.InterfaceDefinition && type === undefined) {\n throw new Error(\"Interface reference, cannot be instantiated\");\n }\n else if (found instanceof basic_1.ObjectReferenceType\n && type === undefined\n && scope.findInterfaceDefinition(found.getQualifiedName())) {\n throw new Error(\"Interface reference, cannot be instantiated\");\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 throw new Error(id.getName() + \" is abstract, cannot be instantiated\");\n }\n }\n }\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, scope, filename);\n }\n this.validateParameters(cdef, node, scope);\n }\n validateParameters(cdef, node, scope) {\n var _a, _b, _c;\n if (cdef === undefined) {\n return;\n }\n const methodDef = new _object_oriented_1.ObjectOriented(scope).searchMethodName(cdef, \"CONSTRUCTOR\");\n const methodParameters = (_a = methodDef.method) === null || _a === void 0 ? void 0 : _a.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 // todo, validate types\n for (const p of ((_b = node.findDirectExpression(Expressions.ParameterListS)) === null || _b === void 0 ? void 0 : _b.findAllExpressions(Expressions.ParameterS)) || []) {\n const name = (_c = p.findDirectExpression(Expressions.ParameterName)) === null || _c === void 0 ? void 0 : _c.concatTokens().toUpperCase();\n if (name === undefined) {\n continue;\n }\n if ((allImporting === null || allImporting === void 0 ? void 0 : allImporting.some(p => p.getName().toUpperCase() === name)) === false) {\n throw new Error(`constructor parameter \"${name}\" does not exist`);\n }\n requiredImporting.delete(name);\n }\n for (const r of requiredImporting.values()) {\n throw new Error(`constructor parameter \"${r}\" must be supplied`);\n }\n }\n}\nexports.CreateObject = CreateObject;\n//# sourceMappingURL=create_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst data_definition_1 = __webpack_require__(/*! ../expressions/data_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/data_definition.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nclass Data {\n runSyntax(node, scope, filename) {\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, scope, filename);\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 throw new Error(\"DATA definition cannot be generic, \" + name);\n }\n return id;\n }\n if (name) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_cluster.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass DeleteCluster {\n runSyntax(node, scope, filename) {\n var _a;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n const databaseName = node.findExpressionAfterToken(\"DATABASE\");\n if (databaseName) {\n const found = (_a = scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(databaseName.concatTokens());\n if (found) {\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: found.object });\n }\n }\n }\n}\nexports.DeleteCluster = DeleteCluster;\n//# sourceMappingURL=delete_cluster.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_cluster.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_database.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst database_table_1 = __webpack_require__(/*! ../expressions/database_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js\");\nclass DeleteDatabase {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename);\n }\n }\n}\nexports.DeleteDatabase = DeleteDatabase;\n//# sourceMappingURL=delete_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_internal.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst component_compare_1 = __webpack_require__(/*! ../expressions/component_compare */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare.js\");\nconst component_cond_1 = __webpack_require__(/*! ../expressions/component_cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass DeleteInternal {\n runSyntax(node, scope, filename) {\n var _a;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\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 = scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(target.concatTokens());\n if (tabl) {\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: tabl.object });\n }\n }\n if (tabl === undefined) {\n targetType = new target_1.Target().runSyntax(target, scope, filename);\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, scope, filename, targetType);\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(t, scope, filename, targetType);\n }\n }\n}\nexports.DeleteInternal = DeleteInternal;\n//# sourceMappingURL=delete_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_internal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_report.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass DeleteReport {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.DeleteReport = DeleteReport;\n//# sourceMappingURL=delete_report.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/describe.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst field_chain_1 = __webpack_require__(/*! ../expressions/field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Describe {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.FieldChain)) {\n new field_chain_1.FieldChain().runSyntax(s, scope, filename, _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, scope, filename, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(linesTarget, scope, filename);\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, scope, filename, new basic_1.CharacterType(1));\n }\n else {\n new target_1.Target().runSyntax(typeTarget, scope, filename);\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, scope, filename, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(lengthTarget, scope, filename);\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, scope, filename, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(componentsTarget, scope, filename);\n }\n }\n }\n}\nexports.Describe = Describe;\n//# sourceMappingURL=describe.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/describe.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/divide.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Divide {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Divide = Divide;\n//# sourceMappingURL=divide.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/divide.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/do.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass Do {\n runSyntax(node, scope, filename) {\n // just recurse\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Do = Do;\n//# sourceMappingURL=do.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/do.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/else_if.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass ElseIf {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n }\n}\nexports.ElseIf = ElseIf;\n//# sourceMappingURL=else_if.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/else_if.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/export.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Export {\n runSyntax(node, scope, filename) {\n var _a;\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n const databaseName = node.findExpressionAfterToken(\"DATABASE\");\n if (databaseName) {\n const found = (_a = scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(databaseName.concatTokens());\n if (found) {\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: found.object });\n }\n }\n }\n}\nexports.Export = Export;\n//# sourceMappingURL=export.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/export.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/fieldsymbol.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nclass FieldSymbol {\n runSyntax(node, scope, filename) {\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(filename, scope).parseType(node);\n if (bfound && fsname) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(fsname, filename, bfound));\n return;\n }\n if (fsname) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(fsname, filename, new unknown_type_1.UnknownType(\"Fieldsymbol, fallback\")));\n }\n }\n}\nexports.FieldSymbol = FieldSymbol;\n//# sourceMappingURL=fieldsymbol.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/fieldsymbol.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/find.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Find {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, type);\n }\n else {\n this.inline(rfound, scope, filename, 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, scope, filename, basic_1.IntegerType.get());\n }\n }\n const lfound = node.findExpressionAfterToken(\"LINE\");\n if (lfound && lfound.get() instanceof Expressions.Target) {\n this.inline(lfound, scope, filename, basic_1.IntegerType.get());\n }\n const cfound = node.findExpressionAfterToken(\"COUNT\");\n if (cfound && cfound.get() instanceof Expressions.Target) {\n this.inline(cfound, scope, filename, basic_1.IntegerType.get());\n }\n const lnfound = node.findExpressionAfterToken(\"LENGTH\");\n if (lnfound && lnfound.get() instanceof Expressions.Target) {\n this.inline(lnfound, scope, filename, 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, scope, filename, basic_1.StringType.get());\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n }\n /////////////////////\n inline(node, scope, filename, type) {\n const inline = node.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, type);\n }\n else {\n new target_1.Target().runSyntax(node, scope, filename);\n }\n }\n}\nexports.Find = Find;\n//# sourceMappingURL=find.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/find.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/form.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/form_definition.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst expressions_1 = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass Form {\n runSyntax(node, scope, filename) {\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 throw new Error(\"Form, could not find name\");\n }\n scope.push(_scope_type_1.ScopeType.Form, name, node.getFirstToken().getStart(), filename);\n const form = new form_definition_1.FormDefinition(node, filename, scope);\n scope.addList(form.getUsingParameters());\n scope.addList(form.getChangingParameters());\n scope.addList(form.getTablesParameters());\n }\n}\nexports.Form = Form;\n//# sourceMappingURL=form.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/form.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/format.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass Format {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Format = Format;\n//# sourceMappingURL=format.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/format.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_badi.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass GetBadi {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const d of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n }\n}\nexports.GetBadi = GetBadi;\n//# sourceMappingURL=get_badi.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_badi.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_bit.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nclass GetBit {\n runSyntax(node, scope, filename) {\n let lastType = undefined;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n lastType = new source_1.Source().runSyntax(s, scope, filename);\n }\n if (lastType && new _type_utils_1.TypeUtils(scope).isHexLike(lastType) === false) {\n throw new Error(\"Input must be byte-like\");\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, scope, filename, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n}\nexports.GetBit = GetBit;\n//# sourceMappingURL=get_bit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_bit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_cursor.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass GetCursor {\n runSyntax(node, scope, filename) {\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.GetCursor = GetCursor;\n//# sourceMappingURL=get_cursor.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_cursor.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_locale.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass GetLocale {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.GetLocale = GetLocale;\n//# sourceMappingURL=get_locale.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_locale.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_parameter.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass GetParameter {\n runSyntax(node, scope, filename) {\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, scope, filename, new basic_1.CharacterType(40));\n }\n else if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.GetParameter = GetParameter;\n//# sourceMappingURL=get_parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_reference.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass GetReference {\n runSyntax(node, scope, filename) {\n const s = node.findDirectExpression(Expressions.Source);\n const type = new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, type ? new basic_1.DataReference(type) : undefined);\n }\n else if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.GetReference = GetReference;\n//# sourceMappingURL=get_reference.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_reference.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_run_time.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass GetRunTime {\n runSyntax(node, scope, filename) {\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, scope, filename, basic_1.IntegerType.get());\n }\n else if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.GetRunTime = GetRunTime;\n//# sourceMappingURL=get_run_time.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_run_time.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_time.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass GetTime {\n runSyntax(node, scope, filename) {\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, scope, filename, new basic_1.PackedType(8, 0));\n }\n else if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.GetTime = GetTime;\n//# sourceMappingURL=get_time.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_time.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/if.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass If {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n }\n}\nexports.If = If;\n//# sourceMappingURL=if.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/if.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Import {\n runSyntax(node, scope, filename) {\n var _a;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n const databaseName = node.findExpressionAfterToken(\"DATABASE\");\n if (databaseName) {\n const found = (_a = scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(databaseName.concatTokens());\n if (found) {\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: found.object });\n }\n }\n }\n}\nexports.Import = Import;\n//# sourceMappingURL=import.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import_dynpro.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass ImportDynpro {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.ImportDynpro = ImportDynpro;\n//# sourceMappingURL=import_dynpro.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import_dynpro.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/include_type.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nclass IncludeType {\n runSyntax(node, scope, filename) {\n var _a, _b;\n const components = [];\n const iname = node.findFirstExpression(Expressions.TypeName);\n if (iname === undefined) {\n throw new Error(\"IncludeType, unexpected node structure\");\n }\n const name = iname.getFirstToken().getStr();\n let ityp = new basic_types_1.BasicTypes(filename, scope).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([{ name: as, type: ityp }]));\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(c);\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 (scope.getDDIC().inErrorNamespace(name) === false) {\n return new basic_1.VoidType(name);\n }\n else {\n throw new Error(\"IncludeType, type not found \\\"\" + iname.concatTokens() + \"\\\"\");\n }\n return components;\n }\n}\nexports.IncludeType = IncludeType;\n//# sourceMappingURL=include_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/include_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_database.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst database_table_1 = __webpack_require__(/*! ../expressions/database_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js\");\nclass InsertDatabase {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename);\n }\n }\n}\nexports.InsertDatabase = InsertDatabase;\n//# sourceMappingURL=insert_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_field_group.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass InsertFieldGroup {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource1)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.InsertFieldGroup = InsertFieldGroup;\n//# sourceMappingURL=insert_field_group.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_field_group.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_internal.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_fs_1 = __webpack_require__(/*! ../expressions/inline_fs */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nclass InsertInternal {\n runSyntax(node, scope, filename) {\n let targetType;\n const t = node.findDirectExpression(Expressions.Target);\n if (t) {\n targetType = new target_1.Target().runSyntax(t, scope, filename);\n }\n if (targetType instanceof basic_1.TableType) {\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, scope, filename, targetType) : targetType;\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, scope, filename, sourceType);\n }\n else {\n new fstarget_1.FSTarget().runSyntax(afterAssigning, scope, filename, sourceType);\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, scope, filename, new basic_1.DataReference(sourceType));\n }\n else {\n new target_1.Target().runSyntax(afterInto, scope, filename);\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, scope, filename, targetType);\n }\n }\n}\nexports.InsertInternal = InsertInternal;\n//# sourceMappingURL=insert_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_internal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_report.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass InsertReport {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.InsertReport = InsertReport;\n//# sourceMappingURL=insert_report.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_textpool.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass InsertTextpool {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.InsertTextpool = InsertTextpool;\n//# sourceMappingURL=insert_textpool.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_textpool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/interface_deferred.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass InterfaceDeferred {\n runSyntax(node, scope, _filename) {\n var _a;\n const name = (_a = node.findFirstExpression(Expressions.InterfaceName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n scope.addDeferred(name);\n }\n}\nexports.InterfaceDeferred = InterfaceDeferred;\n//# sourceMappingURL=interface_deferred.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/interface_deferred.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/log_point.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass LogPoint {\n runSyntax(node, scope, filename) {\n // just recurse\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.LogPoint = LogPoint;\n//# sourceMappingURL=log_point.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/log_point.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst inline_fs_1 = __webpack_require__(/*! ../expressions/inline_fs */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_fs.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst component_cond_1 = __webpack_require__(/*! ../expressions/component_cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst loop_group_by_1 = __webpack_require__(/*! ../expressions/loop_group_by */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/loop_group_by.js\");\nclass Loop {\n runSyntax(node, scope, filename) {\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, scope, filename) : 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, scope, filename, targetType, write) : undefined;\n let rowType = undefined;\n const concat = node.concatTokens().toUpperCase();\n if (sourceType === undefined) {\n throw new Error(\"No source type determined\");\n }\n else if (sourceType instanceof basic_1.UnknownType) {\n throw new Error(\"Loop, not a table type, \" + sourceType.getError());\n }\n else if (sourceType instanceof basic_1.TableType\n && target === undefined\n && sourceType.isWithHeader() === false\n && node.getChildren().length === 4) {\n throw new Error(\"Loop, no header line\");\n }\n else if (!(sourceType instanceof basic_1.TableType)\n && !(sourceType instanceof basic_1.AnyType)\n && !(sourceType instanceof basic_1.VoidType)\n && concat.startsWith(\"LOOP AT GROUP \") === false) {\n throw new Error(\"Loop, not a table type\");\n }\n else if (loopTarget === undefined\n && sourceType instanceof basic_1.TableType\n && sourceType.isWithHeader() === false) {\n throw new Error(\"Loop, no header\");\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 throw new Error(\"Loop, TRANSPORTING NO FIELDS only with WHERE\");\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, scope, filename, sourceType);\n }\n for (const s of sources) {\n if (s === firstSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, 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, scope, filename, sourceType);\n }\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(t, scope, filename, rowType);\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, scope, filename);\n }\n const group = node.findDirectExpression(Expressions.LoopGroupBy);\n if (group) {\n new loop_group_by_1.LoopGroupBy().runSyntax(group, scope, filename);\n }\n }\n}\nexports.Loop = Loop;\n//# sourceMappingURL=loop.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop_at_screen.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass LoopAtScreen {\n runSyntax(node, scope, filename) {\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\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, scope, filename, new basic_1.VoidType(\"SCREEN\"));\n }\n }\n}\nexports.LoopAtScreen = LoopAtScreen;\n//# sourceMappingURL=loop_at_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop_at_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/message.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst message_source_1 = __webpack_require__(/*! ../expressions/message_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/message_source.js\");\nclass Message {\n runSyntax(node, scope, filename) {\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, scope, filename, basic_1.StringType.get());\n }\n else if (found) {\n new target_1.Target().runSyntax(found, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.MessageSource)) {\n new message_source_1.MessageSource().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Message = Message;\n//# sourceMappingURL=message.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/message.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/method_implementation.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass MethodImplementation {\n runSyntax(node, scope, filename) {\n const helper = new _object_oriented_1.ObjectOriented(scope);\n const className = 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 = scope.findClassDefinition(className);\n if (classDefinition === undefined) {\n throw new Error(\"Class definition for \\\"\" + className + \"\\\" not found\");\n }\n const { method: methodDefinition } = helper.searchMethodName(classDefinition, methodName);\n if (methodDefinition === undefined) {\n throw new Error(\"Method definition \\\"\" + methodName + \"\\\" not found\");\n }\n if (methodDefinition.isStatic() === false) {\n scope.push(_scope_type_1.ScopeType.MethodInstance, methodName, node.getFirstToken().getStart(), filename);\n scope.addList(classDefinition.getAttributes().getInstance());\n }\n scope.push(_scope_type_1.ScopeType.Method, methodName, node.getFirstToken().getStart(), filename);\n scope.addReference(methodToken, methodDefinition, _reference_1.ReferenceType.MethodImplementationReference, filename);\n 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 = scope.findInterfaceDefinition(i.name);\n if (idef === undefined) {\n continue;\n }\n scope.addReference(methodToken, idef, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n }\n }\n}\nexports.MethodImplementation = MethodImplementation;\n//# sourceMappingURL=method_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/method_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_database.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst database_table_1 = __webpack_require__(/*! ../expressions/database_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass ModifyDatabase {\n runSyntax(node, scope, filename) {\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n if (node.getChildren().length === 5) {\n const found = scope.findVariable(dbtab.concatTokens());\n if (found) {\n scope.addReference(dbtab.getFirstToken(), found, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n else {\n new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename);\n }\n }\n else {\n new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename);\n }\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.ModifyDatabase = ModifyDatabase;\n//# sourceMappingURL=modify_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_entities.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass ModifyEntities {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, new basic_1.VoidType(\"ModifyEntities\"));\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n}\nexports.ModifyEntities = ModifyEntities;\n//# sourceMappingURL=modify_entities.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_entities.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_internal.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst component_cond_1 = __webpack_require__(/*! ../expressions/component_cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_cond.js\");\nclass ModifyInternal {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.FSTarget);\n if (target) {\n new fstarget_1.FSTarget().runSyntax(target, scope, filename, undefined);\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(t, scope, filename);\n }\n }\n}\nexports.ModifyInternal = ModifyInternal;\n//# sourceMappingURL=modify_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_internal.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_screen.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass ModifyScreen {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.ModifyScreen = ModifyScreen;\n//# sourceMappingURL=modify_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nclass Move {\n runSyntax(node, scope, filename) {\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, scope, filename) : undefined;\n for (const t of targets) {\n if (t === firstTarget) {\n continue;\n }\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n const source = node.findDirectExpression(Expressions.Source);\n const sourceType = source ? new source_1.Source().runSyntax(source, scope, filename, targetType) : undefined;\n if (sourceType === undefined) {\n throw new Error(\"No source type determined\");\n }\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, sourceType);\n targetType = sourceType;\n }\n if (node.findDirectTokenByText(\"?=\")) {\n if (new _type_utils_1.TypeUtils(scope).isCastable(sourceType, targetType) === false) {\n throw new Error(\"Incompatible types\");\n }\n }\n else if (new _type_utils_1.TypeUtils(scope).isAssignable(sourceType, targetType) === false) {\n throw new Error(\"Incompatible types\");\n }\n }\n}\nexports.Move = Move;\n//# sourceMappingURL=move.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move_corresponding.js": +/*!**********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass MoveCorresponding {\n runSyntax(node, scope, filename) {\n const s = node.findDirectExpression(Expressions.Source);\n const t = node.findDirectExpression(Expressions.Target);\n if (s === undefined || t === undefined) {\n throw new Error(\"MoveCorresponding, source or target not found\");\n }\n const sourceType = new source_1.Source().runSyntax(s, scope, filename);\n const targetType = new target_1.Target().runSyntax(t, scope, filename);\n if (scope.getVersion() < version_1.Version.v740sp05 && scope.getVersion() !== version_1.Version.Cloud) {\n if (sourceType instanceof basic_1.TableType && sourceType.isWithHeader() === false) {\n throw new Error(\"MOVE-CORRESPONDING with tables possible from v740sp05\");\n }\n else if (targetType instanceof basic_1.TableType && targetType.isWithHeader() === false) {\n throw new Error(\"MOVE-CORRESPONDING with tables possible from v740sp05\");\n }\n }\n }\n}\nexports.MoveCorresponding = MoveCorresponding;\n//# sourceMappingURL=move_corresponding.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move_corresponding.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/multiply.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Multiply {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Multiply = Multiply;\n//# sourceMappingURL=multiply.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/multiply.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/open_dataset.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass OpenDataset {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.OpenDataset = OpenDataset;\n//# sourceMappingURL=open_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/open_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/pack.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Pack {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Pack = Pack;\n//# sourceMappingURL=pack.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/pack.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/parameter.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nclass Parameter {\n runSyntax(node, scope, filename) {\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 throw new Error(\"Parameter name too long, \" + nameToken.getStr());\n }\n const bfound = new basic_types_1.BasicTypes(filename, scope).parseType(node);\n if (nameToken && bfound) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, bfound));\n return;\n }\n if (nameToken) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, new basic_1.UnknownType(\"Parameter, fallback\")));\n }\n }\n}\nexports.Parameter = Parameter;\n//# sourceMappingURL=parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/perform.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Perform {\n runSyntax(node, scope, filename) {\n if (!(node.get() instanceof Statements.Perform)) {\n throw new Error(\"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, scope, filename);\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, scope, filename);\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, scope, filename);\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 = scope.findFormDefinition(name);\n if (found === undefined) {\n throw new Error(\"FORM definition \\\"\" + name + \"\\\" not found\");\n }\n scope.addReference(expr.getFirstToken(), found, _reference_1.ReferenceType.FormReference, filename);\n // todo, also check parameters match\n }\n}\nexports.Perform = Perform;\n//# sourceMappingURL=perform.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/perform.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst message_source_1 = __webpack_require__(/*! ../expressions/message_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/message_source.js\");\nconst raise_with_1 = __webpack_require__(/*! ../expressions/raise_with */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/raise_with.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst method_parameters_1 = __webpack_require__(/*! ../expressions/method_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_parameters.js\");\nclass Raise {\n runSyntax(node, scope, filename) {\n // todo\n var _a, _b, _c, _d, _e;\n const helper = new _object_oriented_1.ObjectOriented(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 (className) {\n const found = scope.existsObject(className);\n if (found.found === true && found.id) {\n scope.addReference(classTok, found.id, found.type, filename);\n const def = scope.findObjectDefinition(className);\n method = (_b = helper.searchMethodName(def, \"CONSTRUCTOR\")) === null || _b === void 0 ? void 0 : _b.method;\n }\n else if (scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n scope.addReference(classTok, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, extra);\n method = new basic_1.VoidType(className);\n }\n else {\n throw new Error(\"RAISE, unknown class \" + className);\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, scope, filename);\n if (type instanceof basic_1.VoidType) {\n method = type;\n }\n else if (type instanceof basic_1.ObjectReferenceType) {\n const def = 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 throw new Error(\"RAISE EXCEPTION, must be object reference, got \" + type.constructor.name);\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, scope, method, filename, true);\n }\n for (const s of node.findDirectExpressions(Expressions.RaiseWith)) {\n new raise_with_1.RaiseWith().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource2)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.MessageSource)) {\n new message_source_1.MessageSource().runSyntax(s, scope, filename);\n }\n const id = (_d = node.findExpressionAfterToken(\"ID\")) === null || _d === void 0 ? void 0 : _d.concatTokens();\n const number = (_e = node.findDirectExpression(Expressions.MessageNumber)) === null || _e === void 0 ? void 0 : _e.concatTokens();\n if ((id === null || id === void 0 ? void 0 : id.startsWith(\"'\")) && number) {\n const messageClass = id.substring(1, id.length - 1).toUpperCase();\n scope.getMSAGReferences().addUsing(filename, node.getFirstToken(), messageClass, number);\n }\n }\n}\nexports.Raise = Raise;\n//# sourceMappingURL=raise.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise_event.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass RaiseEvent {\n runSyntax(node, scope, filename) {\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 = scope.findInterfaceDefinition(name);\n if (idef) {\n scope.addReference(f.getFirstToken(), idef, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n }\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.RaiseEvent = RaiseEvent;\n//# sourceMappingURL=raise_event.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise_event.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/ranges.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nclass Ranges {\n runSyntax(node, scope, filename) {\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.FieldSub);\n if (typeExpression === undefined) {\n throw new Error(\"Ranges, unexpected node\");\n }\n const found = new basic_types_1.BasicTypes(filename, scope).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, filename, type);\n scope.addIdentifier(id);\n }\n }\n}\nexports.Ranges = Ranges;\n//# sourceMappingURL=ranges.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/ranges.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_entities.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass ReadEntities {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, new basic_1.VoidType(\"ReadEntities\"));\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n}\nexports.ReadEntities = ReadEntities;\n//# sourceMappingURL=read_entities.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_entities.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_report.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass ReadReport {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.ReadReport = ReadReport;\n//# sourceMappingURL=read_report.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_report.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_table.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js\");\nconst component_compare_simple_1 = __webpack_require__(/*! ../expressions/component_compare_simple */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/component_compare_simple.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nclass ReadTable {\n runSyntax(node, scope, filename) {\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, scope, filename) : undefined;\n if (sourceType === undefined) {\n throw new Error(\"No source type determined, read table\");\n }\n else if (!(sourceType instanceof basic_1.TableType) && !(sourceType instanceof basic_1.VoidType)) {\n throw new Error(\"Read table, not a table type\");\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, scope, filename, rowType);\n }\n const indexSource = node.findExpressionAfterToken(\"INDEX\");\n if (indexSource) {\n const indexType = new source_1.Source().runSyntax(indexSource, scope, filename);\n if (new _type_utils_1.TypeUtils(scope).isAssignable(indexType, basic_1.IntegerType.get()) === false) {\n throw new Error(\"READ TABLE, INDEX must be simple\");\n }\n }\n const fromSource = node.findExpressionAfterToken(\"FROM\");\n if (fromSource) {\n const fromType = new source_1.Source().runSyntax(fromSource, scope, filename);\n if (new _type_utils_1.TypeUtils(scope).isAssignable(fromType, basic_1.IntegerType.get()) === false) {\n throw new Error(\"READ TABLE, FROM must be simple\");\n }\n }\n for (const s of sources) {\n if (s === firstSource || s === indexSource || s === fromSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, scope, filename);\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 if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, rowType);\n return;\n }\n const fst = target.findDirectExpression(Expressions.FSTarget);\n if (fst) {\n new fstarget_1.FSTarget().runSyntax(fst, scope, filename, rowType);\n return;\n }\n /*\n const inlinefs = target.findFirstExpression(Expressions.InlineFS);\n if (inlinefs) {\n new InlineFS().runSyntax(inlinefs, scope, filename, sourceType);\n return;\n }\n */\n const t = target.findFirstExpression(Expressions.Target);\n if (t) {\n const targetType = new target_1.Target().runSyntax(t, scope, filename);\n if (new _type_utils_1.TypeUtils(scope).isAssignable(rowType, targetType) === false) {\n throw new Error(\"Incompatible types\");\n }\n return;\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 throw new Error(\"READ TABLE, define INTO or TRANSPORTING NO FIELDS\");\n }\n }\n }\n}\nexports.ReadTable = ReadTable;\n//# sourceMappingURL=read_table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_textpool.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass ReadTextpool {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.ReadTextpool = ReadTextpool;\n//# sourceMappingURL=read_textpool.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_textpool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/receive.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass Receive {\n runSyntax(node, scope, filename) {\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, scope, filename);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Receive = Receive;\n//# sourceMappingURL=receive.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/receive.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/replace.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Replace {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Replace = Replace;\n//# sourceMappingURL=replace.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/replace.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/scan.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Scan {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Scan = Scan;\n//# sourceMappingURL=scan.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/scan.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/search.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass Search {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Search = Search;\n//# sourceMappingURL=search.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/search.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst select_1 = __webpack_require__(/*! ../expressions/select */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js\");\nclass Select {\n runSyntax(node, scope, filename) {\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, scope, filename, last === false);\n }\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select_loop.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst select_loop_1 = __webpack_require__(/*! ../expressions/select_loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js\");\nclass SelectLoop {\n runSyntax(node, scope, filename) {\n const s = node.findDirectExpression(Expressions.SelectLoop);\n if (s) {\n new select_loop_1.SelectLoop().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SelectLoop = SelectLoop;\n//# sourceMappingURL=select_loop.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select_loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selection_screen.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass SelectionScreen {\n runSyntax(node, scope, filename) {\n const field = node.findFirstExpression(Expressions.InlineField);\n if (field === undefined) {\n return;\n }\n const name = field.getFirstToken();\n const concat = node.concatTokens().toUpperCase();\n if (concat.includes(\"BEGIN OF TABBED BLOCK\")) {\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 scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(name, filename, type, [\"selection_screen_tab\" /* IdentifierMeta.SelectionScreenTab */]));\n }\n else if (concat.startsWith(\"SELECTION-SCREEN TAB\")) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(name, filename, new basic_1.CharacterType(83), [\"selection_screen_tab\" /* IdentifierMeta.SelectionScreenTab */]));\n }\n else {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(name, filename, new basic_1.CharacterType(83)));\n }\n }\n}\nexports.SelectionScreen = SelectionScreen;\n//# sourceMappingURL=selection_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selection_screen.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selectoption.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass SelectOption {\n runSyntax(node, scope, filename) {\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 throw new Error(\"Select-option name too long, \" + nameToken.getStr());\n }\n for (const d of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n const nameExpression = node.findFirstExpression(Expressions.FieldChain);\n let found = new basic_types_1.BasicTypes(filename, scope).resolveLikeName(nameExpression);\n if (found && nameToken) {\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 scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, new basic_1.TableType(stru, { withHeader: true, keyType: basic_1.TableKeyType.default })));\n return;\n }\n if (nameToken) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, new basic_1.UnknownType(\"Select option, fallback\")));\n }\n }\n}\nexports.SelectOption = SelectOption;\n//# sourceMappingURL=selectoption.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selectoption.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_bit.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nclass SetBit {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n const typ = new target_1.Target().runSyntax(t, scope, filename);\n if (typ && new _type_utils_1.TypeUtils(scope).isHexLike(typ) === false) {\n throw new Error(\"Input must be byte-like\");\n }\n }\n }\n}\nexports.SetBit = SetBit;\n//# sourceMappingURL=set_bit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_bit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_handler.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst method_source_1 = __webpack_require__(/*! ../expressions/method_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_source.js\");\nclass SetHandler {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.MethodSource)) {\n new method_source_1.MethodSource().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SetHandler = SetHandler;\n//# sourceMappingURL=set_handler.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_handler.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_locale.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SetLocale {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.SetLocale = SetLocale;\n//# sourceMappingURL=set_locale.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_locale.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_parameter.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SetParameter {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SetParameter = SetParameter;\n//# sourceMappingURL=set_parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_pf_status.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SetPFStatus {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SetPFStatus = SetPFStatus;\n//# sourceMappingURL=set_pf_status.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_pf_status.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_titlebar.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SetTitlebar {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SetTitlebar = SetTitlebar;\n//# sourceMappingURL=set_titlebar.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_titlebar.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/shift.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nclass Shift {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n throw new Error(\"Shift, Target not found\");\n }\n const targetType = new target_1.Target().runSyntax(target, scope, filename);\n if (node.concatTokens().toUpperCase().includes(\" IN BYTE MODE\")) {\n if (new _type_utils_1.TypeUtils(scope).isHexLike(targetType) === false) {\n throw new Error(\"Shift, Target not hex like\");\n }\n }\n else {\n if (new _type_utils_1.TypeUtils(scope).isCharLike(targetType) === false) {\n throw new Error(\"Shift, Target not char like\");\n }\n }\n }\n}\nexports.Shift = Shift;\n//# sourceMappingURL=shift.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/shift.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/sort.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass Sort {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(s, scope, filename);\n }\n const tnode = node.findDirectExpression(Expressions.Target);\n if (tnode) {\n const ttype = new target_1.Target().runSyntax(tnode, scope, filename);\n if (ttype instanceof basic_1.TableType) {\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 throw new Error(\"SORT, table row is not structured\");\n }\n else if (rowType.getComponentByName(cname) === undefined) {\n throw new Error(`Field ${cname} does not exist in table row structure`);\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 throw new Error(\"SORT, must be a internal table\");\n }\n }\n }\n}\nexports.Sort = Sort;\n//# sourceMappingURL=sort.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/sort.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/split.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nclass Split {\n runSyntax(node, scope, filename) {\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, scope, filename, type);\n }\n else {\n let targetType = new target_1.Target().runSyntax(target, scope, filename);\n if (intoTable) {\n if (!(targetType instanceof basic_1.TableType)\n && !(targetType instanceof basic_1.UnknownType)\n && !(targetType instanceof basic_1.VoidType)) {\n throw new Error(\"Into must be table typed\");\n }\n if (targetType instanceof basic_1.TableType) {\n targetType = targetType.getRowType();\n }\n }\n if (new _type_utils_1.TypeUtils(scope).isCharLikeStrict(targetType) === false) {\n throw new Error(\"Incompatible, target not character like\");\n }\n }\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Split = Split;\n//# sourceMappingURL=split.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/split.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/static.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_types_1 = __webpack_require__(/*! ../basic_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst type_table_1 = __webpack_require__(/*! ../expressions/type_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js\");\nclass Static {\n runSyntax(node, scope, filename) {\n const tt = node.findFirstExpression(Expressions.TypeTable);\n if (tt) {\n const ttfound = new type_table_1.TypeTable().runSyntax(node, scope, filename);\n if (ttfound) {\n return ttfound;\n }\n }\n const found = new basic_types_1.BasicTypes(filename, scope).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(), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/static.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/submit.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass Submit {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Submit = Submit;\n//# sourceMappingURL=submit.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/submit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Subtract {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Subtract = Subtract;\n//# sourceMappingURL=subtract.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract_corresponding.js": +/*!**************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass SubtractCorresponding {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.SubtractCorresponding = SubtractCorresponding;\n//# sourceMappingURL=subtract_corresponding.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract_corresponding.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/syntax_check.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass SyntaxCheck {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.SyntaxCheck = SyntaxCheck;\n//# sourceMappingURL=syntax_check.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/syntax_check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/system_call.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass SystemCall {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SystemCall = SystemCall;\n//# sourceMappingURL=system_call.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/system_call.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/tables.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\");\nclass Tables {\n runSyntax(node, scope, filename) {\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.substr(1);\n }\n // lookupTableOrView will also give Unknown and Void\n const found = (_b = scope.getDDIC()) === null || _b === void 0 ? void 0 : _b.lookupTableOrView(name);\n if (found) {\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: found.object, filename: filename, token: nameToken });\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, found.type));\n return;\n }\n // this should never happen,\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, new unknown_type_1.UnknownType(\"Tables, fallback\")));\n }\n}\nexports.Tables = Tables;\n//# sourceMappingURL=tables.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/tables.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/transfer.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Transfer {\n runSyntax(node, scope, filename) {\n for (const source of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(source, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.Transfer = Transfer;\n//# sourceMappingURL=transfer.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/transfer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/translate.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Translate {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Translate = Translate;\n//# sourceMappingURL=translate.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/translate.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/truncate_dataset.js": +/*!********************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass TruncateDataset {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.TruncateDataset = TruncateDataset;\n//# sourceMappingURL=truncate_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/truncate_dataset.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/basic_types.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst Expressions = __webpack_require__(/*! ../../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst type_table_1 = __webpack_require__(/*! ../expressions/type_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/type_table.js\");\nclass Type {\n runSyntax(node, scope, filename, qualifiedNamePrefix) {\n const tt = node.findFirstExpression(Expressions.TypeTable);\n if (tt) {\n return new type_table_1.TypeTable().runSyntax(node, scope, filename, qualifiedNamePrefix);\n }\n const found = new basic_types_1.BasicTypes(filename, scope).simpleType(node, qualifiedNamePrefix);\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(), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unassign.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Unassign {\n runSyntax(node, scope, filename) {\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 = scope.findVariable(token.getStr());\n if (found === undefined) {\n throw new Error(`\"${token.getStr()}\" not found, Unassign`);\n }\n scope.addReference(token, found, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n }\n}\nexports.Unassign = Unassign;\n//# sourceMappingURL=unassign.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unassign.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unpack.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass Unpack {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Unpack = Unpack;\n//# sourceMappingURL=unpack.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unpack.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/update_database.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst identifier_1 = __webpack_require__(/*! ../../1_lexer/tokens/identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js\");\nconst database_table_1 = __webpack_require__(/*! ../expressions/database_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/database_table.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nclass UpdateDatabase {\n runSyntax(node, scope, filename) {\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename);\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 = scope.getDDIC().lookupTable(tokenName.getStr());\n if (found instanceof basic_1.StructureType) {\n scope.push(_scope_type_1.ScopeType.OpenSQL, \"UPDATE\", tokenName.getStart(), 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, filename, field.type);\n scope.addIdentifier(id);\n }\n }\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n if (scope.getType() === _scope_type_1.ScopeType.OpenSQL) {\n scope.pop(node.getLastToken().getEnd());\n }\n }\n}\nexports.UpdateDatabase = UpdateDatabase;\n//# sourceMappingURL=update_database.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/update_database.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/wait.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nclass Wait {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Wait = Wait;\n//# sourceMappingURL=wait.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/wait.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass When {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.When = When;\n//# sourceMappingURL=when.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when_type.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js\");\nclass WhenType {\n runSyntax(node, scope, filename) {\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 = scope.findObjectDefinition(className);\n if (found === undefined && scope.getDDIC().inErrorNamespace(className) === false) {\n type = new basic_1.VoidType(className);\n }\n else if (found === undefined) {\n throw new Error(\"Class \" + className + \" not found\");\n }\n else {\n type = new basic_1.ObjectReferenceType(found);\n }\n const inline = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, type);\n }\n }\n}\nexports.WhenType = WhenType;\n//# sourceMappingURL=when_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/while.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst cond_1 = __webpack_require__(/*! ../expressions/cond */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/cond.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nclass While {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(s, scope, filename);\n }\n }\n}\nexports.While = While;\n//# sourceMappingURL=while.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/while.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst select_1 = __webpack_require__(/*! ../expressions/select */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js\");\nconst select_loop_1 = __webpack_require__(/*! ../expressions/select_loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js\");\nclass With {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Select)) {\n new select_1.Select().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SelectLoop)) {\n new select_loop_1.SelectLoop().runSyntax(s, scope, filename);\n }\n }\n}\nexports.With = With;\n//# sourceMappingURL=with.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with_loop.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst select_1 = __webpack_require__(/*! ../expressions/select */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select.js\");\nconst select_loop_1 = __webpack_require__(/*! ../expressions/select_loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/select_loop.js\");\nclass WithLoop {\n runSyntax(node, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Select)) {\n new select_1.Select().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SelectLoop)) {\n new select_loop_1.SelectLoop().runSyntax(s, scope, filename);\n }\n }\n}\nexports.WithLoop = WithLoop;\n//# sourceMappingURL=with_loop.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with_loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/write.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst source_1 = __webpack_require__(/*! ../expressions/source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nconst target_1 = __webpack_require__(/*! ../expressions/target */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js\");\nconst dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js\");\nconst _type_utils_1 = __webpack_require__(/*! ../_type_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js\");\nconst field_chain_1 = __webpack_require__(/*! ../expressions/field_chain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/field_chain.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Write {\n runSyntax(node, scope, filename) {\n // todo, more\n const second = node.getChildren()[1];\n for (const s of node.findAllExpressions(Expressions.Source)) {\n const type = new source_1.Source().runSyntax(s, scope, filename);\n if (s === second\n && new _type_utils_1.TypeUtils(scope).isCharLike(type) === false\n && new _type_utils_1.TypeUtils(scope).isHexLike(type) === false) {\n throw new Error(\"Source not character like\");\n }\n }\n for (const s of node.findAllExpressions(Expressions.SimpleFieldChain2)) {\n new field_chain_1.FieldChain().runSyntax(s, scope, filename, _reference_1.ReferenceType.DataReadReference);\n }\n for (const s of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(s, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.Write = Write;\n//# sourceMappingURL=write.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/write.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/class_data.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst class_data_1 = __webpack_require__(/*! ../statements/class_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_data.js\");\nclass ClassData {\n runSyntax(node, scope, filename) {\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, scope, filename);\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, filename, new Basic.StructureType(components), [\"static\" /* IdentifierMeta.Static */], values);\n }\n}\nexports.ClassData = ClassData;\n//# sourceMappingURL=class_data.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/class_data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/constants.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst constant_1 = __webpack_require__(/*! ../statements/constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js\");\nclass Constants {\n runSyntax(node, scope, filename) {\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 Error(\"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, scope, filename);\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, scope, filename);\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, 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/constants.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/data.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst data_1 = __webpack_require__(/*! ../statements/data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Data {\n runSyntax(node, scope, filename) {\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, scope, filename);\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, scope, filename);\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 const foundId = scope.findType(typeName);\n let found = foundId === null || foundId === void 0 ? void 0 : foundId.getType();\n if (found === undefined) {\n const f = 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 scope.addReference(typeToken, foundId, _reference_1.ReferenceType.TypeReference, filename);\n }\n if (found instanceof Basic.VoidType) {\n if (table === true) {\n return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.TableType(found, { withHeader: true, keyType: Basic.TableKeyType.default }));\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name, filename, found);\n }\n }\n if (found instanceof Basic.UnknownType) {\n return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.UnknownType(\"unknown type, \" + typeName));\n }\n if (!(found instanceof Basic.StructureType)) {\n throw new Error(\"not structured, \" + typeName);\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, 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, filename, new Basic.StructureType(components), undefined, val);\n }\n }\n}\nexports.Data = Data;\n//# sourceMappingURL=data.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/statics.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst static_1 = __webpack_require__(/*! ../statements/static */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/static.js\");\n// todo, this is much like DATA, refactor?\nclass Statics {\n runSyntax(node, scope, filename) {\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, scope, filename);\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, scope, filename);\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 = scope.findType(typeName)) === null || _b === void 0 ? void 0 : _b.getType();\n if (found === undefined) {\n const f = 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 return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.TableType(found, { withHeader: true, keyType: Basic.TableKeyType.default }));\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name, filename, found);\n }\n }\n if (found instanceof Basic.UnknownType) {\n return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.UnknownType(\"unknown type, \" + typeName));\n }\n if (!(found instanceof Basic.StructureType)) {\n throw new Error(\"not structured, \" + typeName);\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, filename, new Basic.TableType(new Basic.StructureType(components), { withHeader: true, keyType: Basic.TableKeyType.default }));\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.StructureType(components));\n }\n }\n}\nexports.Statics = Statics;\n//# sourceMappingURL=statics.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/statics.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/type_enum.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst enum_type_1 = __webpack_require__(/*! ../../types/basic/enum_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/enum_type.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass TypeEnum {\n runSyntax(node, scope, filename) {\n var _a;\n let values = [];\n const types = [];\n if (!(node.get() instanceof Structures.TypeEnum)) {\n throw new Error(\"TypeEnum, unexpected type\");\n }\n const begin = node.findDirectStatement(Statements.TypeEnumBegin);\n if (begin === undefined) {\n throw new Error(\"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, 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, 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 = scope.findType(baseName);\n if (found) {\n scope.addReference(baseType, found, _reference_1.ReferenceType.TypeReference, filename);\n }\n }\n const name = begin.findFirstExpression(Expressions.NamespaceSimpleName);\n if (name) {\n let qualifiedName = name.concatTokens();\n if (scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = scope.getName() + \"=>\" + qualifiedName;\n }\n const id = new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), filename, new enum_type_1.EnumType({ qualifiedName: qualifiedName }), [\"enum\" /* IdentifierMeta.Enum */]);\n 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(), 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/type_enum.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/types.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst include_type_1 = __webpack_require__(/*! ../statements/include_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/include_type.js\");\nconst type_1 = __webpack_require__(/*! ../statements/type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js\");\nconst Basic = __webpack_require__(/*! ../../types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass Types {\n runSyntax(node, scope, filename, 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, scope, filename, 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, scope, filename);\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, scope, filename, 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, 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 (scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = scope.getName() + \"=>\" + qualifiedName;\n }\n return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.StructureType(components, qualifiedName));\n }\n}\nexports.Types = Types;\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/types.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst issue_1 = __webpack_require__(/*! ../../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _current_scope_1 = __webpack_require__(/*! ./_current_scope */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_current_scope.js\");\nconst _scope_type_1 = __webpack_require__(/*! ./_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ./_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _procedural_1 = __webpack_require__(/*! ./_procedural */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_procedural.js\");\nconst objects_1 = __webpack_require__(/*! ../../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst data_1 = __webpack_require__(/*! ./structures/data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/data.js\");\nconst type_enum_1 = __webpack_require__(/*! ./structures/type_enum */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/type_enum.js\");\nconst types_1 = __webpack_require__(/*! ./structures/types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/types.js\");\nconst statics_1 = __webpack_require__(/*! ./structures/statics */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/statics.js\");\nconst constants_1 = __webpack_require__(/*! ./structures/constants */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/constants.js\");\nconst class_definition_1 = __webpack_require__(/*! ../types/class_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_definition.js\");\nconst interface_definition_1 = __webpack_require__(/*! ../types/interface_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/interface_definition.js\");\nconst perform_1 = __webpack_require__(/*! ./statements/perform */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/perform.js\");\nconst type_1 = __webpack_require__(/*! ./statements/type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js\");\nconst constant_1 = __webpack_require__(/*! ./statements/constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js\");\nconst static_1 = __webpack_require__(/*! ./statements/static */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/static.js\");\nconst search_1 = __webpack_require__(/*! ./statements/search */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/search.js\");\nconst translate_1 = __webpack_require__(/*! ./statements/translate */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/translate.js\");\nconst modify_internal_1 = __webpack_require__(/*! ./statements/modify_internal */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_internal.js\");\nconst data_2 = __webpack_require__(/*! ./statements/data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js\");\nconst parameter_1 = __webpack_require__(/*! ./statements/parameter */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/parameter.js\");\nconst fieldsymbol_1 = __webpack_require__(/*! ./statements/fieldsymbol */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/fieldsymbol.js\");\nconst tables_1 = __webpack_require__(/*! ./statements/tables */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/tables.js\");\nconst selectoption_1 = __webpack_require__(/*! ./statements/selectoption */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selectoption.js\");\nconst interface_deferred_1 = __webpack_require__(/*! ./statements/interface_deferred */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/interface_deferred.js\");\nconst class_deferred_1 = __webpack_require__(/*! ./statements/class_deferred */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_deferred.js\");\nconst call_1 = __webpack_require__(/*! ./statements/call */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call.js\");\nconst class_implementation_1 = __webpack_require__(/*! ./statements/class_implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_implementation.js\");\nconst method_implementation_1 = __webpack_require__(/*! ./statements/method_implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/method_implementation.js\");\nconst move_1 = __webpack_require__(/*! ./statements/move */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move.js\");\nconst move_corresponding_1 = __webpack_require__(/*! ./statements/move_corresponding */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/move_corresponding.js\");\nconst catch_1 = __webpack_require__(/*! ./statements/catch */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/catch.js\");\nconst loop_1 = __webpack_require__(/*! ./statements/loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/loop.js\");\nconst read_table_1 = __webpack_require__(/*! ./statements/read_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_table.js\");\nconst select_1 = __webpack_require__(/*! ./statements/select */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select.js\");\nconst insert_internal_1 = __webpack_require__(/*! ./statements/insert_internal */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_internal.js\");\nconst split_1 = __webpack_require__(/*! ./statements/split */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/split.js\");\nconst assign_1 = __webpack_require__(/*! ./statements/assign */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assign.js\");\nconst convert_1 = __webpack_require__(/*! ./statements/convert */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/convert.js\");\nconst describe_1 = __webpack_require__(/*! ./statements/describe */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/describe.js\");\nconst read_textpool_1 = __webpack_require__(/*! ./statements/read_textpool */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_textpool.js\");\nconst find_1 = __webpack_require__(/*! ./statements/find */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/find.js\");\nconst message_1 = __webpack_require__(/*! ./statements/message */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/message.js\");\nconst get_time_1 = __webpack_require__(/*! ./statements/get_time */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_time.js\");\nconst get_parameter_1 = __webpack_require__(/*! ./statements/get_parameter */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_parameter.js\");\nconst when_type_1 = __webpack_require__(/*! ./statements/when_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when_type.js\");\nconst if_1 = __webpack_require__(/*! ./statements/if */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/if.js\");\nconst else_if_1 = __webpack_require__(/*! ./statements/else_if */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/else_if.js\");\nconst append_1 = __webpack_require__(/*! ./statements/append */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/append.js\");\nconst selection_screen_1 = __webpack_require__(/*! ./statements/selection_screen */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/selection_screen.js\");\nconst ranges_1 = __webpack_require__(/*! ./statements/ranges */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/ranges.js\");\nconst write_1 = __webpack_require__(/*! ./statements/write */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/write.js\");\nconst case_1 = __webpack_require__(/*! ./statements/case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case.js\");\nconst create_object_1 = __webpack_require__(/*! ./statements/create_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_object.js\");\nconst do_1 = __webpack_require__(/*! ./statements/do */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/do.js\");\nconst concatenate_1 = __webpack_require__(/*! ./statements/concatenate */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/concatenate.js\");\nconst call_function_1 = __webpack_require__(/*! ./statements/call_function */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_function.js\");\nconst clear_1 = __webpack_require__(/*! ./statements/clear */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/clear.js\");\nconst replace_1 = __webpack_require__(/*! ./statements/replace */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/replace.js\");\nconst get_bit_1 = __webpack_require__(/*! ./statements/get_bit */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_bit.js\");\nconst raise_1 = __webpack_require__(/*! ./statements/raise */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise.js\");\nconst delete_internal_1 = __webpack_require__(/*! ./statements/delete_internal */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_internal.js\");\nconst receive_1 = __webpack_require__(/*! ./statements/receive */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/receive.js\");\nconst when_1 = __webpack_require__(/*! ./statements/when */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/when.js\");\nconst create_data_1 = __webpack_require__(/*! ./statements/create_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_data.js\");\nconst call_transformation_1 = __webpack_require__(/*! ./statements/call_transformation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transformation.js\");\nconst get_locale_1 = __webpack_require__(/*! ./statements/get_locale */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_locale.js\");\nconst set_locale_1 = __webpack_require__(/*! ./statements/set_locale */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_locale.js\");\nconst sort_1 = __webpack_require__(/*! ./statements/sort */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/sort.js\");\nconst read_report_1 = __webpack_require__(/*! ./statements/read_report */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_report.js\");\nconst authority_check_1 = __webpack_require__(/*! ./statements/authority_check */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/authority_check.js\");\nconst insert_report_1 = __webpack_require__(/*! ./statements/insert_report */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_report.js\");\nconst get_reference_1 = __webpack_require__(/*! ./statements/get_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_reference.js\");\nconst insert_database_1 = __webpack_require__(/*! ./statements/insert_database */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_database.js\");\nconst delete_database_1 = __webpack_require__(/*! ./statements/delete_database */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_database.js\");\nconst import_dynpro_1 = __webpack_require__(/*! ./statements/import_dynpro */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import_dynpro.js\");\nconst syntax_check_1 = __webpack_require__(/*! ./statements/syntax_check */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/syntax_check.js\");\nconst import_1 = __webpack_require__(/*! ./statements/import */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/import.js\");\nconst export_1 = __webpack_require__(/*! ./statements/export */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/export.js\");\nconst scan_1 = __webpack_require__(/*! ./statements/scan */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/scan.js\");\nconst submit_1 = __webpack_require__(/*! ./statements/submit */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/submit.js\");\nconst open_dataset_1 = __webpack_require__(/*! ./statements/open_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/open_dataset.js\");\nconst close_dataset_1 = __webpack_require__(/*! ./statements/close_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/close_dataset.js\");\nconst get_run_time_1 = __webpack_require__(/*! ./statements/get_run_time */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_run_time.js\");\nconst update_database_1 = __webpack_require__(/*! ./statements/update_database */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/update_database.js\");\nconst add_1 = __webpack_require__(/*! ./statements/add */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add.js\");\nconst subtract_1 = __webpack_require__(/*! ./statements/subtract */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract.js\");\nconst add_corresponding_1 = __webpack_require__(/*! ./statements/add_corresponding */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/add_corresponding.js\");\nconst subtract_corresponding_1 = __webpack_require__(/*! ./statements/subtract_corresponding */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/subtract_corresponding.js\");\nconst multiply_1 = __webpack_require__(/*! ./statements/multiply */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/multiply.js\");\nconst divide_1 = __webpack_require__(/*! ./statements/divide */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/divide.js\");\nconst condense_1 = __webpack_require__(/*! ./statements/condense */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/condense.js\");\nconst controls_1 = __webpack_require__(/*! ./statements/controls */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/controls.js\");\nconst while_1 = __webpack_require__(/*! ./statements/while */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/while.js\");\nconst select_loop_1 = __webpack_require__(/*! ./statements/select_loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/select_loop.js\");\nconst check_1 = __webpack_require__(/*! ./statements/check */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/check.js\");\nconst log_point_1 = __webpack_require__(/*! ./statements/log_point */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/log_point.js\");\nconst severity_1 = __webpack_require__(/*! ../../severity */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/severity.js\");\nconst raise_event_1 = __webpack_require__(/*! ./statements/raise_event */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/raise_event.js\");\nconst form_1 = __webpack_require__(/*! ./statements/form */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/form.js\");\nconst assert_1 = __webpack_require__(/*! ./statements/assert */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/assert.js\");\nconst set_parameter_1 = __webpack_require__(/*! ./statements/set_parameter */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_parameter.js\");\nconst class_local_friends_1 = __webpack_require__(/*! ./statements/class_local_friends */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_local_friends.js\");\nconst get_badi_1 = __webpack_require__(/*! ./statements/get_badi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_badi.js\");\nconst with_1 = __webpack_require__(/*! ./statements/with */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with.js\");\nconst with_loop_1 = __webpack_require__(/*! ./statements/with_loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/with_loop.js\");\nconst system_call_1 = __webpack_require__(/*! ./statements/system_call */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/system_call.js\");\nconst collect_1 = __webpack_require__(/*! ./statements/collect */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/collect.js\");\nconst transfer_1 = __webpack_require__(/*! ./statements/transfer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/transfer.js\");\nconst modify_database_1 = __webpack_require__(/*! ./statements/modify_database */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_database.js\");\nconst truncate_dataset_1 = __webpack_require__(/*! ./statements/truncate_dataset */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/truncate_dataset.js\");\nconst call_badi_1 = __webpack_require__(/*! ./statements/call_badi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_badi.js\");\nconst call_kernel_1 = __webpack_require__(/*! ./statements/call_kernel */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_kernel.js\");\nconst pack_1 = __webpack_require__(/*! ./statements/pack */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/pack.js\");\nconst unpack_1 = __webpack_require__(/*! ./statements/unpack */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unpack.js\");\nconst format_1 = __webpack_require__(/*! ./statements/format */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/format.js\");\nconst set_pf_status_1 = __webpack_require__(/*! ./statements/set_pf_status */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_pf_status.js\");\nconst set_titlebar_1 = __webpack_require__(/*! ./statements/set_titlebar */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_titlebar.js\");\nconst call_transaction_1 = __webpack_require__(/*! ./statements/call_transaction */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/call_transaction.js\");\nconst set_handler_1 = __webpack_require__(/*! ./statements/set_handler */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_handler.js\");\nconst wait_1 = __webpack_require__(/*! ./statements/wait */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/wait.js\");\nconst delete_report_1 = __webpack_require__(/*! ./statements/delete_report */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_report.js\");\nconst shift_1 = __webpack_require__(/*! ./statements/shift */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/shift.js\");\nconst set_bit_1 = __webpack_require__(/*! ./statements/set_bit */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/set_bit.js\");\nconst modify_screen_1 = __webpack_require__(/*! ./statements/modify_screen */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_screen.js\");\nconst delete_cluster_1 = __webpack_require__(/*! ./statements/delete_cluster */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/delete_cluster.js\");\nconst unassign_1 = __webpack_require__(/*! ./statements/unassign */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/unassign.js\");\nconst insert_textpool_1 = __webpack_require__(/*! ./statements/insert_textpool */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_textpool.js\");\nconst get_cursor_1 = __webpack_require__(/*! ./statements/get_cursor */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/get_cursor.js\");\nconst loop_at_screen_1 = __webpack_require__(/*! ./statements/loop_at_screen */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/insert_field_group.js\");\nconst read_entities_1 = __webpack_require__(/*! ./statements/read_entities */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/read_entities.js\");\nconst modify_entities_1 = __webpack_require__(/*! ./statements/modify_entities */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/modify_entities.js\");\nconst commit_entities_1 = __webpack_require__(/*! ./statements/commit_entities */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/commit_entities.js\");\n// -----------------------------------\nconst map = {};\nfunction addToMap(handler) {\n if (map[handler.constructor.name] !== undefined) {\n throw new Error(\"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 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}\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, \"check_syntax\", 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 // if this returns true, then the traversal should continue with next child\n updateScopeStructure(node) {\n const filename = this.currentFile.getFilename();\n const stru = node.get();\n if (stru instanceof Structures.ClassDefinition) {\n new class_definition_1.ClassDefinition(node, filename, this.scope);\n return true;\n }\n else if (stru instanceof Structures.Interface) {\n new interface_definition_1.InterfaceDefinition(node, filename, this.scope);\n return true;\n }\n else if (stru instanceof Structures.Types) {\n this.scope.addType(new types_1.Types().runSyntax(node, this.scope, filename));\n return true;\n }\n else if (stru instanceof Structures.Constants) {\n this.scope.addIdentifier(new constants_1.Constants().runSyntax(node, this.scope, filename).type);\n return true;\n }\n else if (stru instanceof Structures.Data) {\n this.scope.addIdentifier(new data_1.Data().runSyntax(node, this.scope, filename));\n return true;\n }\n else if (stru instanceof Structures.Statics) {\n this.scope.addIdentifier(new statics_1.Statics().runSyntax(node, this.scope, filename));\n return true;\n }\n else if (stru instanceof Structures.TypeEnum) {\n const values = new type_enum_1.TypeEnum().runSyntax(node, this.scope, filename).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 // todo, refactor\n if (s instanceof Statements.Type) {\n this.scope.addType(new type_1.Type().runSyntax(node, this.scope, filename));\n return;\n }\n else if (s instanceof Statements.Constant) {\n this.scope.addIdentifier(new constant_1.Constant().runSyntax(node, this.scope, filename));\n return;\n }\n else if (s instanceof Statements.Static) {\n this.scope.addIdentifier(new static_1.Static().runSyntax(node, this.scope, filename));\n return;\n }\n else if (s instanceof Statements.Data) {\n this.scope.addIdentifier(new data_2.Data().runSyntax(node, this.scope, filename));\n return;\n }\n const name = s.constructor.name;\n if (map[name]) {\n map[name].runSyntax(node, this.scope, filename);\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 this.scope.pop(node.getLastToken().getEnd());\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/abap_file.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _abstract_file_1 = __webpack_require__(/*! ../files/_abstract_file */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/abap_file.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/abap_parser.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst lexer_1 = __webpack_require__(/*! ./1_lexer/lexer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js\");\nconst statement_parser_1 = __webpack_require__(/*! ./2_statements/statement_parser */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js\");\nconst structure_parser_1 = __webpack_require__(/*! ./3_structures/structure_parser */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/abap_file_information.js\");\nconst abap_file_1 = __webpack_require__(/*! ./abap_file */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/abap_parser.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/artifacts.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ./2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ./2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst Structures = __webpack_require__(/*! ./3_structures/structures */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/artifacts.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/flow/flow_graph.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/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 = void 0;\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 getEnd() {\n return this.endNode;\n }\n addEdge(from, to) {\n if (this.edges[from] === undefined) {\n this.edges[from] = {};\n }\n this.edges[from][to] = true;\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 });\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) {\n if (to.hasEdges() === false) {\n return from;\n }\n this.addEdge(from, to.getStart());\n to.listEdges().forEach(e => this.addEdge(e.from, e.to));\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 graph += `\"${l.from}\" -> \"${l.to}\";\\n`;\n }\n return graph.trim();\n }\n setLabel(label) {\n this.label = label;\n }\n toDigraph() {\n return `digraph G {\r\nlabelloc=\"t\";\r\nlabel=\"${this.label}\";\r\ngraph [fontname = \"helvetica\"];\r\nnode [fontname = \"helvetica\", shape=\"box\"];\r\nedge [fontname = \"helvetica\"];\r\n${this.toTextEdges()}\r\n}`;\n }\n listSources(node) {\n const set = new Set();\n for (const l of this.listEdges()) {\n if (node === l.to) {\n set.add(l.from);\n }\n }\n return Array.from(set.values());\n }\n listTargets(node) {\n const set = new Set();\n for (const l of this.listEdges()) {\n if (node === l.from) {\n set.add(l.to);\n }\n }\n return Array.from(set.values());\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, node);\n }\n for (const t of targets) {\n this.removeEdge(node, t);\n }\n for (const s of sources) {\n for (const t of targets) {\n this.addEdge(s, t);\n }\n }\n }\n if (node.startsWith(\"end#\") && sources.length === 0) {\n for (const t of targets) {\n this.removeEdge(node, t);\n }\n }\n }\n return this;\n }\n}\nexports.FlowGraph = FlowGraph;\n//# sourceMappingURL=flow_graph.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/flow/flow_graph.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/flow/statement_flow.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst flow_graph_1 = __webpack_require__(/*! ./flow_graph */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/flow/flow_graph.js\");\nclass StatementFlow {\n constructor() {\n this.counter = 0;\n }\n build(stru) {\n var _a, _b;\n const ret = [];\n const forms = stru.findAllStructures(Structures.Form);\n for (const f of forms) {\n const formName = \"FORM \" + ((_a = f.findFirstExpression(Expressions.FormName)) === null || _a === void 0 ? void 0 : _a.concatTokens());\n this.counter = 1;\n const graph = this.traverseBody(this.findBody(f), { procedureEnd: \"end#1\" });\n graph.setLabel(formName);\n ret.push(graph);\n }\n const methods = stru.findAllStructures(Structures.Method);\n for (const f of methods) {\n const methodName = \"METHOD \" + ((_b = f.findFirstExpression(Expressions.MethodName)) === null || _b === void 0 ? void 0 : _b.concatTokens());\n this.counter = 1;\n const graph = this.traverseBody(this.findBody(f), { procedureEnd: \"end#1\" });\n graph.setLabel(methodName);\n ret.push(graph);\n }\n return ret.map(f => f.reduce());\n }\n ////////////////////\n findBody(f) {\n var _a;\n return ((_a = f.findDirectStructure(Structures.Body)) === null || _a === void 0 ? void 0 : _a.getChildren()) || [];\n }\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 if (token === undefined) {\n return \"tokenError\";\n }\n return statement.get().constructor.name +\n \":\" + token.getRow() +\n \",\" + token.getCol();\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());\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);\n current = name;\n if (firstChild.get() instanceof Statements.Check) {\n if (context.loopStart) {\n graph.addEdge(name, context.loopStart);\n }\n else {\n graph.addEdge(name, context.procedureEnd);\n }\n }\n else if (firstChild.get() instanceof Statements.Assert) {\n graph.addEdge(name, context.procedureEnd);\n }\n else if (firstChild.get() instanceof Statements.Continue && context.loopStart) {\n graph.addEdge(name, context.loopStart);\n return graph;\n }\n else if (firstChild.get() instanceof Statements.Exit) {\n if (context.loopEnd) {\n graph.addEdge(name, context.loopEnd);\n }\n else {\n graph.addEdge(name, context.procedureEnd);\n }\n return graph;\n }\n else if (firstChild.get() instanceof Statements.Return) {\n graph.addEdge(name, context.procedureEnd);\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);\n }\n }\n }\n graph.addEdge(current, graph.getEnd());\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);\n graph.addGraph(ifName, sub);\n graph.addEdge(sub.getEnd(), graph.getEnd());\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);\n graph.addGraph(elseIfName, sub);\n graph.addEdge(sub.getEnd(), graph.getEnd());\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);\n graph.addGraph(elseName, sub);\n graph.addEdge(sub.getEnd(), graph.getEnd());\n }\n else {\n graph.addEdge(ifName, graph.getEnd());\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.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);\n graph.addGraph(loopName, sub);\n graph.addEdge(sub.getEnd(), loopName);\n graph.addEdge(loopName, graph.getEnd());\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);\n graph.addGraph(tryName, body);\n graph.addEdge(body.getEnd(), graph.getEnd());\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);\n graph.addGraph(catchName, catchBody);\n graph.addEdge(catchBody.getEnd(), graph.getEnd());\n }\n // TODO, handle CLEANUP\n }\n else if (type instanceof Structures.Case) {\n const caseName = this.buildName(n.getFirstStatement());\n graph.addEdge(current, caseName);\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);\n graph.addGraph(firstName, sub);\n graph.addEdge(sub.getEnd(), graph.getEnd());\n }\n if (othersFound === false) {\n graph.addEdge(caseName, graph.getEnd());\n }\n }\n else if (type instanceof Structures.CaseType) {\n const caseName = this.buildName(n.getFirstStatement());\n graph.addEdge(current, caseName);\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);\n graph.addGraph(firstName, sub);\n graph.addEdge(sub.getEnd(), graph.getEnd());\n }\n if (othersFound === false) {\n graph.addEdge(caseName, graph.getEnd());\n }\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/flow/statement_flow.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/_abstract_node.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/_abstract_node.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/expression_node.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/token_node.js\");\nconst tokens_1 = __webpack_require__(/*! ../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _abstract_node_1 = __webpack_require__(/*! ./_abstract_node */ \"../../packages/transpiler/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 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 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 findDirectTokenByText(text) {\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode && child.get().getStr().toUpperCase() === text.toUpperCase()) {\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/expression_node.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/expression_node.js\"), exports);\n__exportStar(__webpack_require__(/*! ./statement_node */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/statement_node.js\"), exports);\n__exportStar(__webpack_require__(/*! ./structure_node */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/structure_node.js\"), exports);\n__exportStar(__webpack_require__(/*! ./token_node */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/token_node.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/statement_node.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/_abstract_node.js\");\nconst token_node_1 = __webpack_require__(/*! ./token_node */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/token_node.js\");\nconst expression_node_1 = __webpack_require__(/*! ./expression_node */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/expression_node.js\");\nconst comment_1 = __webpack_require__(/*! ../1_lexer/tokens/comment */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js\");\nconst pragma_1 = __webpack_require__(/*! ../1_lexer/tokens/pragma */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js\");\nconst string_1 = __webpack_require__(/*! ../1_lexer/tokens/string */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.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_1.StringTemplate\n || token instanceof string_1.StringTemplateBegin\n || token instanceof string_1.StringTemplateMiddle\n || token instanceof string_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_1.StringTemplate\n || token instanceof string_1.StringTemplateBegin\n || token instanceof string_1.StringTemplateMiddle\n || token instanceof string_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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/statement_node.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/structure_node.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/_abstract_node.js\");\nconst statement_node_1 = __webpack_require__(/*! ./statement_node */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/structure_node.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/token_node.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/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.TokenNodeRegex = exports.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;\nclass TokenNodeRegex extends TokenNode {\n}\nexports.TokenNodeRegex = TokenNodeRegex;\n//# sourceMappingURL=token_node.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/token_node.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nclass TypedIdentifier extends _identifier_1.Identifier {\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/alias.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/alias.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/aliases.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/aliases.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Aliases = void 0;\nconst alias_1 = __webpack_require__(/*! ./alias */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/alias.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Aliases {\n constructor(node, filename, scope) {\n this.aliases = [];\n this.filename = filename;\n this.parse(node, scope, filename);\n }\n getAll() {\n return this.aliases;\n }\n getByName(name) {\n for (const a of this.aliases) {\n if (a.getName().toLowerCase() === name.toLowerCase()) {\n return a;\n }\n }\n return undefined;\n }\n /////////////////////////\n parse(node, scope, filename) {\n const cdef = node.findFirstStructure(Structures.ClassDefinition);\n if (cdef) {\n this.parseSection(cdef.findFirstStructure(Structures.PublicSection), visibility_1.Visibility.Public, scope, filename);\n this.parseSection(cdef.findFirstStructure(Structures.PrivateSection), visibility_1.Visibility.Private, scope, filename);\n this.parseSection(cdef.findFirstStructure(Structures.ProtectedSection), visibility_1.Visibility.Protected, scope, filename);\n }\n const idef = node.findFirstStructure(Structures.Interface);\n if (idef) {\n this.parseSection(idef, visibility_1.Visibility.Public, scope, filename);\n }\n }\n parseSection(node, visibility, scope, filename) {\n if (!node) {\n return;\n }\n const list = node.findAllStatements(Statements.Aliases);\n for (const a of list) {\n const name = a.findFirstExpression(Expressions.SimpleName).getFirstToken();\n const compToken = a.findFirstExpression(Expressions.Field).getFirstToken();\n const compName = compToken.getStr();\n this.aliases.push(new alias_1.Alias(name, visibility, compName, this.filename));\n if (compName.includes(\"~\")) {\n const name = compName.split(\"~\")[0];\n const idef = scope.findInterfaceDefinition(name);\n if (idef) {\n scope.addReference(compToken, idef, _reference_1.ReferenceType.ObjectOrientedReference, filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n }\n }\n }\n}\nexports.Aliases = Aliases;\n//# sourceMappingURL=aliases.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/aliases.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/any_type.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/any_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/character_type.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/character_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/clike_type.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/clike_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/csequence_type.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/csequence_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_type.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_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 // a DATA definition can be \"REF TO data\", so its not generic\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/date_type.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/date_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/decfloat16_type.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/decfloat16_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/decfloat34_type.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/decfloat34_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/decfloat_type.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/decfloat_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/enum_type.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/enum_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/float_type.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/float_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/floating_point_type.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/floating_point_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/generic_object_reference_type.js": +/*!*************************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/generic_object_reference_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/hex_type.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/hex_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/any_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cgeneric_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./character_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/character_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./clike_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/clike_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./csequence_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/csequence_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_reference_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./date_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/date_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./decfloat_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/decfloat_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./decfloat16_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/decfloat16_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./decfloat34_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/decfloat34_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./float_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/float_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./floating_point_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/floating_point_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./generic_object_reference_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/generic_object_reference_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./hex_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/hex_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./integer_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/integer_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./integer8_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/integer8_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./numeric_generic_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/numeric_generic_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./numeric_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/numeric_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./object_reference_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./packed_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/packed_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./simple_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/simple_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/string_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./structure_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/table_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./time_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/time_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unknown_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./utc_long_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/utc_long_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./void_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./xgeneric_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/xgeneric_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./xsequence_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/xsequence_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./xstring_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/xstring_type.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/integer8_type.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/integer8_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/integer_type.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/integer_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/numeric_generic_type.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/numeric_generic_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/numeric_type.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/numeric_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/object_reference_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/packed_type.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/packed_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/simple_type.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/simple_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/string_type.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/string_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass StructureType extends _abstract_type_1.AbstractType {\n constructor(components, qualifiedName, ddicName) {\n super({\n qualifiedName: qualifiedName,\n ddicName: ddicName,\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/table_type.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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) {\n var _a;\n super({ qualifiedName: qualifiedName });\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/table_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/time_type.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/time_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/utc_long_type.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/utc_long_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js\");\nclass VoidType extends _abstract_type_1.AbstractType {\n constructor(voided, name) {\n super({ qualifiedName: name });\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/xgeneric_type.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/xgeneric_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/xsequence_type.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/xsequence_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/xstring_type.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/xstring_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_attribute.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_attribute.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_attributes.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst class_attribute_1 = __webpack_require__(/*! ./class_attribute */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_attribute.js\");\nconst class_constant_1 = __webpack_require__(/*! ./class_constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_constant.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst class_data_1 = __webpack_require__(/*! ../5_syntax/statements/class_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/class_data.js\");\nconst class_data_2 = __webpack_require__(/*! ../5_syntax/structures/class_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/class_data.js\");\nconst data_1 = __webpack_require__(/*! ../5_syntax/statements/data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/data.js\");\nconst constant_1 = __webpack_require__(/*! ../5_syntax/statements/constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/constant.js\");\nconst data_2 = __webpack_require__(/*! ../5_syntax/structures/data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/data.js\");\nconst type_enum_1 = __webpack_require__(/*! ../5_syntax/structures/type_enum */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/type_enum.js\");\nconst constants_1 = __webpack_require__(/*! ../5_syntax/structures/constants */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/constants.js\");\nconst type_definitions_1 = __webpack_require__(/*! ./type_definitions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/type_definitions.js\");\nconst types_1 = __webpack_require__(/*! ../5_syntax/structures/types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/structures/types.js\");\nconst type_1 = __webpack_require__(/*! ../5_syntax/statements/type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/statements/type.js\");\nclass Attributes {\n constructor(node, filename, scope) {\n this.static = [];\n this.instance = [];\n this.constants = [];\n this.filename = filename;\n this.tlist = [];\n this.parse(node, scope);\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 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, scope) {\n const cdef = node.findDirectStructure(Structures.ClassDefinition);\n if (cdef) {\n this.parseSection(cdef.findDirectStructure(Structures.PublicSection), visibility_1.Visibility.Public, scope);\n this.parseSection(cdef.findDirectStructure(Structures.ProtectedSection), visibility_1.Visibility.Protected, scope);\n this.parseSection(cdef.findDirectStructure(Structures.PrivateSection), visibility_1.Visibility.Private, scope);\n return;\n }\n const idef = node.findDirectStructure(Structures.Interface);\n if (idef) {\n this.parseSection(idef.findDirectStructure(Structures.SectionContents), visibility_1.Visibility.Public, scope);\n return;\n }\n throw new Error(\"MethodDefinition, expected ClassDefinition or InterfaceDefinition\");\n }\n parseSection(node, visibility, scope) {\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, scope, this.filename);\n if (found !== undefined) {\n const attr = new class_attribute_1.ClassAttribute(found, visibility, found.getMeta(), found.getValue());\n this.instance.push(attr);\n scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Structures.ClassData) {\n const found = new class_data_2.ClassData().runSyntax(c, scope, this.filename);\n if (found !== undefined) {\n const attr = new class_attribute_1.ClassAttribute(found, visibility, found.getMeta(), found.getValue());\n this.static.push(attr);\n scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Structures.Constants) {\n const { type: found, values } = new constants_1.Constants().runSyntax(c, scope, this.filename);\n if (found !== undefined) {\n const attr = new class_constant_1.ClassConstant(found, visibility, values);\n this.constants.push(attr);\n scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Structures.TypeEnum) {\n const { values, types } = new type_enum_1.TypeEnum().runSyntax(c, scope, this.filename);\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 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, scope, this.filename);\n if (res) {\n scope.addType(res);\n this.tlist.push({ type: res, visibility });\n }\n }\n else {\n // begin recursion\n this.parseSection(c, visibility, scope);\n }\n }\n else if (c instanceof nodes_1.StatementNode) {\n if (ctyp instanceof Statements.Data) {\n this.instance.push(this.parseAttribute(c, visibility, scope));\n }\n else if (ctyp instanceof Statements.ClassData) {\n this.static.push(this.parseAttribute(c, visibility, scope));\n }\n else if (ctyp instanceof Statements.Constant) {\n const found = new constant_1.Constant().runSyntax(c, scope, this.filename);\n if (found) {\n const attr = new class_constant_1.ClassConstant(found, visibility, found.getValue());\n this.constants.push(attr);\n scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Statements.Type) {\n const res = new type_1.Type().runSyntax(c, scope, this.filename);\n if (res) {\n scope.addType(res);\n this.tlist.push({ type: res, visibility });\n }\n }\n }\n }\n }\n parseAttribute(node, visibility, scope) {\n let found = undefined;\n const s = node.get();\n if (s instanceof Statements.Data) {\n found = new data_1.Data().runSyntax(node, scope, this.filename);\n }\n else if (s instanceof Statements.ClassData) {\n found = new class_data_1.ClassData().runSyntax(node, scope, this.filename);\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 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_attributes.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_constant.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_constant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_definition.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_definitions.js\");\nconst expressions_1 = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst class_attributes_1 = __webpack_require__(/*! ./class_attributes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_attributes.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst aliases_1 = __webpack_require__(/*! ./aliases */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/aliases.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst event_definition_1 = __webpack_require__(/*! ./event_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/event_definition.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../5_syntax/_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass ClassDefinition extends _identifier_1.Identifier {\n constructor(node, filename, scope) {\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, filename);\n scope.addClassDefinition(this);\n this.node = node;\n this.events = [];\n this.implementing = [];\n scope.push(_scope_type_1.ScopeType.ClassDefinition, name.getStr(), name.getStart(), filename);\n this.superClass = this.findSuper(def, filename, scope);\n this.friends = this.findFriends(def, filename, scope);\n this.parse(filename, scope);\n const helper = new _object_oriented_1.ObjectOriented(scope);\n helper.fromSuperClassesAndInterfaces(this);\n helper.addAliasedTypes(this.aliases);\n this.attributes = new class_attributes_1.Attributes(this.node, this.filename, scope);\n this.types = this.attributes.getTypes();\n const events = this.node.findAllStatements(Statements.Events);\n for (const e of events) {\n this.events.push(new event_definition_1.EventDefinition(e, visibility_1.Visibility.Public, this.filename, scope)); // todo, all these are not Public\n }\n this.methodDefs = new method_definitions_1.MethodDefinitions(this.node, this.filename, scope);\n scope.pop(node.getLastToken().getEnd());\n const cdef = this.node.findFirstStatement(Statements.ClassDefinition);\n const concat = cdef.concatTokens().toUpperCase();\n this.testing = concat.includes(\" FOR TESTING\");\n this.sharedMemory = concat.includes(\" SHARED MEMORY ENABLED\");\n this.abstract = (cdef === null || cdef === void 0 ? void 0 : cdef.findDirectTokenByText(\"ABSTRACT\")) !== undefined;\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.node.findFirstExpression(Expressions.ClassGlobal) !== undefined;\n }\n isFinal() {\n return this.node.findFirstExpression(Expressions.ClassFinal) !== undefined;\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, filename, scope) {\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, filename, scope);\n const name = token === null || token === void 0 ? void 0 : token.getStr();\n return name;\n }\n findFriends(def, filename, scope) {\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, filename, scope);\n const name = token.getStr();\n result.push(name);\n }\n return result;\n }\n addReference(token, filename, scope) {\n const name = token === null || token === void 0 ? void 0 : token.getStr();\n if (name) {\n const s = scope.findClassDefinition(name);\n if (s) {\n scope.addReference(token, s, _reference_1.ReferenceType.ObjectOrientedReference, filename, { ooName: name.toUpperCase(), ooType: \"CLAS\" });\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename);\n }\n }\n }\n parse(filename, scope) {\n var _a;\n for (const node of this.node.findAllStatements(Statements.InterfaceDef)) {\n const partial = node.concatTokens().toUpperCase().includes(\" PARTIALLY IMPLEMENTED\");\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 = scope.findInterfaceDefinition(name);\n if (intf) {\n scope.addReference(token, intf, _reference_1.ReferenceType.ObjectOrientedReference, filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n else {\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedUnknownReference, filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n }\n this.aliases = new aliases_1.Aliases(this.node, this.filename, scope);\n }\n}\nexports.ClassDefinition = ClassDefinition;\n//# sourceMappingURL=class_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_implementation.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_implementation_1 = __webpack_require__(/*! ./method_implementation */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/event_definition.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst events_1 = __webpack_require__(/*! ../2_statements/statements/events */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/events.js\");\nconst expressions_1 = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_param_1 = __webpack_require__(/*! ../5_syntax/expressions/method_param */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_param.js\");\nclass EventDefinition extends _identifier_1.Identifier {\n constructor(node, _visibility, filename, scope) {\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(), filename);\n this.parameters = [];\n this.parse(node, filename, scope);\n }\n getParameters() {\n return this.parameters;\n }\n ///////////////\n parse(node, filename, scope) {\n for (const e of node.findAllExpressions(expressions_1.MethodParam)) {\n this.parameters.push(new method_param_1.MethodParam().runSyntax(e, scope, filename, []));\n }\n }\n}\nexports.EventDefinition = EventDefinition;\n//# sourceMappingURL=event_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/event_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/form_definition.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Tokens = __webpack_require__(/*! ../1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ./_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst form_param_1 = __webpack_require__(/*! ../5_syntax/expressions/form_param */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/form_param.js\");\nconst basic_1 = __webpack_require__(/*! ./basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass FormDefinition extends _identifier_1.Identifier {\n constructor(node, filename, scope) {\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, filename);\n this.node = st;\n this.tableParameters = this.findTables(scope, filename);\n this.usingParameters = this.findType(Expressions.FormUsing, scope);\n this.changingParameters = this.findType(Expressions.FormChanging, scope);\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(scope, filename) {\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(), filename, new basic_1.VoidType(\"FORM:UNTYPED\"), [\"form_parameter\" /* IdentifierMeta.FormParameter */]));\n }\n else {\n const p = new form_param_1.FormParam().runSyntax(param, scope, this.filename);\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(), filename, type, [\"form_parameter\" /* IdentifierMeta.FormParameter */]));\n }\n }\n return ret;\n }\n findType(type, scope) {\n const found = this.node.findFirstExpression(type);\n if (found === undefined) {\n return [];\n }\n return this.findParams(found, scope);\n }\n findParams(node, scope) {\n const res = [];\n for (const param of node.findAllExpressions(Expressions.FormParam)) {\n const p = new form_param_1.FormParam().runSyntax(param, scope, this.filename);\n res.push(p);\n }\n return res;\n }\n}\nexports.FormDefinition = FormDefinition;\n//# sourceMappingURL=form_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/form_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/function_module_definition.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/function_module_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_attribute.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_attributes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_attributes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_constant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_constant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/form_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_module_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/function_module_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/interface_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_definitions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_definitions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_definitions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/type_definitions.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/interface_definition.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst class_attributes_1 = __webpack_require__(/*! ./class_attributes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/class_attributes.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst event_definition_1 = __webpack_require__(/*! ./event_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/event_definition.js\");\nconst method_definitions_1 = __webpack_require__(/*! ./method_definitions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_definitions.js\");\nconst aliases_1 = __webpack_require__(/*! ./aliases */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/aliases.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass InterfaceDefinition extends _identifier_1.Identifier {\n constructor(node, filename, scope) {\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, filename);\n scope.addInterfaceDefinition(this);\n this.node = node;\n this.events = [];\n this.implementing = [];\n scope.push(_scope_type_1.ScopeType.Interface, name.getStr(), node.getFirstToken().getStart(), filename);\n this.parse(scope);\n 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.isGlobal();\n }\n isGlobal() {\n return this.node.findFirstExpression(Expressions.ClassGlobal) !== undefined;\n }\n getMethodDefinitions() {\n return this.methodDefinitions;\n }\n /////////////////\n parse(scope) {\n var _a;\n // todo, proper sequencing, the statements should be processed line by line\n this.attributes = new class_attributes_1.Attributes(this.node, this.filename, scope);\n this.typeDefinitions = this.attributes.getTypes();\n this.aliases = new aliases_1.Aliases(this.node, this.filename, scope);\n // todo, cleanup aliases, vs \"object_oriented.ts\" vs \"class_implementation.ts\"\n for (const a of this.aliases.getAll()) {\n const [objName, fieldName] = a.getComponent().split(\"~\");\n const idef = scope.findInterfaceDefinition(objName);\n if (idef) {\n const found = idef.getTypeDefinitions().getByName(fieldName);\n if (found) {\n scope.addTypeNamed(a.getName(), found);\n }\n }\n }\n this.methodDefinitions = new method_definitions_1.MethodDefinitions(this.node, this.filename, scope);\n const events = this.node.findAllStatements(Statements.Events);\n for (const e of events) {\n this.events.push(new event_definition_1.EventDefinition(e, visibility_1.Visibility.Public, this.filename, scope));\n }\n for (const i of this.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 = scope.findInterfaceDefinition(name);\n if (idef) {\n scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, this.filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n 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}\nexports.InterfaceDefinition = InterfaceDefinition;\n//# sourceMappingURL=interface_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/interface_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/message.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/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 return (this.getMessage().match(/&/g) || []).length;\n }\n}\nexports.Message = Message;\n//# sourceMappingURL=message.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/message.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_definition.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst method_parameters_1 = __webpack_require__(/*! ./method_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_parameters.js\");\nconst _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"../../packages/transpiler/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, filename, scope) {\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(), 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 = scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n scope.addReference(found.getFirstToken(), idef, _reference_1.ReferenceType.ObjectOrientedReference, 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 = scope.findClassDefinition(name);\n if (clas) {\n scope.addReference(token, clas, _reference_1.ReferenceType.ObjectOrientedReference, filename, { ooName: name.toUpperCase(), ooType: \"CLAS\" });\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n scope.addReference(token, clas, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, { ooName: name.toUpperCase(), ooType: \"CLAS\" });\n }\n else {\n scope.addReference(token, clas, _reference_1.ReferenceType.ObjectOrientedUnknownReference, 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, this.filename, scope);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_definitions.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_definition.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst statements_1 = __webpack_require__(/*! ../2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nclass MethodDefinitions {\n constructor(node, filename, scope) {\n this.all = {};\n this.all = {};\n this.filename = filename;\n this.parse(node, scope);\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, scope) {\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, this.filename, scope);\n this.all[m.getName().toUpperCase()] = m;\n }\n }\n parse(node, scope) {\n const idef = node.findDirectStructure(Structures.Interface);\n if (idef) {\n return this.parseInterface(node, scope);\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, this.filename, scope);\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, this.filename, scope);\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, this.filename, scope);\n this.all[m.getName().toUpperCase()] = m;\n }\n }\n}\nexports.MethodDefinitions = MethodDefinitions;\n//# sourceMappingURL=method_definitions.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_definitions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_implementation.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst Structures = __webpack_require__(/*! ../3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_parameters.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/method_def.js\");\nconst Expressions = __webpack_require__(/*! ../2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ./_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ./basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst method_def_returning_1 = __webpack_require__(/*! ../5_syntax/expressions/method_def_returning */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/method_param.js\");\nconst _object_oriented_1 = __webpack_require__(/*! ../5_syntax/_object_oriented */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst identifier_1 = __webpack_require__(/*! ../1_lexer/tokens/identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js\");\n// todo:\n// this.exceptions = [];\n// also consider RAISING vs EXCEPTIONS\nclass MethodParameters {\n constructor(node, filename, scope) {\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 = filename;\n this.parse(node, scope, filename);\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, scope, filename) {\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 = scope.findObjectDefinition(ooName);\n const doVoid = def ? false : !scope.getDDIC().inErrorNamespace(ooName);\n if (def) {\n scope.addReference(nameToken, def, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n }\n else if (doVoid && ooName) {\n 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(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, scope, [\"importing\" /* IdentifierMeta.MethodImporting */]);\n if (importing.concatTokens().toUpperCase().includes(\" PREFERRED PARAMETER\")) {\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, scope, [\"exporting\" /* IdentifierMeta.MethodExporting */]);\n }\n const changing = node.findFirstExpression(Expressions.MethodDefChanging);\n if (changing) {\n this.add(this.changing, changing, scope, [\"changing\" /* IdentifierMeta.MethodChanging */]);\n }\n const returning = node.findFirstExpression(Expressions.MethodDefReturning);\n if (returning) {\n this.returning = new method_def_returning_1.MethodDefReturning().runSyntax(returning, scope, this.filename, [\"returning\" /* IdentifierMeta.MethodReturning */]);\n }\n this.workaroundRAP(node, scope, filename);\n }\n workaroundRAP(node, scope, filename) {\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(), filename, new basic_1.VoidType(\"RapMethodParameter\"), [\"importing\" /* IdentifierMeta.MethodImporting */]));\n }\n if (node.concatTokens().toUpperCase().includes(\" FOR VALIDATE \")\n || node.concatTokens().toUpperCase().includes(\" FOR BEHAVIOR \")\n || node.concatTokens().toUpperCase().includes(\" FOR FEATURES \")\n || node.concatTokens().toUpperCase().includes(\" FOR MODIFY \")) {\n const token = isRap.getFirstToken();\n this.exporting.push(new _typed_identifier_1.TypedIdentifier(new identifier_1.Identifier(token.getStart(), \"failed\"), 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\"), 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\"), 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, filename, new basic_1.VoidType(\"RapMethodParameter\"), [\"exporting\" /* IdentifierMeta.MethodExporting */]));\n }\n // its some kind of magic\n if (scope.getName().toUpperCase() === \"CL_ABAP_BEHAVIOR_SAVER\") {\n const tempChanging = this.changing.map(c => new _typed_identifier_1.TypedIdentifier(c.getToken(), 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(), 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, scope, meta) {\n var _a;\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 (opt.concatTokens().toUpperCase().startsWith(\"VALUE(\")) {\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 target.push(new method_param_1.MethodParam().runSyntax(p, scope, this.filename, [...meta, ...extraMeta]));\n if (opt.getLastToken().getStr().toUpperCase() === \"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 = (_a = opt.findFirstExpression(Expressions.Default)) === null || _a === void 0 ? void 0 : _a.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, scope, this.filename, meta));\n }\n }\n}\nexports.MethodParameters = MethodParameters;\n//# sourceMappingURL=method_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/type_definitions.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/type_definitions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/artifacts_objects.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _unknown_object_1 = __webpack_require__(/*! ./objects/_unknown_object */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/artifacts_objects.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/artifacts_rules.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/artifacts_rules.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_determine_types.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass CDSDetermineTypes {\n parseType(_reg, parsedData) {\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 components.push({\n name: f.name,\n type: new basic_1.VoidType(\"DDLS:fieldname\"),\n });\n }\n return new basic_1.StructureType(components);\n }\n }\n}\nexports.CDSDetermineTypes = CDSDetermineTypes;\n//# sourceMappingURL=cds_determine_types.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_determine_types.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_lexer.js": +/*!****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_lexer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_parser.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst combi_1 = __webpack_require__(/*! ../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst cds_lexer_1 = __webpack_require__(/*! ./cds_lexer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_lexer.js\");\nconst Expressions = __webpack_require__(/*! ./expressions */ \"../../packages/transpiler/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 return undefined;\n }\n return res[0];\n }\n}\nexports.CDSParser = CDSParser;\n//# sourceMappingURL=cds_parser.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_parser.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_aggregate.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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);\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_aggregate.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotate.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotate.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_annotation_array_1 = __webpack_require__(/*! ./cds_annotation_array */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_array.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_annotation_simple_1 = __webpack_require__(/*! ./cds_annotation_simple */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_array.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_object.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_annotation_simple_1 = __webpack_require__(/*! ./cds_annotation_simple */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_simple.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_simple.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_arithmetics.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_integer_1 = __webpack_require__(/*! ./cds_integer */ \"../../packages/transpiler/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 return (0, combi_1.seq)(val, operator, val);\n }\n}\nexports.CDSArithmetics = CDSArithmetics;\n//# sourceMappingURL=cds_arithmetics.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_arithmetics.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_as.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_as.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_association.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_cardinality_1 = __webpack_require__(/*! ./cds_cardinality */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_association.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_cardinality.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_cardinality.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_case.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_cast.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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, 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_cast.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_composition.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_cardinality_1 = __webpack_require__(/*! ./cds_cardinality */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_composition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_condition.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_integer_1 = __webpack_require__(/*! ./cds_integer */ \"../../packages/transpiler/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.opt)((0, combi_1.seq)(\".\", (0, combi_1.alt)(_1.CDSName, _1.CDSString))));\n const left = (0, combi_1.alt)(name, _1.CDSFunction);\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.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.star)((0, combi_1.seq)((0, combi_1.alt)(\"AND\", \"OR\"), (0, combi_1.alt)(condition, paren))));\n }\n}\nexports.CDSCondition = CDSCondition;\n//# sourceMappingURL=cds_condition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_condition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_abstract.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_name_1 = __webpack_require__(/*! ./cds_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_abstract.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_custom.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_name_1 = __webpack_require__(/*! ./cds_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js\");\nconst cds_type_1 = __webpack_require__(/*! ./cds_type */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_custom.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_projection.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst __1 = __webpack_require__(/*! ../.. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_projection.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_view.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst __1 = __webpack_require__(/*! ../.. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_name_1 = __webpack_require__(/*! ./cds_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js\");\nconst cds_select_1 = __webpack_require__(/*! ./cds_select */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_select.js\");\nconst cds_with_parameters_1 = __webpack_require__(/*! ./cds_with_parameters */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_view.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_element.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_as_1 = __webpack_require__(/*! ./cds_as */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_as.js\");\nconst cds_cast_1 = __webpack_require__(/*! ./cds_cast */ \"../../packages/transpiler/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.CDSFunction, _1.CDSArithmetics, 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), (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)(_1.CDSParameters), (0, combi_1.star)((0, combi_1.seq)(\".\", _1.CDSName, (0, combi_1.opt)(_1.CDSParameters)))), (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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_element.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_function.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSFunction 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, CDSFunction, _1.CDSArithmetics, _1.CDSCase, _1.CDSString, qualified, (0, combi_1.regex)(/^\\d+$/));\n const coalesce = (0, combi_1.seq)(\"COALESCE\", \"(\", input, \",\", input, \")\");\n const concat = (0, combi_1.seq)(\"CONCAT\", \"(\", input, \",\", input, \")\");\n const concat_with_space = (0, combi_1.seq)(\"CONCAT_WITH_SPACE\", \"(\", input, \",\", input, \",\", input, \")\");\n const dats_add_days = (0, combi_1.seq)(\"DATS_ADD_DAYS\", \"(\", input, \",\", input, \",\", input, \")\");\n const dats_add_months = (0, combi_1.seq)(\"DATS_ADD_MONTHS\", \"(\", input, \",\", input, \",\", input, \")\");\n const dats_days_between = (0, combi_1.seq)(\"DATS_DAYS_BETWEEN\", \"(\", input, \",\", input, \")\");\n const dats_is_valid = (0, combi_1.seq)(\"DATS_IS_VALID\", \"(\", input, \")\");\n const substring = (0, combi_1.seq)(\"SUBSTRING\", \"(\", input, \",\", input, \",\", input, \")\");\n const bintohex = (0, combi_1.seq)(\"BINTOHEX\", \"(\", input, \")\");\n const hextobin = (0, combi_1.seq)(\"HEXTOBIN\", \"(\", input, \")\");\n const tstmp_to_dats = (0, combi_1.seq)(\"TSTMP_TO_DATS\", \"(\", input, \",\", input, \",\", input, \",\", input, \")\");\n const tstmp_to_tims = (0, combi_1.seq)(\"TSTMP_TO_TIMS\", \"(\", input, \",\", input, \",\", input, \",\", input, \")\");\n const tstmp_to_dst = (0, combi_1.seq)(\"TSTMP_TO_DST\", \"(\", input, \",\", input, \",\", input, \",\", input, \")\");\n const dats_tims_to_tstmp = (0, combi_1.seq)(\"DATS_TIMS_TO_TSTMP\", \"(\", input, \",\", input, \",\", input, \",\", input, \",\", input, \")\");\n const tstmp_is_valid = (0, combi_1.seq)(\"TSTMP_IS_VALID\", \"(\", input, \")\");\n const tstmp_current_utctimestamp = (0, combi_1.seq)(\"TSTMP_CURRENT_UTCTIMESTAMP\", \"(\", \")\");\n const tstmp_seconds_between = (0, combi_1.seq)(\"TSTMP_SECONDS_BETWEEN\", \"(\", input, \",\", input, \",\", input, \")\");\n const tstmp_add_seconds = (0, combi_1.seq)(\"TSTMP_ADD_SECONDS\", \"(\", input, \",\", input, \",\", input, \")\");\n const abap_system_timezone = (0, combi_1.seq)(\"ABAP_SYSTEM_TIMEZONE\", \"(\", input, \",\", input, \")\");\n const abap_user_timezone = (0, combi_1.seq)(\"ABAP_USER_TIMEZONE\", \"(\", input, \",\", input, \",\", input, \")\");\n const mod = (0, combi_1.seq)(\"MOD\", \"(\", input, \",\", input, \")\");\n return (0, combi_1.altPrio)(substring, coalesce, tstmp_to_dats, concat, tstmp_to_tims, 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);\n }\n}\nexports.CDSFunction = CDSFunction;\n//# sourceMappingURL=cds_function.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_function.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_group_by.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_group_by.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_join.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_condition_1 = __webpack_require__(/*! ./cds_condition */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_join.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters_select.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters_select.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_provider_contract.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_provider_contract.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_relation.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_relation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_select.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst cds_association_1 = __webpack_require__(/*! ./cds_association */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_association.js\");\nconst cds_join_1 = __webpack_require__(/*! ./cds_join */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_join.js\");\nclass CDSSelect extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.seq)(\"SELECT\", (0, combi_1.opt)(\"DISTINCT\"), \"FROM\", _1.CDSSource, (0, combi_1.opt)(_1.CDSParametersSelect), (0, combi_1.opt)(_1.CDSAs), (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.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)(_1.CDSGroupBy), (0, combi_1.opt)(_1.CDSWhere), (0, combi_1.opt)((0, combi_1.seq)(\"UNION\", (0, combi_1.opt)(\"ALL\"), CDSSelect)));\n }\n}\nexports.CDSSelect = CDSSelect;\n//# sourceMappingURL=cds_select.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_select.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_source.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSSource 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.CDSSource = CDSSource;\n//# sourceMappingURL=cds_source.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_source.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_string.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nclass CDSString extends combi_1.Expression {\n getRunnable() {\n return (0, combi_1.regex)(/^'[\\w: -_]*'$/);\n }\n}\nexports.CDSString = CDSString;\n//# sourceMappingURL=cds_string.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_string.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_type.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_where.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_where.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_with_parameters.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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__(/*! . */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_with_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_aggregate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_annotate */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotate.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_annotation_array */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_array.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_annotation_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_annotation_simple */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation_simple.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_annotation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_annotation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_arithmetics */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_arithmetics.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_as */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_as.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_association */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_association.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_cardinality */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_cardinality.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_cast */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_cast.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_composition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_composition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_condition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_condition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_define_abstract */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_abstract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_define_custom */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_custom.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_define_projection */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_projection.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_define_view */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_define_view.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_element */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_element.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_function */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_function.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_group_by */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_group_by.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_provider_contract */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_provider_contract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_integer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_integer.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_join */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_join.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_parameters_select */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters_select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_relation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_relation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_select */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_select.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_source */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_source.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_string */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_string.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_where */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_where.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_with_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/cds_with_parameters.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/config.js": +/*!*********************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst artifacts_rules_1 = __webpack_require__(/*! ./artifacts_rules */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/artifacts_rules.js\");\nconst JSON5 = __webpack_require__(/*! json5 */ \"../../packages/transpiler/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 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 return this.config[\"rules\"][rule] ? this.config[\"rules\"][rule][key] : undefined;\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/config.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js": +/*!*******************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst basic_1 = __webpack_require__(/*! ./abap/types/basic */ \"../../packages/transpiler/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.AnyType({ 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) {\n const found = this.reg.getObject(\"DOMA\", name);\n if (found) {\n return { type: found.parseType(this.reg, dataElement), 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(text, length, decimals, infoText, qualifiedName, conversionExit, ddicName) {\n // todo: support short strings, and length of different integers, NUMC vs CHAR, min/max length\n switch (text) {\n case \"DEC\": // 1 <= len <= 31\n case \"D16F\": // 1 <= len <= 31\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 (length === undefined) {\n return new Types.UnknownType(text + \" unknown length, \" + infoText, infoText);\n }\n else if (decimals === undefined) {\n return new Types.PackedType(parseInt(length, 10), 0, { qualifiedName, conversionExit, ddicName });\n }\n return new Types.PackedType(parseInt(length, 10), parseInt(decimals, 10), { qualifiedName, conversionExit, ddicName });\n case \"ACCP\":\n return new Types.CharacterType(6, { qualifiedName, conversionExit, ddicName }); // YYYYMM\n case \"LANG\":\n return new Types.CharacterType(1, { qualifiedName, conversionExit, ddicName });\n case \"CLNT\":\n return new Types.CharacterType(3, { qualifiedName, conversionExit, ddicName });\n case \"CUKY\":\n return new Types.CharacterType(5, { qualifiedName, conversionExit, ddicName });\n case \"UNIT\": // 2 <= len <= 3\n return new Types.CharacterType(3, { qualifiedName, conversionExit, ddicName });\n case \"UTCLONG\":\n return new Types.CharacterType(27, { qualifiedName, conversionExit, ddicName });\n case \"NUMC\": // 1 <= len <= 255\n if (length === undefined) {\n return new Types.UnknownType(text + \" unknown length\", infoText);\n }\n return new Types.NumericType(parseInt(length, 10), qualifiedName);\n case \"CHAR\": // 1 <= len <= 30000 (1333 for table fields)\n case \"LCHR\": // 256 <= len <= 32000\n if (length === undefined) {\n return new Types.UnknownType(text + \" unknown length\", infoText);\n }\n return new Types.CharacterType(parseInt(length, 10), { qualifiedName, conversionExit, ddicName });\n case \"RAW\": // 1 <= len <= 32000\n case \"LRAW\": // 256 <= len <= 32000\n if (length === undefined) {\n return new Types.UnknownType(text + \" unknown length\", infoText);\n }\n return new Types.HexType(parseInt(length, 10), qualifiedName);\n case \"TIMN\": // Native HANA\n case \"TIMS\":\n return new Types.TimeType({ qualifiedName: 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 (length === undefined) {\n return new Types.UnknownType(text + \" unknown length\", infoText);\n }\n return new Types.FloatingPointType(parseInt(length, 10), qualifiedName);\n case \"DATN\": // Native HANA\n case \"DATS\":\n return new Types.DateType({ qualifiedName: qualifiedName }); //YYYYMMDD\n case \"INT1\":\n case \"INT2\":\n case \"INT4\":\n return Types.IntegerType.get({ qualifiedName: qualifiedName });\n case \"INT8\":\n return new Types.Integer8Type({ qualifiedName: 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: qualifiedName });\n case \"RSTR\": // 256 <= len\n case \"RAWSTRING\": // 256 <= len\n case \"GEOM_EWKB\":\n return new Types.XStringType({ qualifiedName: 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(text + \" is an obsolete data type\", infoText);\n default:\n return new Types.UnknownType(text + \" unknown\", infoText);\n }\n }\n}\nexports.DDIC = DDIC;\n//# sourceMappingURL=ddic.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic_references.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic_references.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/ddl_lexer.js": +/*!****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/ddl_lexer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/ddl_parser.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst ddl_lexer_1 = __webpack_require__(/*! ./ddl_lexer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/ddl_lexer.js\");\nconst Expressions = __webpack_require__(/*! ./expressions */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/ddl_parser.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_include.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst ddl_name_1 = __webpack_require__(/*! ./ddl_name */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_include.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst ddl_structure_field_1 = __webpack_require__(/*! ./ddl_structure_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure_field.js\");\nconst ddl_name_1 = __webpack_require__(/*! ./ddl_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\");\nconst ddl_include_1 = __webpack_require__(/*! ./ddl_include */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure_field.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst ddl_name_1 = __webpack_require__(/*! ./ddl_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\");\nconst ddl_type_1 = __webpack_require__(/*! ./ddl_type */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst ddl_include_1 = __webpack_require__(/*! ./ddl_include */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_include.js\");\nconst ddl_name_1 = __webpack_require__(/*! ./ddl_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\");\nconst ddl_table_field_1 = __webpack_require__(/*! ./ddl_table_field */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table_field.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst ddl_name_1 = __webpack_require__(/*! ./ddl_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\");\nconst ddl_type_1 = __webpack_require__(/*! ./ddl_type */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_type.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/index.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_include.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_structure_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_structure */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_table_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ddl_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/ddl_type.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/ddl/expressions/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js": +/*!**************************************************************************************!*\ + !*** ../../packages/transpiler/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.applyEditList = exports.applyEditSingle = exports.EditHelper = exports.EditDraft = void 0;\nconst position_1 = __webpack_require__(/*! ./position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst memory_file_1 = __webpack_require__(/*! ./files/memory_file */ \"../../packages/transpiler/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}\nexports.applyEditSingle = applyEditSingle;\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}\nexports.applyEditList = applyEditList;\n//# sourceMappingURL=edit_helper.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/files/_abstract_file.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/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 const first = this.getFilename().split(\"\\\\\");\n const base1 = first[first.length - 1];\n const base2 = base1.split(\"/\");\n return base2[base2.length - 1];\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 namespace\n return split[0].toUpperCase().replace(/#/g, \"/\");\n }\n}\nexports.AbstractFile = AbstractFile;\n//# sourceMappingURL=_abstract_file.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/files/_abstract_file.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/files/memory_file.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/files/memory_file.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js": +/*!********************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Severity = exports.Visibility = exports.Info = exports.Rename = exports.PrettyPrinter = exports.Position = exports.CurrentScope = exports.ABAPFile = exports.RulesRunner = exports.SpaghettiScope = exports.SyntaxLogic = exports.ABAPObject = exports.Tokens = exports.ExpressionsCDS = exports.CDSParser = exports.LanguageServerTypes = exports.DDLParser = 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.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.RuleTag = void 0;\nconst issue_1 = __webpack_require__(/*! ./issue */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_interfaces.js\");\nexports.LanguageServerTypes = LanguageServerTypes;\nconst artifacts_1 = __webpack_require__(/*! ./abap/artifacts */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nexports.Objects = Objects;\nconst _token_1 = __webpack_require__(/*! ./abap/1_lexer/tokens/_token */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nObject.defineProperty(exports, \"Token\", ({ enumerable: true, get: function () { return _token_1.Token; } }));\nconst Statements = __webpack_require__(/*! ./abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nexports.Statements = Statements;\nconst Expressions = __webpack_require__(/*! ./abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nexports.Expressions = Expressions;\nconst ExpressionsCDS = __webpack_require__(/*! ./cds/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nexports.ExpressionsCDS = ExpressionsCDS;\nconst Structures = __webpack_require__(/*! ./abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nexports.Structures = Structures;\nconst Nodes = __webpack_require__(/*! ./abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nexports.Nodes = Nodes;\nconst BasicTypes = __webpack_require__(/*! ./abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nexports.BasicTypes = BasicTypes;\nconst Types = __webpack_require__(/*! ./abap/types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nexports.Types = Types;\nconst Tokens = __webpack_require__(/*! ./abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nexports.Tokens = Tokens;\nconst position_1 = __webpack_require__(/*! ./position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nObject.defineProperty(exports, \"Position\", ({ enumerable: true, get: function () { return position_1.Position; } }));\nObject.defineProperty(exports, \"VirtualPosition\", ({ enumerable: true, get: function () { return position_1.VirtualPosition; } }));\nconst _abstract_file_1 = __webpack_require__(/*! ./files/_abstract_file */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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; } }));\nconst edit_helper_1 = __webpack_require__(/*! ./edit_helper */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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 */ \"../../packages/transpiler/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; } }));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js": +/*!********************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst severity_1 = __webpack_require__(/*! ./severity */ \"../../packages/transpiler/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) {\n return this.atRange(file, statement.getStart(), statement.getEnd(), message, key, severity, fix);\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 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 fix,\n severity,\n });\n }\n static atRange(file, start, end, 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,\n end,\n fix,\n severity,\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 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 fix,\n });\n }\n constructor(data) {\n this.data = data;\n if (this.data.start instanceof position_1.VirtualPosition) {\n // no quick fixes inside macros\n this.data.fix = 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 getFix() {\n return this.data.fix;\n }\n getSeverity() {\n return this.data.severity;\n }\n}\nexports.Issue = Issue;\n//# sourceMappingURL=issue.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_edit.js": +/*!************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/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 /*\n public static mapEditsDocument(edit: IEdit): LServer.WorkspaceEdit {\n const workspace: LServer.WorkspaceEdit = {documentChanges: []};\n for (const filename in edit) {\n const doc: LServer.VersionedTextDocumentIdentifier = {uri: filename, version: 1};\n \n const e = LServer.TextDocumentEdit.create(doc, this.mapText(edit[filename]));\n workspace.documentChanges?.push(e);\n }\n // @ts-ignore\n console.dir(workspace.documentChanges![0].edits[0]);\n // @ts-ignore\n console.dir(workspace.documentChanges![0].edits[1]);\n return workspace;\n }\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_edit.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_interfaces.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_interfaces.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lookup.js": +/*!**************************************************************************************!*\ + !*** ../../packages/transpiler/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;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _builtin_1 = __webpack_require__(/*! ../abap/5_syntax/_builtin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.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 const bottomScope = new syntax_1.SyntaxLogic(reg, obj).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);\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 for (const c of bottomScope.listClassDefinitions()) {\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(),\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 (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 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;\n if (scope.getIdentifier().stype !== _scope_type_1.ScopeType.ClassDefinition\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 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 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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lookup.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _identifier_1 = __webpack_require__(/*! ../abap/4_file_information/_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/code_actions.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst diagnostics_1 = __webpack_require__(/*! ./diagnostics */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/diagnostics.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _edit_1 = __webpack_require__(/*! ./_edit */ \"../../packages/transpiler/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.getFix();\n if (fix === undefined) {\n continue;\n }\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) === false) {\n continue;\n }\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 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 const fix = i.getFix();\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/code_actions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/code_lens.js": +/*!****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass CodeLens {\n constructor(reg) {\n this.reg = reg;\n }\n list(textDocument, settings = { messageText: 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 new syntax_1.SyntaxLogic(this.reg, obj).run();\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 return ret;\n }\n}\nexports.CodeLens = CodeLens;\n//# sourceMappingURL=code_lens.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/code_lens.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/definition.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst _lookup_1 = __webpack_require__(/*! ./_lookup */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/diagnostics.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst severity_1 = __webpack_require__(/*! ../severity */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/severity.js\");\nclass Diagnostics {\n constructor(reg) {\n this.reg = reg;\n }\n findIssues(textDocument) {\n this.reg.parse();\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, textDocument.uri); // todo, this sould also run for xml files\n if (file === undefined) {\n return [];\n }\n const obj = this.reg.findObjectForFile(file);\n if (obj === undefined) {\n return [];\n }\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://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/diagnostics.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/dump_scope.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass DumpScope {\n static dump(spaghetti) {\n let ret = \"
Spaghetti Scope:

\\n\";\n ret = ret + this.traverseSpaghetti(spaghetti.getTop(), 0);\n return ret;\n }\n static traverseSpaghetti(node, indent) {\n const identifier = node.getIdentifier();\n const coverage = node.calcCoverage();\n const sident = \" \".repeat(indent * 2);\n let ret = sident + \"\" + identifier.stype + \", \" + identifier.sname + \"\";\n ret += \", (\" + coverage.start.getRow() + \", \" + coverage.start.getCol() + \")\";\n if (coverage.end.getRow() === Number.MAX_SAFE_INTEGER\n && coverage.end.getCol() === Number.MAX_SAFE_INTEGER) {\n ret += \", (max, max)\";\n }\n else {\n ret += \", (\" + coverage.end.getRow() + \", \" + coverage.end.getCol() + \")\";\n }\n ret += \"
\";\n if (node.getIdentifier().stype === _scope_type_1.ScopeType.BuiltIn) {\n ret += sident + node.getData().types.length + \" type definitions
\";\n ret += sident + node.getData().vars.length + \" data definitions
\";\n }\n else {\n ret = ret + this.dumpNode(node, indent);\n }\n ret = ret + \"
\";\n for (const c of node.getChildren()) {\n ret = ret + this.traverseSpaghetti(c, indent + 1);\n }\n return ret;\n }\n static dumpNode(node, indent) {\n let ret = \"\";\n const sident = \" \".repeat(indent * 2);\n const types = node.getData().types;\n if (Object.keys(types).length === 0) {\n ret = ret + sident + \"0 type definitions
\";\n }\n else {\n ret = ret + sident + \"Types:
\";\n }\n for (const name in types) {\n const identifier = types[name];\n ret = ret + sident + \"\" + this.escape(name) + \"\";\n const pos = identifier.getStart();\n ret = ret + \"(\" + pos.getRow().toString() + \", \" + pos.getCol().toString() + \") \";\n ret = ret + identifier.getType().toText(0);\n ret = ret + \"
\";\n }\n const vars = node.getData().vars;\n if (Object.keys(vars).length === 0) {\n ret = ret + sident + \"0 data definitions
\";\n }\n else {\n ret = ret + sident + \"Data:
\";\n }\n for (const name in vars) {\n const identifier = vars[name];\n ret = ret + sident + \"\" + this.escape(name.toLowerCase()) + \"\";\n const pos = identifier.getStart();\n ret = ret + \"(\" + pos.getRow().toString() + \", \" + pos.getCol().toString() + \") \";\n ret = ret + identifier.getType().toText(0);\n const meta = identifier.getMeta();\n if (meta) {\n ret = ret + \", \" + meta;\n }\n ret = ret + \"
\";\n }\n ret += sident + Object.keys(node.getData().cdefs).length + \" class definitions
\";\n ret += sident + node.getData().idefs.length + \" interface definitions
\";\n ret += sident + node.getData().forms.length + \" form definitions
\";\n ret += sident + node.getData().references.length + \" references
\";\n for (const r of node.getData().references) {\n ret += sident + \"  \" + r.referenceType + \", line \" + r.position.getStart().getRow() + \" \" + this.escape(r.position.getFilename()) + \" \" + this.escape(r.position.getName()) + \"
\";\n }\n return ret;\n }\n // todo, refactor, this method exists in multiple classes\n static escape(str) {\n str = str.replace(/&/g, \"&\");\n str = str.replace(/>/g, \">\");\n str = str.replace(/ { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Help = void 0;\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst dump_scope_1 = __webpack_require__(/*! ./dump_scope */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/dump_scope.js\");\nclass Help {\n static find(reg, textDocument, position) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(reg, textDocument.uri);\n if (file === undefined) {\n return \"file not found\";\n }\n else {\n return this.dumpABAP(file, reg, textDocument, position);\n }\n }\n /////////////////////////////////////////////////\n static dumpABAP(file, reg, textDocument, position) {\n let content = \"\";\n content = `\r\n Tokens |\r\n Statements |\r\n Structure |\r\n Files |\r\n Info Dump\r\n
\r\n ` +\n \"\" + textDocument.uri + \" (\" +\n (position.line + 1) + \", \" +\n (position.character + 1) + \")\";\n content = content + \"
\";\n content = content + this.cursorInformation(reg, textDocument, position, file);\n content = content + this.fileInformation(file);\n content = content + \"
\";\n content = content + this.dumpFiles(reg);\n content = content + \"
\";\n content = content + this.dumpInfo(file);\n return content;\n }\n static dumpInfo(file) {\n const info = file.getInfo();\n const dump = {\n classDefinitions: info.listClassDefinitions(),\n classImplementations: info.listClassImplementations(),\n interfaceDefinitions: info.listInterfaceDefinitions(),\n forms: info.listFormDefinitions(),\n };\n const text = JSON.stringify(dump, null, 2);\n return `

Info Dump

` + 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()) + \"
\\n\" +\n \"Token: \" + found.token.constructor.name + \"
\\n\" +\n this.fullPath(file, found.token).value;\n }\n else {\n ret = \"No token found at cursor position\";\n }\n const obj = reg.getObject(file.getObjectType(), file.getObjectName());\n if (obj instanceof _abap_object_1.ABAPObject) {\n const spaghetti = new syntax_1.SyntaxLogic(reg, obj).run().spaghetti;\n ret = ret + dump_scope_1.DumpScope.dump(spaghetti);\n if (found !== undefined) {\n ret = ret + \"
Spaghetti Scope by Cursor Position:

\\n\";\n const lookup = spaghetti.lookupPosition(found.token.getStart(), textDocument.uri);\n if (lookup) {\n const identifier = lookup.getIdentifier();\n ret = ret + \"\" + identifier.stype + \", \" + identifier.sname + \", \" + identifier.filename;\n ret = ret + \", (\" + identifier.start.getRow() + \", \" + identifier.start.getCol() + \")
\";\n }\n else {\n ret = ret + \"Not found\";\n }\n }\n }\n return ret;\n }\n static fullPath(file, token) {\n const structure = file.getStructure();\n if (structure === undefined) {\n return { value: \"\", keyword: false };\n }\n const found = this.traverse(structure, \"\", token);\n if (found === undefined) {\n return { value: \"\", keyword: false };\n }\n return { value: \"\\n\\n\" + found.value, keyword: found.keyword };\n }\n static traverse(node, parents, search) {\n let local = parents;\n if (local !== \"\") {\n local = local + \" -> \";\n }\n if (node instanceof nodes_1.StructureNode) {\n local = local + \"Structure: \" + this.linkToStructure(node.get());\n }\n else if (node instanceof nodes_1.StatementNode) {\n local = local + \"Statement: \" + this.linkToStatement(node.get());\n }\n else if (node instanceof nodes_1.ExpressionNode) {\n local = local + \"Expression: \" + this.linkToExpression(node.get());\n }\n else if (node instanceof nodes_1.TokenNode) {\n local = local + \"Token: \" + node.get().constructor.name;\n const token = node.get();\n if (token.getStr() === search.getStr()\n && token.getCol() === search.getCol()\n && token.getRow() === search.getRow()) {\n const keyword = !(node instanceof nodes_1.TokenNodeRegex);\n return { value: local, keyword };\n }\n }\n else {\n throw new Error(\"hover, traverse, unexpected node type\");\n }\n for (const child of node.getChildren()) {\n const ret = this.traverse(child, local, search);\n if (ret) {\n return ret;\n }\n }\n return undefined;\n }\n static fileInformation(file) {\n let content = \"\";\n content = content + `

Tokens

\\n`;\n content = content + this.tokens(file);\n content = content + `

Statements

\\n`;\n content = content + this.buildStatements(file);\n content = content + `

Structure

\\n`;\n const structure = file.getStructure();\n if (structure !== undefined) {\n content = content + this.buildStructure([structure]);\n }\n else {\n content = content + \"structure undefined\";\n }\n return content;\n }\n static escape(str) {\n str = str.replace(/&/g, \"&\");\n str = str.replace(/>/g, \">\");\n str = str.replace(/${statement.constructor.name}\\n`;\n }\n static linkToStructure(structure) {\n return `${structure.constructor.name}\\n`;\n }\n static linkToExpression(expression) {\n return `${expression.constructor.name}\\n`;\n }\n static outputNodes(nodes) {\n let ret = \"
    \";\n for (const node of nodes) {\n let extra = \"\";\n switch (node.constructor.name) {\n case \"TokenNode\":\n case \"TokenNodeRegex\":\n extra = node.get().constructor.name + \", \\\"\" + node.get().getStr() + \"\\\"\";\n break;\n case \"ExpressionNode\":\n extra = this.linkToExpression(node.get()) + this.outputNodes(node.getChildren());\n break;\n default:\n break;\n }\n ret = ret + \"
  • \" + node.constructor.name + \", \" + extra + \"
  • \";\n }\n return ret + \"
\";\n }\n static tokens(file) {\n let inner = \"\";\n for (const token of file.getTokens()) {\n inner = inner + \"\";\n }\n inner = inner + \"
StringTypeRowColumn
\" +\n this.escape(token.getStr()) + \"\" +\n token.constructor.name + \"\" +\n token.getRow() + \"\" +\n token.getCol() + \"
\";\n return inner;\n }\n static buildStatements(file) {\n let output = \"\";\n for (const statement of file.getStatements()) {\n const row = statement.getStart().getRow();\n // getting the class name only works if uglify does not mangle names\n output = output +\n row + \": \" +\n this.linkToStatement(statement.get()) +\n \"\\n\" + this.outputNodes(statement.getChildren());\n }\n return output;\n }\n static buildStructure(nodes) {\n let output = \"
    \";\n for (const node of nodes) {\n if (node instanceof nodes_1.StructureNode) {\n output = output + \"
  • \" + this.linkToStructure(node.get()) + \", Structure \" + this.buildStructure(node.getChildren()) + \"
  • \";\n }\n else if (node instanceof nodes_1.StatementNode) {\n output = output + \"
  • \" + this.linkToStatement(node.get()) + \", Statement
  • \";\n }\n }\n return output + \"
\";\n }\n static dumpFiles(reg) {\n let output = `

Files

\\n`;\n for (const o of reg.getObjects()) {\n if (reg.isDependency(o) === true) {\n continue;\n }\n output = output + \"\\n\";\n }\n return output + \"
\" + o.getType() + \" \" + o.getName() + \"\";\n for (const f of o.getFiles()) {\n output = output + f.getFilename() + \"
\";\n }\n output = output + \"
\\n\";\n }\n}\nexports.Help = Help;\n//# sourceMappingURL=help.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/help.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/highlight.js": +/*!****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/highlight.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Highlight = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nclass Highlight {\n constructor(reg) {\n this.reg = reg;\n }\n listDefinitionPositions(textDocument) {\n const spaghetti = this.runSyntax(textDocument);\n if (spaghetti === undefined) {\n return [];\n }\n const defs = spaghetti.listDefinitions(textDocument.uri);\n const ret = [];\n for (const d of defs) {\n ret.push(_lsp_utils_1.LSPUtils.tokenToRange(d.identifier.getToken()));\n }\n return ret;\n }\n listReadPositions(textDocument) {\n const spaghetti = this.runSyntax(textDocument);\n if (spaghetti === undefined) {\n return [];\n }\n const reads = spaghetti.listReadPositions(textDocument.uri);\n const ret = [];\n for (const d of reads) {\n ret.push(_lsp_utils_1.LSPUtils.tokenToRange(d.getToken()));\n }\n return ret;\n }\n listWritePositions(textDocument) {\n const spaghetti = this.runSyntax(textDocument);\n if (spaghetti === undefined) {\n return [];\n }\n const writes = spaghetti.listWritePositions(textDocument.uri);\n const ret = [];\n for (const d of writes) {\n ret.push(_lsp_utils_1.LSPUtils.tokenToRange(d.getToken()));\n }\n return ret;\n }\n ////////////////////////\n runSyntax(textDocument) {\n const obj = this.findObject(textDocument);\n if (obj === undefined) {\n return undefined;\n }\n return new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n }\n findObject(textDocument) {\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 obj;\n }\n else {\n return undefined;\n }\n }\n}\nexports.Highlight = Highlight;\n//# sourceMappingURL=highlight.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/highlight.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/hover.js": +/*!************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/hover.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Hover = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst Tokens = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _lookup_1 = __webpack_require__(/*! ./_lookup */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lookup.js\");\nclass Hover {\n constructor(reg) {\n this.reg = reg;\n }\n find(pos) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, pos.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, pos);\n if (found === undefined) {\n return undefined;\n }\n else if (found.token instanceof Tokens.StringTemplate\n || found.token instanceof Tokens.StringTemplateBegin\n || found.token instanceof Tokens.StringTemplateEnd\n || found.token instanceof Tokens.StringTemplateMiddle) {\n return { kind: LServer.MarkupKind.Markdown, value: \"String Template\" };\n }\n else if (found.token instanceof Tokens.Comment) {\n let type = \"Comment\";\n if (found.token.getStr().startsWith(`\"!`)) {\n type = \"ABAP Doc Comment\";\n }\n return { kind: LServer.MarkupKind.Markdown, value: type };\n }\n const lookup = _lookup_1.LSPLookup.lookup(found, this.reg, obj);\n if (lookup === null || lookup === void 0 ? void 0 : lookup.hover) {\n return { kind: LServer.MarkupKind.Markdown, value: lookup.hover };\n }\n if (found.token instanceof Tokens.StringToken) {\n return { kind: LServer.MarkupKind.Markdown, value: \"String\" };\n }\n return undefined;\n }\n}\nexports.Hover = Hover;\n//# sourceMappingURL=hover.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/hover.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/implementation.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/implementation.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Implementation = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst _lookup_1 = __webpack_require__(/*! ./_lookup */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lookup.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\n// note: finding implementations might be slow, ie finding method implementations currently searches the full registry\n// go to implementation\nclass Implementation {\n constructor(reg) {\n this.reg = reg;\n }\n find(textDocument, position) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, textDocument.uri);\n if (file === undefined) {\n return [];\n }\n const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const found = _lsp_utils_1.LSPUtils.findCursor(this.reg, { textDocument, position });\n if (found === undefined) {\n return [];\n }\n const lookup = _lookup_1.LSPLookup.lookup(found, this.reg, obj);\n if (lookup === null || lookup === void 0 ? void 0 : lookup.implementation) {\n return [lookup === null || lookup === void 0 ? void 0 : lookup.implementation];\n }\n if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) instanceof types_1.MethodDefinition) {\n return this.findMethodImplementations(lookup.definitionId);\n }\n return [];\n }\n findMethodImplementations(def) {\n const ret = [];\n // note that this searches _everything_\n for (const obj of this.reg.getObjects()) {\n if (this.reg.isDependency(obj) || !(obj instanceof _abap_object_1.ABAPObject)) {\n continue;\n }\n const found = this.searchReferences(new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop(), def);\n ret.push(...found);\n }\n return ret;\n }\n searchReferences(scope, id) {\n const ret = [];\n for (const r of scope.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.MethodImplementationReference\n && r.resolved\n && r.resolved.getFilename() === id.getFilename()\n && r.resolved.getStart().equals(id.getStart())) {\n ret.push(_lsp_utils_1.LSPUtils.identiferToLocation(r.position));\n }\n }\n for (const c of scope.getChildren()) {\n ret.push(...this.searchReferences(c, id));\n }\n return ret;\n }\n}\nexports.Implementation = Implementation;\n//# sourceMappingURL=implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/inlay_hints.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/inlay_hints.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlayHints = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nclass InlayHints {\n constructor(reg) {\n this.reg = reg;\n }\n list(textDocument, settings = { inferredTypes: true }) {\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.inferredTypes === true) {\n const implicit = this.findImplicitReferences(top);\n for (const i of implicit) {\n let label = undefined;\n if (i.resolved instanceof _typed_identifier_1.TypedIdentifier) {\n label = \"TYPE \" + i.resolved.getType().toABAP();\n }\n else if (i.resolved instanceof types_1.ClassDefinition) {\n label = \"TYPE REF TO \" + i.resolved.getName();\n }\n if (label === undefined) {\n continue;\n }\n ret.push({\n label: label,\n tooltip: \"Inferred type\",\n kind: LServer.InlayHintKind.Type,\n paddingLeft: true,\n paddingRight: true,\n position: _lsp_utils_1.LSPUtils.positionToLS(i.position.getEnd()),\n });\n }\n }\n return ret;\n }\n findImplicitReferences(node) {\n const ret = [];\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.InferredType) {\n ret.push(r);\n }\n }\n for (const c of node.getChildren()) {\n ret.push(...this.findImplicitReferences(c));\n }\n return ret;\n }\n}\nexports.InlayHints = InlayHints;\n//# sourceMappingURL=inlay_hints.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/inlay_hints.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/language_server.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/language_server.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LanguageServer = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst symbols_1 = __webpack_require__(/*! ./symbols */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/symbols.js\");\nconst hover_1 = __webpack_require__(/*! ./hover */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/hover.js\");\nconst diagnostics_1 = __webpack_require__(/*! ./diagnostics */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/diagnostics.js\");\nconst help_1 = __webpack_require__(/*! ./help */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/help.js\");\nconst pretty_printer_1 = __webpack_require__(/*! ../pretty_printer/pretty_printer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js\");\nconst definition_1 = __webpack_require__(/*! ./definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/definition.js\");\nconst rename_1 = __webpack_require__(/*! ./rename */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/rename.js\");\nconst highlight_1 = __webpack_require__(/*! ./highlight */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/highlight.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst code_actions_1 = __webpack_require__(/*! ./code_actions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/code_actions.js\");\nconst references_1 = __webpack_require__(/*! ./references */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/references.js\");\nconst implementation_1 = __webpack_require__(/*! ./implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/implementation.js\");\nconst semantic_1 = __webpack_require__(/*! ./semantic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/semantic.js\");\nconst statement_flow_1 = __webpack_require__(/*! ../abap/flow/statement_flow */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/flow/statement_flow.js\");\nconst code_lens_1 = __webpack_require__(/*! ./code_lens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/code_lens.js\");\nconst inlay_hints_1 = __webpack_require__(/*! ./inlay_hints */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/inlay_hints.js\");\n// note Ranges are zero based in LSP,\n// https://github.com/microsoft/language-server-protocol/blob/main/versions/protocol-2-x.md#range\n// but 1 based in abaplint\n// the types in this file are not completely correct\n// see https://github.com/microsoft/vscode-languageserver-node/issues/354\nclass LanguageServer {\n constructor(reg) {\n this.reg = reg;\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_documentSymbol\n documentSymbol(params) {\n return new symbols_1.Symbols(this.reg).find(params.textDocument.uri);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_hover\n hover(params) {\n const hover = new hover_1.Hover(this.reg).find(params);\n if (hover) {\n return { contents: hover };\n }\n return undefined;\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_definition\n gotoDefinition(params) {\n return new definition_1.Definition(this.reg).find(params.textDocument, params.position);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_formatting\n documentFormatting(params) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, params.textDocument.uri);\n if (file === undefined) {\n return [];\n }\n const text = new pretty_printer_1.PrettyPrinter(file, this.reg.getConfig()).run();\n const rows = file.getRawRows();\n if (text === file.getRaw()) {\n return [];\n }\n else {\n return [{\n range: LServer.Range.create(0, 0, rows.length, rows[rows.length - 1].length + 1),\n newText: text,\n }];\n }\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_publishDiagnostics\n diagnostics(textDocument) {\n return new diagnostics_1.Diagnostics(this.reg).find(textDocument);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_prepareRename\n prepareRename(params) {\n return new rename_1.Rename(this.reg).prepareRename(params);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_rename\n rename(params) {\n return new rename_1.Rename(this.reg).rename(params);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_codeAction\n codeActions(params) {\n return new code_actions_1.CodeActions(this.reg).find(params);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_documentHighlight\n documentHighlight(_params) {\n // todo, implement\n return [];\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_implementation\n implementation(params) {\n return new implementation_1.Implementation(this.reg).find(params.textDocument, params.position);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_references\n references(params) {\n return new references_1.References(this.reg).references(params);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#semanticTokensLegend\n static semanticTokensLegend() {\n return semantic_1.SemanticHighlighting.semanticTokensLegend();\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#semanticTokensRangeParams\n semanticTokensRange(range) {\n return new semantic_1.SemanticHighlighting(this.reg).semanticTokensRange(range);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeLens\n codeLens(textDocument, settings) {\n return new code_lens_1.CodeLens(this.reg).list(textDocument, settings);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_inlayHint\n inlayHints(textDocument, settings) {\n return new inlay_hints_1.InlayHints(this.reg).list(textDocument, settings);\n }\n ////////////////////////////////////////\n // ______ _\n // | ____| | |\n // | |__ __ _| |_ _ __ __ ___\n // | __| \\ \\/ / __| '__/ _` / __|\n // | |____ > <| |_| | | (_| \\__ \\\n // |______/_/\\_\\\\__|_| \\__,_|___/\n // extras, abaplint specific\n ////////////////////////////////////////\n help(textDocument, position) {\n return help_1.Help.find(this.reg, textDocument, position);\n }\n listDefinitionPositions(textDocument) {\n return new highlight_1.Highlight(this.reg).listDefinitionPositions(textDocument);\n }\n listReadPositions(textDocument) {\n return new highlight_1.Highlight(this.reg).listReadPositions(textDocument);\n }\n listWritePositions(textDocument) {\n return new highlight_1.Highlight(this.reg).listWritePositions(textDocument);\n }\n dumpStatementFlows(textDocument) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, textDocument.uri);\n if (file === undefined) {\n return \"file not found\";\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return \"empty structure\";\n }\n const graphs = new statement_flow_1.StatementFlow().build(stru);\n const wiz = graphs.map(g => g.toDigraph());\n return JSON.stringify(wiz);\n }\n}\nexports.LanguageServer = LanguageServer;\n//# sourceMappingURL=language_server.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/language_server.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/references.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/references.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.References = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _lookup_1 = __webpack_require__(/*! ./_lookup */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lookup.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass References {\n constructor(reg) {\n this.reg = reg;\n }\n references(pos) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, pos.textDocument.uri);\n if (file === undefined) {\n return [];\n }\n const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const found = _lsp_utils_1.LSPUtils.findCursor(this.reg, pos);\n if ((found === null || found === void 0 ? void 0 : found.identifier) === undefined) {\n return [];\n }\n const lookup = _lookup_1.LSPLookup.lookup(found, this.reg, obj);\n if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) === undefined || (lookup === null || lookup === void 0 ? void 0 : lookup.scope) === undefined) {\n return [];\n }\n const locs = this.search(lookup.definitionId, lookup.scope);\n return locs.map(_lsp_utils_1.LSPUtils.identiferToLocation);\n }\n // todo, cleanup this mehtod, some of the method parameters are not used anymore?\n search(identifier, node, exitAfterFound = false, removeDuplicates = true) {\n let ret = [];\n // todo, this first assumes that the identifier is a variable?\n const stype = node.getIdentifier().stype;\n if (stype === _scope_type_1.ScopeType.Method || stype === _scope_type_1.ScopeType.FunctionModule || stype === _scope_type_1.ScopeType.Form) {\n ret = this.findReferences(node, identifier);\n }\n if (ret.length > 1 && exitAfterFound === true) {\n return ret;\n }\n for (const o of this.reg.getObjects()) {\n if (o instanceof _abap_object_1.ABAPObject) {\n if (this.reg.isDependency(o)) {\n continue; // do not search in dependencies\n }\n ret.push(...this.findReferences(new syntax_1.SyntaxLogic(this.reg, o).run().spaghetti.getTop(), identifier));\n }\n }\n // remove duplicates, might be a changing(read and write) position\n if (removeDuplicates === true) {\n return this.removeDuplicates(ret);\n }\n else {\n return ret;\n }\n }\n ////////////////////////////////////////////\n removeDuplicates(arr) {\n const values = {};\n return arr.filter(item => {\n const val = item.getStart().getCol() + \"_\" + item.getStart().getRow() + \"_\" + item.getFilename();\n const exists = values[val];\n values[val] = true;\n return !exists;\n });\n }\n findReferences(node, identifier) {\n var _a;\n const ret = [];\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.BuiltIn) {\n const upper = identifier.getName().toUpperCase();\n // this is for finding the definitions\n const vars = node.getData().vars;\n const vid = vars[upper];\n if (vid === null || vid === void 0 ? void 0 : vid.equals(identifier)) {\n ret.push(vid);\n }\n // this is for finding the definitions\n const types = node.getData().types;\n const tid = types[upper];\n if (tid === null || tid === void 0 ? void 0 : tid.equals(identifier)) {\n ret.push(tid);\n }\n for (const r of node.getData().references) {\n if ((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.equals(identifier)) {\n ret.push(r.position);\n }\n }\n }\n for (const c of node.getChildren()) {\n ret.push(...this.findReferences(c, identifier));\n }\n return ret;\n }\n}\nexports.References = References;\n//# sourceMappingURL=references.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/references.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/rename.js": +/*!*************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/rename.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Rename = exports.RenameType = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _lookup_1 = __webpack_require__(/*! ./_lookup */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lookup.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst references_1 = __webpack_require__(/*! ./references */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/references.js\");\nconst renamer_1 = __webpack_require__(/*! ../objects/rename/renamer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer.js\");\nconst definition_1 = __webpack_require__(/*! ./definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/definition.js\");\nvar RenameType;\n(function (RenameType) {\n RenameType[RenameType[\"GlobalClass\"] = 1] = \"GlobalClass\";\n RenameType[RenameType[\"Variable\"] = 2] = \"Variable\";\n RenameType[RenameType[\"GlobalInterface\"] = 3] = \"GlobalInterface\";\n RenameType[RenameType[\"Method\"] = 4] = \"Method\";\n})(RenameType || (exports.RenameType = RenameType = {}));\nclass Rename {\n constructor(reg) {\n this.reg = reg;\n }\n prepareRename(params) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, params.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 cursor = _lsp_utils_1.LSPUtils.findCursor(this.reg, params);\n if (cursor === undefined) {\n return undefined;\n }\n const range = _lsp_utils_1.LSPUtils.tokenToRange(cursor.token);\n let placeholder = cursor.token.getStr();\n if (placeholder.startsWith(\"!\")) {\n placeholder = placeholder.substring(1);\n range.start.character += 1;\n }\n const lookup = _lookup_1.LSPLookup.lookup(cursor, this.reg, obj);\n if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) instanceof _typed_identifier_1.TypedIdentifier) {\n return { range, placeholder, type: RenameType.Variable, file };\n }\n else if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) instanceof types_1.ClassDefinition) {\n return { range, placeholder, type: RenameType.GlobalClass, file };\n }\n else if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) instanceof types_1.InterfaceDefinition) {\n return { range, placeholder, type: RenameType.GlobalInterface, file };\n }\n else if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) instanceof types_1.MethodDefinition) {\n return { range, placeholder, type: RenameType.Method, file };\n }\n return undefined;\n }\n rename(params) {\n const prepare = this.prepareRename(params);\n if (prepare === undefined) {\n return undefined;\n }\n switch (prepare.type) {\n case RenameType.GlobalClass:\n return new renamer_1.Renamer(this.reg).buildEdits(\"CLAS\", prepare.placeholder, params.newName);\n case RenameType.GlobalInterface:\n return new renamer_1.Renamer(this.reg).buildEdits(\"INTF\", prepare.placeholder, params.newName);\n case RenameType.Variable:\n return this.renameVariable(params);\n case RenameType.Method:\n return this.renameMethod(params);\n default:\n return undefined;\n }\n }\n ////\n renameVariable(params) {\n var _a;\n const workspace = { documentChanges: [] };\n const refs = new references_1.References(this.reg).references(params);\n for (const r of refs) {\n const doc = { uri: r.uri, version: 1 };\n const edit = LServer.TextDocumentEdit.create(doc, [LServer.TextEdit.replace(r.range, params.newName)]);\n (_a = workspace.documentChanges) === null || _a === void 0 ? void 0 : _a.push(edit);\n }\n return workspace;\n }\n renameMethod(params) {\n var _a, _b;\n const workspace = { documentChanges: [] };\n const refs = new references_1.References(this.reg).references(params);\n for (const r of refs) {\n const doc = { uri: r.uri, version: 1 };\n const edit = LServer.TextDocumentEdit.create(doc, [LServer.TextEdit.replace(r.range, params.newName)]);\n (_a = workspace.documentChanges) === null || _a === void 0 ? void 0 : _a.push(edit);\n }\n const def = new definition_1.Definition(this.reg).find(params.textDocument, params.position);\n if (def) {\n const doc = { uri: params.textDocument.uri, version: 1 };\n const edit = LServer.TextDocumentEdit.create(doc, [LServer.TextEdit.replace(def === null || def === void 0 ? void 0 : def.range, params.newName)]);\n (_b = workspace.documentChanges) === null || _b === void 0 ? void 0 : _b.push(edit);\n }\n return workspace;\n }\n}\nexports.Rename = Rename;\n//# sourceMappingURL=rename.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/rename.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/semantic.js": +/*!***************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/semantic.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SemanticHighlighting = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst SOURCE_ABAP = \"source.abap\";\nconst BLOCK_ABAP = \"storage.type.block.abap\";\nclass SemanticHighlighting {\n constructor(reg) {\n this.reg = reg;\n SemanticHighlighting.initLegend();\n }\n static semanticTokensLegend() {\n // https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide#semantic-token-scope-map\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#semanticTokenTypes\n this.initLegend();\n return {\n tokenTypes: SemanticHighlighting.tokenTypes,\n tokenModifiers: [],\n };\n }\n static initLegend() {\n if (SemanticHighlighting.tokenTypes.length === 0) {\n SemanticHighlighting.tokenTypeMap = {};\n SemanticHighlighting.tokenTypeMap[SOURCE_ABAP] = SemanticHighlighting.tokenTypes.length;\n SemanticHighlighting.tokenTypes.push(SOURCE_ABAP);\n SemanticHighlighting.tokenTypeMap[BLOCK_ABAP] = SemanticHighlighting.tokenTypes.length;\n SemanticHighlighting.tokenTypes.push(BLOCK_ABAP);\n for (const t in LServer.SemanticTokenTypes) {\n SemanticHighlighting.tokenTypeMap[t] = SemanticHighlighting.tokenTypes.length;\n SemanticHighlighting.tokenTypes.push(t);\n }\n }\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#textDocument_semanticTokens\n semanticTokensRange(range) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, range.textDocument.uri);\n if (file === undefined) {\n return { data: [] };\n }\n const rangeStartPosition = new position_1.Position(range.start.line + 1, range.start.character + 1);\n const rangeEndPosition = new position_1.Position(range.end.line + 1, range.end.character + 1);\n const tokens = [];\n for (const s of file.getStatements()) {\n if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n continue;\n }\n else if (s.getFirstToken().getStart().isAfter(rangeEndPosition)) {\n break;\n }\n else if (s.getLastToken().getEnd().isBefore(rangeStartPosition)) {\n continue;\n }\n const statementInstance = s.get();\n for (const t of s.getTokenNodes()) {\n const tokenInstance = t.get();\n let tokenType = LServer.SemanticTokenTypes.keyword;\n if (tokenInstance instanceof tokens_1.Punctuation) {\n tokenType = SOURCE_ABAP;\n }\n else if (statementInstance instanceof Statements.Public\n || statementInstance instanceof Statements.Private\n || statementInstance instanceof Statements.Protected\n || statementInstance instanceof Statements.ClassDefinition\n || statementInstance instanceof Statements.ClassImplementation\n || statementInstance instanceof Statements.MethodImplementation\n || statementInstance instanceof Statements.EndMethod\n || statementInstance instanceof Statements.EndClass\n || statementInstance instanceof Statements.Interface\n || statementInstance instanceof Statements.EndInterface\n || statementInstance instanceof Statements.Form\n || statementInstance instanceof Statements.EndForm) {\n tokenType = BLOCK_ABAP;\n }\n else if (tokenInstance instanceof tokens_1.StringToken\n || tokenInstance instanceof tokens_1.StringTemplate\n || tokenInstance instanceof tokens_1.StringTemplateBegin\n || tokenInstance instanceof tokens_1.StringTemplateEnd\n || tokenInstance instanceof tokens_1.StringTemplateMiddle) {\n tokenType = LServer.SemanticTokenTypes.string;\n }\n else if (tokenInstance instanceof tokens_1.Comment) {\n tokenType = LServer.SemanticTokenTypes.comment;\n }\n else if (t instanceof nodes_1.TokenNodeRegex) {\n tokenType = SOURCE_ABAP;\n }\n const token = t.getFirstToken();\n tokens.push({\n line: token.getStart().getRow() - 1,\n startChar: token.getStart().getCol() - 1,\n length: token.getStr().length,\n tokenType: tokenType,\n tokenModifiers: [],\n });\n }\n }\n return { data: this.encodeTokens(tokens) };\n }\n encodeTokens(tokens) {\n const ret = [];\n let prevLine = undefined;\n let prevChar = undefined;\n for (const t of tokens) {\n if (prevLine === undefined) {\n ret.push(t.line);\n }\n else {\n ret.push(t.line - prevLine);\n }\n if (prevLine === t.line && prevChar) {\n ret.push(t.startChar - prevChar);\n }\n else {\n ret.push(t.startChar); // todo, delta?\n }\n ret.push(t.length);\n ret.push(SemanticHighlighting.tokenTypeMap[t.tokenType]);\n ret.push(0); // no modifier logic implemented yet\n prevLine = t.line;\n prevChar = t.startChar;\n }\n return ret;\n }\n}\nexports.SemanticHighlighting = SemanticHighlighting;\nSemanticHighlighting.tokenTypes = [];\n//# sourceMappingURL=semantic.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/semantic.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/symbols.js": +/*!**************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/symbols.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Symbols = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nclass Symbols {\n constructor(reg) {\n this.reg = reg;\n }\n find(uri) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, uri);\n if (file === undefined) {\n return [];\n }\n const ret = [];\n ret.push(...this.outputClasses(file));\n ret.push(...this.outputForms(file));\n return ret;\n }\n selectionRange(identifier) {\n const pos = identifier.getStart();\n const str = identifier.getName();\n return LServer.Range.create(pos.getRow() - 1, pos.getCol() - 1, pos.getRow() - 1, pos.getCol() - 1 + str.length);\n }\n range(identifer) {\n const start = identifer.getStart();\n const end = identifer.getEnd();\n return LServer.Range.create(start.getRow() - 1, start.getCol() - 1, end.getRow() - 1, end.getCol() - 1);\n }\n newSymbol(identifier, kind, children) {\n const symbol = {\n name: identifier.getName(),\n kind: kind,\n range: this.range(identifier),\n selectionRange: this.selectionRange(identifier),\n children,\n };\n return symbol;\n }\n outputForms(file) {\n const ret = [];\n for (const form of file.getInfo().listFormDefinitions()) {\n const symbol = this.newSymbol(form.identifier, LServer.SymbolKind.Function, []);\n ret.push(symbol);\n }\n return ret;\n }\n outputClasses(file) {\n const ret = [];\n for (const cla of file.getInfo().listClassDefinitions()) {\n const children = [];\n children.push(...this.outputClassAttributes(cla.attributes));\n children.push(...this.outputMethodDefinitions(cla.methods));\n const symbol = this.newSymbol(cla.identifier, LServer.SymbolKind.Class, children);\n ret.push(symbol);\n }\n for (const cla of file.getInfo().listClassImplementations()) {\n const children = [];\n children.push(...this.outputMethodImplementations(cla.methods));\n const symbol = this.newSymbol(cla.identifier, LServer.SymbolKind.Class, children);\n ret.push(symbol);\n }\n return ret;\n }\n outputMethodImplementations(methods) {\n const ret = [];\n for (const method of methods) {\n const symbol = this.newSymbol(method, LServer.SymbolKind.Method, []);\n ret.push(symbol);\n }\n return ret;\n }\n outputClassAttributes(attr) {\n if (attr === undefined) {\n return [];\n }\n const ret = [];\n for (const id of attr) {\n ret.push(this.newSymbol(id.identifier, LServer.SymbolKind.Property, []));\n }\n // todo, also add constants\n return ret;\n }\n outputMethodDefinitions(methods) {\n if (methods === undefined) {\n return [];\n }\n // todo\n return [];\n }\n}\nexports.Symbols = Symbols;\n//# sourceMappingURL=symbols.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/symbols.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/msag_references.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/msag_references.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MSAGReferences = void 0;\nclass MSAGReferences {\n constructor() {\n this.nameNumberIndex = {};\n this.filenameIndex = {};\n }\n addUsing(filename, token, messageClass, number) {\n if (this.filenameIndex[filename] === undefined) {\n this.filenameIndex[filename] = [];\n }\n this.filenameIndex[filename].push({\n token: token,\n messageClass: messageClass,\n number: number,\n });\n if (this.nameNumberIndex[messageClass] === undefined) {\n this.nameNumberIndex[messageClass] = {};\n }\n if (this.nameNumberIndex[messageClass][number] === undefined) {\n this.nameNumberIndex[messageClass][number] = [];\n }\n this.nameNumberIndex[messageClass][number].push({\n filename: filename,\n token: token,\n });\n }\n clear(obj) {\n for (const file of obj.getFiles()) {\n const filename = file.getFilename();\n for (const fIndex of this.filenameIndex[filename] || []) {\n // this should be okay for performance, each message should be referenced less than 10 times typically\n this.nameNumberIndex[fIndex.messageClass][fIndex.number] =\n this.nameNumberIndex[fIndex.messageClass][fIndex.number].filter(i => i.filename !== filename);\n }\n delete this.filenameIndex[filename];\n }\n }\n listByFilename(filename) {\n return this.filenameIndex[filename] || [];\n }\n listByMessage(messageClass, number) {\n var _a;\n return ((_a = this.nameNumberIndex[messageClass]) === null || _a === void 0 ? void 0 : _a[number]) || [];\n }\n}\nexports.MSAGReferences = MSAGReferences;\n//# sourceMappingURL=msag_references.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/msag_references.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js\");\nconst abap_parser_1 = __webpack_require__(/*! ../abap/abap_parser */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/abap_parser.js\");\nclass ABAPObject extends _abstract_object_1.AbstractObject {\n constructor(name) {\n super(name);\n this.parsed = [];\n this.texts = undefined;\n }\n static is(x) {\n return !!x && x instanceof ABAPObject;\n }\n parse(version, globalMacros, reg) {\n if (this.isDirty() === false) {\n return { updated: false, runtime: 0 };\n }\n const abapFiles = this.getFiles().filter(f => f.getFilename().endsWith(\".abap\"));\n const result = new abap_parser_1.ABAPParser(version, globalMacros, reg).parse(abapFiles);\n this.parsed = result.output;\n this.old = result.issues;\n this.dirty = false;\n return { updated: true, runtime: result.runtime, runtimeExtra: result.runtimeExtra };\n }\n setDirty() {\n this.syntaxResult = undefined;\n this.texts = undefined;\n super.setDirty();\n }\n getABAPFiles() {\n return this.parsed;\n }\n getABAPFileByName(filename) {\n for (const p of this.parsed) {\n if (p.getFilename() === filename) {\n return p;\n }\n }\n return undefined;\n }\n getMainABAPFile() {\n // todo, uris, https://github.com/abaplint/abaplint/issues/673\n const search = this.getName().replace(/\\//g, \"#\").toLowerCase() + \".\" + this.getType().toLowerCase() + \".abap\";\n for (const file of this.getABAPFiles()) {\n if (file.getFilename().endsWith(search)) {\n return file;\n }\n }\n // uri fallback,\n for (const file of this.getABAPFiles()) {\n if (file.getFilename().endsWith(\".abap\")) {\n return file;\n }\n }\n return undefined;\n }\n getTexts() {\n if (this.texts === undefined) {\n this.findTexts(this.parseRaw2());\n }\n return this.texts;\n }\n findTexts(parsed) {\n var _a, _b, _c, _d;\n this.texts = {};\n if (((_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a[\"asx:abap\"]) === null || _b === void 0 ? void 0 : _b[\"asx:values\"]) === null || _c === void 0 ? void 0 : _c.TPOOL) === null || _d === void 0 ? void 0 : _d.item) === undefined) {\n return;\n }\n for (const t of (0, xml_utils_1.xmlToArray)(parsed.abapGit[\"asx:abap\"][\"asx:values\"].TPOOL.item)) {\n if ((t === null || t === void 0 ? void 0 : t.ID) === \"I\") {\n if (t.KEY === undefined) {\n throw new Error(\"findTexts, undefined\");\n }\n const key = t.KEY;\n if (key === undefined) {\n continue;\n }\n this.texts[key.toUpperCase()] = t.ENTRY ? (0, xml_utils_1.unescape)(t.ENTRY) : \"\";\n }\n }\n }\n}\nexports.ABAPObject = ABAPObject;\n//# sourceMappingURL=_abap_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AbstractObject = void 0;\nconst fast_xml_parser_1 = __webpack_require__(/*! fast-xml-parser */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/fxp.js\");\nconst _identifier_1 = __webpack_require__(/*! ../abap/4_file_information/_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst identifier_1 = __webpack_require__(/*! ../abap/1_lexer/tokens/identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass AbstractObject {\n constructor(name) {\n this.name = name;\n this.files = [];\n this.old = [];\n this.dirty = false;\n }\n getParsingIssues() {\n return this.old;\n }\n parse(_version, _globalMacros, _reg) {\n return { updated: false, runtime: 0 };\n }\n getName() {\n return this.name;\n }\n setDirty() {\n this.dirty = true;\n }\n addFile(file) {\n this.setDirty();\n this.files.push(file);\n }\n getFiles() {\n return this.files;\n }\n containsFile(filename) {\n for (const f of this.files) {\n if (f.getFilename() === filename) {\n return true;\n }\n }\n return false;\n }\n removeFile(file) {\n this.setDirty();\n for (let i = 0; i < this.files.length; i++) {\n if (this.files[i].getFilename() === file.getFilename()) {\n this.files.splice(i, 1);\n return;\n }\n }\n throw new Error(\"removeFile: file not found\");\n }\n isDirty() {\n return this.dirty;\n }\n getIdentifier() {\n // this method can be redefined in each object type to give a better result\n const file = this.getXMLFile();\n if (file === undefined) {\n return undefined;\n }\n return new _identifier_1.Identifier(new identifier_1.Identifier(new position_1.Position(1, 1), this.getName()), file.getFilename());\n }\n getXMLFile() {\n // todo, https://github.com/abaplint/abaplint/issues/673 uris\n const expected1 = this.getName().toLowerCase().replace(/\\//g, \"#\") + \".\" + this.getType().toLowerCase() + \".xml\";\n const expected2 = this.getName().toLowerCase().replace(/\\//g, \"%23\") + \".\" + this.getType().toLowerCase() + \".xml\";\n for (const file of this.getFiles()) {\n if (file.getFilename().endsWith(expected1) || file.getFilename().endsWith(expected2)) {\n return file;\n }\n }\n // uri fallback, assume there is only one xml file\n for (const file of this.getFiles()) {\n if (file.getFilename().endsWith(\".xml\")) {\n return file;\n }\n }\n return undefined;\n }\n getXML() {\n const file = this.getXMLFile();\n if (file) {\n return file.getRaw();\n }\n return undefined;\n }\n updateFile(file) {\n this.setDirty();\n for (let i = 0; i < this.files.length; i++) {\n if (this.files[i].getFilename() === file.getFilename()) {\n this.files[i] = file;\n return;\n }\n }\n throw new Error(\"updateFile: file not found\");\n }\n parseRaw2() {\n const xml = this.getXML();\n if (xml === undefined) {\n return undefined;\n }\n try {\n return new fast_xml_parser_1.XMLParser({ parseTagValue: false, ignoreAttributes: true, trimValues: false }).parse(xml);\n }\n catch (_a) {\n return undefined;\n }\n }\n}\nexports.AbstractObject = AbstractObject;\n//# sourceMappingURL=_abstract_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_unknown_object.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_unknown_object.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnknownObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst severity_1 = __webpack_require__(/*! ../severity */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/severity.js\");\nclass UnknownObject extends _abstract_object_1.AbstractObject {\n constructor(name, type) {\n super(name);\n this.type = type;\n }\n getType() {\n return this.type;\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n getDescription() {\n return undefined;\n }\n getParsingIssues() {\n const pos = new position_1.Position(1, 1);\n const file = this.getFiles()[0];\n const message = \"Unknown object type, currently not supported in abaplint, open issue on github\";\n const issue = issue_1.Issue.atPosition(file, pos, message, \"parser_error\", severity_1.Severity.Error);\n return [issue];\n }\n}\nexports.UnknownObject = UnknownObject;\n//# sourceMappingURL=_unknown_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_unknown_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/activation_variant.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/activation_variant.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ActivationVariant = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ActivationVariant extends _abstract_object_1.AbstractObject {\n getType() {\n return \"AVAR\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ActivationVariant = ActivationVariant;\n//# sourceMappingURL=activation_variant.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/activation_variant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/api_release_state.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/api_release_state.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.APIReleaseState = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass APIReleaseState extends _abstract_object_1.AbstractObject {\n getType() {\n return \"APIS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.APIReleaseState = APIReleaseState;\n//# sourceMappingURL=api_release_state.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/api_release_state.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js ***! + \****************************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AssignmentServiceToAuthorizationGroup = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AssignmentServiceToAuthorizationGroup extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SUSH\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.AssignmentServiceToAuthorizationGroup = AssignmentServiceToAuthorizationGroup;\n//# sourceMappingURL=assignment_service_to_authorization_group.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_category.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_category.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ATCCheckCategory = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ATCCheckCategory extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CHKC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ATCCheckCategory = ATCCheckCategory;\n//# sourceMappingURL=atc_check_category.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_category.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_object.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_object.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ATCCheckObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ATCCheckObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CHKO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ATCCheckObject = ATCCheckObject;\n//# sourceMappingURL=atc_check_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_variant.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_variant.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ATCCheckVariant = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ATCCheckVariant extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CHKV\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ATCCheckVariant = ATCCheckVariant;\n//# sourceMappingURL=atc_check_variant.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_variant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_check_field.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_check_field.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorizationCheckField = void 0;\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AuthorizationCheckField extends _abstract_object_1.AbstractObject {\n getType() {\n return \"AUTH\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getDescription() {\n // todo\n return undefined;\n }\n getDataElementName() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.rollname;\n }\n parseType(reg) {\n var _a;\n this.parse();\n const references = [];\n const ddic = new ddic_1.DDIC(reg);\n if ((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.rollname) {\n const found = ddic.lookupDataElement(this.parsedXML.rollname);\n if (found.object) {\n references.push({ object: found.object });\n reg.getDDICReferences().setUsing(this, references);\n return found.type;\n }\n else if (ddic.inErrorNamespace(this.parsedXML.rollname)) {\n return new basic_1.UnknownType(this.parsedXML.rollname + \" not found\");\n }\n else {\n return new basic_1.VoidType(this.parsedXML.rollname);\n }\n }\n else {\n return new basic_1.UnknownType(\"Parsing error\");\n }\n }\n parse() {\n var _a;\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n this.parsedXML.rollname = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"].AUTHX) === null || _a === void 0 ? void 0 : _a.ROLLNAME;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.AuthorizationCheckField = AuthorizationCheckField;\n//# sourceMappingURL=authorization_check_field.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_check_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_group.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_group.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorizationGroup = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AuthorizationGroup extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SUCU\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.AuthorizationGroup = AuthorizationGroup;\n//# sourceMappingURL=authorization_group.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_group.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorizationObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AuthorizationObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SUSO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 10,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.AuthorizationObject = AuthorizationObject;\n//# sourceMappingURL=authorization_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object_class.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object_class.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorizationObjectClass = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AuthorizationObjectClass extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SUSC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 4,\n allowNamespace: false,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.AuthorizationObjectClass = AuthorizationObjectClass;\n//# sourceMappingURL=authorization_object_class.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object_class.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object_extension.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object_extension.js ***! + \*****************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorizationObjectExtension = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AuthorizationObjectExtension extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA3\";\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.AuthorizationObjectExtension = AuthorizationObjectExtension;\n//# sourceMappingURL=authorization_object_extension.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object_extension.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/behavior_definition.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/behavior_definition.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BehaviorDefinition = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BehaviorDefinition extends _abstract_object_1.AbstractObject {\n getType() {\n return \"BDEF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BehaviorDefinition = BehaviorDefinition;\n//# sourceMappingURL=behavior_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/behavior_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/bsp_application.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/bsp_application.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BSPApplication = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BSPApplication extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WAPA\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BSPApplication = BSPApplication;\n//# sourceMappingURL=bsp_application.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/bsp_application.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_add_in_implementation.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_add_in_implementation.js ***! + \*****************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessAddInImplementation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessAddInImplementation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SXCI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessAddInImplementation = BusinessAddInImplementation;\n//# sourceMappingURL=business_add_in_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_add_in_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_catalog.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_catalog.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessCatalog = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessCatalog extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA1\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessCatalog = BusinessCatalog;\n//# sourceMappingURL=business_catalog.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_catalog.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_catalog_app_assignment.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_catalog_app_assignment.js ***! + \******************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessCatalogAppAssignment = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessCatalogAppAssignment extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA7\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessCatalogAppAssignment = BusinessCatalogAppAssignment;\n//# sourceMappingURL=business_catalog_app_assignment.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_catalog_app_assignment.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_configuration_set.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_configuration_set.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessConfigurationSet = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessConfigurationSet extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SCP1\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessConfigurationSet = BusinessConfigurationSet;\n//# sourceMappingURL=business_configuration_set.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_configuration_set.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_function_assignment.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_function_assignment.js ***! + \***************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessFunctionAssignment = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessFunctionAssignment extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SFBF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessFunctionAssignment = BusinessFunctionAssignment;\n//# sourceMappingURL=business_function_assignment.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_function_assignment.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_function_set_assignment.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_function_set_assignment.js ***! + \*******************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessFunctionSetAssignment = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessFunctionSetAssignment extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SFBS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessFunctionSetAssignment = BusinessFunctionSetAssignment;\n//# sourceMappingURL=business_function_set_assignment.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_function_set_assignment.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_object_model.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_object_model.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessObjectModel = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessObjectModel extends _abstract_object_1.AbstractObject {\n getType() {\n return \"BOBF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessObjectModel = BusinessObjectModel;\n//# sourceMappingURL=business_object_model.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_object_model.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/cds_metadata_extension.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/cds_metadata_extension.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSMetadataExtension = void 0;\nconst cds_parser_1 = __webpack_require__(/*! ../cds/cds_parser */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_parser.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CDSMetadataExtension extends _abstract_object_1.AbstractObject {\n constructor() {\n super(...arguments);\n this.parserError = undefined;\n this.parsedData = undefined;\n }\n getType() {\n return \"DDLX\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n hasParserError() {\n return this.parserError;\n }\n parse() {\n if (this.isDirty() === false) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedData = {\n tree: undefined,\n };\n this.parsedData.tree = new cds_parser_1.CDSParser().parse(this.findSourceFile());\n if (this.parsedData.tree === undefined) {\n this.parserError = true;\n }\n this.dirty = false;\n return { updated: true, runtime: Date.now() - start };\n }\n getDescription() {\n // todo\n return undefined;\n }\n findSourceFile() {\n return this.getFiles().find(f => f.getFilename().endsWith(\".asddlxs\") || f.getFilename().endsWith(\".acds\"));\n }\n}\nexports.CDSMetadataExtension = CDSMetadataExtension;\n//# sourceMappingURL=cds_metadata_extension.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/cds_metadata_extension.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/change_document.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/change_document.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ChangeDocument = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ChangeDocument extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CHDO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 15,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ChangeDocument = ChangeDocument;\n//# sourceMappingURL=change_document.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/change_document.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/chapter_of_book_structure.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/chapter_of_book_structure.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ChapterOfBookStructure = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ChapterOfBookStructure extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DSYS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ChapterOfBookStructure = ChapterOfBookStructure;\n//# sourceMappingURL=chapter_of_book_structure.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/chapter_of_book_structure.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/checkpoint_group.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/checkpoint_group.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckpointGroup = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CheckpointGroup extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ACID\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CheckpointGroup = CheckpointGroup;\n//# sourceMappingURL=checkpoint_group.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/checkpoint_group.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/class.js": +/*!****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/class.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Class = exports.ClassCategory = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ./_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nvar ClassCategory;\n(function (ClassCategory) {\n ClassCategory[\"Test\"] = \"05\";\n ClassCategory[\"Persistent\"] = \"10\";\n ClassCategory[\"PersistentFactory\"] = \"11\";\n ClassCategory[\"Exception\"] = \"40\";\n ClassCategory[\"SharedObject\"] = \"45\";\n})(ClassCategory || (exports.ClassCategory = ClassCategory = {}));\nclass Class extends _abap_object_1.ABAPObject {\n constructor() {\n super(...arguments);\n this.def = undefined;\n this.parsedXML = undefined;\n }\n getType() {\n return \"CLAS\";\n }\n getSequencedFiles() {\n const sequence = [\".clas.locals_def.abap\", \".clas.locals_imp.abap\", \".clas.abap\", \".clas.testclasses.abap\"];\n const copy = this.getABAPFiles().slice().sort((a, b) => {\n const aValue = sequence.findIndex((s) => a.getFilename().endsWith(s));\n const bValue = sequence.findIndex((s) => b.getFilename().endsWith(s));\n return aValue - bValue;\n });\n return copy;\n }\n setDefinition(def) {\n this.def = def;\n }\n getDefinition() {\n return this.def;\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.def = undefined;\n this.parsedXML = undefined;\n super.setDirty();\n }\n getClassDefinition() {\n var _a;\n return (_a = this.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().getClassDefinitionByName(this.getName());\n }\n getIdentifier() {\n var _a;\n return (_a = this.getClassDefinition()) === null || _a === void 0 ? void 0 : _a.identifier;\n }\n // -------------------\n getDescription() {\n var _a;\n this.parseXML();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n getNameFromXML() {\n var _a;\n this.parseXML();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.name;\n }\n getCategory() {\n var _a;\n this.parseXML();\n // https://blog.mariusschulz.com/2017/10/27/typescript-2-4-string-enums#no-reverse-mapping-for-string-valued-enum-members\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.category;\n }\n getLocalsImpFile() {\n for (const file of this.getABAPFiles()) {\n if (file.getFilename().endsWith(\".clas.locals_imp.abap\")) {\n return file;\n }\n }\n return undefined;\n }\n getTestclassFile() {\n for (const file of this.getABAPFiles()) {\n if (file.getFilename().endsWith(\".clas.testclasses.abap\")) {\n return file;\n }\n }\n return undefined;\n }\n /////////////////////////\n parseXML() {\n if (this.parsedXML !== undefined) {\n return;\n }\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit[\"asx:abap\"] === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return;\n }\n const vseo = parsed.abapGit[\"asx:abap\"][\"asx:values\"].VSEOCLASS;\n if (vseo === undefined) {\n return;\n }\n this.parsedXML.category = vseo.CATEGORY;\n this.parsedXML.description = vseo.DESCRIPT ? vseo.DESCRIPT : \"\";\n this.parsedXML.name = vseo.CLSNAME ? vseo.CLSNAME : \"\";\n }\n}\nexports.Class = Class;\n//# sourceMappingURL=class.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/class.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/classification.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/classification.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Classification = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Classification extends _abstract_object_1.AbstractObject {\n getType() {\n return \"AVAS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Classification = Classification;\n//# sourceMappingURL=classification.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/classification.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/communication_scenario.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/communication_scenario.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CommunicationScenario = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CommunicationScenario extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SCO1\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CommunicationScenario = CommunicationScenario;\n//# sourceMappingURL=communication_scenario.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/communication_scenario.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/composite_enhancement_implementation.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/composite_enhancement_implementation.js ***! + \***********************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CompositeEnhancementImplementation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CompositeEnhancementImplementation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ENHC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CompositeEnhancementImplementation = CompositeEnhancementImplementation;\n//# sourceMappingURL=composite_enhancement_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/composite_enhancement_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/composite_enhancement_spot.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/composite_enhancement_spot.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CompositeEnhancementSpot = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CompositeEnhancementSpot extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ENSC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CompositeEnhancementSpot = CompositeEnhancementSpot;\n//# sourceMappingURL=composite_enhancement_spot.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/composite_enhancement_spot.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/concepts_of_package.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/concepts_of_package.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConceptsOfPackage = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ConceptsOfPackage extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SOTS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n customRegex: new RegExp(/^(\\/[A-Z_\\d]{3,8}\\/)?[A-Z_-\\d<> ]+$/i),\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ConceptsOfPackage = ConceptsOfPackage;\n//# sourceMappingURL=concepts_of_package.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/concepts_of_package.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js ***! + \***************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CustomerEnhancementProject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CustomerEnhancementProject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CMOD\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CustomerEnhancementProject = CustomerEnhancementProject;\n//# sourceMappingURL=customer_enhancement_project.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_attributes.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_attributes.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CustomizingAttributes = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CustomizingAttributes extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CUS2\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CustomizingAttributes = CustomizingAttributes;\n//# sourceMappingURL=customizing_attributes.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_attributes.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_img_activity.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_img_activity.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CustomizingImgActivity = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CustomizingImgActivity extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CUS0\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CustomizingImgActivity = CustomizingImgActivity;\n//# sourceMappingURL=customizing_img_activity.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_img_activity.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_transaction.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_transaction.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CustomizingTransaction = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CustomizingTransaction extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CUS1\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CustomizingTransaction = CustomizingTransaction;\n//# sourceMappingURL=customizing_transaction.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_transaction.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_control.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_control.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataControl = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass DataControl extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DCLS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.DataControl = DataControl;\n//# sourceMappingURL=data_control.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_control.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_definition.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_definition.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataDefinition = void 0;\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst cds_determine_types_1 = __webpack_require__(/*! ../cds/cds_determine_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_determine_types.js\");\nconst cds_parser_1 = __webpack_require__(/*! ../cds/cds_parser */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_parser.js\");\nconst expressions_1 = __webpack_require__(/*! ../cds/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass DataDefinition extends _abstract_object_1.AbstractObject {\n constructor() {\n super(...arguments);\n this.parserError = undefined;\n this.parsedData = undefined;\n }\n getType() {\n return \"DDLS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getSQLViewName() {\n var _a;\n this.parse();\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.sqlViewName;\n }\n getDefinitionName() {\n var _a;\n this.parse();\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.definitionName;\n }\n getDescription() {\n // todo\n return undefined;\n }\n parseType(reg) {\n this.parse();\n return new cds_determine_types_1.CDSDetermineTypes().parseType(reg, this.parsedData);\n }\n getParsedData() {\n return this.parsedData;\n }\n listSources() {\n var _a;\n this.parse();\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.sources;\n }\n setDirty() {\n this.parsedData = undefined;\n this.parserError = undefined;\n super.setDirty();\n }\n findSourceFile() {\n return this.getFiles().find(f => f.getFilename().endsWith(\".asddls\") || f.getFilename().endsWith(\".acds\"));\n }\n hasParserError() {\n return this.parserError;\n }\n parse() {\n var _a, _b;\n if (this.isDirty() === false) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedData = {\n sqlViewName: undefined,\n definitionName: undefined,\n fields: [],\n sources: [],\n relations: [],\n associations: [],\n tree: undefined,\n };\n this.findSQLViewName();\n this.parsedData.tree = new cds_parser_1.CDSParser().parse(this.findSourceFile());\n if (this.parsedData.tree) {\n for (const c of ((_a = this.parsedData.tree) === null || _a === void 0 ? void 0 : _a.getChildren()) || []) {\n if (c.get() instanceof expressions_1.CDSAnnotation) {\n continue;\n }\n if (c instanceof nodes_1.ExpressionNode) {\n this.parsedData.definitionName = (_b = c.findFirstExpression(expressions_1.CDSName)) === null || _b === void 0 ? void 0 : _b.concatTokens().replace(/ /g, \"\");\n break;\n }\n }\n this.findSourcesAndRelations(this.parsedData.tree);\n this.findFieldNames(this.parsedData.tree);\n }\n else {\n this.parserError = true;\n }\n this.dirty = false;\n return { updated: true, runtime: Date.now() - start };\n }\n getTree() {\n var _a;\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.tree;\n }\n //////////\n findSQLViewName() {\n var _a;\n const match = (_a = this.findSourceFile()) === null || _a === void 0 ? void 0 : _a.getRaw().match(/@AbapCatalog\\.sqlViewName: '(\\w+)'/);\n if (match) {\n this.parsedData.sqlViewName = match[1].toUpperCase();\n }\n }\n findFieldNames(tree) {\n var _a, _b;\n let expr = tree.findFirstExpression(expressions_1.CDSSelect);\n if (expr === undefined) {\n expr = tree.findFirstExpression(expressions_1.CDSAnnotate);\n }\n if (expr === undefined) {\n expr = tree.findFirstExpression(expressions_1.CDSDefineProjection);\n }\n for (const e of (expr === null || expr === void 0 ? void 0 : expr.findDirectExpressions(expressions_1.CDSElement)) || []) {\n let found = (_a = e.findDirectExpression(expressions_1.CDSAs)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(expressions_1.CDSName);\n if (found === undefined) {\n const list = e.findDirectExpressions(expressions_1.CDSName);\n if (e.concatTokens().toUpperCase().includes(\" REDIRECTED TO \")) {\n found = list[0];\n }\n else {\n found = list[list.length - 1];\n }\n }\n if (found === undefined) {\n continue;\n }\n const name = found === null || found === void 0 ? void 0 : found.concatTokens();\n if ((_b = this.parsedData) === null || _b === void 0 ? void 0 : _b.associations.some(a => { var _a; return a.name.toUpperCase() === name.toUpperCase() || ((_a = a.as) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === name.toUpperCase(); })) {\n continue;\n }\n const annotations = [];\n for (const a of e.findDirectExpressions(expressions_1.CDSAnnotation)) {\n annotations.push(a.concatTokens());\n }\n this.parsedData.fields.push({\n name: name,\n annotations: annotations,\n key: e.findDirectTokenByText(\"KEY\") !== undefined,\n });\n }\n }\n findSourcesAndRelations(tree) {\n var _a, _b, _c, _d, _e, _f;\n for (const e of tree.findAllExpressions(expressions_1.CDSSource)) {\n const name = e.getFirstToken().getStr();\n const as = (_b = (_a = e.findDirectExpression(expressions_1.CDSAs)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(expressions_1.CDSName)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();\n this.parsedData.sources.push({ name, as });\n }\n for (const e of tree.findAllExpressions(expressions_1.CDSRelation)) {\n const name = e.getFirstToken().getStr();\n const as = (_d = (_c = e.findDirectExpression(expressions_1.CDSAs)) === null || _c === void 0 ? void 0 : _c.findDirectExpression(expressions_1.CDSName)) === null || _d === void 0 ? void 0 : _d.getFirstToken().getStr();\n this.parsedData.relations.push({ name, as });\n }\n for (const e of tree.findAllExpressions(expressions_1.CDSAssociation)) {\n const j = e.findDirectExpression(expressions_1.CDSRelation);\n if (j === undefined) {\n continue;\n }\n const name = j.getFirstToken().getStr();\n const as = (_f = (_e = j.findDirectExpression(expressions_1.CDSAs)) === null || _e === void 0 ? void 0 : _e.findDirectExpression(expressions_1.CDSName)) === null || _f === void 0 ? void 0 : _f.getFirstToken().getStr();\n this.parsedData.associations.push({\n name: name || \"ERROR\",\n as: as,\n });\n }\n }\n}\nexports.DataDefinition = DataDefinition;\n//# sourceMappingURL=data_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_element.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_element.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataElement = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst Types = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass DataElement extends _abstract_object_1.AbstractObject {\n constructor() {\n super(...arguments);\n this.parsedXML = undefined;\n }\n getType() {\n return \"DTEL\";\n }\n getDescription() {\n var _a;\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getDomainName() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.domname;\n }\n parseType(reg) {\n const references = [];\n let lookup = undefined;\n if (this.parsedXML === undefined) {\n lookup = { type: new Types.UnknownType(\"Data Element \" + this.getName() + \", parser error\") };\n }\n else {\n const ddic = new ddic_1.DDIC(reg);\n if (this.parsedXML.refkind === \"D\") {\n if (this.parsedXML.domname === undefined || this.parsedXML.domname === \"\") {\n lookup = { type: new Types.UnknownType(\"DOMNAME unexpectely empty in \" + this.getName()) };\n }\n else {\n lookup = ddic.lookupDomain(this.parsedXML.domname, this.getName());\n }\n }\n else if (this.parsedXML.refkind === \"R\") {\n if (this.parsedXML.domname === undefined || this.parsedXML.domname === \"\") {\n lookup = { type: new Types.UnknownType(\"DOMNAME unexpectely empty in \" + this.getName()) };\n }\n else {\n lookup = ddic.lookupObject(this.parsedXML.domname);\n }\n }\n else {\n if (this.parsedXML.datatype === undefined || this.parsedXML.datatype === \"\") {\n lookup = { type: new Types.UnknownType(\"DATATYPE unexpectely empty in \" + this.getName()) };\n }\n else {\n lookup = { type: ddic.textToType(this.parsedXML.datatype, this.parsedXML.leng, this.parsedXML.decimals, this.getName(), this.getName(), undefined, this.getName()) };\n }\n }\n }\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n reg.getDDICReferences().setUsing(this, references);\n return lookup.type;\n }\n parse() {\n var _a, _b, _c;\n if (this.parsedXML !== undefined) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return { updated: false, runtime: 0 };\n }\n const dd04v = (_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a[\"asx:abap\"]) === null || _b === void 0 ? void 0 : _b[\"asx:values\"]) === null || _c === void 0 ? void 0 : _c.DD04V;\n this.parsedXML = {\n description: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DDTEXT,\n refkind: dd04v === null || dd04v === void 0 ? void 0 : dd04v.REFKIND,\n domname: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DOMNAME,\n datatype: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DATATYPE,\n leng: dd04v === null || dd04v === void 0 ? void 0 : dd04v.LENG,\n decimals: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DECIMALS,\n };\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.DataElement = DataElement;\n//# sourceMappingURL=data_element.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_element.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/dialog_module.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/dialog_module.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DialogModule = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass DialogModule extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DIAL\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.DialogModule = DialogModule;\n//# sourceMappingURL=dialog_module.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/dialog_module.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/documentation.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/documentation.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Documentation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Documentation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DOCV\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Documentation = Documentation;\n//# sourceMappingURL=documentation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/documentation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/domain.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/domain.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Domain = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst Types = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass Domain extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DOMA\";\n }\n getDescription() {\n var _a;\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n getConversionExit() {\n var _a;\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.conversionExit;\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n parseType(reg, dataElement) {\n // dont cache the DOMA parsed type, they are cached on DTEL level\n // also note that the type carries the name of the DTEL\n if (this.parsedXML === undefined) {\n this.parse();\n }\n if (this.parsedXML === undefined) {\n return new Types.UnknownType(\"Domain \" + this.getName() + \" parser error\", this.getName());\n }\n const ddic = new ddic_1.DDIC(reg);\n return ddic.textToType(this.parsedXML.datatype, this.parsedXML.length, this.parsedXML.decimals, this.getName(), dataElement, this.parsedXML.conversionExit, dataElement);\n }\n parse() {\n var _a, _b, _c, _d, _e, _f, _g;\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return { updated: false, runtime: 0 };\n }\n const dd01v = (_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a[\"asx:abap\"]) === null || _b === void 0 ? void 0 : _b[\"asx:values\"]) === null || _c === void 0 ? void 0 : _c.DD01V;\n const dd07v_tab = (0, xml_utils_1.xmlToArray)((_g = (_f = (_e = (_d = parsed.abapGit) === null || _d === void 0 ? void 0 : _d[\"asx:abap\"]) === null || _e === void 0 ? void 0 : _e[\"asx:values\"]) === null || _f === void 0 ? void 0 : _f.DD07V_TAB) === null || _g === void 0 ? void 0 : _g.DD07V);\n const values = [];\n for (const ddo7v of dd07v_tab) {\n const value = {\n description: ddo7v === null || ddo7v === void 0 ? void 0 : ddo7v.DDTEXT,\n low: ddo7v === null || ddo7v === void 0 ? void 0 : ddo7v.DOMVALUE_L,\n high: ddo7v === null || ddo7v === void 0 ? void 0 : ddo7v.DOMVALUE_H,\n language: ddo7v === null || ddo7v === void 0 ? void 0 : ddo7v.DDLANGUAGE,\n };\n values.push(value);\n }\n this.parsedXML = {\n description: dd01v === null || dd01v === void 0 ? void 0 : dd01v.DDTEXT,\n datatype: dd01v === null || dd01v === void 0 ? void 0 : dd01v.DATATYPE,\n length: dd01v === null || dd01v === void 0 ? void 0 : dd01v.LENG,\n conversionExit: dd01v === null || dd01v === void 0 ? void 0 : dd01v.CONVEXIT,\n decimals: dd01v === null || dd01v === void 0 ? void 0 : dd01v.DECIMALS,\n values: values,\n };\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n getFixedValues() {\n var _a, _b;\n return (_b = (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.values) !== null && _b !== void 0 ? _b : [];\n }\n}\nexports.Domain = Domain;\n//# sourceMappingURL=domain.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/domain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_configuration.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_configuration.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EcattTestConfiguration = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass EcattTestConfiguration extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ECTC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.EcattTestConfiguration = EcattTestConfiguration;\n//# sourceMappingURL=ecatt_test_configuration.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_configuration.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_data_container.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_data_container.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EcattTestDataContainer = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass EcattTestDataContainer extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ECTD\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.EcattTestDataContainer = EcattTestDataContainer;\n//# sourceMappingURL=ecatt_test_data_container.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_data_container.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_script.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_script.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EcattTestScript = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass EcattTestScript extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ECAT\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.EcattTestScript = EcattTestScript;\n//# sourceMappingURL=ecatt_test_script.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_script.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/enhancement_implementation.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/enhancement_implementation.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EnhancementImplementation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass EnhancementImplementation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ENHO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.EnhancementImplementation = EnhancementImplementation;\n//# sourceMappingURL=enhancement_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/enhancement_implementation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/enhancement_spot.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/enhancement_spot.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EnhancementSpot = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass EnhancementSpot extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ENHS\";\n }\n getDescription() {\n // todo\n return undefined;\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.badis = undefined;\n super.setDirty();\n }\n listBadiDefinitions() {\n if (this.badis === undefined) {\n this.badis = this.parseXML();\n }\n return this.badis;\n }\n /////////////////\n parseXML() {\n var _a, _b;\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return [];\n }\n const ret = [];\n for (const b of (0, xml_utils_1.xmlToArray)((_b = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _a === void 0 ? void 0 : _a.BADI_DATA) === null || _b === void 0 ? void 0 : _b.ENH_BADI_DATA)) {\n ret.push({\n name: b.BADI_NAME,\n interface: b.INTERFACE_NAME,\n });\n }\n return ret;\n }\n}\nexports.EnhancementSpot = EnhancementSpot;\n//# sourceMappingURL=enhancement_spot.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/enhancement_spot.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/event_binding.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/event_binding.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EventBinding = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass EventBinding extends _abstract_object_1.AbstractObject {\n getType() {\n return \"EVTB\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.EventBinding = EventBinding;\n//# sourceMappingURL=event_binding.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/event_binding.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/extension_index.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/extension_index.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExtensionIndex = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ExtensionIndex extends _abstract_object_1.AbstractObject {\n getType() {\n return \"XINX\";\n }\n getAllowedNaming() {\n return {\n maxLength: 33,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ExtensionIndex = ExtensionIndex;\n//# sourceMappingURL=extension_index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/extension_index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/field_catalog.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/field_catalog.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldCatalog = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass FieldCatalog extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ASFC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.FieldCatalog = FieldCatalog;\n//# sourceMappingURL=field_catalog.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/field_catalog.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/form_object_form.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/form_object_form.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormObjectForm = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass FormObjectForm extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SFPF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.FormObjectForm = FormObjectForm;\n//# sourceMappingURL=form_object_form.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/form_object_form.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/form_object_interface.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/form_object_interface.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormObjectInterface = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass FormObjectInterface extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SFPI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.FormObjectInterface = FormObjectInterface;\n//# sourceMappingURL=form_object_interface.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/form_object_interface.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/format_type.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/format_type.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormatType = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass FormatType extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SPLO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.FormatType = FormatType;\n//# sourceMappingURL=format_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/format_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/function_group.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/function_group.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionGroup = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ./_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js\");\nconst fast_xml_parser_1 = __webpack_require__(/*! fast-xml-parser */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/fxp.js\");\nclass FunctionGroup extends _abap_object_1.ABAPObject {\n constructor() {\n super(...arguments);\n this.includes = undefined;\n this.modules = undefined;\n }\n getType() {\n return \"FUGR\";\n }\n getDescription() {\n // todo\n return undefined;\n }\n setDirty() {\n super.setDirty();\n this.includes = undefined;\n this.modules = undefined;\n }\n getAllowedNaming() {\n return {\n maxLength: 26,\n allowNamespace: true,\n };\n }\n getSequencedFiles() {\n const main = this.getMainABAPFile();\n if (main === undefined) {\n return [];\n }\n const sequence = [main];\n for (const m of this.getModules()) {\n const search = \".\" + m.getName().toLocaleLowerCase().replace(/\\//g, \"#\") + \".abap\";\n for (const f of this.getABAPFiles()) {\n if (f.getFilename().toLocaleLowerCase().endsWith(search)) {\n if (sequence.indexOf(f) < 0) {\n sequence.push(f);\n }\n break;\n }\n }\n }\n return sequence;\n }\n getModules() {\n if (this.modules === undefined) {\n this.parseXML();\n }\n if (this.modules === undefined) {\n throw new Error(\"getIncludes, undefined\");\n }\n return this.modules;\n }\n getIncludeFiles() {\n const ret = [];\n const includes = this.getIncludes();\n for (const f of this.getABAPFiles()) {\n for (const i of includes) {\n const namespaced = i.startsWith(\"/\") && i.includes(\"/L\");\n let search = i;\n if (namespaced) {\n search = search.replace(/\\//g, \"#\");\n }\n if ((i.startsWith(\"L\") || namespaced) && f.getFilename().includes(search.toLowerCase())) {\n ret.push({ file: f, name: i });\n }\n // fix for URL encoded? Uris\n if (namespaced) {\n search = i.replace(/\\//g, \"%23\");\n if (f.getFilename().includes(search.toLowerCase())) {\n ret.push({ file: f, name: i });\n }\n }\n }\n }\n return ret;\n }\n getInclude(name) {\n const upper = name.toUpperCase();\n const includes = this.getIncludeFiles();\n for (const i of includes) {\n if (i.name.toUpperCase() === upper) {\n return i.file;\n }\n }\n return undefined;\n }\n getMainABAPFile() {\n const regex = new RegExp(/\\.fugr\\.(#\\w+#)?sapl/, \"i\");\n for (const f of this.getABAPFiles()) {\n if (regex.test(f.getFilename())) {\n return f;\n }\n }\n return undefined;\n }\n getIncludes() {\n if (this.includes === undefined) {\n this.parseXML();\n }\n if (this.includes === undefined) {\n throw new Error(\"getIncludes, undefined\");\n }\n return this.includes;\n }\n getModule(name) {\n for (const mod of this.getModules()) {\n if (mod.getName().toUpperCase() === name.toUpperCase()) {\n return mod;\n }\n }\n return undefined;\n }\n getTexts() {\n if (this.texts === undefined) {\n const found = this.findTextFile();\n if (found === undefined) {\n return {};\n }\n const parsed = new fast_xml_parser_1.XMLParser({ parseTagValue: false, ignoreAttributes: true, trimValues: false }).parse(found.getRaw());\n this.findTexts(parsed);\n }\n return this.texts;\n }\n /////////////////////////////////\n parseXML() {\n var _a, _b;\n this.includes = [];\n this.modules = [];\n const parsed = this.parseRaw2();\n if (parsed === undefined) {\n return;\n }\n // INCLUDES\n const includes = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _a === void 0 ? void 0 : _a.INCLUDES;\n if (includes !== undefined) {\n for (const i of (0, xml_utils_1.xmlToArray)(includes.SOBJ_NAME)) {\n this.includes.push(i);\n }\n }\n // FUNCTION MODULES\n const functions = (_b = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _b === void 0 ? void 0 : _b.FUNCTIONS;\n for (const module of (0, xml_utils_1.xmlToArray)(functions === null || functions === void 0 ? void 0 : functions.item)) {\n this.modules.push(new types_1.FunctionModuleDefinition(module));\n }\n }\n findTextFile() {\n const search = this.getName() + \".fugr.sapl\" + this.getName() + \".xml\";\n for (const f of this.getFiles()) {\n if (f.getFilename().includes(search.toLowerCase())) {\n return f;\n }\n }\n return undefined;\n }\n}\nexports.FunctionGroup = FunctionGroup;\n//# sourceMappingURL=function_group.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/function_group.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_model.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_model.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayModel = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayModel extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWMO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 36,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayModel = GatewayModel;\n//# sourceMappingURL=gateway_model.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_model.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_model_metadata.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_model_metadata.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayModelMetadata = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayModelMetadata extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWOM\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayModelMetadata = GatewayModelMetadata;\n//# sourceMappingURL=gateway_model_metadata.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_model_metadata.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_project.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_project.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayProject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayProject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWPR\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayProject = GatewayProject;\n//# sourceMappingURL=gateway_project.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_project.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_service.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_service.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWSV\";\n }\n getAllowedNaming() {\n return {\n maxLength: 39,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayService = GatewayService;\n//# sourceMappingURL=gateway_service.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_service.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_service_groups_metadata.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_service_groups_metadata.js ***! + \******************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayServiceGroupsMetadata = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayServiceGroupsMetadata extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWSG\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayServiceGroupsMetadata = GatewayServiceGroupsMetadata;\n//# sourceMappingURL=gateway_service_groups_metadata.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_service_groups_metadata.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_vocabulary_annotation.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_vocabulary_annotation.js ***! + \****************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayVocabularyAnnotation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayVocabularyAnnotation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWVB\";\n }\n getAllowedNaming() {\n return {\n maxLength: 36,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayVocabularyAnnotation = GatewayVocabularyAnnotation;\n//# sourceMappingURL=gateway_vocabulary_annotation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_vocabulary_annotation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_hierarchy_storage_extrension_name.js": +/*!****************************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_hierarchy_storage_extrension_name.js ***! + \****************************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GeneralHierarchyStorageExtrensionName = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GeneralHierarchyStorageExtrensionName extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SHI5\";\n }\n getAllowedNaming() {\n return {\n maxLength: 15,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GeneralHierarchyStorageExtrensionName = GeneralHierarchyStorageExtrensionName;\n//# sourceMappingURL=general_hierarchy_storage_extrension_name.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_hierarchy_storage_extrension_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_storage_structure.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_storage_structure.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GeneralStorageStructure = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GeneralStorageStructure extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SHI3\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GeneralStorageStructure = GeneralStorageStructure;\n//# sourceMappingURL=general_storage_structure.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_storage_structure.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_text.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_text.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GeneralText = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GeneralText extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DOCT\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GeneralText = GeneralText;\n//# sourceMappingURL=general_text.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_text.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/http_service.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/http_service.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HttpService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass HttpService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"HTTP\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.HttpService = HttpService;\n//# sourceMappingURL=http_service.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/http_service.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_binary_data.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_binary_data.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IACBinaryData = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IACBinaryData extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IAMU\";\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IACBinaryData = IACBinaryData;\n//# sourceMappingURL=iac_binary_data.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_binary_data.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_language_resource.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_language_resource.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IACLanguageResource = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IACLanguageResource extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IARP\";\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IACLanguageResource = IACLanguageResource;\n//# sourceMappingURL=iac_language_resource.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_language_resource.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_service.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_service.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IACService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IACService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IASP\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IACService = IACService;\n//# sourceMappingURL=iac_service.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_service.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_template.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_template.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IACTemplate = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IACTemplate extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IATU\";\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IACTemplate = IACTemplate;\n//# sourceMappingURL=iac_template.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_template.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iam_app.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iam_app.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IAMApp = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IAMApp extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA6\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IAMApp = IAMApp;\n//# sourceMappingURL=iam_app.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iam_app.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/icf_service.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/icf_service.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ICFService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass ICFService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SICF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getDescription() {\n // todo\n return undefined;\n }\n getURL() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.url;\n }\n getHandlerList() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.handlers;\n }\n parse() {\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n const table = parsed.abapGit[\"asx:abap\"][\"asx:values\"].ICFHANDLER_TABLE;\n this.parsedXML.handlers = [];\n for (const h of (0, xml_utils_1.xmlToArray)(table)) {\n if (h.ICFHANDLER !== undefined) {\n this.parsedXML.handlers.push(h.ICFHANDLER.ICFHANDLER);\n }\n }\n this.parsedXML.url = parsed.abapGit[\"asx:abap\"][\"asx:values\"].URL;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.ICFService = ICFService;\n//# sourceMappingURL=icf_service.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/icf_service.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/idoc.js": +/*!***************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/idoc.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Idoc = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Idoc extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IDOC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Idoc = Idoc;\n//# sourceMappingURL=idoc.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/idoc.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/idoc_extension.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/idoc_extension.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IdocExtension = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IdocExtension extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IEXT\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: false,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IdocExtension = IdocExtension;\n//# sourceMappingURL=idoc_extension.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/idoc_extension.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/inbound_service.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/inbound_service.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InboundService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass InboundService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SCO2\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.InboundService = InboundService;\n//# sourceMappingURL=inbound_service.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/inbound_service.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js": +/*!****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/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__(/*! ./activation_variant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/activation_variant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./api_release_state */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/api_release_state.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assignment_service_to_authorization_group */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./atc_check_category */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_category.js\"), exports);\n__exportStar(__webpack_require__(/*! ./atc_check_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./atc_check_variant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/atc_check_variant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authorization_check_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_check_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authorization_group */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authorization_object_class */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authorization_object_extension */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object_extension.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authorization_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/authorization_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./behavior_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/behavior_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bsp_application */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/bsp_application.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_add_in_implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_add_in_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_catalog_app_assignment */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_catalog_app_assignment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_catalog */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_catalog.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_configuration_set */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_configuration_set.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_function_assignment */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_function_assignment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_function_set_assignment */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_function_set_assignment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_object_model */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/business_object_model.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_metadata_extension */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/cds_metadata_extension.js\"), exports);\n__exportStar(__webpack_require__(/*! ./change_document */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/change_document.js\"), exports);\n__exportStar(__webpack_require__(/*! ./chapter_of_book_structure */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/chapter_of_book_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./checkpoint_group */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/checkpoint_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./classification */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/classification.js\"), exports);\n__exportStar(__webpack_require__(/*! ./communication_scenario */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/communication_scenario.js\"), exports);\n__exportStar(__webpack_require__(/*! ./composite_enhancement_implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/composite_enhancement_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./composite_enhancement_spot */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/composite_enhancement_spot.js\"), exports);\n__exportStar(__webpack_require__(/*! ./concepts_of_package */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/concepts_of_package.js\"), exports);\n__exportStar(__webpack_require__(/*! ./customer_enhancement_project */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js\"), exports);\n__exportStar(__webpack_require__(/*! ./customizing_attributes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_attributes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./customizing_img_activity */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_img_activity.js\"), exports);\n__exportStar(__webpack_require__(/*! ./customizing_transaction */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/customizing_transaction.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_control */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_control.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_element */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/data_element.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dialog_module */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/dialog_module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./documentation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/documentation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./domain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/domain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ecatt_test_configuration */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_configuration.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ecatt_test_data_container */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_data_container.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ecatt_test_script */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/ecatt_test_script.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_implementation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/enhancement_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_spot */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/enhancement_spot.js\"), exports);\n__exportStar(__webpack_require__(/*! ./event_binding */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/event_binding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./extension_index */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/extension_index.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_catalog */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/field_catalog.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_object_form */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/form_object_form.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_object_interface */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/form_object_interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./format_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/format_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_group */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/function_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_model_metadata */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_model_metadata.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_model */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_model.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_project */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_project.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_service_groups_metadata */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_service_groups_metadata.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_service */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_vocabulary_annotation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/gateway_vocabulary_annotation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./general_hierarchy_storage_extrension_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_hierarchy_storage_extrension_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./general_storage_structure */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_storage_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./general_text */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/general_text.js\"), exports);\n__exportStar(__webpack_require__(/*! ./http_service */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/http_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./iac_binary_data */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_binary_data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./iac_language_resource */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_language_resource.js\"), exports);\n__exportStar(__webpack_require__(/*! ./iac_service */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./iac_template */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iac_template.js\"), exports);\n__exportStar(__webpack_require__(/*! ./iam_app */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/iam_app.js\"), exports);\n__exportStar(__webpack_require__(/*! ./icf_service */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/icf_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./idoc_extension */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/idoc_extension.js\"), exports);\n__exportStar(__webpack_require__(/*! ./idoc */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/idoc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inbound_service */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/inbound_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./info_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/info_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./lock_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/lock_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./maintenance_and_transport_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/maintenance_and_transport_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_class */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/message_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./messaging_channel */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/messaging_channel.js\"), exports);\n__exportStar(__webpack_require__(/*! ./mime_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/mime_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./namespace */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/namespace.js\"), exports);\n__exportStar(__webpack_require__(/*! ./number_range */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/number_range.js\"), exports);\n__exportStar(__webpack_require__(/*! ./object_characteristic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/object_characteristic.js\"), exports);\n__exportStar(__webpack_require__(/*! ./package_interface */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/package_interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./package */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/package.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./personalization_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/personalization_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./program */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/program.js\"), exports);\n__exportStar(__webpack_require__(/*! ./proxy_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/proxy_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./push_channel */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/push_channel.js\"), exports);\n__exportStar(__webpack_require__(/*! ./restriction_field */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/restriction_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./restriction_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/restriction_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./rfc_service */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rfc_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sapscript_style */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/sapscript_style.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sapscript */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/sapscript.js\"), exports);\n__exportStar(__webpack_require__(/*! ./screen_variant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/screen_variant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./search_help */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/search_help.js\"), exports);\n__exportStar(__webpack_require__(/*! ./service_binding */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/service_binding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./service_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/service_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./shared_memory */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/shared_memory.js\"), exports);\n__exportStar(__webpack_require__(/*! ./smart_form */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/smart_form.js\"), exports);\n__exportStar(__webpack_require__(/*! ./smart_style */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/smart_style.js\"), exports);\n__exportStar(__webpack_require__(/*! ./switch_assignment_hierarchy */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/switch_assignment_hierarchy.js\"), exports);\n__exportStar(__webpack_require__(/*! ./switch_assignments */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/switch_assignments.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/table_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./technical_job_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/technical_job_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./transaction_variant */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transaction_variant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./transaction */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transaction.js\"), exports);\n__exportStar(__webpack_require__(/*! ./transformation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transformation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_pool */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/type_pool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./view_cluster */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/view_cluster.js\"), exports);\n__exportStar(__webpack_require__(/*! ./view */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/view.js\"), exports);\n__exportStar(__webpack_require__(/*! ./virtual_end_point */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/virtual_end_point.js\"), exports);\n__exportStar(__webpack_require__(/*! ./web_dynpro_application_configuration */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_application_configuration.js\"), exports);\n__exportStar(__webpack_require__(/*! ./web_dynpro_application */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_application.js\"), exports);\n__exportStar(__webpack_require__(/*! ./web_dynpro_component_configuration */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_component_configuration.js\"), exports);\n__exportStar(__webpack_require__(/*! ./web_dynpro_component */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_component.js\"), exports);\n__exportStar(__webpack_require__(/*! ./web_mime */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_mime.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/info_object.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/info_object.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InfoObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass InfoObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IOBJ\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.InfoObject = InfoObject;\n//# sourceMappingURL=info_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/info_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/interface.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/interface.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Interface = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ./_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass Interface extends _abap_object_1.ABAPObject {\n constructor() {\n super(...arguments);\n this.def = undefined;\n this.parsedXML = undefined;\n }\n getType() {\n return \"INTF\";\n }\n setDefinition(def) {\n this.def = def;\n }\n getSequencedFiles() {\n const main = this.getMainABAPFile();\n if (main === undefined) {\n return [];\n }\n return [main];\n }\n getDefinition() {\n return this.def;\n }\n getInterface() {\n var _a;\n return (_a = this.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().getInterfaceDefinitionByName(this.getName());\n }\n getIdentifier() {\n var _a;\n return (_a = this.getInterface()) === null || _a === void 0 ? void 0 : _a.identifier;\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.def = undefined;\n this.parsedXML = undefined;\n super.setDirty();\n }\n getNameFromXML() {\n var _a;\n this.parseXML();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.name;\n }\n getDescription() {\n var _a;\n this.parseXML();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n /////////////////////////\n parseXML() {\n if (this.parsedXML !== undefined) {\n return;\n }\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return;\n }\n const vseo = parsed.abapGit[\"asx:abap\"][\"asx:values\"].VSEOINTERF;\n if (vseo === undefined) {\n this.parsedXML.description = \"\";\n this.parsedXML.name = \"\";\n }\n else {\n this.parsedXML.description = vseo.DESCRIPT ? vseo.DESCRIPT : \"\";\n this.parsedXML.name = vseo.CLSNAME ? vseo.CLSNAME : \"\";\n }\n }\n}\nexports.Interface = Interface;\n//# sourceMappingURL=interface.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/interface.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/lock_object.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/lock_object.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LockObject = void 0;\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass LockObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ENQU\";\n }\n getAllowedNaming() {\n return {\n maxLength: 16,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getPrimaryTable() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.primaryTable;\n }\n parseType(reg) {\n var _a;\n this.parse();\n const references = [];\n const ddic = new ddic_1.DDIC(reg);\n if ((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.primaryTable) {\n const found = ddic.lookupTableOrView2(this.parsedXML.primaryTable);\n if (found) {\n references.push({ object: found });\n reg.getDDICReferences().setUsing(this, references);\n return found.parseType(reg);\n }\n else if (ddic.inErrorNamespace(this.parsedXML.primaryTable)) {\n return new basic_1.UnknownType(this.parsedXML.primaryTable + \" not found\");\n }\n else {\n return new basic_1.VoidType(this.parsedXML.primaryTable);\n }\n }\n else {\n return new basic_1.UnknownType(\"Parsing error\");\n }\n }\n parse() {\n var _a, _b;\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n this.parsedXML.primaryTable = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"].DD25V) === null || _a === void 0 ? void 0 : _a.ROOTTAB;\n this.parsedXML.description = (_b = parsed.abapGit[\"asx:abap\"][\"asx:values\"].DD25V) === null || _b === void 0 ? void 0 : _b.DDTEXT;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n getDescription() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n}\nexports.LockObject = LockObject;\n//# sourceMappingURL=lock_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/lock_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/maintenance_and_transport_object.js": +/*!*******************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/maintenance_and_transport_object.js ***! + \*******************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MaintenanceAndTransportObject = void 0;\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass MaintenanceAndTransportObject extends _abstract_object_1.AbstractObject {\n setDirty() {\n super.setDirty();\n this.parsedXML = undefined;\n }\n getType() {\n return \"TOBJ\";\n }\n getDescription() {\n // todo\n return undefined;\n }\n getAllowedNaming() {\n return {\n maxLength: 31,\n allowNamespace: true,\n };\n }\n getArea() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.area;\n }\n getObjectName() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.objectName;\n }\n getObjectType() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.objectType;\n }\n parseType(reg) {\n var _a, _b, _c;\n this.parse();\n const references = [];\n const ddic = new ddic_1.DDIC(reg);\n if (((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.objectName) && this.parsedXML.objectType === \"S\") {\n const found = ddic.lookupTableOrView2(this.parsedXML.objectName);\n if (found) {\n references.push({ object: found });\n reg.getDDICReferences().setUsing(this, references);\n return found.parseType(reg);\n }\n else if (ddic.inErrorNamespace(this.parsedXML.objectName)) {\n return new basic_1.UnknownType(this.parsedXML.objectName + \" not found\");\n }\n else {\n return new basic_1.VoidType(this.parsedXML.objectName);\n }\n }\n else if (((_b = this.parsedXML) === null || _b === void 0 ? void 0 : _b.objectType) !== \"S\" && ((_c = this.parsedXML) === null || _c === void 0 ? void 0 : _c.objectName)) {\n return new basic_1.VoidType(this.parsedXML.objectName);\n }\n else {\n return new basic_1.UnknownType(\"Parsing error\");\n }\n }\n parse() {\n var _a, _b, _c, _d;\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n this.parsedXML.area = (_b = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"].TOBJ) === null || _a === void 0 ? void 0 : _a.TVDIR) === null || _b === void 0 ? void 0 : _b.AREA;\n this.parsedXML.objectName = (_c = parsed.abapGit[\"asx:abap\"][\"asx:values\"].OBJH) === null || _c === void 0 ? void 0 : _c.OBJECTNAME;\n this.parsedXML.objectType = (_d = parsed.abapGit[\"asx:abap\"][\"asx:values\"].OBJH) === null || _d === void 0 ? void 0 : _d.OBJECTTYPE;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.MaintenanceAndTransportObject = MaintenanceAndTransportObject;\n//# sourceMappingURL=maintenance_and_transport_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/maintenance_and_transport_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/message_class.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/message_class.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageClass = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst message_1 = __webpack_require__(/*! ../abap/types/message */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/message.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass MessageClass extends _abstract_object_1.AbstractObject {\n constructor() {\n super(...arguments);\n this.parsedMessages = undefined;\n }\n getType() {\n return \"MSAG\";\n }\n getDescription() {\n // todo\n return undefined;\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedMessages = undefined;\n super.setDirty();\n }\n getMessages() {\n this.parseXML();\n const msg = this.parsedMessages;\n return msg ? msg : [];\n }\n getByNumber(num) {\n // todo, optimize performance,\n for (const message of this.getMessages()) {\n if (message.getNumber() === num) {\n return message;\n }\n }\n return undefined;\n }\n /////////////////////////////////\n parseXML() {\n var _a, _b;\n if (this.parsedMessages !== undefined) {\n return;\n }\n this.parsedMessages = [];\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return;\n }\n const t100 = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a[\"asx:abap\"][\"asx:values\"]) === null || _b === void 0 ? void 0 : _b.T100;\n if (t100 === undefined) {\n return;\n }\n for (const msg of (0, xml_utils_1.xmlToArray)(t100.T100)) {\n this.parsedMessages.push(new message_1.Message(msg.MSGNR, (0, xml_utils_1.unescape)(msg.TEXT)));\n }\n }\n}\nexports.MessageClass = MessageClass;\n//# sourceMappingURL=message_class.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/message_class.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/messaging_channel.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/messaging_channel.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessagingChannel = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass MessagingChannel extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SAMC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.MessagingChannel = MessagingChannel;\n//# sourceMappingURL=messaging_channel.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/messaging_channel.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/mime_object.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/mime_object.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MIMEObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass MIMEObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SMIM\";\n }\n getURL() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.URL;\n }\n getClass() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.CLASS;\n }\n isFolder() {\n var _a;\n return ((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.FOLDER) === \"X\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: false,\n };\n }\n getDataFile() {\n const main = this.getXMLFile();\n for (const f of this.getFiles()) {\n if (f.getFilename() !== (main === null || main === void 0 ? void 0 : main.getFilename())) {\n return f;\n }\n }\n return undefined;\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getDescription() {\n // this object type does not have a description\n return undefined;\n }\n parse() {\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n this.parsedXML.URL = parsed.abapGit[\"asx:abap\"][\"asx:values\"].URL;\n this.parsedXML.CLASS = parsed.abapGit[\"asx:abap\"][\"asx:values\"].CLASS;\n this.parsedXML.FOLDER = parsed.abapGit[\"asx:abap\"][\"asx:values\"].FOLDER;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.MIMEObject = MIMEObject;\n//# sourceMappingURL=mime_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/mime_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/namespace.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/namespace.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Namespace = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Namespace extends _abstract_object_1.AbstractObject {\n getType() {\n return \"NSPC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 10,\n allowNamespace: true,\n customRegex: new RegExp(/^\\/[A-Z_\\d]{3,8}\\/$/i),\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Namespace = Namespace;\n//# sourceMappingURL=namespace.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/namespace.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/number_range.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/number_range.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NumberRange = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass NumberRange extends _abstract_object_1.AbstractObject {\n getType() {\n return \"NROB\";\n }\n getAllowedNaming() {\n return {\n maxLength: 10,\n allowNamespace: true,\n };\n }\n getDomain() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.domain;\n }\n getPercentage() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.percentage;\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n parse() {\n var _a, _b, _c, _d, _e, _f;\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return { updated: false, runtime: 0 };\n }\n const text = (_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a[\"asx:abap\"]) === null || _b === void 0 ? void 0 : _b[\"asx:values\"]) === null || _c === void 0 ? void 0 : _c.TEXT;\n this.parsedXML.description = text === null || text === void 0 ? void 0 : text.TXT;\n const attributes = (_f = (_e = (_d = parsed.abapGit) === null || _d === void 0 ? void 0 : _d[\"asx:abap\"]) === null || _e === void 0 ? void 0 : _e[\"asx:values\"]) === null || _f === void 0 ? void 0 : _f.ATTRIBUTES;\n this.parsedXML.domain = attributes === null || attributes === void 0 ? void 0 : attributes.DOMLEN;\n this.parsedXML.percentage = parseFloat((attributes === null || attributes === void 0 ? void 0 : attributes.PERCENTAGE) || \"\");\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n getDescription() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n}\nexports.NumberRange = NumberRange;\n//# sourceMappingURL=number_range.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/number_range.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/object_characteristic.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/object_characteristic.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ObjectCharacteristic = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ObjectCharacteristic extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CHAR\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ObjectCharacteristic = ObjectCharacteristic;\n//# sourceMappingURL=object_characteristic.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/object_characteristic.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/package.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/package.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Package = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Package extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DEVC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Package = Package;\n//# sourceMappingURL=package.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/package.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/package_interface.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/package_interface.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PackageInterface = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass PackageInterface extends _abstract_object_1.AbstractObject {\n getType() {\n return \"PINF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.PackageInterface = PackageInterface;\n//# sourceMappingURL=package_interface.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/package_interface.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/parameter.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/parameter.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Parameter = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Parameter extends _abstract_object_1.AbstractObject {\n getType() {\n return \"PARA\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Parameter = Parameter;\n//# sourceMappingURL=parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/parameter.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/personalization_object.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/personalization_object.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PersonalizationObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass PersonalizationObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"PERS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.PersonalizationObject = PersonalizationObject;\n//# sourceMappingURL=personalization_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/personalization_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/program.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/program.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Program = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ./_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass Program extends _abap_object_1.ABAPObject {\n getType() {\n return \"PROG\";\n }\n getSequencedFiles() {\n const main = this.getMainABAPFile();\n if (main === undefined) {\n return [];\n }\n return [main];\n }\n getDescription() {\n // todo\n return undefined;\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n isInclude() {\n this.parseXML();\n return this.parsedXML.isInclude;\n }\n isModulePool() {\n this.parseXML();\n return this.parsedXML.isModulePool;\n }\n parseXML() {\n if (this.parsedXML === undefined) {\n const file = this.getXMLFile();\n this.parsedXML = {\n isInclude: file ? file.getRaw().includes(\"I\") : false,\n isModulePool: file ? file.getRaw().includes(\"M\") : false,\n };\n }\n }\n}\nexports.Program = Program;\n//# sourceMappingURL=program.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/program.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/proxy_object.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/proxy_object.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ProxyObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ProxyObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SPRX\";\n }\n getAllowedNaming() {\n return {\n maxLength: 34,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ProxyObject = ProxyObject;\n//# sourceMappingURL=proxy_object.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/proxy_object.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/push_channel.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/push_channel.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PushChannel = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass PushChannel extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SAPC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.PushChannel = PushChannel;\n//# sourceMappingURL=push_channel.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/push_channel.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_data_element.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_data_element.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameDataElement = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nclass RenameDataElement {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof __1.DataElement)) {\n throw new Error(\"RenameDataElement, not a data element\");\n }\n let changes = [];\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"ROLLNAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICCodeReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTTYPReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICAUTHReferences(obj, oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameDataElement = RenameDataElement;\n//# sourceMappingURL=rename_data_element.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_data_element.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_domain.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_domain.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameDomain = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nclass RenameDomain {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof __1.Domain)) {\n throw new Error(\"RenameDomain, not a domain\");\n }\n let changes = [];\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"DOMNAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICDTELReferences(obj, oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameDomain = RenameDomain;\n//# sourceMappingURL=rename_domain.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_domain.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_global_class.js": +/*!*************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_global_class.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameGlobalClass = void 0;\nconst Statements = __webpack_require__(/*! ../../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ../../lsp/_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nclass RenameGlobalClass {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof __1.Class)) {\n throw new Error(\"not a class\");\n }\n const main = obj.getMainABAPFile();\n if (main === undefined) {\n throw new Error(\"Main file not found\");\n }\n let changes = [];\n // todo, this is actually the same as \"id\" ?\n {\n const edits = [];\n for (const s of main.getStatements()) {\n if (s.get() instanceof Statements.ClassDefinition) {\n const exp = s.findFirstExpression(Expressions.ClassName);\n if (exp === undefined) {\n continue;\n }\n edits.push(vscode_languageserver_types_1.TextEdit.replace(_lsp_utils_1.LSPUtils.tokenToRange(exp.getFirstToken()), newName.toLowerCase()));\n }\n else if (s.get() instanceof Statements.ClassImplementation) {\n const exp = s.findFirstExpression(Expressions.ClassName);\n if (exp === undefined) {\n continue;\n }\n edits.push(vscode_languageserver_types_1.TextEdit.replace(_lsp_utils_1.LSPUtils.tokenToRange(exp.getFirstToken()), newName.toLowerCase()));\n }\n }\n changes.push(vscode_languageserver_types_1.TextDocumentEdit.create({ uri: main.getFilename(), version: 1 }, edits));\n }\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"CLSNAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameReferences(obj.getIdentifier(), oldName, newName));\n changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameGlobalClass = RenameGlobalClass;\n//# sourceMappingURL=rename_global_class.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_global_class.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_global_interface.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_global_interface.js ***! + \*****************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameGlobalInterface = void 0;\nconst Statements = __webpack_require__(/*! ../../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ../../lsp/_lsp_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nconst interface_1 = __webpack_require__(/*! ../interface */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/interface.js\");\nclass RenameGlobalInterface {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof interface_1.Interface)) {\n throw new Error(\"not an interface\");\n }\n const main = obj.getMainABAPFile();\n if (main === undefined) {\n throw new Error(\"Main file not found\");\n }\n let changes = [];\n // todo, this is actually the same as \"id\" ?\n {\n const edits = [];\n for (const s of main.getStatements()) {\n if (s.get() instanceof Statements.Interface) {\n const exp = s.findFirstExpression(Expressions.InterfaceName);\n if (exp === undefined) {\n continue;\n }\n edits.push(vscode_languageserver_types_1.TextEdit.replace(_lsp_utils_1.LSPUtils.tokenToRange(exp.getFirstToken()), newName.toLowerCase()));\n }\n }\n changes.push(vscode_languageserver_types_1.TextDocumentEdit.create({ uri: main.getFilename(), version: 1 }, edits));\n }\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"CLSNAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameReferences(obj.getIdentifier(), oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameGlobalInterface = RenameGlobalInterface;\n//# sourceMappingURL=rename_global_interface.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_global_interface.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_table.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_table.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameTable = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nclass RenameTable {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof __1.Table)) {\n throw new Error(\"RenameTable, not a table\");\n }\n let changes = [];\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"TABNAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICCodeReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTTYPReferences(obj, oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameTable = RenameTable;\n//# sourceMappingURL=rename_table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_table_type.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_table_type.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameTableType = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nclass RenameTableType {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof __1.TableType)) {\n throw new Error(\"RenameTableType, not a table type\");\n }\n let changes = [];\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"TYPENAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICCodeReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTTYPReferences(obj, oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameTableType = RenameTableType;\n//# sourceMappingURL=rename_table_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_table_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Renamer = void 0;\nconst vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst memory_file_1 = __webpack_require__(/*! ../../files/memory_file */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/files/memory_file.js\");\nconst rename_data_element_1 = __webpack_require__(/*! ./rename_data_element */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_data_element.js\");\nconst rename_domain_1 = __webpack_require__(/*! ./rename_domain */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_domain.js\");\nconst rename_global_class_1 = __webpack_require__(/*! ./rename_global_class */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_global_class.js\");\nconst rename_global_interface_1 = __webpack_require__(/*! ./rename_global_interface */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_global_interface.js\");\nconst rename_table_1 = __webpack_require__(/*! ./rename_table */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_table.js\");\nconst rename_table_type_1 = __webpack_require__(/*! ./rename_table_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/rename_table_type.js\");\nclass Renamer {\n constructor(reg) {\n this.reg = reg;\n }\n /** Applies the renaming to the objects and files in the registry,\n * after renaming the registry is not parsed */\n rename(type, oldName, newName) {\n const edits = this.buildEdits(type, oldName, newName);\n if (edits === undefined) {\n throw new Error(\"no changes could be determined\");\n }\n else if (edits.changes) {\n throw new Error(\"only documentChanges expected\");\n }\n const result = this.apply(edits);\n this.reg.findIssues(); // hmm, this builds the ddic references\n return result;\n }\n /** Builds edits, but does not apply to registry, used by LSP */\n buildEdits(type, oldName, newName) {\n this.reg.parse(); // the registry must be parsed to dermine references\n const obj = this.reg.getObject(type, oldName);\n if (obj === undefined) {\n throw new Error(\"rename, object not found\");\n }\n else if (newName.length > obj.getAllowedNaming().maxLength) {\n // todo, also do not allow strange characters and spaces\n throw new Error(\"Name not allowed\");\n }\n const r = this.factory(type);\n return r.buildEdits(obj, oldName.toUpperCase(), newName);\n }\n //////////////////\n factory(type) {\n switch (type) {\n case \"CLAS\":\n return new rename_global_class_1.RenameGlobalClass(this.reg);\n case \"DTEL\":\n return new rename_data_element_1.RenameDataElement(this.reg);\n case \"DOMA\":\n return new rename_domain_1.RenameDomain(this.reg);\n case \"TABL\":\n return new rename_table_1.RenameTable(this.reg);\n case \"TTYP\":\n return new rename_table_type_1.RenameTableType(this.reg);\n case \"INTF\":\n return new rename_global_interface_1.RenameGlobalInterface(this.reg);\n default:\n throw new Error(\"Renaming of \" + type + \" not yet supported\");\n }\n }\n apply(edits) {\n const renames = [];\n const result = {\n addedFiles: new Set(),\n deletedFiles: new Set(),\n updatedFiles: new Set(),\n };\n // assumption: only renames or text changes, no deletes or creates\n for (const dc of edits.documentChanges || []) {\n if (vscode_languageserver_types_1.TextDocumentEdit.is(dc)) {\n this.applyEdit(dc);\n result.updatedFiles.add(dc.textDocument.uri);\n }\n else if (vscode_languageserver_types_1.RenameFile.is(dc)) {\n renames.push(dc);\n }\n else {\n throw new Error(\"unexpected documentChange type\");\n }\n }\n for (const rename of renames) {\n result.updatedFiles.delete(rename.oldUri);\n result.deletedFiles.add(rename.oldUri);\n result.addedFiles.add(rename.newUri);\n }\n this.applyRenames(renames);\n return result;\n }\n applyEdit(dc) {\n const file = this.reg.getFileByName(dc.textDocument.uri);\n if (file === undefined) {\n throw new Error(\"file \" + dc.textDocument.uri + \" not found\");\n }\n const rows = file.getRawRows();\n for (const e of dc.edits) {\n if (e.range.start.line !== e.range.end.line) {\n throw new Error(\"applyEdit, start and end line differ\");\n }\n const before = rows[e.range.start.line];\n rows[e.range.start.line] = before.substring(0, e.range.start.character) +\n e.newText +\n before.substring(e.range.end.character);\n }\n const newFile = new memory_file_1.MemoryFile(dc.textDocument.uri, rows.join(\"\\n\"));\n this.reg.updateFile(newFile);\n }\n applyRenames(renames) {\n for (const r of renames) {\n const old = this.reg.getFileByName(r.oldUri);\n if (old === undefined) {\n throw new Error(\"applyRenames, old not found\");\n }\n const newFile = new memory_file_1.MemoryFile(r.newUri, old.getRaw());\n this.reg.removeFile(old);\n this.reg.addFile(newFile);\n }\n }\n}\nexports.Renamer = Renamer;\n//# sourceMappingURL=renamer.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenamerHelper = void 0;\nconst vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageserver-types */ \"../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst __1 = __webpack_require__(/*! ../.. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst position_1 = __webpack_require__(/*! ../../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass RenamerHelper {\n constructor(reg) {\n this.reg = reg;\n }\n renameReferences(id, oldName, newName) {\n if (id === undefined) {\n throw new Error(\"renameReferences, no main identifier found\");\n }\n let refs = [];\n for (const o of this.reg.getObjects()) {\n if (o instanceof _abap_object_1.ABAPObject) {\n if (this.reg.isDependency(o)) {\n continue; // do not search in dependencies\n }\n refs = refs.concat(this.findReferences(new syntax_1.SyntaxLogic(this.reg, o).run().spaghetti.getTop(), id));\n }\n }\n // start with the last reference in the file first, if there are multiple refs per line\n return this.replaceRefs(refs, oldName, newName).reverse();\n }\n renameDDICCodeReferences(obj, oldName, newName) {\n const changes = [];\n const used = this.reg.getDDICReferences().listWhereUsed(obj);\n for (const u of used) {\n if (u.token === undefined || u.filename === undefined) {\n continue;\n }\n const range = vscode_languageserver_types_1.Range.create(u.token.getStart().getRow() - 1, u.token.getStart().getCol() - 1, u.token.getStart().getRow() - 1, u.token.getStart().getCol() - 1 + oldName.length);\n changes.push(vscode_languageserver_types_1.TextDocumentEdit.create({ uri: u.filename, version: 1 }, [vscode_languageserver_types_1.TextEdit.replace(range, newName.toLowerCase())]));\n }\n return changes;\n }\n renameDDICTABLReferences(obj, oldName, newName) {\n const changes = [];\n const used = this.reg.getDDICReferences().listWhereUsed(obj);\n const handled = {};\n for (const u of used) {\n if (u.type !== \"TABL\" || handled[u.name.toUpperCase()] === true) {\n // a TABL might reference the object multiple times, but they are all fixes in one call to buildXMLFileEdits\n continue;\n }\n const tabl = this.reg.getObject(u.type, u.name);\n if (tabl === undefined) {\n continue;\n }\n changes.push(...this.buildXMLFileEdits(tabl, \"ROLLNAME\", oldName, newName));\n handled[u.name.toUpperCase()] = true;\n }\n return changes;\n }\n renameDDICDTELReferences(obj, oldName, newName) {\n const changes = [];\n const used = this.reg.getDDICReferences().listWhereUsed(obj);\n for (const u of used) {\n if (u.type !== \"DTEL\") {\n continue;\n }\n const tabl = this.reg.getObject(u.type, u.name);\n if (tabl === undefined) {\n continue;\n }\n changes.push(...this.buildXMLFileEdits(tabl, \"DOMNAME\", oldName, newName));\n }\n return changes;\n }\n renameDDICTTYPReferences(obj, oldName, newName) {\n const changes = [];\n const used = this.reg.getDDICReferences().listWhereUsed(obj);\n for (const u of used) {\n if (u.type !== \"TTYP\") {\n continue;\n }\n const tabl = this.reg.getObject(u.type, u.name);\n if (tabl === undefined) {\n continue;\n }\n changes.push(...this.buildXMLFileEdits(tabl, \"ROWTYPE\", oldName, newName));\n }\n return changes;\n }\n renameDDICAUTHReferences(obj, oldName, newName) {\n const changes = [];\n const used = this.reg.getDDICReferences().listWhereUsed(obj);\n for (const u of used) {\n if (u.type !== \"AUTH\") {\n continue;\n }\n const tabl = this.reg.getObject(u.type, u.name);\n if (tabl === undefined) {\n continue;\n }\n changes.push(...this.buildXMLFileEdits(tabl, \"ROLLNAME\", oldName, newName));\n }\n return changes;\n }\n buildXMLFileEdits(object, xmlTag, oldName, newName) {\n const changes = [];\n const xml = object.getXMLFile();\n if (xml === undefined) {\n return [];\n }\n const tag = xmlTag.toUpperCase();\n const search = \"<\" + tag + \">\" + oldName.toUpperCase() + \"\";\n const length = tag.length + 2;\n const rows = xml.getRawRows();\n for (let i = 0; i < rows.length; i++) {\n const index = rows[i].indexOf(search);\n if (index >= 0) {\n const range = vscode_languageserver_types_1.Range.create(i, index + length, i, index + oldName.length + length);\n changes.push(vscode_languageserver_types_1.TextDocumentEdit.create({ uri: xml.getFilename(), version: 1 }, [vscode_languageserver_types_1.TextEdit.replace(range, newName.toUpperCase())]));\n }\n }\n return changes;\n }\n renameFiles(obj, oldName, name) {\n const list = [];\n const newName = name.toLowerCase().replace(/\\//g, \"#\");\n for (const f of obj.getFiles()) {\n // todo, this is not completely correct, ie. if the URI contains the same directory name as the object name\n const newFilename = f.getFilename().replace(oldName.toLowerCase(), newName.toLowerCase());\n list.push(vscode_languageserver_types_1.RenameFile.create(f.getFilename(), newFilename));\n }\n return list;\n }\n ////////////////////////\n replaceRefs(refs, oldName, newName) {\n const changes = [];\n // \"zif_abapgit_auth~is_allowed\" is a single token so only replace the first part of a token\n for (const r of refs) {\n const range = vscode_languageserver_types_1.Range.create(r.getStart().getRow() - 1, r.getStart().getCol() - 1, r.getStart().getRow() - 1, r.getStart().getCol() - 1 + oldName.length);\n changes.push(vscode_languageserver_types_1.TextDocumentEdit.create({ uri: r.getFilename(), version: 1 }, [vscode_languageserver_types_1.TextEdit.replace(range, newName.toLowerCase())]));\n }\n return changes;\n }\n findReferences(node, identifier) {\n var _a;\n let ret = [];\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.BuiltIn) {\n for (const r of node.getData().references) {\n if (((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.equals(identifier))\n && r.referenceType !== __1.ReferenceType.InferredType\n && !(r.position.getStart() instanceof position_1.VirtualPosition)) {\n ret.push(r.position);\n }\n }\n }\n for (const c of node.getChildren()) {\n ret = ret.concat(this.findReferences(c, identifier));\n }\n return ret;\n }\n}\nexports.RenamerHelper = RenamerHelper;\n//# sourceMappingURL=renamer_helper.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/restriction_field.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/restriction_field.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RestrictionField = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass RestrictionField extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA5\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.RestrictionField = RestrictionField;\n//# sourceMappingURL=restriction_field.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/restriction_field.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/restriction_type.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/restriction_type.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RestrictionType = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass RestrictionType extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA2\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.RestrictionType = RestrictionType;\n//# sourceMappingURL=restriction_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/restriction_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rfc_service.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rfc_service.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RFCService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass RFCService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SRFC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.RFCService = RFCService;\n//# sourceMappingURL=rfc_service.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/rfc_service.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/sapscript.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/sapscript.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SAPScript = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SAPScript extends _abstract_object_1.AbstractObject {\n getType() {\n return \"FORM\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SAPScript = SAPScript;\n//# sourceMappingURL=sapscript.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/sapscript.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/sapscript_style.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/sapscript_style.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SAPScriptStyle = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SAPScriptStyle extends _abstract_object_1.AbstractObject {\n getType() {\n return \"STYL\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SAPScriptStyle = SAPScriptStyle;\n//# sourceMappingURL=sapscript_style.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/sapscript_style.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/screen_variant.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/screen_variant.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ScreenVariant = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ScreenVariant extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SCVI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ScreenVariant = ScreenVariant;\n//# sourceMappingURL=screen_variant.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/screen_variant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/search_help.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/search_help.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SearchHelp = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SearchHelp extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SHLP\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SearchHelp = SearchHelp;\n//# sourceMappingURL=search_help.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/search_help.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/service_binding.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/service_binding.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ServiceBinding = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ServiceBinding extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SRVB\";\n }\n getAllowedNaming() {\n return {\n maxLength: 26,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ServiceBinding = ServiceBinding;\n//# sourceMappingURL=service_binding.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/service_binding.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/service_definition.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/service_definition.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ServiceDefinition = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ServiceDefinition extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SRVD\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ServiceDefinition = ServiceDefinition;\n//# sourceMappingURL=service_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/service_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/shared_memory.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/shared_memory.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SharedMemory = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SharedMemory extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SHMA\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SharedMemory = SharedMemory;\n//# sourceMappingURL=shared_memory.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/shared_memory.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/smart_form.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/smart_form.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SmartForm = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SmartForm extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SSFO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SmartForm = SmartForm;\n//# sourceMappingURL=smart_form.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/smart_form.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/smart_style.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/smart_style.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SmartStyle = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SmartStyle extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SSST\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SmartStyle = SmartStyle;\n//# sourceMappingURL=smart_style.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/smart_style.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/switch_assignment_hierarchy.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/switch_assignment_hierarchy.js ***! + \**************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SwitchAssignmentHierarchy = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SwitchAssignmentHierarchy extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SHI8\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SwitchAssignmentHierarchy = SwitchAssignmentHierarchy;\n//# sourceMappingURL=switch_assignment_hierarchy.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/switch_assignment_hierarchy.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/switch_assignments.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/switch_assignments.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SwitchAssignments = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SwitchAssignments extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SFSW\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SwitchAssignments = SwitchAssignments;\n//# sourceMappingURL=switch_assignments.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/switch_assignments.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/table.js": +/*!****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/table.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Table = exports.TableCategory = exports.EnhancementCategory = void 0;\nconst Types = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nvar EnhancementCategory;\n(function (EnhancementCategory) {\n EnhancementCategory[\"NotClassified\"] = \"0\";\n EnhancementCategory[\"CannotBeEhanced\"] = \"1\";\n EnhancementCategory[\"Character\"] = \"2\";\n EnhancementCategory[\"CharacterOrNumeric\"] = \"3\";\n EnhancementCategory[\"Deep\"] = \"4\";\n})(EnhancementCategory || (exports.EnhancementCategory = EnhancementCategory = {}));\nvar TableCategory;\n(function (TableCategory) {\n TableCategory[\"Transparent\"] = \"TRANSP\";\n TableCategory[\"Structure\"] = \"INTTAB\";\n TableCategory[\"Cluster\"] = \"CLUSTER\";\n TableCategory[\"Pooled\"] = \"POOL\";\n TableCategory[\"View\"] = \"VIEW\";\n TableCategory[\"Append\"] = \"APPEND\";\n})(TableCategory || (exports.TableCategory = TableCategory = {}));\nclass Table extends _abstract_object_1.AbstractObject {\n getType() {\n return \"TABL\";\n }\n getDescription() {\n // todo\n return undefined;\n }\n getAllowedNaming() {\n let length = 30;\n if (this.getTableCategory() === TableCategory.Transparent) {\n length = 16;\n }\n return {\n maxLength: length,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedData = undefined;\n super.setDirty();\n }\n listKeys(reg) {\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n if (this.parsedData === undefined) {\n return [];\n }\n const ret = [];\n for (const p of this.parsedData.fields) {\n if (p.KEYFLAG === \"X\" && p.FIELDNAME === \".INCLUDE\") {\n const lookup = new ddic_1.DDIC(reg).lookupTableOrView(p.PRECFIELD).type;\n if (lookup instanceof Types.StructureType) {\n for (const c of lookup.getComponents()) {\n ret.push(c.name);\n }\n }\n }\n else if (p.KEYFLAG === \"X\") {\n ret.push(p.FIELDNAME);\n }\n }\n return ret;\n }\n parseType(reg) {\n var _a, _b;\n if (this.parsedData === undefined) {\n this.parseXML();\n if (this.parsedData === undefined) {\n return new Types.UnknownType(\"Table, parser error\");\n }\n }\n if (reg.getConfig().getVersion() === version_1.Version.Cloud\n && this.parsedData.dataClass === \"USER3\") {\n return new Types.UnknownType(\"Data class = USER3 not allowed in cloud\");\n }\n const references = [];\n const components = [];\n const ddic = new ddic_1.DDIC(reg);\n for (const field of this.parsedData.fields) {\n const comptype = field.COMPTYPE ? field.COMPTYPE : \"\";\n if (comptype === \"E\") { // data element\n const lookup = ddic.lookupDataElement(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: lookup.type });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (field.FIELDNAME === \".INCLUDE\" || field.FIELDNAME === \".INCLU--AP\") { // incude or append structure\n if (field.PRECFIELD === undefined) {\n return new Types.UnknownType(\"Table, parser error, PRECFIELD undefined\");\n }\n const lookup = ddic.lookupTableOrView(field.PRECFIELD);\n let found = lookup.type;\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n if (found instanceof _typed_identifier_1.TypedIdentifier) {\n found = found.getType();\n }\n if (found instanceof Types.StructureType) {\n if (field.GROUPNAME !== undefined) {\n components.push({ name: field.GROUPNAME, type: found });\n }\n for (const c of found.getComponents()) {\n components.push({ name: c.name, type: c.type });\n }\n }\n else if ((((_a = field.PRECFIELD) === null || _a === void 0 ? void 0 : _a.startsWith(\"CI_\")) || ((_b = field.PRECFIELD) === null || _b === void 0 ? void 0 : _b.startsWith(\"SI_\")))\n && found instanceof Types.UnknownType) {\n continue;\n }\n else if (found instanceof Types.UnknownType) {\n return found;\n }\n else if (found instanceof Types.VoidType) {\n // set the full structure to void\n return found;\n }\n else {\n components.push({ name: field.FIELDNAME, type: found });\n }\n }\n else if (comptype === \"S\" && field.FIELDNAME.startsWith(\".INCLU-\")) {\n const lookup = ddic.lookupTableOrView(field.PRECFIELD);\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n const found = lookup.type;\n if (found instanceof Types.VoidType) {\n // set the full structure to void\n return found;\n }\n else if (found instanceof Types.StructureType) {\n const suffix = field.FIELDNAME.split(\"-\")[1];\n for (const c of found.getComponents()) {\n components.push({ name: c.name + suffix, type: c.type });\n }\n }\n else if (found instanceof Types.UnknownType) {\n return found;\n }\n }\n else if (comptype === \"S\") {\n const lookup = ddic.lookupTableOrView(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: lookup.type });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (comptype === \"R\") {\n if (field.ROLLNAME === undefined) {\n throw new Error(\"Expected ROLLNAME\");\n }\n if (field.ROLLNAME === \"DATA\") {\n components.push({\n name: field.FIELDNAME,\n type: new basic_1.DataReference(new basic_1.AnyType())\n });\n }\n else if (field.ROLLNAME === \"OBJECT\") {\n components.push({\n name: field.FIELDNAME,\n type: new basic_1.GenericObjectReferenceType()\n });\n }\n else if (field.REFTYPE === \"S\") {\n const lookup = ddic.lookupTableOrView(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: new basic_1.DataReference(lookup.type) });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (field.REFTYPE === \"L\") {\n const lookup = ddic.lookupTableType(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: new basic_1.DataReference(lookup.type) });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (field.REFTYPE === \"E\") {\n const lookup = ddic.lookupDataElement(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: new basic_1.DataReference(lookup.type) });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else {\n const lookup = ddic.lookupObject(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: lookup.type });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n }\n else if (comptype === \"L\") {\n const lookup = ddic.lookupTableType(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: lookup.type });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (comptype === \"\") { // built in\n const datatype = field.DATATYPE;\n if (datatype === undefined) {\n throw new Error(\"Expected DATATYPE, while parsing TABL \" + this.getName());\n }\n const length = field.LENG ? field.LENG : field.INTLEN;\n components.push({\n name: field.FIELDNAME,\n type: ddic.textToType(datatype, length, field.DECIMALS, this.getName() + \"-\" + field.FIELDNAME)\n });\n }\n else {\n components.push({\n name: field.FIELDNAME,\n type: new Types.UnknownType(\"Table \" + this.getName() + \", unknown component type \\\"\" + comptype + \"\\\"\")\n });\n }\n if (field.CHECKTABLE) {\n const lookup = ddic.lookupTableOrView2(field.CHECKTABLE);\n if (lookup) {\n references.push({ object: lookup });\n }\n }\n }\n if (components.length === 0) {\n return new Types.UnknownType(\"Table/Structure \" + this.getName() + \" does not contain any components\");\n }\n reg.getDDICReferences().setUsing(this, references);\n return new Types.StructureType(components, this.getName(), this.getName());\n }\n getTableCategory() {\n var _a;\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.tableCategory;\n }\n getEnhancementCategory() {\n var _a;\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n if (((_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.enhancementCategory) === undefined) {\n return EnhancementCategory.NotClassified;\n }\n return this.parsedData.enhancementCategory;\n }\n ///////////////\n parseXML() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return;\n }\n this.parsedData = { fields: [] };\n if (parsed.abapGit === undefined) {\n return;\n }\n // enhancement category\n if (((_b = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _a === void 0 ? void 0 : _a.DD02V) === null || _b === void 0 ? void 0 : _b.EXCLASS) === undefined) {\n this.parsedData.enhancementCategory = EnhancementCategory.NotClassified;\n }\n else {\n this.parsedData.enhancementCategory = (_d = (_c = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _c === void 0 ? void 0 : _c.DD02V) === null || _d === void 0 ? void 0 : _d.EXCLASS;\n }\n // table category\n this.parsedData.tableCategory = (_f = (_e = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _e === void 0 ? void 0 : _e.DD02V) === null || _f === void 0 ? void 0 : _f.TABCLASS;\n this.parsedData.dataClass = (_h = (_g = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _g === void 0 ? void 0 : _g.DD09L) === null || _h === void 0 ? void 0 : _h.TABART;\n // fields\n const fields = (_j = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _j === void 0 ? void 0 : _j.DD03P_TABLE;\n for (const field of (0, xml_utils_1.xmlToArray)(fields === null || fields === void 0 ? void 0 : fields.DD03P)) {\n this.parsedData.fields.push({\n FIELDNAME: field.FIELDNAME,\n ROLLNAME: field.ROLLNAME,\n COMPTYPE: field.COMPTYPE,\n PRECFIELD: field.PRECFIELD,\n LENG: field.LENG,\n INTLEN: field.INTLEN,\n DATATYPE: field.DATATYPE,\n DECIMALS: field.DECIMALS,\n KEYFLAG: field.KEYFLAG,\n GROUPNAME: field.GROUPNAME,\n CHECKTABLE: field.CHECKTABLE,\n REFTYPE: field.REFTYPE,\n });\n }\n }\n}\nexports.Table = Table;\n//# sourceMappingURL=table.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/table.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/table_type.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/table_type.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TableType = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst Types = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass TableType extends _abstract_object_1.AbstractObject {\n constructor() {\n super(...arguments);\n this.parsedXML = undefined;\n }\n getType() {\n return \"TTYP\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n var _a;\n this.parseXML();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.ddtext;\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n buildPrimaryKey() {\n var _a, _b, _c, _d, _e;\n const primaryKey = {\n isUnique: ((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.keykind) === \"U\",\n type: basic_1.TableAccessType.standard,\n keyFields: [],\n name: \"primary_key\",\n };\n if (((_b = this.parsedXML) === null || _b === void 0 ? void 0 : _b.accessmode) === \"S\") {\n primaryKey.type = basic_1.TableAccessType.sorted;\n }\n else if (((_c = this.parsedXML) === null || _c === void 0 ? void 0 : _c.accessmode) === \"H\") {\n primaryKey.type = basic_1.TableAccessType.hashed;\n }\n for (const f of ((_d = this.parsedXML) === null || _d === void 0 ? void 0 : _d.dd42v) || []) {\n if (f.keyname === \"\") {\n primaryKey.keyFields.push(f.keyfield);\n }\n }\n if (((_e = this.parsedXML) === null || _e === void 0 ? void 0 : _e.keydef) === \"T\" && primaryKey.keyFields.length === 0) {\n primaryKey.keyFields.push(\"table_line\");\n }\n return primaryKey;\n }\n buildTableOptions() {\n var _a, _b, _c, _d;\n let keyType = Types.TableKeyType.user;\n if (((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.keydef) === \"D\") {\n keyType = Types.TableKeyType.default;\n }\n const tableOptions = {\n withHeader: false,\n keyType: keyType,\n primaryKey: this.buildPrimaryKey(),\n secondary: [],\n };\n for (const k of ((_b = this.parsedXML) === null || _b === void 0 ? void 0 : _b.dd43v) || []) {\n const fields = [];\n for (const f of ((_c = this.parsedXML) === null || _c === void 0 ? void 0 : _c.dd42v) || []) {\n if (f.keyname === k.keyname) {\n fields.push(f.keyfield);\n }\n }\n let accessType = basic_1.TableAccessType.standard;\n switch (k.accessmode) {\n case \"S\":\n accessType = basic_1.TableAccessType.sorted;\n break;\n case \"H\":\n accessType = basic_1.TableAccessType.hashed;\n break;\n default:\n break;\n }\n (_d = tableOptions.secondary) === null || _d === void 0 ? void 0 : _d.push({\n name: k.keyname,\n type: accessType,\n keyFields: fields,\n isUnique: k.unique,\n });\n }\n return tableOptions;\n }\n parseType(reg) {\n this.parseXML();\n const ddic = new ddic_1.DDIC(reg);\n const references = [];\n let type;\n const tableOptions = this.buildTableOptions();\n if (this.parsedXML === undefined) {\n type = new Types.UnknownType(\"Table Type, parser error\", this.getName());\n }\n else if (this.parsedXML.rowkind === \"S\") {\n const lookup = ddic.lookupTableOrView(this.parsedXML.rowtype);\n type = new Types.TableType(lookup.type, tableOptions, this.getName());\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (this.parsedXML.rowkind === \"E\") {\n const lookup = ddic.lookupDataElement(this.parsedXML.rowtype);\n type = new Types.TableType(lookup.type, tableOptions, this.getName());\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (this.parsedXML.rowkind === \"L\") {\n const lookup = ddic.lookupTableType(this.parsedXML.rowtype);\n type = new Types.TableType(lookup.type, tableOptions, this.getName());\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (this.parsedXML.rowkind === \"R\" && this.parsedXML.rowtype === \"OBJECT\") {\n type = new Types.TableType(new basic_1.GenericObjectReferenceType(), tableOptions, this.getName());\n }\n else if (this.parsedXML.rowkind === \"R\" && this.parsedXML.rowtype === \"DATA\") {\n type = new Types.TableType(new basic_1.DataReference(new basic_1.AnyType()), tableOptions, this.getName());\n }\n else if (this.parsedXML.rowkind === \"R\" && this.parsedXML.rowtype !== undefined) {\n const lookup = ddic.lookupObject(this.parsedXML.rowtype);\n type = new Types.TableType(lookup.type, tableOptions, this.getName());\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (this.parsedXML.rowkind === \"\") {\n if (this.parsedXML.datatype === undefined) {\n type = new Types.UnknownType(\"Table Type, empty DATATYPE\" + this.getName(), this.getName());\n }\n else {\n const row = ddic.textToType(this.parsedXML.datatype, this.parsedXML.leng, this.parsedXML.decimals, this.getName());\n type = new Types.TableType(row, tableOptions, this.getName());\n }\n }\n else {\n type = new Types.UnknownType(\"Table Type, unknown kind \\\"\" + this.parsedXML.rowkind + \"\\\"\" + this.getName(), this.getName());\n }\n reg.getDDICReferences().setUsing(this, references);\n return type;\n }\n ////////////////////\n parseXML() {\n var _a, _b;\n if (this.parsedXML !== undefined) {\n return;\n }\n this.parsedXML = {\n dd42v: [],\n dd43v: [],\n };\n const parsed = super.parseRaw2();\n if (parsed === undefined || parsed.abapGit === undefined) {\n return;\n }\n const values = parsed.abapGit[\"asx:abap\"][\"asx:values\"];\n const dd40v = values.DD40V;\n this.parsedXML.rowtype = dd40v.ROWTYPE ? dd40v.ROWTYPE : \"\";\n this.parsedXML.rowkind = dd40v.ROWKIND ? dd40v.ROWKIND : \"\";\n this.parsedXML.datatype = dd40v.DATATYPE;\n this.parsedXML.leng = dd40v.LENG;\n this.parsedXML.decimals = dd40v.DECIMALS;\n this.parsedXML.accessmode = dd40v.ACCESSMODE;\n this.parsedXML.keykind = dd40v.KEYKIND;\n this.parsedXML.ddtext = dd40v.DDTEXT;\n this.parsedXML.keydef = dd40v.KEYDEF;\n for (const x of (0, xml_utils_1.xmlToArray)((_a = values.DD42V) === null || _a === void 0 ? void 0 : _a.DD42V)) {\n this.parsedXML.dd42v.push({\n keyname: x.SECKEYNAME || \"\",\n keyfield: x.KEYFIELD || \"\",\n });\n }\n for (const x of (0, xml_utils_1.xmlToArray)((_b = values.DD43V) === null || _b === void 0 ? void 0 : _b.DD43V)) {\n this.parsedXML.dd43v.push({\n keyname: x.SECKEYNAME || \"\",\n accessmode: x.ACCESSMODE || \"\",\n kind: x.KIND || \"\",\n unique: x.SECKEYUNIQUE === \"X\",\n });\n }\n }\n}\nexports.TableType = TableType;\n//# sourceMappingURL=table_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/table_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/technical_job_definition.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/technical_job_definition.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TechnicalJobDefinition = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass TechnicalJobDefinition extends _abstract_object_1.AbstractObject {\n getType() {\n return \"JOBD\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.TechnicalJobDefinition = TechnicalJobDefinition;\n//# sourceMappingURL=technical_job_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/technical_job_definition.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transaction.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transaction.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Transaction = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Transaction extends _abstract_object_1.AbstractObject {\n getType() {\n return \"TRAN\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Transaction = Transaction;\n//# sourceMappingURL=transaction.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transaction.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transaction_variant.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transaction_variant.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TransactionVariant = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass TransactionVariant extends _abstract_object_1.AbstractObject {\n getType() {\n return \"STVI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.TransactionVariant = TransactionVariant;\n//# sourceMappingURL=transaction_variant.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transaction_variant.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transformation.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transformation.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Transformation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Transformation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"XSLT\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Transformation = Transformation;\n//# sourceMappingURL=transformation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/transformation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/type_pool.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/type_pool.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypePool = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ./_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass TypePool extends _abap_object_1.ABAPObject {\n getType() {\n return \"TYPE\";\n }\n getSequencedFiles() {\n const main = this.getMainABAPFile();\n if (main === undefined) {\n return [];\n }\n return [main];\n }\n getAllowedNaming() {\n return {\n maxLength: 5,\n allowNamespace: false,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.TypePool = TypePool;\n//# sourceMappingURL=type_pool.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/type_pool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/view.js": +/*!***************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/view.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.View = void 0;\nconst Types = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nclass View extends _abstract_object_1.AbstractObject {\n getType() {\n return \"VIEW\";\n }\n getAllowedNaming() {\n return {\n maxLength: 16,\n allowNamespace: true,\n };\n }\n getFields() {\n var _a;\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.fields;\n }\n getJoin() {\n var _a;\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.join;\n }\n setDirty() {\n this.parsedData = undefined;\n super.setDirty();\n }\n parseType(reg) {\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n if (this.parsedData === undefined) {\n return new Types.UnknownType(\"View, parser error\", this.getName());\n }\n const components = [];\n const references = [];\n const ddic = new ddic_1.DDIC(reg);\n for (const field of this.parsedData.fields) {\n if (field.VIEWFIELD === \"*\" || field.VIEWFIELD === \"-\") {\n // ignore, this is a special case of old style .INCLUDE\n continue;\n }\n const lookup = ddic.lookupTableOrView(field.TABNAME);\n let found = lookup.type;\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n if (field.VIEWFIELD === \".APPEND\") {\n // it is already expanded in the abapGit xml\n continue;\n }\n if (found instanceof Types.StructureType) {\n const s = found.getComponentByName(field.FIELDNAME);\n if (s === undefined) {\n found = new Types.UnknownType(field.FIELDNAME + \" not found in \" + field.TABNAME + \", VIEW parse type\");\n }\n else {\n found = s;\n }\n }\n components.push({\n name: field.VIEWFIELD,\n type: found\n });\n }\n reg.getDDICReferences().setUsing(this, references);\n if (components.length === 0) {\n return new Types.UnknownType(\"View \" + this.getName() + \" does not contain any components\");\n }\n return new Types.StructureType(components, this.getName());\n }\n getDescription() {\n // todo\n return undefined;\n }\n ///////////////\n parseXML() {\n var _a, _b;\n this.parsedData = { fields: [], join: [] };\n const parsed = super.parseRaw2();\n if (parsed === undefined || parsed.abapGit === undefined) {\n return;\n }\n const fields = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _a === void 0 ? void 0 : _a.DD27P_TABLE;\n for (const field of (0, xml_utils_1.xmlToArray)(fields === null || fields === void 0 ? void 0 : fields.DD27P)) {\n this.parsedData.fields.push({\n VIEWFIELD: field.VIEWFIELD,\n TABNAME: field.TABNAME,\n FIELDNAME: field.FIELDNAME,\n });\n }\n const join = (_b = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _b === void 0 ? void 0 : _b.DD28J_TABLE;\n for (const j of (0, xml_utils_1.xmlToArray)(join === null || join === void 0 ? void 0 : join.DD28J)) {\n this.parsedData.join.push({\n LTAB: j.LTAB,\n LFIELD: j.LFIELD,\n OPERATOR: j.OPERATOR,\n RTAB: j.RTAB,\n RFIELD: j.RFIELD,\n });\n }\n }\n}\nexports.View = View;\n//# sourceMappingURL=view.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/view.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/view_cluster.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/view_cluster.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ViewCluster = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ViewCluster extends _abstract_object_1.AbstractObject {\n getType() {\n return \"VCLS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ViewCluster = ViewCluster;\n//# sourceMappingURL=view_cluster.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/view_cluster.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/virtual_end_point.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/virtual_end_point.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.VirtualEndPoint = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass VirtualEndPoint extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WEBI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.VirtualEndPoint = VirtualEndPoint;\n//# sourceMappingURL=virtual_end_point.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/virtual_end_point.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_application.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_application.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WebDynproApplication = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass WebDynproApplication extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WDYA\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.WebDynproApplication = WebDynproApplication;\n//# sourceMappingURL=web_dynpro_application.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_application.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_application_configuration.js": +/*!***********************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_application_configuration.js ***! + \***********************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WebDynproApplicationConfiguration = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass WebDynproApplicationConfiguration extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WDCA\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.WebDynproApplicationConfiguration = WebDynproApplicationConfiguration;\n//# sourceMappingURL=web_dynpro_application_configuration.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_application_configuration.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_component.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_component.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WebDynproComponent = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass WebDynproComponent extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WDYN\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.WebDynproComponent = WebDynproComponent;\n//# sourceMappingURL=web_dynpro_component.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_component.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_component_configuration.js": +/*!*********************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_component_configuration.js ***! + \*********************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WebDynproComponentConfiguration = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass WebDynproComponentConfiguration extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WDCC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.WebDynproComponentConfiguration = WebDynproComponentConfiguration;\n//# sourceMappingURL=web_dynpro_component_configuration.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_dynpro_component_configuration.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_mime.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_mime.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WebMIME = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass WebMIME extends _abstract_object_1.AbstractObject {\n getType() {\n return \"W3MI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n customRegex: new RegExp(/^[A-Z_-\\d/<> ]+$/i),\n };\n }\n getDescription() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getDataFile() {\n for (const f of this.getFiles()) {\n if (f.getFilename().includes(\".data.\")) {\n return f;\n }\n }\n return undefined;\n }\n parse() {\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n this.parsedXML.description = parsed.abapGit[\"asx:abap\"][\"asx:values\"].TEXT;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.WebMIME = WebMIME;\n//# sourceMappingURL=web_mime.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/web_mime.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js": +/*!***********************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.VirtualPosition = exports.Position = void 0;\n// first position is (1,1)\nclass Position {\n constructor(row, col) {\n this.row = row;\n this.col = col;\n }\n getCol() {\n return this.col;\n }\n getRow() {\n return this.row;\n }\n isAfter(p) {\n return this.row > p.row || (this.row === p.row && this.col >= p.col);\n }\n equals(p) {\n return this.row === p.getRow() && this.col === p.getCol();\n }\n isBefore(p) {\n return this.row < p.row || (this.row === p.row && this.col < p.col);\n }\n isBetween(p1, p2) {\n return this.isAfter(p1) && this.isBefore(p2);\n }\n}\nexports.Position = Position;\n/** used for macro calls */\nclass VirtualPosition extends Position {\n constructor(virtual, row, col) {\n super(virtual.getRow(), virtual.getCol());\n this.vrow = row;\n this.vcol = col;\n }\n equals(p) {\n if (!(p instanceof VirtualPosition)) {\n return false;\n }\n const casted = p;\n return super.equals(this) && this.vrow === casted.vrow && this.vcol === casted.vcol;\n }\n}\nexports.VirtualPosition = VirtualPosition;\n//# sourceMappingURL=position.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FixCase = void 0;\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst keyword_case_1 = __webpack_require__(/*! ../rules/keyword_case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/keyword_case.js\");\nconst Tokens = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass FixCase {\n constructor(fileContents, config) {\n this.keywordCase = new keyword_case_1.KeywordCase();\n this.keywordCase.setConfig(config.readByRule(this.keywordCase.getMetadata().key));\n this.fileContents = fileContents;\n this.config = config;\n }\n execute(statement) {\n for (const child of statement.getChildren()) {\n if (child instanceof nodes_1.TokenNodeRegex) {\n const token = child.get();\n if (token instanceof Tokens.StringToken) {\n continue;\n }\n this.replaceString(token.getStart(), this.formatNonKeyword(token.getStr()));\n continue;\n }\n else if (child instanceof nodes_1.TokenNode) {\n const token = child.get();\n const str = token.getStr();\n if (this.keywordCase.violatesRule(str) && token instanceof tokens_1.Identifier) {\n this.replaceString(token.getStart(), this.formatKeyword(str));\n }\n }\n else if (child instanceof nodes_1.ExpressionNode) {\n this.execute(child);\n }\n else {\n throw new Error(\"pretty printer, traverse, unexpected node type\");\n }\n }\n return this.fileContents;\n }\n formatNonKeyword(str) {\n return str.toLowerCase();\n }\n formatKeyword(keyword) {\n const ruleKey = this.keywordCase.getMetadata().key;\n const rule = this.config.readByRule(ruleKey);\n const style = rule ? rule[\"style\"] : keyword_case_1.KeywordCaseStyle.Upper;\n return style === keyword_case_1.KeywordCaseStyle.Lower ? keyword.toLowerCase() : keyword.toUpperCase();\n }\n replaceString(pos, str) {\n const lines = this.fileContents.split(\"\\n\");\n const line = lines[pos.getRow() - 1];\n lines[pos.getRow() - 1] = line.substr(0, pos.getCol() - 1) + str + line.substr(pos.getCol() + str.length - 1);\n this.fileContents = lines.join(\"\\n\");\n }\n}\nexports.FixCase = FixCase;\n//# sourceMappingURL=fix_keyword_case.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/indent.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/indent.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Indent = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\n// todo, will break if there is multiple statements per line?\nclass Indent {\n constructor(options) {\n this.globalClasses = new Set();\n this.options = options || {};\n }\n execute(original, modified) {\n const statements = original.getStatements();\n const expected = this.getExpectedIndents(original);\n const lines = modified.split(\"\\n\");\n for (const statement of statements) {\n if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n continue; // macro contents\n }\n const exp = expected.shift();\n if (exp === undefined || exp < 0) {\n continue;\n }\n const row = statement.getFirstToken().getStart().getRow() - 1;\n lines[row] = lines[row].trim();\n for (let i = 1; i < exp; i++) {\n lines[row] = \" \" + lines[row];\n }\n }\n return lines.join(\"\\n\");\n }\n // returns list of expected indentation for each line/statement?\n getExpectedIndents(file) {\n const ret = [];\n const init = 1;\n const stack = new Stack();\n let indent = init;\n let parentIsEvent = false;\n let previousStatement = undefined;\n for (const statement of file.getStatements()) {\n if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n continue; // skip macro contents\n }\n const type = statement.get();\n if (type instanceof Statements.EndIf\n || type instanceof Statements.EndWhile\n || type instanceof Statements.EndModule\n || type instanceof Statements.EndSelect\n || type instanceof Statements.EndMethod\n || type instanceof Statements.EndAt\n || type instanceof Statements.Else\n || type instanceof Statements.EndExec\n || type instanceof Statements.EndOfDefinition\n || type instanceof Statements.EndLoop\n || type instanceof Statements.EndTestInjection\n || type instanceof Statements.EndTestSeam\n || type instanceof Statements.EndForm\n || type instanceof Statements.EndCatch\n || (this.options.selectionScreenBlockIndentation === true\n && type instanceof Statements.SelectionScreen\n && (statement.concatTokens().toUpperCase().includes(\"END OF SCREEN\") ||\n statement.concatTokens().toUpperCase().includes(\"END OF BLOCK\") ||\n statement.concatTokens().toUpperCase().includes(\"END OF LINE\")))\n || type instanceof Statements.ElseIf\n || type instanceof Statements.EndFunction\n || type instanceof Statements.EndInterface\n || type instanceof Statements.EndDo) {\n indent = indent - 2;\n }\n else if (type instanceof Statements.StartOfSelection\n || type instanceof Statements.AtSelectionScreen\n || type instanceof Statements.AtLineSelection\n || type instanceof Statements.Initialization\n || type instanceof Statements.AtUserCommand\n || type instanceof Statements.TopOfPage\n || type instanceof Statements.Get\n || type instanceof Statements.EndOfSelection\n || type instanceof Statements.LoadOfProgram) {\n indent = init;\n parentIsEvent = true;\n }\n else if (type instanceof Statements.Form\n || (type instanceof Statements.Include && parentIsEvent)\n || type instanceof Statements.Module\n || type instanceof Statements.ClassImplementation\n || type instanceof Statements.ClassDefinition) {\n indent = init;\n parentIsEvent = false;\n }\n else if (type instanceof Statements.Cleanup\n || type instanceof Statements.Catch) {\n indent = stack.peek() - 2;\n }\n else if (type instanceof Statements.Public\n || type instanceof Statements.Protected\n || type instanceof Statements.Private\n || type instanceof Statements.WhenType\n || type instanceof Statements.WhenOthers\n || type instanceof Statements.When) {\n indent = stack.peek();\n }\n else if (type instanceof Statements.EndTry) {\n indent = stack.pop() - (this.options.alignTryCatch ? 2 : 4);\n }\n else if (type instanceof Statements.EndClass\n || type instanceof Statements.EndCase) {\n indent = stack.pop() - 2;\n indent = Math.max(indent, init); // maybe move this out of switch before ret.push(indent)\n }\n else if (type instanceof _statement_1.Comment\n || type instanceof Statements.IncludeType\n || type instanceof _statement_1.Empty\n || type instanceof _statement_1.MacroContent) {\n ret.push(-1);\n previousStatement = statement;\n continue;\n }\n if (previousStatement\n && !(previousStatement.get() instanceof _statement_1.Comment)\n && previousStatement.getLastToken().getEnd().getRow() === statement.getFirstToken().getStart().getRow()) {\n // any indentation allowed if there are multiple statements on the same line\n ret.push(-1);\n previousStatement = statement;\n continue;\n }\n ret.push(indent);\n if (type instanceof Statements.If\n || type instanceof Statements.While\n || type instanceof Statements.Module\n || type instanceof Statements.SelectLoop\n || type instanceof Statements.FunctionModule\n || type instanceof Statements.Interface\n || type instanceof Statements.Do\n || type instanceof Statements.At\n || type instanceof Statements.AtFirst\n || type instanceof Statements.AtLast\n || type instanceof Statements.ExecSQL\n || type instanceof Statements.Catch\n || type instanceof Statements.Define\n || type instanceof Statements.When\n || type instanceof Statements.WhenType\n || type instanceof Statements.WhenOthers\n || type instanceof Statements.Cleanup\n || type instanceof Statements.Loop\n || type instanceof Statements.LoopAtScreen\n || type instanceof Statements.CatchSystemExceptions\n || type instanceof Statements.Form\n || type instanceof Statements.Else\n || type instanceof Statements.ElseIf\n || type instanceof Statements.MethodImplementation\n || type instanceof Statements.TestInjection\n || type instanceof Statements.TestSeam\n || (this.options.selectionScreenBlockIndentation === true\n && type instanceof Statements.SelectionScreen\n && (statement.concatTokens().toUpperCase().includes(\"BEGIN OF SCREEN\") ||\n statement.concatTokens().toUpperCase().includes(\"BEGIN OF TABBED BLOCK\") ||\n statement.concatTokens().toUpperCase().includes(\"BEGIN OF BLOCK\") ||\n statement.concatTokens().toUpperCase().includes(\"BEGIN OF LINE\")))\n || type instanceof Statements.StartOfSelection\n || type instanceof Statements.Get\n || type instanceof Statements.AtSelectionScreen\n || type instanceof Statements.AtLineSelection\n || type instanceof Statements.LoadOfProgram\n || type instanceof Statements.Initialization\n || type instanceof Statements.AtUserCommand\n || type instanceof Statements.TopOfPage\n || type instanceof Statements.EndOfSelection\n || type instanceof Statements.Public\n || type instanceof Statements.Protected\n || type instanceof Statements.Private) {\n indent = indent + 2;\n }\n else if (type instanceof Statements.Try) {\n indent = indent + (this.options.alignTryCatch ? 2 : 4);\n stack.push(indent);\n }\n else if (type instanceof Statements.ClassDefinition\n || type instanceof Statements.Case\n || type instanceof Statements.CaseType\n || type instanceof Statements.ClassImplementation) {\n indent = indent + (this.skipIndentForGlobalClass(statement) ? 0 : 2);\n stack.push(indent);\n }\n previousStatement = statement;\n }\n return ret;\n }\n skipIndentForGlobalClass(statement) {\n if (!this.options.globalClassSkipFirst) {\n return false;\n }\n const type = statement.get();\n if (type instanceof Statements.ClassDefinition && statement.findFirstExpression(Expressions.ClassGlobal)) {\n const className = statement.findFirstExpression(Expressions.ClassName);\n if (className) {\n this.globalClasses.add(className.getFirstToken().getStr().toUpperCase());\n }\n return true;\n }\n else if (type instanceof Statements.ClassImplementation) {\n const className = statement.findFirstExpression(Expressions.ClassName);\n if (className && this.globalClasses.has(className.getFirstToken().getStr().toUpperCase())) {\n return true;\n }\n }\n return false;\n }\n}\nexports.Indent = Indent;\nclass Stack {\n constructor() {\n this.items = [];\n }\n push(item) {\n this.items.push(item);\n }\n peek() {\n return this.items[this.items.length - 1];\n }\n pop() {\n const peek = this.peek();\n this.items = this.items.slice(0, this.items.length - 1);\n return peek;\n }\n}\n//# sourceMappingURL=indent.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/indent.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PrettyPrinter = void 0;\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst fix_keyword_case_1 = __webpack_require__(/*! ./fix_keyword_case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js\");\nconst indent_1 = __webpack_require__(/*! ./indent */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/indent.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst indentation_1 = __webpack_require__(/*! ../rules/indentation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/indentation.js\");\nclass PrettyPrinter {\n constructor(file, config) {\n this.result = file.getRaw();\n this.file = file;\n this.config = config;\n const indentationConf = config.readByRule(new indentation_1.Indentation().getMetadata().key);\n this.options = {\n alignTryCatch: indentationConf === null || indentationConf === void 0 ? void 0 : indentationConf.alignTryCatch,\n globalClassSkipFirst: indentationConf === null || indentationConf === void 0 ? void 0 : indentationConf.globalClassSkipFirst,\n };\n }\n run() {\n const statements = this.file.getStatements();\n for (const statement of statements) {\n if (statement.get() instanceof _statement_1.Unknown\n || statement.get() instanceof _statement_1.MacroContent\n || statement.get() instanceof _statement_1.MacroCall\n || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition\n || statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n // note that no positions are changed when case is changed\n const fixCase = new fix_keyword_case_1.FixCase(this.result, this.config);\n this.result = fixCase.execute(statement);\n }\n const indentation = new indent_1.Indent(this.options);\n this.result = indentation.execute(this.file, this.result);\n return this.result;\n }\n}\nexports.PrettyPrinter = PrettyPrinter;\n//# sourceMappingURL=pretty_printer.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/registry.js": +/*!***********************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/registry.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Registry = void 0;\nconst config_1 = __webpack_require__(/*! ./config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/config.js\");\nconst artifacts_objects_1 = __webpack_require__(/*! ./artifacts_objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/artifacts_objects.js\");\nconst find_global_definitions_1 = __webpack_require__(/*! ./abap/5_syntax/global_definitions/find_global_definitions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/global_definitions/find_global_definitions.js\");\nconst excludeHelper_1 = __webpack_require__(/*! ./utils/excludeHelper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/excludeHelper.js\");\nconst ddic_references_1 = __webpack_require__(/*! ./ddic_references */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic_references.js\");\nconst rules_runner_1 = __webpack_require__(/*! ./rules_runner */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules_runner.js\");\nconst msag_references_1 = __webpack_require__(/*! ./msag_references */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/msag_references.js\");\n// todo, this should really be an instance in case there are multiple Registry'ies\nclass ParsingPerformance {\n static clear() {\n this.results = [];\n this.lexing = 0;\n this.statements = 0;\n this.structure = 0;\n }\n static push(obj, result) {\n if (result.runtimeExtra) {\n this.lexing += result.runtimeExtra.lexing;\n this.statements += result.runtimeExtra.statements;\n this.structure += result.runtimeExtra.structure;\n }\n if (result.runtime < 100) {\n return;\n }\n if (this.results === undefined) {\n this.results = [];\n }\n let extra = \"\";\n if (result.runtimeExtra) {\n extra = `\\t(lexing: ${result.runtimeExtra.lexing}ms, statements: ${result.runtimeExtra.statements}ms, structure: ${result.runtimeExtra.structure}ms)`;\n }\n this.results.push({\n runtime: result.runtime,\n extra,\n name: obj.getType() + \" \" + obj.getName(),\n });\n }\n static output() {\n const MAX = 10;\n this.results.sort((a, b) => { return b.runtime - a.runtime; });\n for (let i = 0; i < MAX; i++) {\n const row = this.results[i];\n if (row === undefined) {\n break;\n }\n process.stderr.write(`\\t${row.runtime}ms\\t${row.name} ${row.extra}\\n`);\n }\n process.stderr.write(`\\tTotal lexing: ${this.lexing}ms\\n`);\n process.stderr.write(`\\tTotal statements: ${this.statements}ms\\n`);\n process.stderr.write(`\\tTotal structure: ${this.structure}ms\\n`);\n }\n}\n///////////////////////////////////////////////////////////////////////////////////////////////\nclass Registry {\n constructor(conf) {\n this.objects = {};\n this.objectsByType = {};\n this.dependencies = {};\n this.conf = conf ? conf : config_1.Config.getDefault();\n this.ddicReferences = new ddic_references_1.DDICReferences();\n this.msagReferences = new msag_references_1.MSAGReferences();\n }\n static abaplintVersion() {\n // magic, see build script \"version.sh\"\n return \"2.102.7\";\n }\n getDDICReferences() {\n return this.ddicReferences;\n }\n getMSAGReferences() {\n return this.msagReferences;\n }\n *getObjects() {\n for (const name in this.objects) {\n for (const type in this.objects[name]) {\n yield this.objects[name][type];\n }\n }\n }\n *getObjectsByType(type) {\n for (const name in this.objectsByType[type] || []) {\n yield this.objectsByType[type][name];\n }\n }\n *getFiles() {\n for (const obj of this.getObjects()) {\n for (const file of obj.getFiles()) {\n yield file;\n }\n }\n }\n getFirstObject() {\n for (const name in this.objects) {\n for (const type in this.objects[name]) {\n return this.objects[name][type];\n }\n }\n return undefined;\n }\n getObjectCount(skipDependencies = true) {\n let res = 0;\n for (const o of this.getObjects()) {\n if (skipDependencies === true && this.isDependency(o)) {\n continue;\n }\n res = res + 1;\n }\n return res;\n }\n getFileByName(filename) {\n const upper = filename.toUpperCase();\n for (const o of this.getObjects()) {\n for (const f of o.getFiles()) {\n if (f.getFilename().toUpperCase() === upper) {\n return f;\n }\n }\n }\n return undefined;\n }\n getObject(type, name) {\n if (type === undefined || name === undefined) {\n return undefined;\n }\n const searchName = name.toUpperCase();\n if (this.objects[searchName]) {\n return this.objects[searchName][type];\n }\n return undefined;\n }\n getConfig() {\n return this.conf;\n }\n // assumption: Config is immutable, and can only be changed via this method\n setConfig(conf) {\n for (const obj of this.getObjects()) {\n obj.setDirty();\n }\n this.conf = conf;\n return this;\n }\n inErrorNamespace(name) {\n // todo: performance? cache regexp?\n const reg = new RegExp(this.getConfig().getSyntaxSetttings().errorNamespace, \"i\");\n return reg.test(name);\n }\n addFile(file) {\n return this.addFiles([file]);\n }\n updateFile(file) {\n const obj = this.find(file.getObjectName(), file.getObjectType());\n obj.updateFile(file);\n return this;\n }\n removeFile(file) {\n const obj = this.find(file.getObjectName(), file.getObjectType());\n obj.removeFile(file);\n if (obj.getFiles().length === 0) {\n this.ddicReferences.clear(obj);\n this.msagReferences.clear(obj);\n this.removeObject(obj);\n }\n return this;\n }\n _addFiles(files, dependency) {\n var _a;\n const globalExclude = ((_a = this.conf.getGlobal().exclude) !== null && _a !== void 0 ? _a : [])\n .map(pattern => new RegExp(pattern, \"i\"));\n for (const f of files) {\n const filename = f.getFilename();\n const isNotAbapgitFile = filename.split(\".\").length <= 2;\n if (isNotAbapgitFile || excludeHelper_1.ExcludeHelper.isExcluded(filename, globalExclude)) {\n continue;\n }\n let found = this.findOrCreate(f.getObjectName(), f.getObjectType());\n if (dependency === false && found && this.isDependency(found)) {\n this.removeDependency(found);\n found = this.findOrCreate(f.getObjectName(), f.getObjectType());\n }\n found.addFile(f);\n }\n return this;\n }\n addFiles(files) {\n this._addFiles(files, false);\n return this;\n }\n addDependencies(files) {\n for (const f of files) {\n this.addDependency(f);\n }\n return this;\n }\n addDependency(file) {\n var _a;\n const type = (_a = file.getObjectType()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (type === undefined) {\n return this;\n }\n const name = file.getObjectName().toUpperCase();\n if (this.dependencies[type] === undefined) {\n this.dependencies[type] = {};\n }\n this.dependencies[type][name] = true;\n this._addFiles([file], true);\n return this;\n }\n removeDependency(obj) {\n var _a;\n (_a = this.dependencies[obj.getType()]) === null || _a === void 0 ? true : delete _a[obj.getName()];\n this.removeObject(obj);\n }\n isDependency(obj) {\n var _a;\n return ((_a = this.dependencies[obj.getType()]) === null || _a === void 0 ? void 0 : _a[obj.getName()]) === true;\n }\n isFileDependency(filename) {\n var _a, _b;\n const f = this.getFileByName(filename);\n if (f === undefined) {\n return false;\n }\n const type = (_a = f.getObjectType()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (type === undefined) {\n return false;\n }\n const name = f.getObjectName().toUpperCase();\n return ((_b = this.dependencies[type]) === null || _b === void 0 ? void 0 : _b[name]) === true;\n }\n // assumption: the file is already in the registry\n findObjectForFile(file) {\n const filename = file.getFilename();\n for (const obj of this.getObjects()) {\n for (const ofile of obj.getFiles()) {\n if (ofile.getFilename() === filename) {\n return obj;\n }\n }\n }\n return undefined;\n }\n // todo, this will be changed to async sometime\n findIssues(input) {\n if (this.isDirty() === true) {\n this.parse();\n }\n return new rules_runner_1.RulesRunner(this).runRules(this.getObjects(), input);\n }\n // todo, this will be changed to async sometime\n findIssuesObject(iobj) {\n if (this.isDirty() === true) {\n this.parse();\n }\n return new rules_runner_1.RulesRunner(this).runRules([iobj]);\n }\n // todo, this will be changed to async sometime\n parse() {\n if (this.isDirty() === false) {\n return this;\n }\n ParsingPerformance.clear();\n for (const o of this.getObjects()) {\n this.parsePrivate(o);\n }\n new find_global_definitions_1.FindGlobalDefinitions(this).run();\n return this;\n }\n async parseAsync(input) {\n var _a, _b;\n if (this.isDirty() === false) {\n return this;\n }\n ParsingPerformance.clear();\n (_a = input === null || input === void 0 ? void 0 : input.progress) === null || _a === void 0 ? void 0 : _a.set(this.getObjectCount(false), \"Lexing and parsing\");\n for (const o of this.getObjects()) {\n await ((_b = input === null || input === void 0 ? void 0 : input.progress) === null || _b === void 0 ? void 0 : _b.tick(\"Lexing and parsing(\" + this.conf.getVersion() + \") - \" + o.getType() + \" \" + o.getName()));\n this.parsePrivate(o);\n }\n if ((input === null || input === void 0 ? void 0 : input.outputPerformance) === true) {\n ParsingPerformance.output();\n }\n new find_global_definitions_1.FindGlobalDefinitions(this).run(input === null || input === void 0 ? void 0 : input.progress);\n return this;\n }\n //////////////////////////////////////////\n // todo, refactor, this is a mess, see where-used, a lot of the code should be in this method instead\n parsePrivate(input) {\n const config = this.getConfig();\n const result = input.parse(config.getVersion(), config.getSyntaxSetttings().globalMacros, this);\n ParsingPerformance.push(input, result);\n }\n isDirty() {\n for (const o of this.getObjects()) {\n const dirty = o.isDirty();\n if (dirty === true) {\n return true;\n }\n }\n return false;\n }\n findOrCreate(name, type) {\n try {\n return this.find(name, type);\n }\n catch (_a) {\n const newName = name.toUpperCase();\n const newType = type ? type : \"UNKNOWN\";\n const add = artifacts_objects_1.ArtifactsObjects.newObject(newName, newType);\n if (this.objects[newName] === undefined) {\n this.objects[newName] = {};\n }\n this.objects[newName][newType] = add;\n if (this.objectsByType[newType] === undefined) {\n this.objectsByType[newType] = {};\n }\n this.objectsByType[newType][newName] = add;\n return add;\n }\n }\n removeObject(remove) {\n if (remove === undefined) {\n return;\n }\n if (this.objects[remove.getName()][remove.getType()] === undefined) {\n throw new Error(\"removeObject: object not found\");\n }\n if (Object.keys(this.objects[remove.getName()]).length === 1) {\n delete this.objects[remove.getName()];\n }\n else {\n delete this.objects[remove.getName()][remove.getType()];\n }\n if (Object.keys(this.objectsByType[remove.getType()]).length === 1) {\n delete this.objectsByType[remove.getType()];\n }\n else {\n delete this.objectsByType[remove.getType()][remove.getName()];\n }\n }\n find(name, type) {\n const searchType = type ? type : \"UNKNOWN\";\n const searchName = name.toUpperCase();\n if (this.objects[searchName] !== undefined\n && this.objects[searchName][searchType]) {\n return this.objects[searchName][searchType];\n }\n throw new Error(\"find: object not found, \" + type + \" \" + name);\n }\n}\nexports.Registry = Registry;\n//# sourceMappingURL=registry.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/registry.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/7bit_ascii.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/7bit_ascii.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SevenBitAscii = exports.SevenBitAsciiConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass SevenBitAsciiConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SevenBitAsciiConf = SevenBitAsciiConf;\nclass SevenBitAscii {\n constructor() {\n this.conf = new SevenBitAsciiConf();\n }\n getMetadata() {\n return {\n key: \"7bit_ascii\",\n title: \"Check for 7bit ascii\",\n shortDescription: `Only allow characters from the 7bit ASCII set.`,\n extendedInformation: `https://docs.abapopenchecks.org/checks/05/\r\n\r\nhttps://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abencharacter_set_guidl.htm\r\n\r\nCheckes files with extensions \".abap\" and \".asddls\"`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n initialize(_reg) {\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const output = [];\n for (const file of obj.getFiles()) {\n const filename = file.getFilename();\n if (filename.endsWith(\".abap\") || filename.endsWith(\".asddls\")) {\n const rows = file.getRawRows();\n for (let i = 0; i < rows.length; i++) {\n const found = /[\\u007f-\\uffff]/.exec(rows[i]);\n if (found !== null) {\n const column = found.index + 1;\n const start = new position_1.Position(i + 1, column);\n const end = new position_1.Position(i + 1, column + 1);\n const message = \"Contains non 7 bit ascii character\";\n const issue = issue_1.Issue.atRange(file, start, end, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n // method getRawRows() splits by newline, so the carraige return\n // should always be last character if present\n const carriage = /\\r.+$/.exec(rows[i]);\n if (carriage !== null) {\n const column = carriage.index + 1;\n const start = new position_1.Position(i + 1, column);\n const end = new position_1.Position(i + 1, column + 1);\n const message = \"Dangling carriage return\";\n const issue = issue_1.Issue.atRange(file, start, end, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n }\n }\n return output;\n }\n}\nexports.SevenBitAscii = SevenBitAscii;\n//# sourceMappingURL=7bit_ascii.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/7bit_ascii.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPRule = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass ABAPRule {\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const abap = obj;\n const output = [];\n for (const file of abap.getABAPFiles()) {\n output.push(...this.runParsed(file, obj));\n }\n return output;\n }\n}\nexports.ABAPRule = ABAPRule;\n//# sourceMappingURL=_abap_rule.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BasicRuleConfig = void 0;\nconst severity_1 = __webpack_require__(/*! ../severity */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/severity.js\");\nclass BasicRuleConfig {\n constructor() {\n /** List of file regex filename patterns to exclude, case insensitive */\n this.exclude = [];\n /** Problem severity */\n this.severity = severity_1.Severity.Error;\n }\n}\nexports.BasicRuleConfig = BasicRuleConfig;\n//# sourceMappingURL=_basic_rule_config.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js": +/*!***************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RuleTag = void 0;\nvar RuleTag;\n(function (RuleTag) {\n RuleTag[\"Experimental\"] = \"Experimental\";\n RuleTag[\"DeprecationCandidate\"] = \"DeprecationCandidate\";\n RuleTag[\"Upport\"] = \"Upport\";\n RuleTag[\"Downport\"] = \"Downport\";\n RuleTag[\"Whitespace\"] = \"Whitespace\";\n RuleTag[\"Naming\"] = \"Naming\";\n RuleTag[\"Quickfix\"] = \"Quickfix\";\n RuleTag[\"Performance\"] = \"Performance\";\n RuleTag[\"Syntax\"] = \"Syntax\";\n RuleTag[\"Security\"] = \"Security\";\n /** Relevant wrt the official SAP ABAP style guide*/\n RuleTag[\"Styleguide\"] = \"Styleguide\";\n /** Single file compatible, the rule gives correct results when having only information about the single file */\n RuleTag[\"SingleFile\"] = \"SingleFile\";\n})(RuleTag || (exports.RuleTag = RuleTag = {}));\n//# sourceMappingURL=_irule.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NamingRuleConfig = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nclass NamingRuleConfig extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Specifies whether the pattern is forbidden (violation if name matches) or required (violation if name does not match). */\n this.patternKind = \"required\";\n /** A list of names to be ignored */\n this.ignoreNames = [];\n /** A list of patterns to be ignored. For example, you can use it to ignore ambiguous prefixes */\n this.ignorePatterns = [];\n }\n}\nexports.NamingRuleConfig = NamingRuleConfig;\n//# sourceMappingURL=_naming_rule_config.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/abapdoc.js": +/*!****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/abapdoc.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Abapdoc = exports.AbapdocConf = void 0;\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst visibility_1 = __webpack_require__(/*! ../abap/4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass AbapdocConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Check local classes and interfaces for abapdoc. */\n this.checkLocal = false;\n this.classDefinition = false;\n this.interfaceDefinition = false;\n }\n}\nexports.AbapdocConf = AbapdocConf;\nclass Abapdoc extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new AbapdocConf();\n }\n getMetadata() {\n return {\n key: \"abapdoc\",\n title: \"Check abapdoc\",\n shortDescription: `Various checks regarding abapdoc.`,\n extendedInformation: `Base rule checks for existence of abapdoc for public class methods and all interface methods.\r\n\r\nPlus class and interface definitions.\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#abap-doc-only-for-public-apis`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b;\n const issues = [];\n const rows = file.getRawRows();\n const regexEmptyTags = '^\\\\\"! .*<[^/>]*><\\\\/';\n const regexEmptyAbapdoc = '^\\\\\"!.+$';\n const regexEmptyParameterName = '^\\\\\"! @parameter .+\\\\|';\n let methods = [];\n for (const classDef of file.getInfo().listClassDefinitions()) {\n if (this.conf.checkLocal === false && classDef.isLocal === true) {\n continue;\n }\n methods = methods.concat(classDef.methods.filter(m => m.visibility === visibility_1.Visibility.Public));\n if (this.getConfig().classDefinition === true) {\n const previousRow = classDef.identifier.getStart().getRow() - 2;\n if (((_a = rows[previousRow]) === null || _a === void 0 ? void 0 : _a.trim().substring(0, 2)) !== \"\\\"!\") {\n const message = \"Missing ABAP Doc for class \" + classDef.identifier.getToken().getStr();\n const issue = issue_1.Issue.atIdentifier(classDef.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n for (const interfaceDef of file.getInfo().listInterfaceDefinitions()) {\n if (this.conf.checkLocal === false && interfaceDef.isLocal === true) {\n continue;\n }\n methods = methods.concat(interfaceDef.methods);\n if (this.getConfig().interfaceDefinition === true) {\n const previousRow = interfaceDef.identifier.getStart().getRow() - 2;\n if (((_b = rows[previousRow]) === null || _b === void 0 ? void 0 : _b.trim().substring(0, 2)) !== \"\\\"!\") {\n const message = \"Missing ABAP Doc for interface \" + interfaceDef.identifier.getToken().getStr();\n const issue = issue_1.Issue.atIdentifier(interfaceDef.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n for (const method of methods) {\n if (method.isRedefinition === true) {\n continue;\n }\n const previousRowsTexts = this.getAbapdoc(rows, method.identifier.getStart());\n if (previousRowsTexts === undefined) {\n continue;\n }\n for (const rowText of previousRowsTexts) {\n if (rowText.trim().match(regexEmptyTags) !== null) {\n const message = \"Empty tag(s) in ABAP Doc for method \" + method.identifier.getToken().getStr() + \" (\" + rowText + \")\";\n const issue = issue_1.Issue.atIdentifier(method.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (rowText.trim().match(regexEmptyAbapdoc) === null && previousRowsTexts.indexOf(rowText) === previousRowsTexts.length - 1) {\n const message = \"Missing ABAP Doc for method \" + method.identifier.getToken().getStr() + \" (\" + rowText + \")\";\n const issue = issue_1.Issue.atIdentifier(method.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (rowText.trim().match(regexEmptyParameterName) !== null) {\n const message = \"Missing ABAP Doc parameter name for method \" + method.identifier.getToken().getStr() + \" (\" + rowText + \")\";\n const issue = issue_1.Issue.atIdentifier(method.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n getAbapdoc(rows, pos) {\n let previousRow = pos.getRow() - 2;\n let rowText = rows[previousRow].trim().toUpperCase();\n const text = [];\n if (rowText === \"METHODS\" || rowText === \"CLASS-METHODS\") {\n previousRow--;\n rowText = rows[previousRow].trim().toUpperCase();\n }\n text.push(rowText);\n //we need to push the first row despite if it is actually an abapdoc or not\n //if the first row above a method is abapdoc then try to get the rest of the abapdoc block above\n if (rowText.trim().substring(0, 2) === \"\\\"!\") {\n while (previousRow >= 0) {\n previousRow--;\n rowText = rows[previousRow].trim().toUpperCase();\n if (rowText.trim().substring(0, 2) !== \"\\\"!\") {\n break;\n }\n text.push(rowText);\n }\n }\n return text;\n }\n}\nexports.Abapdoc = Abapdoc;\n//# sourceMappingURL=abapdoc.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/abapdoc.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/align_parameters.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/align_parameters.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AlignParameters = exports.AlignParametersConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass AlignParametersConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.AlignParametersConf = AlignParametersConf;\nclass AlignParameters extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new AlignParametersConf();\n }\n getMetadata() {\n return {\n key: \"align_parameters\",\n title: \"Align Parameters\",\n shortDescription: `Checks for vertially aligned parameters`,\n extendedInformation: `Checks:\r\n* function module calls\r\n* method calls\r\n* VALUE constructors\r\n* NEW constructors\r\n* RAISE EXCEPTION statements\r\n* CREATE OBJECT statements\r\n* RAISE EVENT statements\r\n\r\nhttps://github.com/SAP/styleguides/blob/master/clean-abap/CleanABAP.md#align-parameters\r\n\r\nDoes not take effect on non functional method calls, use https://rules.abaplint.org/functional_writing/\r\n\r\nIf parameters are on the same row, no issues are reported, see\r\nhttps://rules.abaplint.org/max_one_method_parameter_per_line/ for splitting parameters to lines`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix],\n badExample: `CALL FUNCTION 'FOOBAR'\r\n EXPORTING\r\n foo = 2\r\n parameter = 3.\r\n\r\nfoobar( moo = 1\r\n param = 1 ).\r\n\r\nfoo = VALUE #(\r\n foo = bar\r\n moo = 2 ).`,\n goodExample: `CALL FUNCTION 'FOOBAR'\r\n EXPORTING\r\n foo = 2\r\n parameter = 3.\r\n\r\nfoobar( moo = 1\r\n param = 1 ).\r\n\r\nfoo = VALUE #(\r\n foo = bar\r\n moo = 2 ).\r\n\r\nDATA(sdf) = VALUE type(\r\n common_val = 2\r\n another_common = 5\r\n ( row_value = 4\r\n value_foo = 5 ) ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues; // parser error\n }\n const candidates = [];\n candidates.push(...this.functionParameterCandidates(stru));\n candidates.push(...this.methodCallParamCandidates(stru));\n candidates.push(...this.valueBodyCandidates(stru));\n candidates.push(...this.raiseAndCreateCandidates(stru));\n candidates.push(...this.newCandidates(stru));\n for (const c of candidates) {\n const i = this.checkCandidate(c, file);\n if (i) {\n issues.push(i);\n }\n }\n return issues;\n }\n checkCandidate(candidate, file) {\n if (candidate.parameters.length === 0) {\n return undefined;\n }\n let expectedEqualsColumn = 0;\n let row = 0;\n for (const p of candidate.parameters) {\n const currentCol = p.left.getLastToken().getCol() + p.left.getLastToken().getStr().length + 1;\n if (p.eq.getRow() === row) {\n return undefined;\n }\n row = p.eq.getRow();\n if (currentCol > expectedEqualsColumn) {\n expectedEqualsColumn = currentCol;\n }\n }\n for (const p of candidate.parameters) {\n if (p.eq.getCol() !== expectedEqualsColumn) {\n let fix;\n if (p.eq.getCol() < expectedEqualsColumn) {\n fix = edit_helper_1.EditHelper.insertAt(file, p.eq, \" \".repeat(expectedEqualsColumn - p.eq.getCol()));\n }\n else {\n fix = edit_helper_1.EditHelper.deleteRange(file, new position_1.Position(p.eq.getRow(), expectedEqualsColumn), p.eq);\n }\n const message = \"Align parameters to column \" + expectedEqualsColumn;\n return issue_1.Issue.atPosition(file, p.eq, message, this.getMetadata().key, this.getConfig().severity, fix);\n }\n }\n return undefined;\n }\n newCandidates(stru) {\n const candidates = [];\n for (const vb of stru.findAllExpressionsRecursive(Expressions.NewObject)) {\n const parameters = [];\n const fieldAssignments = vb.findDirectExpressions(Expressions.FieldAssignment);\n if (fieldAssignments.length >= 2) {\n for (const fs of fieldAssignments) {\n const children = fs.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n continue;\n }\n }\n const list = vb.findDirectExpression(Expressions.ParameterListS);\n if (list) {\n for (const c of list.getChildren()) {\n const children = c.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n }\n return candidates;\n }\n valueBodyCandidates(stru) {\n const candidates = [];\n for (const vb of stru.findAllExpressionsRecursive(Expressions.ValueBody)) {\n const parameters = [];\n const fieldAssignments = vb.findDirectExpressions(Expressions.FieldAssignment);\n if (fieldAssignments.length <= 1) {\n continue;\n }\n for (const fs of fieldAssignments) {\n const children = fs.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n for (const vb of stru.findAllExpressionsRecursive(Expressions.ValueBodyLine)) {\n const parameters = [];\n const fieldAssignments = vb.findDirectExpressions(Expressions.FieldAssignment);\n if (fieldAssignments.length <= 1) {\n continue;\n }\n for (const fs of fieldAssignments) {\n const children = fs.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n return candidates;\n }\n raiseAndCreateCandidates(stru) {\n const candidates = [];\n const statements = stru.findAllStatements(__1.Statements.Raise);\n statements.push(...stru.findAllStatements(__1.Statements.CreateObject));\n statements.push(...stru.findAllStatements(__1.Statements.RaiseEvent));\n for (const raise of statements) {\n const parameters = [];\n const param = raise.findDirectExpression(Expressions.ParameterListS);\n for (const p of (param === null || param === void 0 ? void 0 : param.getChildren()) || []) {\n const children = p.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n const ex = raise.findDirectExpression(Expressions.ParameterListExceptions);\n for (const e of (ex === null || ex === void 0 ? void 0 : ex.getChildren()) || []) {\n const children = e.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n return candidates;\n }\n methodCallParamCandidates(stru) {\n var _a, _b, _c;\n const candidates = [];\n for (const mcp of stru.findAllExpressionsRecursive(Expressions.MethodCallParam)) {\n const parameters = [];\n for (const param of ((_a = mcp.findDirectExpression(Expressions.ParameterListS)) === null || _a === void 0 ? void 0 : _a.getChildren()) || []) {\n const children = param.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n const mp = mcp.findDirectExpression(Expressions.MethodParameters);\n if (mp) {\n for (const p of ((_b = mp.findDirectExpression(Expressions.ParameterListS)) === null || _b === void 0 ? void 0 : _b.getChildren()) || []) {\n const children = p.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n for (const l of mp.findDirectExpressions(Expressions.ParameterListT)) {\n for (const p of l.findDirectExpressions(Expressions.ParameterT) || []) {\n const children = p.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n }\n const rec = mp.findDirectExpression(Expressions.ParameterT);\n if (rec) {\n const children = rec.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n for (const ex of ((_c = mp.findDirectExpression(Expressions.ParameterListExceptions)) === null || _c === void 0 ? void 0 : _c.getChildren()) || []) {\n const children = ex.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n return candidates;\n }\n functionParameterCandidates(stru) {\n const candidates = [];\n for (const fp of stru.findAllExpressionsRecursive(Expressions.FunctionParameters)) {\n const parameters = [];\n for (const p of fp.findAllExpressions(Expressions.FunctionExportingParameter)) {\n const children = p.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n for (const list of fp.findDirectExpressions(Expressions.ParameterListT)) {\n for (const pt of list.findDirectExpressions(Expressions.ParameterT)) {\n const children = pt.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n }\n const list = fp.findDirectExpression(Expressions.ParameterListExceptions);\n if (list) {\n for (const pt of list.findDirectExpressions(Expressions.ParameterException)) {\n const children = pt.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n return candidates;\n }\n}\nexports.AlignParameters = AlignParameters;\n//# sourceMappingURL=align_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/align_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/allowed_object_naming.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/allowed_object_naming.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AllowedObjectNaming = exports.AllowedObjectNamingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nclass AllowedObjectNamingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.AllowedObjectNamingConf = AllowedObjectNamingConf;\nclass AllowedObjectNaming {\n constructor() {\n this.conf = new AllowedObjectNamingConf();\n }\n getMetadata() {\n return {\n key: \"allowed_object_naming\",\n title: \"Allowed object naming\",\n shortDescription: `Enforces basic name length and namespace restrictions, see note SAP 104010`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n initialize(_reg) {\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const allowed = obj.getAllowedNaming();\n const name = obj.getName();\n let message = \"\";\n if (name.length > allowed.maxLength) {\n message = \"Name exceeds max length\";\n }\n else if (allowed.allowNamespace === false && name.indexOf(\"/\") >= 0) {\n message = \"Namespace not allowed for object type\";\n }\n else if (allowed.customRegex !== undefined) {\n if (name.match(allowed.customRegex) === null) {\n message = \"Name not allowed\";\n }\n }\n else if (name.match(/^(\\/[A-Z_\\d]{3,8}\\/)?[A-Z_\\d<> ]+$/i) === null) {\n message = \"Name not allowed\";\n }\n if (message.length > 0) {\n return [issue_1.Issue.atRow(obj.getFiles()[0], 1, message, this.getMetadata().key, this.conf.severity)];\n }\n return [];\n }\n}\nexports.AllowedObjectNaming = AllowedObjectNaming;\n//# sourceMappingURL=allowed_object_naming.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/allowed_object_naming.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/allowed_object_types.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/allowed_object_types.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AllowedObjectTypes = exports.AllowedObjectTypesConf = void 0;\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass AllowedObjectTypesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** List of allowed object types, example: [\"CLAS\", \"INTF\"]\n * @uniqueItems true\n */\n this.allowed = [];\n }\n}\nexports.AllowedObjectTypesConf = AllowedObjectTypesConf;\nclass AllowedObjectTypes {\n constructor() {\n this.conf = new AllowedObjectTypesConf();\n }\n getMetadata() {\n return {\n key: \"allowed_object_types\",\n title: \"Check allowed object types\",\n shortDescription: `Restricts the set of allowed object types.`,\n extendedInformation: `\"allowed\" is a list of 4 character R3TR object types, example: [\"CLAS\", \"INTF\"]`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n initialize(_reg) {\n return this;\n }\n getDescription(objectType) {\n return \"Object type \" + objectType + \" not allowed\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const allowed = this.getConfig().allowed;\n if (allowed === undefined || allowed.length === 0) {\n return [];\n }\n const objectType = obj.getType();\n if (allowed.indexOf(objectType) < 0) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, this.getDescription(objectType), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n}\nexports.AllowedObjectTypes = AllowedObjectTypes;\n//# sourceMappingURL=allowed_object_types.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/allowed_object_types.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/ambiguous_statement.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/ambiguous_statement.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AmbiguousStatement = exports.AmbiguousStatementConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst combi_1 = __webpack_require__(/*! ../abap/2_statements/combi */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/combi.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass AmbiguousStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.AmbiguousStatementConf = AmbiguousStatementConf;\nclass AmbiguousStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new AmbiguousStatementConf();\n }\n getMetadata() {\n return {\n key: \"ambiguous_statement\",\n title: \"Check for ambigious statements\",\n shortDescription: `Checks for ambiguity between deleting or modifying from internal and database table\r\nAdd \"TABLE\" keyword or \"@\" for escaping SQL variables\r\n\r\nOnly works if the target version is 740sp05 or above`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `DELETE foo FROM bar.\r\nMODIFY foo FROM bar.`,\n goodExample: `DELETE foo FROM @bar.\r\nMODIFY TABLE foo FROM bar.`,\n };\n }\n getMessage() {\n return \"Ambiguous statement. Use explicit syntax.\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp05) {\n return [];\n }\n for (const statement of file.getStatements()) {\n let match = false;\n if (statement.get() instanceof Statements.DeleteDatabase) {\n match = this.tryMatch(statement, this.reg, Statements.DeleteInternal);\n }\n else if (statement.get() instanceof Statements.DeleteInternal) {\n match = this.tryMatch(statement, this.reg, Statements.DeleteDatabase);\n }\n else if (statement.get() instanceof Statements.ModifyInternal) {\n match = this.tryMatch(statement, this.reg, Statements.ModifyDatabase);\n }\n else if (statement.get() instanceof Statements.ModifyDatabase) {\n match = this.tryMatch(statement, this.reg, Statements.ModifyInternal);\n }\n if (match) {\n const issue = issue_1.Issue.atStatement(file, statement, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n tryMatch(st, reg, type1) {\n const ver = reg.getConfig().getVersion();\n const tokens = st.getTokens().slice(0);\n tokens.pop();\n const match = combi_1.Combi.run(new type1().getMatcher(), tokens, ver);\n return match !== undefined;\n }\n}\nexports.AmbiguousStatement = AmbiguousStatement;\n//# sourceMappingURL=ambiguous_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/ambiguous_statement.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/avoid_use.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/avoid_use.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AvoidUse = exports.AvoidUseConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass AvoidUseConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Do not emit quick fix suggestion */\n this.skipQuickFix = false;\n /** Detects DEFINE (macro definitions) */\n this.define = true;\n /** Detects statics */\n this.statics = true;\n /** Detects DEFAULT KEY definitions, from version v740sp02 and up */\n this.defaultKey = true;\n /** Detects BREAK and BREAK-POINTS */\n this.break = true;\n /** Detects TEST SEAMS */\n this.testSeams = true;\n /** Detects DESCRIBE TABLE LINES, use lines() instead */\n this.describeLines = true;\n /** Detects EXPORT TO MEMORY */\n this.exportToMemory = true;\n /** Detects EXPORT TO DATABASE */\n this.exportToDatabase = true;\n }\n}\nexports.AvoidUseConf = AvoidUseConf;\nclass AvoidUse extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new AvoidUseConf();\n }\n getMetadata() {\n return {\n key: \"avoid_use\",\n title: \"Avoid use of certain statements\",\n shortDescription: `Detects usage of certain statements.`,\n extendedInformation: `DEFAULT KEY: https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-default-key\r\n\r\nMacros: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abenmacros_guidl.htm\r\n\r\nSTATICS: use CLASS-DATA instead\r\n\r\nDESCRIBE TABLE LINES: use lines() instead (quickfix exists)\r\n\r\nTEST-SEAMS: https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-test-seams-as-temporary-workaround`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(statement) {\n return \"Avoid use of \" + statement;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n let isStaticsBlock = false;\n for (const statementNode of file.getStatements()) {\n const statement = statementNode.get();\n let message = undefined;\n let fix = undefined;\n if (this.conf.define && statement instanceof Statements.Define) {\n message = \"DEFINE\";\n }\n else if (this.conf.describeLines && statement instanceof Statements.Describe) {\n const children = statementNode.getChildren();\n if (children.length === 6 && children[3].getFirstToken().getStr().toUpperCase() === \"LINES\") {\n message = \"DESCRIBE LINES, use lines() instead\";\n fix = this.conf.skipQuickFix === true ? undefined : this.getDescribeLinesFix(file, statementNode);\n }\n }\n else if (this.conf.statics && statement instanceof Statements.StaticBegin) {\n isStaticsBlock = true;\n message = \"STATICS\";\n }\n else if (this.conf.statics && statement instanceof Statements.StaticEnd) {\n isStaticsBlock = false;\n }\n else if (this.conf.exportToMemory && statement instanceof Statements.Export && statementNode.concatTokens().includes(\"TO MEMORY \")) {\n message = \"EXPORT TO MEMORY\";\n }\n else if (this.conf.exportToDatabase && statement instanceof Statements.Export && statementNode.concatTokens().includes(\"TO DATABASE \")) {\n message = \"EXPORT TO DATABASE\";\n }\n else if (this.conf.testSeams && statement instanceof Statements.TestSeam) {\n message = \"TEST-SEAM\";\n }\n else if (this.conf.statics && statement instanceof Statements.Static && isStaticsBlock === false) {\n message = \"STATICS\";\n }\n else if (this.conf.break && statement instanceof Statements.Break) {\n message = \"BREAK/BREAK-POINT\";\n fix = this.conf.skipQuickFix === true ? undefined : edit_helper_1.EditHelper.deleteStatement(file, statementNode);\n }\n if (message) {\n issues.push(issue_1.Issue.atStatement(file, statementNode, this.getDescription(message), this.getMetadata().key, this.conf.severity, fix));\n }\n if (this.conf.defaultKey\n && (this.reg.getConfig().getVersion() >= version_1.Version.v740sp02\n || this.reg.getConfig().getVersion() === version_1.Version.Cloud)\n && (statement instanceof Statements.Data || statement instanceof Statements.Type)) {\n const tt = (_a = statementNode.findFirstExpression(expressions_1.TypeTable)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(expressions_1.TypeTableKey);\n const token = tt === null || tt === void 0 ? void 0 : tt.findDirectTokenByText(\"DEFAULT\");\n if (tt && token) {\n message = \"DEFAULT KEY\";\n issues.push(issue_1.Issue.atToken(file, token, this.getDescription(message), this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n getDescribeLinesFix(file, statementNode) {\n const children = statementNode.getChildren();\n const target = children[4].concatTokens();\n const source = children[2].concatTokens();\n const startPosition = children[0].getFirstToken().getStart();\n const insertText = target + \" = lines( \" + source + \" ).\";\n const deleteFix = edit_helper_1.EditHelper.deleteStatement(file, statementNode);\n const insertFix = edit_helper_1.EditHelper.insertAt(file, startPosition, insertText);\n const finalFix = edit_helper_1.EditHelper.merge(deleteFix, insertFix);\n return finalFix;\n }\n}\nexports.AvoidUse = AvoidUse;\n//# sourceMappingURL=avoid_use.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/avoid_use.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/begin_end_names.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/begin_end_names.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BeginEndNames = exports.BeginEndNamesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass BeginEndNamesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.BeginEndNamesConf = BeginEndNamesConf;\nclass BeginEndNames extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new BeginEndNamesConf();\n }\n getMetadata() {\n return {\n key: \"begin_end_names\",\n title: \"Check BEGIN END names\",\n shortDescription: `Check BEGIN OF and END OF names match, plus there must be statements between BEGIN and END`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `DATA: BEGIN OF stru,\r\n field TYPE i,\r\n END OF structure_not_the_same.`,\n goodExample: `DATA: BEGIN OF stru,\r\n field TYPE i,\r\n END OF stru.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const output = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n output.push(...this.test(struc, Structures.Data, Statements.DataBegin, Statements.DataEnd, file));\n output.push(...this.test(struc, Structures.ClassData, Statements.ClassDataBegin, Statements.ClassDataEnd, file));\n output.push(...this.test(struc, Structures.Constants, Statements.ConstantBegin, Statements.ConstantEnd, file));\n output.push(...this.test(struc, Structures.Statics, Statements.StaticBegin, Statements.StaticEnd, file));\n output.push(...this.test(struc, Structures.TypeEnum, Statements.TypeEnumBegin, Statements.TypeEnumEnd, file));\n output.push(...this.test(struc, Structures.Types, Statements.TypeBegin, Statements.TypeEnd, file));\n return output;\n }\n test(stru, type, b, e, file) {\n const output = [];\n for (const sub of stru.findAllStructuresRecursive(type)) {\n let begin = sub.findDirectStatements(b)[0].findFirstExpression(Expressions.NamespaceSimpleName);\n if (begin === undefined) {\n begin = sub.findDirectStatements(b)[0].findFirstExpression(Expressions.DefinitionName);\n }\n if (begin === undefined) {\n continue;\n }\n const first = begin.getFirstToken();\n let end = sub.findDirectStatements(e)[0].findFirstExpression(Expressions.NamespaceSimpleName);\n if (end === undefined) {\n end = sub.findDirectStatements(e)[0].findFirstExpression(Expressions.DefinitionName);\n }\n if (end === undefined) {\n continue;\n }\n const last = end.getFirstToken();\n if (first.getStr().toUpperCase() !== last.getStr().toUpperCase()) {\n const fix = edit_helper_1.EditHelper.replaceRange(file, last.getStart(), last.getEnd(), first.getStr());\n const message = \"BEGIN END names must match\";\n const issue = issue_1.Issue.atToken(file, first, message, this.getMetadata().key, this.conf.severity, fix);\n output.push(issue);\n }\n if (sub.getChildren().length === 2) {\n const message = \"There must be statements between BEGIN and END\";\n const issue = issue_1.Issue.atToken(file, first, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n return output;\n }\n}\nexports.BeginEndNames = BeginEndNames;\n//# sourceMappingURL=begin_end_names.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/begin_end_names.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/begin_single_include.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/begin_single_include.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BeginSingleInclude = exports.BeginSingleIncludeConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass BeginSingleIncludeConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.BeginSingleIncludeConf = BeginSingleIncludeConf;\nclass BeginSingleInclude extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new BeginSingleIncludeConf();\n }\n getMetadata() {\n return {\n key: \"begin_single_include\",\n title: \"BEGIN contains single INCLUDE\",\n shortDescription: `Finds TYPE BEGIN with just one INCLUDE TYPE, and DATA with single INCLUDE STRUCTURE`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `TYPES: BEGIN OF dummy1.\r\n INCLUDE TYPE dselc.\r\nTYPES: END OF dummy1.\r\n\r\nDATA BEGIN OF foo.\r\nINCLUDE STRUCTURE syst.\r\nDATA END OF foo.\r\n\r\nSTATICS BEGIN OF bar.\r\nINCLUDE STRUCTURE syst.\r\nSTATICS END OF bar.`,\n goodExample: `DATA BEGIN OF foo.\r\nINCLUDE STRUCTURE dselc.\r\nDATA END OF foo.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const t of stru.findAllStructures(Structures.Types)) {\n if (t.getChildren().length !== 3) {\n continue;\n }\n if (t.findFirstStatement(Statements.IncludeType)) {\n const token = t.getFirstToken();\n const message = \"TYPE BEGIN with single INCLUDE\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n for (const t of stru.findAllStructures(Structures.Data)) {\n if (t.getChildren().length !== 3) {\n continue;\n }\n if (t.findFirstStatement(Statements.IncludeType)) {\n const token = t.getFirstToken();\n const message = \"DATA BEGIN with single INCLUDE\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n for (const t of stru.findAllStructures(Structures.Statics)) {\n if (t.getChildren().length !== 3) {\n continue;\n }\n if (t.findFirstStatement(Statements.IncludeType)) {\n const token = t.getFirstToken();\n const message = \"STATICS BEGIN with single INCLUDE\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.BeginSingleInclude = BeginSingleInclude;\n//# sourceMappingURL=begin_single_include.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/begin_single_include.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/call_transaction_authority_check.js": +/*!*****************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/call_transaction_authority_check.js ***! + \*****************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransactionAuthorityCheck = exports.CallTransactionAuthorityCheckConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass CallTransactionAuthorityCheckConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CallTransactionAuthorityCheckConf = CallTransactionAuthorityCheckConf;\nclass CallTransactionAuthorityCheck extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CallTransactionAuthorityCheckConf();\n this.MINIMUM_VERSION = version_1.Version.v740sp02;\n }\n getMetadata() {\n return {\n key: \"call_transaction_authority_check\",\n title: \"Call Transaction Authority-Check\",\n shortDescription: `Checks that usages of CALL TRANSACTION contain an authority-check.`,\n extendedInformation: `https://docs.abapopenchecks.org/checks/54/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Security],\n badExample: `CALL TRANSACTION 'FOO'.`,\n goodExample: `TRY.\r\n CALL TRANSACTION 'FOO' WITH AUTHORITY-CHECK.\r\n CATCH cx_sy_authorization_error.\r\nENDTRY.`,\n };\n }\n getMessage() {\n return \"Add an authority check to CALL TRANSACTION\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const currentVersion = this.reg.getConfig().getVersion();\n // Cloud version does not support CALL TRANSACTION\n if (currentVersion < this.MINIMUM_VERSION || currentVersion === version_1.Version.Cloud) {\n return [];\n }\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n for (const statNode of file.getStatements()) {\n const statement = statNode.get();\n if (statement instanceof Statements.CallTransaction && !statNode.concatTokensWithoutStringsAndComments().toUpperCase().includes(\"WITH AUTHORITY-CHECK\")) {\n issues.push(issue_1.Issue.atStatement(file, statNode, this.getMessage(), this.getMetadata().key));\n }\n }\n return issues;\n }\n}\nexports.CallTransactionAuthorityCheck = CallTransactionAuthorityCheck;\n//# sourceMappingURL=call_transaction_authority_check.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/call_transaction_authority_check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_comment_style.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_comment_style.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSCommentStyle = exports.CDSCommentStyleConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst cds_lexer_1 = __webpack_require__(/*! ../cds/cds_lexer */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/cds/cds_lexer.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass CDSCommentStyleConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CDSCommentStyleConf = CDSCommentStyleConf;\nclass CDSCommentStyle {\n constructor() {\n this.conf = new CDSCommentStyleConf();\n }\n getMetadata() {\n return {\n key: \"cds_comment_style\",\n title: \"CDS Comment Style\",\n shortDescription: `Check for obsolete comment style`,\n extendedInformation: `Check for obsolete comment style\r\n\r\nComments starting with \"--\" are considered obsolete\r\n\r\nhttps://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abencds_general_syntax_rules.htm`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: \"-- this is a comment\",\n goodExample: \"// this is a comment\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(object) {\n const issues = [];\n if ((object.getType() === \"DDLS\" && object instanceof objects_1.DataDefinition) ||\n (object.getType() === \"DDLX\" && object instanceof objects_1.CDSMetadataExtension)) {\n const file = object.findSourceFile();\n if (file === undefined) {\n return issues;\n }\n const tokens = cds_lexer_1.CDSLexer.run(file);\n for (const t of tokens) {\n if (t instanceof tokens_1.Comment && t.getStr().startsWith(\"--\")) {\n issues.push(issue_1.Issue.atToken(file, t, `Use \"//\" for comments instead of \"--\"`, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n}\nexports.CDSCommentStyle = CDSCommentStyle;\n//# sourceMappingURL=cds_comment_style.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_comment_style.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_legacy_view.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_legacy_view.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSLegacyView = exports.CDSLegacyViewConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nclass CDSLegacyViewConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CDSLegacyViewConf = CDSLegacyViewConf;\nclass CDSLegacyView {\n constructor() {\n this.conf = new CDSLegacyViewConf();\n }\n getMetadata() {\n return {\n key: \"cds_legacy_view\",\n title: \"CDS Legacy View\",\n shortDescription: `Identify CDS Legacy Views`,\n // eslint-disable-next-line max-len\n extendedInformation: `Use DEFINE VIEW ENTITY instead of DEFINE VIEW\r\n\r\nhttps://blogs.sap.com/2021/10/16/a-new-generation-of-cds-views-how-to-migrate-your-cds-views-to-cds-view-entities/\r\n\r\nv755 and up`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Upport],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(o) {\n const issues = [];\n if (this.reg.getConfig().getVersion() < version_1.Version.v755\n && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n if (o.getType() !== \"DDLS\") {\n return [];\n }\n if (o instanceof objects_1.DataDefinition) {\n const tree = o.getTree();\n if (tree === undefined) {\n return []; // parser error\n }\n if (tree.findDirectTokenByText(\"ENTITY\") === undefined) {\n const file = o.findSourceFile();\n if (file) {\n issues.push(issue_1.Issue.atRow(file, 1, \"CDS Legacy View\", this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n}\nexports.CDSLegacyView = CDSLegacyView;\n//# sourceMappingURL=cds_legacy_view.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_legacy_view.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_parser_error.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_parser_error.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSParserError = exports.CDSParserErrorConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nclass CDSParserErrorConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CDSParserErrorConf = CDSParserErrorConf;\nclass CDSParserError {\n constructor() {\n this.conf = new CDSParserErrorConf();\n }\n getMetadata() {\n return {\n key: \"cds_parser_error\",\n title: \"CDS Parser Error\",\n shortDescription: `CDS parsing`,\n extendedInformation: `Parses CDS and issues parser errors`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(object) {\n const issues = [];\n if ((object.getType() === \"DDLS\" && object instanceof objects_1.DataDefinition) ||\n (object.getType() === \"DDLX\" && object instanceof objects_1.CDSMetadataExtension)) {\n const hasError = object.hasParserError();\n const file = object.findSourceFile();\n if (hasError === true && file) {\n issues.push(issue_1.Issue.atRow(file, 1, \"CDS Parser error\", this.getMetadata().key, this.getConfig().severity));\n }\n }\n return issues;\n }\n}\nexports.CDSParserError = CDSParserError;\n//# sourceMappingURL=cds_parser_error.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_parser_error.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/chain_mainly_declarations.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/chain_mainly_declarations.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ChainMainlyDeclarations = exports.ChainMainlyDeclarationsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass ChainMainlyDeclarationsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allow definition statements to be chained */\n this.definitions = true;\n /** Allow WRITE statements to be chained */\n this.write = true;\n /** Allow MOVE statements to be chained */\n this.move = true;\n /** Allow REFRESH statements to be chained */\n this.refresh = true;\n /** Allow UNASSIGN statements to be chained */\n this.unassign = true;\n /** Allow CLEAR statements to be chained */\n this.clear = true;\n /** Allow HIDE statements to be chained */\n this.hide = true;\n /** Allow FREE statements to be chained */\n this.free = true;\n /** Allow INCLUDE statements to be chained */\n this.include = true;\n /** Allow CHECK statements to be chained */\n this.check = true;\n /** Allow SORT statements to be chained */\n this.sort = true;\n }\n}\nexports.ChainMainlyDeclarationsConf = ChainMainlyDeclarationsConf;\nclass ChainMainlyDeclarations extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ChainMainlyDeclarationsConf();\n }\n getMetadata() {\n return {\n key: \"chain_mainly_declarations\",\n title: \"Chain mainly declarations\",\n shortDescription: `Chain mainly declarations, allows chaining for the configured statements, reports errors for other statements.`,\n extendedInformation: `\r\nhttps://docs.abapopenchecks.org/checks/23/\r\n\r\nhttps://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abenchained_statements_guidl.htm\r\n`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `CALL METHOD: bar.`,\n goodExample: `CALL METHOD bar.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n let previousRow;\n for (const statementNode of structure.findAllStatementNodes()) {\n const colon = statementNode.getColon();\n if (colon === undefined) {\n continue;\n }\n const statement = statementNode.get();\n if (this.conf.definitions === true\n && (statement instanceof Statements.ClassData\n || statement instanceof Statements.ClassDataBegin\n || statement instanceof Statements.ClassDataEnd\n || statement instanceof Statements.Static\n || statement instanceof Statements.StaticBegin\n || statement instanceof Statements.StaticEnd\n || statement instanceof Statements.Local\n || statement instanceof Statements.Constant\n || statement instanceof Statements.ConstantBegin\n || statement instanceof Statements.ConstantEnd\n || statement instanceof Statements.Controls\n || statement instanceof Statements.Parameter\n || statement instanceof Statements.SelectOption\n || statement instanceof Statements.SelectionScreen\n || statement instanceof Statements.Aliases\n || statement instanceof Statements.Tables\n || statement instanceof Statements.MethodDef\n || statement instanceof Statements.InterfaceDef\n || statement instanceof Statements.Type\n || statement instanceof Statements.TypeBegin\n || statement instanceof Statements.TypeEnd\n || statement instanceof Statements.TypeEnumBegin\n || statement instanceof Statements.TypeEnumEnd\n || statement instanceof Statements.TypeEnum\n || statement instanceof Statements.Events\n || statement instanceof Statements.Ranges\n || statement instanceof Statements.TypePools\n || statement instanceof Statements.FieldSymbol\n || statement instanceof Statements.Data\n || statement instanceof Statements.DataBegin\n || statement instanceof Statements.DataEnd)) {\n continue;\n }\n else if (this.conf.write === true && statement instanceof Statements.Write) {\n continue;\n }\n else if (this.conf.move === true && statement instanceof Statements.Move) {\n continue;\n }\n else if (this.conf.refresh === true && statement instanceof Statements.Refresh) {\n continue;\n }\n else if (this.conf.unassign === true && statement instanceof Statements.Unassign) {\n continue;\n }\n else if (this.conf.clear === true && statement instanceof Statements.Clear) {\n continue;\n }\n else if (this.conf.hide === true && statement instanceof Statements.Hide) {\n continue;\n }\n else if (this.conf.free === true && statement instanceof Statements.Free) {\n continue;\n }\n else if (this.conf.include === true && statement instanceof Statements.Include) {\n continue;\n }\n else if (this.conf.check === true && statement instanceof Statements.Check) {\n continue;\n }\n else if (this.conf.sort === true && statement instanceof Statements.Sort) {\n continue;\n }\n let prevFix;\n if (previousRow === colon.getStart().getRow()) {\n prevFix = (_a = issues.pop()) === null || _a === void 0 ? void 0 : _a.getFix();\n }\n const fix = this.getFix(file, statement, statementNode, prevFix);\n const message = \"Chain mainly declarations\";\n issues.push(issue_1.Issue.atToken(file, statementNode.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix));\n previousRow = statementNode.getColon().getStart().getRow();\n }\n return issues;\n }\n getFix(file, statement, statementNode, prevFix) {\n if (statement instanceof Statements.ClassDataBegin ||\n statement instanceof Statements.ClassDataEnd ||\n statement instanceof Statements.StaticBegin ||\n statement instanceof Statements.StaticEnd ||\n statement instanceof Statements.ConstantBegin ||\n statement instanceof Statements.ConstantEnd ||\n statement instanceof Statements.TypeBegin ||\n statement instanceof Statements.TypeEnd ||\n statement instanceof Statements.TypeEnumBegin ||\n statement instanceof Statements.TypeEnumEnd ||\n statement instanceof Statements.DataBegin ||\n statement instanceof Statements.DataEnd) {\n return undefined;\n }\n let replacement = statementNode.concatTokens();\n replacement = replacement.replace(\",\", \".\");\n let start;\n if (prevFix === undefined) {\n start = statementNode.getStart();\n }\n else {\n start = statementNode.getTokens()[1].getStart();\n }\n let fix = edit_helper_1.EditHelper.replaceRange(file, start, statementNode.getEnd(), replacement);\n if (prevFix !== undefined) {\n fix = edit_helper_1.EditHelper.merge(fix, prevFix);\n }\n return fix;\n }\n}\nexports.ChainMainlyDeclarations = ChainMainlyDeclarations;\n//# sourceMappingURL=chain_mainly_declarations.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/chain_mainly_declarations.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/change_if_to_case.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/change_if_to_case.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ChangeIfToCase = exports.ChangeIfToCaseConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ChangeIfToCaseConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** skip specific names, case insensitive regular expression\n * @uniqueItems true\n */\n this.skipNames = [];\n }\n}\nexports.ChangeIfToCaseConf = ChangeIfToCaseConf;\nclass ChangeIfToCase extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ChangeIfToCaseConf();\n }\n getMetadata() {\n return {\n key: \"change_if_to_case\",\n title: \"Change IF to CASE\",\n shortDescription: `Finds IF constructs that can be changed to CASE`,\n // eslint-disable-next-line max-len\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-case-to-else-if-for-multiple-alternative-conditions\r\n\r\nIf the first comparison is a boolean compare, no issue is reported.`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n badExample: `IF l_fcat-fieldname EQ 'FOO'.\r\nELSEIF l_fcat-fieldname = 'BAR'\r\n OR l_fcat-fieldname = 'MOO'.\r\nENDIF.`,\n goodExample: `CASE l_fcat-fieldname.\r\n WHEN 'FOO'.\r\n WHEN 'BAR' OR 'MOO'.\r\nENDCASE.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues;\n }\n for (const i of stru.findAllStructuresRecursive(Structures.If)) {\n const conds = [];\n const ifStatement = i.findDirectStatement(Statements.If);\n if (ifStatement === undefined) {\n continue;\n }\n if (ifStatement.concatTokens().match(/ (abap_true|abap_false)\\s*\\./i)) {\n continue;\n }\n conds.push(ifStatement === null || ifStatement === void 0 ? void 0 : ifStatement.findDirectExpression(Expressions.Cond));\n for (const ei of i.findDirectStructures(Structures.ElseIf)) {\n conds.push((_a = ei.findDirectStatement(Statements.ElseIf)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Cond));\n }\n if (conds.length === 1) {\n continue;\n }\n const issue = this.analyze(conds);\n if (issue === true) {\n const message = \"Change IF to CASE\";\n issues.push(issue_1.Issue.atStatement(file, ifStatement, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n return issues;\n }\n analyze(conds) {\n var _a, _b, _c, _d, _e;\n const tuples = [];\n for (const c of conds) {\n if (c === undefined) {\n continue;\n }\n if (c.findFirstExpression(Expressions.CondSub)) {\n return false;\n }\n else if (c.findDirectTokenByText(\"AND\") || c.findDirectTokenByText(\"EQUIV\")) {\n return false;\n }\n for (const compare of c.findAllExpressions(Expressions.Compare)) {\n const op = (_a = compare.findDirectExpression(Expressions.CompareOperator)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n if (compare.getChildren().length !== 3) {\n return false;\n }\n else if (op !== \"=\" && op !== \"EQ\") {\n return false;\n }\n const left = (_c = (_b = compare.getChildren()[0]) === null || _b === void 0 ? void 0 : _b.concatTokens()) === null || _c === void 0 ? void 0 : _c.toUpperCase();\n const right = (_e = (_d = compare.getChildren()[2]) === null || _d === void 0 ? void 0 : _d.concatTokens()) === null || _e === void 0 ? void 0 : _e.toUpperCase();\n tuples.push({ left, right });\n }\n }\n if (tuples.length === 1) {\n return false;\n }\n let chain = \"\";\n if (tuples[0].left === tuples[1].left) {\n chain = tuples[0].left;\n }\n else if (tuples[0].left === tuples[1].right) {\n chain = tuples[0].left;\n }\n else if (tuples[0].right === tuples[1].right) {\n chain = tuples[0].right;\n }\n else if (tuples[0].right === tuples[1].left) {\n chain = tuples[0].right;\n }\n else {\n return false;\n }\n for (const skip of this.getConfig().skipNames || []) {\n const reg = new RegExp(skip, \"i\");\n if (chain.match(reg)) {\n return false;\n }\n }\n for (const t of tuples) {\n if (t.left !== chain && t.right !== chain) {\n return false;\n }\n }\n return true;\n }\n}\nexports.ChangeIfToCase = ChangeIfToCase;\n//# sourceMappingURL=change_if_to_case.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/change_if_to_case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_abstract.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_abstract.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckAbstract = exports.CheckAbstractConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass CheckAbstractConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckAbstractConf = CheckAbstractConf;\nvar IssueType;\n(function (IssueType) {\n /** Abstract method defined in non-abstract class */\n IssueType[IssueType[\"NotAbstractClass\"] = 0] = \"NotAbstractClass\";\n IssueType[IssueType[\"AbstractAndFinal\"] = 1] = \"AbstractAndFinal\";\n})(IssueType || (IssueType = {}));\nclass CheckAbstract extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CheckAbstractConf();\n }\n getMetadata() {\n return {\n key: \"check_abstract\",\n title: \"Check abstract methods and classes\",\n shortDescription: `Checks abstract methods and classes:\r\n- class defined as abstract and final,\r\n- non-abstract class contains abstract methods`,\n extendedInformation: `If a class defines only constants, use an interface instead`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(issueType, name) {\n switch (issueType) {\n case IssueType.AbstractAndFinal:\n return \"Classes should not be ABSTRACT and FINAL: \" + name;\n case IssueType.NotAbstractClass:\n return \"Abstract methods require abstract classes: \" + name;\n default:\n return \"\";\n }\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const classDef of file.getInfo().listClassDefinitions()) {\n if (classDef.isAbstract === true) {\n if (classDef.isFinal === true && classDef.isForTesting === false) {\n issues.push(issue_1.Issue.atIdentifier(classDef.identifier, this.getDescription(IssueType.AbstractAndFinal, classDef.name), this.getMetadata().key, this.conf.severity));\n }\n continue;\n }\n for (const methodDef of classDef.methods) {\n if (methodDef.isAbstract === true) {\n issues.push(issue_1.Issue.atIdentifier(methodDef.identifier, this.getDescription(IssueType.NotAbstractClass, methodDef.name), this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n}\nexports.CheckAbstract = CheckAbstract;\n//# sourceMappingURL=check_abstract.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_abstract.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_comments.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_comments.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckComments = exports.CheckCommentsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass CheckCommentsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allows the use of end-of-line comments. */\n this.allowEndOfLine = false;\n }\n}\nexports.CheckCommentsConf = CheckCommentsConf;\nvar IssueType;\n(function (IssueType) {\n IssueType[IssueType[\"EndOfLine\"] = 0] = \"EndOfLine\";\n})(IssueType || (IssueType = {}));\nclass CheckComments extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CheckCommentsConf();\n }\n getMetadata() {\n return {\n key: \"check_comments\",\n title: \"Check Comments\",\n shortDescription: `\r\nVarious checks for comment usage.`,\n extendedInformation: `\r\nDetects end of line comments. Comments starting with \"#EC\" or \"##\" are ignored\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#put-comments-before-the-statement-they-relate-to`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: `WRITE 2. \" descriptive comment`,\n goodExample: `\" descriptive comment\\nWRITE 2.`,\n };\n }\n getDescription(issueType) {\n switch (issueType) {\n case IssueType.EndOfLine: return `Do not use end of line comments - move comment to previous row instead`;\n default: return \"\";\n }\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const rows = file.getRawRows();\n if (this.conf.allowEndOfLine === true) {\n return [];\n }\n const commentRows = [];\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n if (row.trim().startsWith(\"*\") || row.trim().startsWith(`\"`)) {\n commentRows.push(i);\n }\n }\n const statements = file.getStatements();\n for (let i = statements.length - 1; i >= 0; i--) {\n const statement = statements[i];\n if (statement.get() instanceof _statement_1.Comment && !commentRows.includes(statement.getStart().getRow() - 1)) {\n if (statement.getFirstToken().getStr().startsWith(`\"#EC`)\n || statement.getFirstToken().getStr().startsWith(`\"##`)) {\n continue;\n }\n issues.push(issue_1.Issue.atStatement(file, statement, this.getDescription(IssueType.EndOfLine), this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.CheckComments = CheckComments;\n//# sourceMappingURL=check_comments.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_comments.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_ddic.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_ddic.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckDDIC = exports.CheckDDICConf = void 0;\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nclass CheckDDICConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckDDICConf = CheckDDICConf;\nclass CheckDDIC {\n constructor() {\n this.conf = new CheckDDICConf();\n }\n getMetadata() {\n return {\n key: \"check_ddic\",\n title: \"Check DDIC\",\n // eslint-disable-next-line max-len\n shortDescription: `Checks the types of DDIC objects can be resolved, the namespace of the development/errors can be configured in \"errorNamespace\" `,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n let found = undefined;\n if (obj instanceof Objects.DataElement\n || obj instanceof Objects.Domain\n || obj instanceof Objects.Table\n || obj instanceof Objects.View\n || obj instanceof Objects.AuthorizationCheckField\n || obj instanceof Objects.LockObject\n || obj instanceof Objects.MaintenanceAndTransportObject\n || obj instanceof Objects.TableType) {\n found = obj.parseType(this.reg);\n }\n else {\n return [];\n }\n return this.check(found, obj);\n }\n check(found, obj) {\n const ret = [];\n if (found instanceof basic_1.UnknownType) {\n const position = new position_1.Position(1, 1);\n const message = \"Unknown/un-resolveable type in \" + obj.getName() + \": \" + found.getError();\n ret.push(issue_1.Issue.atPosition(obj.getFiles()[0], position, message, this.getMetadata().key, this.conf.severity));\n }\n else if (found instanceof basic_1.StructureType) {\n // assumption: no circular types\n for (const c of found.getComponents()) {\n ret.push(...this.check(c.type instanceof _typed_identifier_1.TypedIdentifier ? c.type.getType() : c.type, obj));\n }\n }\n else if (found instanceof basic_1.TableType) {\n ret.push(...this.check(found.getRowType(), obj));\n }\n // todo, reference types?\n return ret;\n }\n}\nexports.CheckDDIC = CheckDDIC;\n//# sourceMappingURL=check_ddic.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_ddic.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_include.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_include.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckInclude = exports.CheckIncludeConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst include_graph_1 = __webpack_require__(/*! ../utils/include_graph */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/include_graph.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass CheckIncludeConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckIncludeConf = CheckIncludeConf;\nclass CheckInclude {\n constructor() {\n this.conf = new CheckIncludeConf();\n }\n getMetadata() {\n return {\n key: \"check_include\",\n title: \"Check INCLUDEs\",\n shortDescription: `Checks INCLUDE statements`,\n extendedInformation: `\r\n* Reports unused includes\r\n* Errors if the includes are not found\r\n* Error if including a main program`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n this.graph = new include_graph_1.IncludeGraph(this.reg);\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n let ret = [];\n for (const file of obj.getABAPFiles()) {\n ret = ret.concat(this.graph.getIssuesFile(file));\n }\n return ret;\n }\n}\nexports.CheckInclude = CheckInclude;\n//# sourceMappingURL=check_include.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_include.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_subrc.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_subrc.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckSubrc = exports.CheckSubrcConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass CheckSubrcConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.openDataset = true;\n this.authorityCheck = true;\n this.selectSingle = true;\n this.selectTable = true;\n this.updateDatabase = true;\n this.insertDatabase = true;\n this.modifyDatabase = true;\n this.readTable = true;\n this.assign = true;\n this.find = true;\n }\n}\nexports.CheckSubrcConf = CheckSubrcConf;\nclass CheckSubrc extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CheckSubrcConf();\n }\n getMetadata() {\n return {\n key: \"check_subrc\",\n title: \"Check sy-subrc\",\n shortDescription: `Check sy-subrc`,\n extendedInformation: `Pseudo comment \"#EC CI_SUBRC can be added to suppress findings\r\n\r\nIf sy-dbcnt is checked after database statements, it is considered okay.\r\n\r\n\"SELECT SINGLE @abap_true FROM \" is considered as an existence check\r\n\r\nIf IS ASSIGNED is checked after assigning, it is considered okay.\r\n\r\nFIND statement with MATCH COUNT is considered okay if subrc is not checked`,\n tags: [_irule_1.RuleTag.SingleFile],\n pseudoComment: \"EC CI_SUBRC\",\n pragma: \"##SUBRC_OK\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const statements = file.getStatements();\n const message = \"Check sy-subrc\";\n const config = this.getConfig();\n for (let i = 0; i < statements.length; i++) {\n const statement = statements[i];\n // todo: CALL FUNCTION\n if (statement.getPragmas().some(t => t.getStr() === this.getMetadata().pragma)) {\n continue;\n }\n if (config.openDataset === true\n && statement.get() instanceof Statements.OpenDataset\n && this.isChecked(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.authorityCheck === true\n && statement.get() instanceof Statements.AuthorityCheck\n && this.isChecked(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.selectSingle === true\n && statement.get() instanceof Statements.Select\n && statement.concatTokens().toUpperCase().startsWith(\"SELECT SINGLE \")\n && this.isChecked(i, statements) === false\n && this.checksDbcnt(i, statements) === false) {\n const concat = statement.concatTokens().toUpperCase();\n if (concat.startsWith(\"SELECT SINGLE @ABAP_TRUE FROM \")) {\n continue;\n }\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.selectTable === true\n && statement.get() instanceof Statements.Select\n && statement.concatTokens().toUpperCase().startsWith(\"SELECT SINGLE \") === false\n && this.isChecked(i, statements) === false\n && this.checksDbcnt(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.updateDatabase === true\n && statement.get() instanceof Statements.UpdateDatabase\n && this.isChecked(i, statements) === false\n && this.checksDbcnt(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.insertDatabase === true\n && statement.get() instanceof Statements.InsertDatabase\n && this.isChecked(i, statements) === false\n && this.checksDbcnt(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.modifyDatabase === true\n && statement.get() instanceof Statements.ModifyDatabase\n && this.isChecked(i, statements) === false\n && this.checksDbcnt(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.readTable === true\n && statement.get() instanceof Statements.ReadTable\n && this.isChecked(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.assign === true\n && statement.get() instanceof Statements.Assign\n && this.isChecked(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.find === true\n && statement.get() instanceof Statements.Find\n && this.isExemptedFind(statement) === false\n && this.isChecked(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n ////////////////\n isExemptedFind(s) {\n // see https://github.com/abaplint/abaplint/issues/2130\n return s.concatTokens().toUpperCase().includes(\" MATCH COUNT \") === true;\n }\n checksDbcnt(index, statements) {\n for (let i = index + 1; i < statements.length; i++) {\n const statement = statements[i];\n const concat = statement.concatTokens().toUpperCase();\n if (statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n else if (statement.get() instanceof Statements.EndIf) {\n continue;\n }\n else {\n return concat.includes(\"SY-DBCNT\");\n }\n }\n return false;\n }\n isChecked(index, statements) {\n var _a, _b;\n let assigned = undefined;\n let assignedn = undefined;\n if (statements[index].get() instanceof Statements.Assign\n || statements[index].get() instanceof Statements.ReadTable) {\n const fs = (_b = (_a = statements[index].findFirstExpression(Expressions.FSTarget)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(Expressions.FieldSymbol)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();\n assigned = (fs === null || fs === void 0 ? void 0 : fs.toUpperCase()) + \" IS ASSIGNED\";\n assignedn = (fs === null || fs === void 0 ? void 0 : fs.toUpperCase()) + \" IS NOT ASSIGNED\";\n }\n for (let i = index + 1; i < statements.length; i++) {\n const statement = statements[i];\n const concat = statement.concatTokens().toUpperCase();\n if (statement.get() instanceof _statement_1.Comment) {\n if (concat.includes(\"\" + this.getMetadata().pseudoComment)) {\n return true;\n }\n }\n else if (statement.get() instanceof Statements.EndIf) {\n continue;\n }\n else {\n if (assigned && concat.includes(assigned)) {\n return true;\n }\n if (assignedn && concat.includes(assignedn)) {\n return true;\n }\n return concat.includes(\" SY-SUBRC\")\n || concat.includes(\"CL_ABAP_UNIT_ASSERT=>ASSERT_SUBRC\");\n }\n }\n return false;\n }\n}\nexports.CheckSubrc = CheckSubrc;\n//# sourceMappingURL=check_subrc.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_subrc.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_syntax.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_syntax.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckSyntax = exports.CheckSyntaxConf = void 0;\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst severity_1 = __webpack_require__(/*! ../severity */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/severity.js\");\nclass CheckSyntaxConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckSyntaxConf = CheckSyntaxConf;\nclass CheckSyntax {\n constructor() {\n this.conf = new CheckSyntaxConf();\n }\n getMetadata() {\n return {\n key: \"check_syntax\",\n title: \"Check syntax\",\n shortDescription: `Enables syntax check and variable resolution`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const issues = new syntax_1.SyntaxLogic(this.reg, obj).run().issues;\n // the syntax logic does not know the rule severity when its run\n if (this.conf.severity\n && this.conf.severity !== severity_1.Severity.Error) {\n issues.forEach((value, index) => {\n const data = value.getData();\n data.severity = this.conf.severity;\n issues[index] = new issue_1.Issue(data);\n });\n }\n return issues;\n }\n}\nexports.CheckSyntax = CheckSyntax;\n//# sourceMappingURL=check_syntax.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_syntax.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_text_elements.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_text_elements.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckTextElements = exports.CheckTextElementsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst include_graph_1 = __webpack_require__(/*! ../utils/include_graph */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/include_graph.js\");\nclass CheckTextElementsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckTextElementsConf = CheckTextElementsConf;\nclass CheckTextElements {\n constructor() {\n this.conf = new CheckTextElementsConf();\n }\n getMetadata() {\n return {\n key: \"check_text_elements\",\n title: \"Check text elements\",\n shortDescription: `Check text elements exists or matches code`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n this.graph = new include_graph_1.IncludeGraph(this.reg);\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const output = [];\n for (const file of obj.getABAPFiles()) {\n const stru = file.getStructure();\n if (stru === undefined) {\n continue;\n }\n let texts;\n let mainName = undefined;\n const expressions = stru.findAllExpressionsMulti([Expressions.TextElement, Expressions.TextElementString]);\n // optimize: no need to find main and texts if there are no expressions to check\n if (expressions.length > 0) {\n const mains = this.graph.listMainForInclude(file.getFilename());\n if (mains.length === 1) {\n // todo, this only checks the first main\n mainName = mains[0];\n const main1 = this.reg.findObjectForFile(this.reg.getFileByName(mains[0]));\n texts = main1.getTexts();\n }\n else {\n texts = obj.getTexts();\n }\n }\n for (const e of expressions) {\n if (e.get() instanceof Expressions.TextElement) {\n const token = e.findFirstExpression(Expressions.TextElementKey).getFirstToken();\n const key = token.getStr().toUpperCase();\n if (texts[key] === undefined) {\n const message = `Text element \"${key}\" not found` + (mainName ? \", \" + mainName : \"\");\n output.push(issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity));\n }\n }\n else {\n // its a Expressions.TextElementString\n const token = e.findFirstExpression(Expressions.TextElementKey).getFirstToken();\n const code = e.getFirstToken().getStr();\n const key = token.getStr().toUpperCase();\n let found = texts[key];\n if (found && code.startsWith(\"'\")) {\n found = found.replace(/'/g, \"''\");\n }\n if (found === undefined) {\n const message = `Text element \"${key}\" not found` + (mainName ? \", \" + mainName : \"\");\n output.push(issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity));\n }\n else if (code !== \"'\" + found + \"'\"\n && code !== \"`\" + found + \"`\") {\n output.push(issue_1.Issue.atToken(file, token, \"Text does not match text element\", this.getMetadata().key, this.conf.severity));\n }\n }\n }\n }\n return output;\n }\n}\nexports.CheckTextElements = CheckTextElements;\n//# sourceMappingURL=check_text_elements.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_text_elements.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_transformation_exists.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_transformation_exists.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckTransformationExists = exports.CheckTransformationExistsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass CheckTransformationExistsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckTransformationExistsConf = CheckTransformationExistsConf;\nclass CheckTransformationExists extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CheckTransformationExistsConf();\n }\n getMetadata() {\n return {\n key: \"check_transformation_exists\",\n title: \"Check transformation exists\",\n shortDescription: `Checks that used XSLT transformations exist.`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getDescription(name) {\n return \"Transformation \\\"\" + name + \"\\\" not found\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const output = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n for (const s of file.getStatements()) {\n if (s.get() instanceof statements_1.CallTransformation) {\n const nameExpression = s.findFirstExpression(expressions_1.NamespaceSimpleName);\n if (nameExpression === undefined) {\n continue;\n }\n const tok = nameExpression.getFirstToken();\n const name = tok.getStr();\n if (this.reg.inErrorNamespace(name) === true\n && this.reg.getObject(\"XSLT\", name) === undefined) {\n const issue = issue_1.Issue.atToken(file, tok, this.getDescription(name), this.getMetadata().key);\n output.push(issue);\n }\n }\n }\n return output;\n }\n}\nexports.CheckTransformationExists = CheckTransformationExists;\n//# sourceMappingURL=check_transformation_exists.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_transformation_exists.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/class_attribute_names.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/class_attribute_names.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassAttributeNames = exports.ClassAttributeNamesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _abap_file_information_1 = __webpack_require__(/*! ../abap/4_file_information/_abap_file_information */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nclass ClassAttributeNamesConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore global exception classes */\n this.ignoreExceptions = true;\n /** Ignore local classes */\n this.ignoreLocal = true;\n /** Ignore interfaces */\n this.ignoreInterfaces = false;\n /** The pattern for static variable names */\n this.statics = \"^G._.+$\";\n /** The pattern for instance variable names */\n this.instance = \"^M._.+$\";\n /** The pattern for constant variable names */\n this.constants = \"\";\n }\n}\nexports.ClassAttributeNamesConf = ClassAttributeNamesConf;\nclass ClassAttributeNames extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ClassAttributeNamesConf();\n }\n getMetadata() {\n return {\n key: \"class_attribute_names\",\n title: \"Class attributes naming\",\n shortDescription: `Allows you to enforce a pattern, such as a prefix, for class variable names.`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(actual, expected) {\n return this.conf.patternKind === \"required\" ?\n \"Class attribute name \\\"\" + actual + \"\\\" does not match pattern \" + expected :\n \"Class attribute name \\\"\" + actual + \"\\\" must not match pattern \" + expected;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n let issues = [];\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n let attributes = [];\n const ddic = new ddic_1.DDIC(this.reg);\n for (const classDef of file.getInfo().listClassDefinitions()) {\n if ((classDef.isLocal && this.conf.ignoreLocal)\n || (ddic.isException(classDef, obj) && this.conf.ignoreExceptions)) {\n continue;\n }\n attributes = attributes.concat(classDef.attributes);\n }\n if (this.conf.ignoreInterfaces === false) {\n for (const intfDef of file.getInfo().listInterfaceDefinitions()) {\n if (intfDef.isLocal && this.conf.ignoreLocal) {\n continue;\n }\n attributes = attributes.concat(intfDef.attributes);\n }\n }\n issues = this.checkAttributes(attributes);\n return issues;\n }\n checkAttributes(attr) {\n if (attr === undefined) {\n return [];\n }\n let ret = [];\n for (const a of attr) {\n switch (a.level) {\n case _abap_file_information_1.AttributeLevel.Instance:\n ret = ret.concat(this.checkName(a.identifier, this.conf.instance));\n break;\n case _abap_file_information_1.AttributeLevel.Static:\n ret = ret.concat(this.checkName(a.identifier, this.conf.statics));\n break;\n case _abap_file_information_1.AttributeLevel.Constant:\n ret = ret.concat(this.checkName(a.identifier, this.conf.constants));\n break;\n default:\n break;\n }\n }\n return ret;\n }\n checkName(attr, expected) {\n const ret = [];\n const regex = new RegExp(expected, \"i\");\n const name = attr.getName();\n if (name_validator_1.NameValidator.violatesRule(name, regex, this.conf)) {\n const issue = issue_1.Issue.atIdentifier(attr, this.getDescription(name, expected), this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n return ret;\n }\n}\nexports.ClassAttributeNames = ClassAttributeNames;\n//# sourceMappingURL=class_attribute_names.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/class_attribute_names.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/classic_exceptions_overlap.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/classic_exceptions_overlap.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassicExceptionsOverlap = exports.ClassicExceptionsOverlapConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ClassicExceptionsOverlapConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ClassicExceptionsOverlapConf = ClassicExceptionsOverlapConf;\nclass ClassicExceptionsOverlap extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ClassicExceptionsOverlapConf();\n }\n getMetadata() {\n return {\n key: \"classic_exceptions_overlap\",\n title: \"Classic exceptions overlap when catching\",\n shortDescription: `Find overlapping classic exceptions`,\n extendedInformation: `When debugging its typically good to know exactly which exception is caught`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `CALL FUNCTION 'SOMETHING'\r\n EXCEPTIONS\r\n system_failure = 1 MESSAGE lv_message\r\n communication_failure = 1 MESSAGE lv_message\r\n resource_failure = 1\r\n OTHERS = 1.`,\n goodExample: `CALL FUNCTION 'SOMETHING'\r\n EXCEPTIONS\r\n system_failure = 1 MESSAGE lv_message\r\n communication_failure = 2 MESSAGE lv_message\r\n resource_failure = 3\r\n OTHERS = 4.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const output = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return []; // syntax error\n }\n for (const p of struc.findAllExpressions(Expressions.ParameterListExceptions)) {\n const set = new Set();\n for (const e of p.findAllExpressions(Expressions.ParameterException)) {\n const text = (_a = e.findDirectExpression(Expressions.SimpleName)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n if (text === undefined) {\n continue;\n }\n if (set.has(text)) {\n const message = \"Exception overlap, \" + text;\n const issue = issue_1.Issue.atToken(file, e.getFirstToken(), message, this.getMetadata().key, this.getConfig().severity);\n output.push(issue);\n break;\n }\n set.add(text);\n }\n }\n return output;\n }\n}\nexports.ClassicExceptionsOverlap = ClassicExceptionsOverlap;\n//# sourceMappingURL=classic_exceptions_overlap.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/classic_exceptions_overlap.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cloud_types.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cloud_types.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CloudTypes = exports.CloudTypesConf = void 0;\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass CloudTypesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CloudTypesConf = CloudTypesConf;\nclass CloudTypes {\n constructor() {\n this.conf = new CloudTypesConf();\n }\n getMetadata() {\n return {\n key: \"cloud_types\",\n title: \"Check cloud types\",\n shortDescription: `Checks that the package does not contain any object types unsupported in cloud ABAP.`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Syntax],\n };\n }\n getDescription(objectType) {\n return \"Object type \" + objectType + \" not supported in cloud\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (this.reg.getConfig().getVersion() !== version_1.Version.Cloud\n || obj instanceof Objects.AssignmentServiceToAuthorizationGroup\n || obj instanceof Objects.AuthorizationCheckField\n || obj instanceof Objects.AuthorizationObject\n || obj instanceof Objects.AuthorizationObjectExtension\n || obj instanceof Objects.BehaviorDefinition\n || obj instanceof Objects.BusinessCatalog\n || obj instanceof Objects.BusinessCatalogAppAssignment\n || obj instanceof Objects.CDSMetadataExtension\n || obj instanceof Objects.RestrictionField\n || obj instanceof Objects.Class\n || obj instanceof Objects.CommunicationScenario\n || obj instanceof Objects.DataControl\n || obj instanceof Objects.DataDefinition\n || obj instanceof Objects.DataElement\n || obj instanceof Objects.Domain\n || obj instanceof Objects.FunctionGroup\n || obj instanceof Objects.HttpService\n || obj instanceof Objects.IAMApp\n || obj instanceof Objects.InboundService\n || obj instanceof Objects.Interface\n || obj instanceof Objects.LockObject\n || obj instanceof Objects.ATCCheckCategory\n || obj instanceof Objects.ATCCheckObject\n || obj instanceof Objects.ATCCheckVariant\n || obj instanceof Objects.MessageClass\n || obj instanceof Objects.Package\n || obj instanceof Objects.RestrictionType\n || obj instanceof Objects.ServiceBinding\n || obj instanceof Objects.ServiceDefinition\n || obj instanceof Objects.Table\n || obj instanceof Objects.TableType\n || obj instanceof Objects.Transformation) {\n return [];\n }\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, this.getDescription(obj.getType()), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n}\nexports.CloudTypes = CloudTypes;\n//# sourceMappingURL=cloud_types.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cloud_types.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/colon_missing_space.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/colon_missing_space.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ColonMissingSpace = exports.ColonMissingSpaceConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ColonMissingSpaceConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ColonMissingSpaceConf = ColonMissingSpaceConf;\nclass ColonMissingSpace extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ColonMissingSpaceConf();\n }\n getMetadata() {\n return {\n key: \"colon_missing_space\",\n title: \"Colon missing space\",\n shortDescription: `Checks for missing spaces after colons in chained statements.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `WRITE:hello, world.`,\n goodExample: `WRITE: hello, world.`,\n };\n }\n getMessage() {\n return \"Missing space after the colon\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const tokens = file.getTokens();\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.getStr() === \":\"\n && tokens[i + 1] !== undefined\n && tokens[i + 1].getRow() === token.getRow()\n && tokens[i + 1].getCol() === token.getCol() + 1) {\n const start = token.getStart();\n const end = new position_1.Position(start.getRow(), start.getCol() + 1);\n const fix = edit_helper_1.EditHelper.insertAt(file, end, \" \");\n const issue = issue_1.Issue.atRange(file, start, end, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.ColonMissingSpace = ColonMissingSpace;\n//# sourceMappingURL=colon_missing_space.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/colon_missing_space.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/commented_code.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/commented_code.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CommentedCode = exports.CommentedCodeConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst abap_parser_1 = __webpack_require__(/*! ../abap/abap_parser */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/abap_parser.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst memory_file_1 = __webpack_require__(/*! ../files/memory_file */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/files/memory_file.js\");\nclass CommentedCodeConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allow INCLUDEs in function groups */\n this.allowIncludeInFugr = true;\n }\n}\nexports.CommentedCodeConf = CommentedCodeConf;\nclass CommentedCode extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CommentedCodeConf();\n }\n getMetadata() {\n return {\n key: \"commented_code\",\n title: \"Find commented code\",\n shortDescription: `Detects usage of commented out code.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#delete-code-instead-of-commenting-it\r\nhttps://docs.abapopenchecks.org/checks/14/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Commented code\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n let issues = [];\n const rows = file.getRawRows();\n let code = \"\";\n let posEnd = undefined;\n let posStart = undefined;\n for (let i = 0; i < rows.length; i++) {\n if (this.isCommentLine(rows[i])) {\n if (code === \"\") {\n posStart = new position_1.Position(i + 1, 1);\n }\n code = code + rows[i].trim().substr(1) + \"\\n\";\n posEnd = new position_1.Position(i + 1, rows[i].length + 1);\n }\n else if (code !== \"\" && posStart && posEnd) {\n issues = issues.concat(this.check(code.trim(), file, posStart, posEnd, obj));\n code = \"\";\n }\n }\n if (posStart && posEnd) {\n issues = issues.concat(this.check(code.trim(), file, posStart, posEnd, obj));\n }\n return issues;\n }\n check(code, file, posStart, posEnd, obj) {\n // assumption: code must end with \".\" in order to be valid ABAP\n if (code === \"\" || code.charAt(code.length - 1) !== \".\") {\n return [];\n }\n const commented = new memory_file_1.MemoryFile(\"_foobar.prog.abap\", code);\n const abapFile = new abap_parser_1.ABAPParser().parse([commented]).output[0];\n const statementNodes = abapFile.getStatements();\n if (statementNodes.length === 0) {\n return [];\n }\n let containsStatement = false;\n for (const statementNode of statementNodes) {\n const statement = statementNode.get();\n if (this.getConfig().allowIncludeInFugr === true\n && obj instanceof objects_1.FunctionGroup\n && statement instanceof statements_1.Include) {\n continue;\n }\n if (!(statement instanceof _statement_1.Unknown\n || statement instanceof _statement_1.Empty\n || statement instanceof _statement_1.Comment)) {\n containsStatement = true;\n break;\n }\n }\n if (!containsStatement) {\n return [];\n }\n const fix = edit_helper_1.EditHelper.deleteRange(file, posStart, posEnd);\n const issue = issue_1.Issue.atRange(file, posStart, posEnd, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n return [issue];\n }\n isCommentLine(text) {\n return (text.substr(0, 1) === \"*\")\n || (text.trim().substr(0, 1) === \"\\\"\" && text.trim().substr(1, 1) !== \"!\");\n }\n}\nexports.CommentedCode = CommentedCode;\n//# sourceMappingURL=commented_code.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/commented_code.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/constant_classes.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/constant_classes.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstantClasses = exports.ConstantClassesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\n/** Checks that constants classes are in sync with domain fixed values */\nclass ConstantClassesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Specify a list of domain-class pairs which will be validated */\n this.mapping = [];\n }\n}\nexports.ConstantClassesConf = ConstantClassesConf;\nclass ConstantClasses {\n constructor() {\n this.conf = new ConstantClassesConf();\n }\n getMetadata() {\n return {\n key: \"constant_classes\",\n title: \"Validate constant classes\",\n shortDescription: `Checks that a class contains exactly the constants corresponding to a domain's fixed values.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-enumeration-classes-to-constants-interfaces`,\n tags: [_irule_1.RuleTag.Styleguide],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (this.conf\n && this.conf.mapping\n && obj instanceof __1.Objects.Domain) {\n const configEntry = this.conf.mapping.find(x => x.domain.toUpperCase() === obj.getName().toUpperCase());\n if (!configEntry) {\n return [];\n }\n const classWithConstants = this.reg.getObject(\"CLAS\", configEntry === null || configEntry === void 0 ? void 0 : configEntry.class.toUpperCase());\n if (!classWithConstants) {\n return [issue_1.Issue.atIdentifier(obj.getIdentifier(), `Constant class pattern implementation ${configEntry.class} missing for domain ${configEntry.domain}`, this.getMetadata().key, this.conf.severity)];\n // quickfix will implement the whole class\n }\n const classContents = classWithConstants.getMainABAPFile();\n if (classContents === undefined) {\n return [];\n }\n const def = classWithConstants.getClassDefinition();\n if (!def) {\n // this issue is checked by rule implement_methods.\n // we will not issue errors that all constants are missing until there is a class implementation\n return [];\n }\n const domainValueInfo = obj.getFixedValues();\n const domainValues = domainValueInfo.map(x => x.low);\n const issues = [];\n if (obj.getFixedValues().length === 0) {\n // possibly this is not even a domain with fixed values\n issues.push(issue_1.Issue.atStatement(classContents, classContents.getStatements()[0], `Domain ${configEntry.domain} does not contain any fixed values. Either add some values or disable this check`, this.getMetadata().key, this.conf.severity));\n }\n // later we will raise an issue if we did not find it\n let domainNameConstantFound = false;\n for (const constant of def.constants) {\n if (configEntry.constantForDomainName\n && constant.name === configEntry.constantForDomainName) {\n // we require the constant value to be uppercase just in case\n // in the config it does not matter\n if (constant.value !== configEntry.domain.toLocaleUpperCase()) {\n issues.push(this.issueAtConstant(constant, `Constant value ${constant.value} must match domain name ${configEntry.domain} `));\n }\n domainNameConstantFound = true;\n continue;\n }\n if (configEntry.useExactType && constant.typeName.toLowerCase() !== configEntry.domain.toLowerCase()) {\n issues.push(this.issueAtConstant(constant, `Use exact type ${configEntry.domain} instead of ${constant.typeName}`));\n // quickfix will change the type\n }\n if (constant.visibility !== __1.Visibility.Public) {\n issues.push(this.issueAtConstant(constant, `Constant ${constant.name} should be public`));\n // quickfix will move constant\n }\n if (!domainValues.includes(constant.value)) {\n issues.push(this.issueAtConstant(constant, `Extra constant ${constant.name} found which is not present in domain ${configEntry.domain}`));\n // quickfix will remove constant\n }\n }\n for (const d of domainValueInfo) {\n if (!def.constants.find(c => c.value === d.low)) {\n issues.push(issue_1.Issue.atStatement(classContents, classContents.getStatements()[0], `Missing constant for ${d.low} (domain ${configEntry.domain})`, this.getMetadata().key, this.conf.severity));\n // quickfix will add constant\n }\n }\n if (configEntry.constantForDomainName && !domainNameConstantFound) {\n issues.push(issue_1.Issue.atStatement(classContents, classContents.getStatements()[0], `Missing constant ${configEntry.constantForDomainName} for name of domain ${configEntry.domain}`, this.getMetadata().key, this.conf.severity));\n }\n return issues;\n }\n return [];\n }\n issueAtConstant(constant, message) {\n return issue_1.Issue.atIdentifier(constant.identifier, message, this.getMetadata().key, this.conf.severity);\n }\n}\nexports.ConstantClasses = ConstantClasses;\n//# sourceMappingURL=constant_classes.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/constant_classes.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/constructor_visibility_public.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/constructor_visibility_public.js ***! + \**************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstructorVisibilityPublic = exports.ConstructorVisibilityPublicConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst visibility_1 = __webpack_require__(/*! ../abap/4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nclass ConstructorVisibilityPublicConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ConstructorVisibilityPublicConf = ConstructorVisibilityPublicConf;\nclass ConstructorVisibilityPublic {\n constructor() {\n this.conf = new ConstructorVisibilityPublicConf();\n }\n getMetadata() {\n return {\n key: \"constructor_visibility_public\",\n title: \"Check constructor visibility is public\",\n shortDescription: `Constructor must be placed in the public section, even if the class is not CREATE PUBLIC.`,\n extendedInformation: `\r\nThis only applies to global classes.\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#if-your-global-class-is-create-private-leave-the-constructor-public\r\nhttps://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abeninstance_constructor_guidl.htm`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Constructor visibility should be public\";\n }\n getConfig() {\n return this.conf;\n }\n initialize(_reg) {\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const issues = [];\n if (!(obj instanceof objects_1.Class)) {\n return [];\n }\n const def = obj.getClassDefinition();\n if (def === undefined) {\n return [];\n }\n for (const method of def.methods) {\n if (method.name.toUpperCase() === \"CONSTRUCTOR\"\n && method.visibility !== visibility_1.Visibility.Public) {\n const issue = issue_1.Issue.atIdentifier(method.identifier, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.ConstructorVisibilityPublic = ConstructorVisibilityPublic;\n//# sourceMappingURL=constructor_visibility_public.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/constructor_visibility_public.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/contains_tab.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/contains_tab.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ContainsTab = exports.ContainsTabConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass ContainsTabConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** quick fix replace with number of spaces */\n this.spaces = 1;\n }\n}\nexports.ContainsTabConf = ContainsTabConf;\nclass ContainsTab extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ContainsTabConf();\n }\n getMetadata() {\n return {\n key: \"contains_tab\",\n title: \"Code contains tab\",\n shortDescription: `Checks for usage of tabs (enable to enforce spaces)`,\n extendedInformation: `\r\nhttps://docs.abapopenchecks.org/checks/09/\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#indent-and-snap-to-tab`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Code should not contain tabs\";\n }\n getConfig() {\n if (this.conf.spaces === undefined) {\n this.conf.spaces = 1;\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const lines = file.getRaw().split(\"\\n\");\n lines.forEach((_, i) => {\n const tabCol = lines[i].indexOf(\"\\t\");\n if (tabCol >= 0) {\n let tabAmount = 1;\n while (lines[i].indexOf(\"\\t\", tabCol + tabAmount - 1) >= 0) {\n tabAmount++;\n }\n issues.push(this.createIssue(i, tabCol, tabAmount, file));\n }\n });\n return issues;\n }\n createIssue(line, tabCol, tabAmount, file) {\n const tabStartPos = new position_1.Position(line + 1, tabCol + 1);\n const tabEndPos = new position_1.Position(line + 1, tabCol + tabAmount);\n const fix = edit_helper_1.EditHelper.replaceRange(file, tabStartPos, tabEndPos, \" \".repeat(this.getConfig().spaces));\n return issue_1.Issue.atRange(file, tabStartPos, tabEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n }\n}\nexports.ContainsTab = ContainsTab;\n//# sourceMappingURL=contains_tab.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/contains_tab.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cyclic_oo.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cyclic_oo.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CyclicOO = exports.CyclicOOConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _builtin_1 = __webpack_require__(/*! ../abap/5_syntax/_builtin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass CyclicOOConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** List of object names to skip, must be full upper case name\n * @uniqueItems true\n */\n this.skip = [];\n /** Skips shared memory enabled classes */\n this.skipSharedMemory = true;\n /** Skip testclass inclues */\n this.skipTestclasses = true;\n }\n}\nexports.CyclicOOConf = CyclicOOConf;\nclass CyclicOO {\n constructor() {\n this.conf = new CyclicOOConf();\n this.edges = {};\n }\n getMetadata() {\n return {\n key: \"cyclic_oo\",\n title: \"Cyclic OO\",\n shortDescription: `Finds cyclic OO references`,\n extendedInformation: `Runs for global INTF + CLAS objects\r\n\r\nObjects must be without syntax errors for this rule to take effect\r\n\r\nReferences in testclass includes are ignored`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.skip === undefined) {\n this.conf.skip = [];\n }\n }\n initialize(reg) {\n var _a;\n this.reg = reg;\n this.edges = {};\n for (const obj of this.reg.getObjectsByType(\"CLAS\")) {\n if (this.reg.isDependency(obj)) {\n continue;\n }\n const name = obj.getName().toUpperCase();\n if (!(obj instanceof objects_1.Class)) {\n continue;\n }\n else if (this.conf.skip.indexOf(name) >= 0) {\n continue;\n }\n else if (this.conf.skipSharedMemory === true && ((_a = obj.getClassDefinition()) === null || _a === void 0 ? void 0 : _a.isSharedMemory) === true) {\n continue;\n }\n const run = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (run.issues.length > 0) {\n continue;\n }\n this.buildEdges(name, run.spaghetti.getTop());\n }\n for (const obj of this.reg.getObjectsByType(\"INTF\")) {\n if (this.reg.isDependency(obj)) {\n continue;\n }\n const name = obj.getName().toUpperCase();\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n continue;\n }\n else if (this.conf.skip.indexOf(name) >= 0) {\n continue;\n }\n const run = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (run.issues.length > 0) {\n continue;\n }\n this.buildEdges(name, run.spaghetti.getTop());\n }\n return this;\n }\n run(obj) {\n if (!(obj instanceof objects_1.Interface) && !(obj instanceof objects_1.Class)) {\n return [];\n }\n const id = obj.getIdentifier();\n if (id === undefined) {\n return [];\n }\n const previous = {};\n previous[obj.getName()] = true;\n const path = this.findCycle(obj.getName(), obj.getName(), previous);\n if (path) {\n const message = \"Cyclic definition/usage: \" + obj.getName() + \" -> \" + path;\n return [issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.conf.severity)];\n }\n return [];\n }\n /////////////////////////////\n findCycle(source, current, previous) {\n if (this.edges[current] === undefined) {\n return undefined;\n }\n for (const e of this.edges[current]) {\n if (e === source) {\n return e;\n }\n if (previous[e] === undefined) { // dont revisit vertices\n previous[e] = true;\n const found = this.findCycle(source, e, previous);\n if (found) {\n return e + \" -> \" + found;\n }\n }\n }\n return undefined;\n }\n buildEdges(from, node) {\n var _a;\n for (const r of node.getData().references) {\n if (r.resolved === undefined\n || node.getIdentifier().filename === r.resolved.getFilename()\n || r.resolved.getFilename() === _builtin_1.BuiltIn.filename) {\n continue;\n }\n if (this.conf.skipTestclasses === true\n && (r.position.getFilename().includes(\".testclasses.\")\n || r.resolved.getFilename().includes(\".testclasses.\"))) {\n continue;\n }\n if (r.referenceType === _reference_1.ReferenceType.ObjectOrientedReference\n && ((_a = r.extra) === null || _a === void 0 ? void 0 : _a.ooName)) {\n if (this.edges[from] === undefined) {\n this.edges[from] = [];\n }\n const name = r.extra.ooName.toUpperCase();\n if (name !== from && this.edges[from].indexOf(name) < 0) {\n const obj = this.reg.getObject(\"INTF\", name) || this.reg.getObject(\"CLAS\", name);\n if (obj && this.reg.isDependency(obj)) {\n continue;\n }\n this.edges[from].push(name);\n }\n }\n }\n for (const c of node.getChildren()) {\n this.buildEdges(from, c);\n }\n }\n}\nexports.CyclicOO = CyclicOO;\n//# sourceMappingURL=cyclic_oo.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cyclic_oo.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cyclomatic_complexity.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cyclomatic_complexity.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CyclomaticComplexity = exports.CyclomaticComplexityConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst cyclomatic_complexity_stats_1 = __webpack_require__(/*! ../utils/cyclomatic_complexity_stats */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/cyclomatic_complexity_stats.js\");\nclass CyclomaticComplexityConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.max = 20;\n }\n}\nexports.CyclomaticComplexityConf = CyclomaticComplexityConf;\nclass CyclomaticComplexity {\n constructor() {\n this.conf = new CyclomaticComplexityConf();\n }\n getMetadata() {\n return {\n key: \"cyclomatic_complexity\",\n title: \"Cyclomatic Complexity\",\n shortDescription: `Cyclomatic complexity, only reported for methods`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n const issues = [];\n const stats = cyclomatic_complexity_stats_1.CyclomaticComplexityStats.run(obj);\n for (const s of stats) {\n if (s.count > this.conf.max) {\n const message = \"Max cyclomatic complexity reached, \" + s.count + \", \" + s.name;\n const issue = issue_1.Issue.atPosition(s.file, s.pos, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.CyclomaticComplexity = CyclomaticComplexity;\n//# sourceMappingURL=cyclomatic_complexity.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cyclomatic_complexity.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/dangerous_statement.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/dangerous_statement.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DangerousStatement = exports.DangerousStatementConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass DangerousStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Detects execSQL (dynamic SQL) */\n this.execSQL = true;\n /** Detects kernel calls */\n this.kernelCall = true;\n /** Detects SYSTEM-CALL */\n this.systemCall = true;\n /** Detects INSERT REPORT */\n this.insertReport = true;\n this.generateDynpro = true;\n this.generateReport = true;\n this.generateSubroutine = true;\n this.deleteReport = true;\n this.deleteTextpool = true;\n this.deleteDynpro = true;\n this.exportDynpro = true;\n /** Finds instances of dynamic SQL: SELECT, UPDATE, DELETE, INSERT, MODIFY */\n this.dynamicSQL = true;\n }\n}\nexports.DangerousStatementConf = DangerousStatementConf;\nclass DangerousStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new DangerousStatementConf();\n }\n getMetadata() {\n return {\n key: \"dangerous_statement\",\n title: \"Dangerous statement\",\n shortDescription: `Detects potentially dangerous statements`,\n extendedInformation: `Dynamic SQL: Typically ABAP logic does not need dynamic SQL,\r\ndynamic SQL can potentially create SQL injection problems`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Security],\n };\n }\n getDescription(statement) {\n return \"Potential dangerous statement \" + statement;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const statementNode of file.getStatements()) {\n const statement = statementNode.get();\n let message = undefined;\n if (this.conf.execSQL && statement instanceof Statements.ExecSQL) {\n message = \"EXEC SQL\";\n }\n else if (this.conf.kernelCall && statement instanceof Statements.CallKernel) {\n message = \"KERNEL CALL\";\n }\n else if (this.conf.systemCall && statement instanceof Statements.SystemCall) {\n message = \"SYSTEM-CALL\";\n }\n else if (this.conf.insertReport && statement instanceof Statements.InsertReport) {\n message = \"INSERT REPORT\";\n }\n else if (this.conf.generateDynpro && statement instanceof Statements.GenerateDynpro) {\n message = \"GENERATE DYNPRO\";\n }\n else if (this.conf.generateReport && statement instanceof Statements.GenerateReport) {\n message = \"GENERATE REPORT\";\n }\n else if (this.conf.generateSubroutine && statement instanceof Statements.GenerateSubroutine) {\n message = \"GENERATE SUBROUTINE\";\n }\n else if (this.conf.deleteReport && statement instanceof Statements.DeleteReport) {\n message = \"DELETE REPORT\";\n }\n else if (this.conf.deleteTextpool && statement instanceof Statements.DeleteTextpool) {\n message = \"DELETE TEXTPOOL\";\n }\n else if (this.conf.deleteDynpro && statement instanceof Statements.DeleteDynpro) {\n message = \"DELETE DYNPRO\";\n }\n else if (this.conf.exportDynpro && statement instanceof Statements.ExportDynpro) {\n message = \"EXPORT DYNPRO\";\n }\n if (message) {\n issues.push(issue_1.Issue.atStatement(file, statementNode, this.getDescription(message), this.getMetadata().key, this.conf.severity));\n }\n if (this.conf.dynamicSQL) {\n message = this.findDynamicSQL(statementNode);\n if (message) {\n issues.push(issue_1.Issue.atStatement(file, statementNode, this.getDescription(message), this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n findDynamicSQL(statementNode) {\n const statement = statementNode.get();\n if (statement instanceof Statements.UpdateDatabase\n || statement instanceof Statements.Select\n || statement instanceof Statements.SelectLoop\n || statement instanceof Statements.InsertDatabase\n || statement instanceof Statements.ModifyDatabase\n || statement instanceof Statements.DeleteDatabase) {\n const dyn = statementNode.findFirstExpression(Expressions.Dynamic);\n if (dyn && dyn.findDirectExpression(Expressions.Constant) === undefined) {\n return \"Dynamic SQL\";\n }\n }\n return undefined;\n }\n}\nexports.DangerousStatement = DangerousStatement;\n//# sourceMappingURL=dangerous_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/dangerous_statement.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/db_operation_in_loop.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/db_operation_in_loop.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DbOperationInLoop = exports.DbOperationInLoopConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass DbOperationInLoopConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.DbOperationInLoopConf = DbOperationInLoopConf;\nclass DbOperationInLoop extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new DbOperationInLoopConf();\n }\n getMetadata() {\n return {\n key: \"db_operation_in_loop\",\n title: \"Database operation in loop\",\n shortDescription: `Database operation in LOOP/DO/WHILE`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Performance],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues;\n }\n const loops = stru.findAllStructures(Structures.Loop);\n loops.push(...stru.findAllStructures(Structures.Do));\n loops.push(...stru.findAllStructures(Structures.While));\n for (const l of loops) {\n let found = undefined;\n if (found === undefined) {\n found = l.findFirstStatement(Statements.Select);\n }\n if (found === undefined) {\n found = l.findFirstStatement(Statements.SelectLoop);\n }\n if (found === undefined) {\n found = l.findFirstStatement(Statements.InsertDatabase);\n }\n if (found === undefined) {\n found = l.findFirstStatement(Statements.DeleteDatabase);\n }\n if (found === undefined) {\n found = l.findFirstStatement(Statements.UpdateDatabase);\n }\n if (found === undefined) {\n found = l.findFirstStatement(Statements.ModifyDatabase);\n }\n if (found) {\n const message = \"Database operation in loop\";\n issues.push(issue_1.Issue.atStatement(file, found, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.DbOperationInLoop = DbOperationInLoop;\n//# sourceMappingURL=db_operation_in_loop.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/db_operation_in_loop.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/definitions_top.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/definitions_top.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DefinitionsTop = exports.DefinitionsTopConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass DefinitionsTopConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.DefinitionsTopConf = DefinitionsTopConf;\n// todo, use enum instead?\n// const ANY = 1;\nconst DEFINITION = 2;\nconst AFTER = 3;\nconst IGNORE = 4;\nclass DefinitionsTop extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new DefinitionsTopConf();\n }\n getMetadata() {\n return {\n key: \"definitions_top\",\n title: \"Place definitions in top of routine\",\n shortDescription: `Checks that definitions are placed at the beginning of METHODs, FORMs and FUNCTIONs.`,\n extendedInformation: `If the routine has inline definitions then no issues are reported\r\n\r\nhttps://docs.abapopenchecks.org/checks/17/`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n };\n }\n getMessage() {\n return \"Reorder definitions to top of routine\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n const containsUnknown = file.getStatements().some(s => s.get() instanceof _statement_1.Unknown);\n if (containsUnknown === true) {\n return [];\n }\n const routines = structure.findAllStructuresMulti([Structures.Form, Structures.Method, Structures.FunctionModule]);\n for (const r of routines) {\n // one fix per routine\n this.fixed = false;\n this.mode = DEFINITION;\n this.moveTo = (_a = r.getFirstStatement()) === null || _a === void 0 ? void 0 : _a.getLastToken().getEnd();\n if (this.reg.getConfig().getVersion() !== version_1.Version.v702\n && r.findFirstExpression(Expressions.InlineData)) {\n continue;\n }\n const found = this.walk(r, file);\n if (found) {\n issues.push(found);\n }\n }\n return issues;\n }\n //////////////////\n walk(r, file) {\n var _a, _b, _c, _d, _e, _f;\n let previous = undefined;\n for (const c of r.getChildren()) {\n const get = c.get();\n if (c instanceof nodes_1.StatementNode) {\n if (get instanceof _statement_1.Comment) {\n continue;\n }\n else if (get instanceof Statements.FunctionModule) {\n continue;\n }\n else if (get instanceof Statements.Form) {\n continue;\n }\n else if (get instanceof Statements.MethodImplementation) {\n continue;\n }\n }\n if (c instanceof nodes_1.StructureNode\n && (get instanceof Structures.Data\n || get instanceof Structures.Types\n || get instanceof Structures.Constants\n || get instanceof Structures.Statics)) {\n if (this.mode === AFTER) {\n // These are chained structured statements\n let fix = undefined;\n if (((_b = (_a = c.getLastChild()) === null || _a === void 0 ? void 0 : _a.getLastChild()) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr()) === \".\"\n && !(previous instanceof nodes_1.StructureNode)\n && this.moveTo) {\n // this is not perfect, but will work for now\n const start = (_d = (_c = c.getFirstChild()) === null || _c === void 0 ? void 0 : _c.getFirstChild()) === null || _d === void 0 ? void 0 : _d.getFirstToken().getStart();\n const end = (_f = (_e = c.getLastChild()) === null || _e === void 0 ? void 0 : _e.getLastChild()) === null || _f === void 0 ? void 0 : _f.getLastToken().getEnd();\n if (start && end) {\n let concat = c.concatTokens();\n concat = concat.replace(/,/g, \".\\n\");\n const fix1 = edit_helper_1.EditHelper.deleteRange(file, start, end);\n const fix2 = edit_helper_1.EditHelper.insertAt(file, this.moveTo, \"\\n\" + concat);\n fix = edit_helper_1.EditHelper.merge(fix1, fix2);\n }\n }\n // no quick fixes for these, its difficult?\n return issue_1.Issue.atStatement(file, c.getFirstStatement(), this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n }\n else {\n this.moveTo = c.getLastToken().getEnd();\n }\n }\n else if (c instanceof nodes_1.StatementNode\n && (get instanceof Statements.Data\n || get instanceof Statements.Type\n || get instanceof Statements.Constant\n || get instanceof Statements.Static\n || get instanceof Statements.FieldSymbol)) {\n if (this.mode === AFTER) {\n // only one fix per routine, as it reorders a lot\n let fix = undefined;\n if (this.fixed === false && this.moveTo) {\n fix = this.buildFix(file, c, this.moveTo);\n this.fixed = true;\n }\n return issue_1.Issue.atStatement(file, c, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n }\n else {\n this.moveTo = c.getLastToken().getEnd();\n }\n }\n else if (c instanceof nodes_1.StructureNode && get instanceof Structures.Define) {\n this.mode = IGNORE;\n return undefined;\n }\n else if (c instanceof nodes_1.StatementNode && get instanceof _statement_1.Unknown) {\n this.mode = IGNORE;\n return undefined;\n }\n else if (c instanceof nodes_1.StatementNode && this.mode === DEFINITION) {\n this.mode = AFTER;\n }\n else if (c instanceof nodes_1.StructureNode) {\n const found = this.walk(c, file);\n if (found) {\n return found;\n }\n }\n previous = c;\n }\n return undefined;\n }\n buildFix(file, statement, at) {\n let concat = statement.concatTokens();\n concat = concat.replace(/,$/, \".\");\n const fix1 = edit_helper_1.EditHelper.deleteStatement(file, statement);\n const indentation = \" \".repeat(statement.getFirstToken().getCol() - 1);\n const fix2 = edit_helper_1.EditHelper.insertAt(file, at, \"\\n\" + indentation + concat);\n return edit_helper_1.EditHelper.merge(fix1, fix2);\n }\n}\nexports.DefinitionsTop = DefinitionsTop;\n//# sourceMappingURL=definitions_top.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/definitions_top.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/description_empty.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/description_empty.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DescriptionEmpty = exports.DescriptionEmptyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\n// standard class CL_OO_CLASS assumes classes have descriptions\nclass DescriptionEmptyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.DescriptionEmptyConf = DescriptionEmptyConf;\nclass DescriptionEmpty {\n constructor() {\n this.conf = new DescriptionEmptyConf();\n }\n getMetadata() {\n return {\n key: \"description_empty\",\n title: \"Description in class must exist\",\n shortDescription: `Ensures descriptions in class metadata exist.`,\n };\n }\n getDescription(name) {\n return \"Description empty in \" + name;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n const issues = [];\n if (obj instanceof objects_1.Class || obj instanceof objects_1.Interface) {\n const description = obj.getDescription();\n let message = undefined;\n if (description === \"\") {\n message = this.getDescription(obj.getName());\n }\n else if (description === undefined) {\n message = this.getDescription(obj.getName() + \", class XML file not found\");\n }\n if (message) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.DescriptionEmpty = DescriptionEmpty;\n//# sourceMappingURL=description_empty.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/description_empty.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/double_space.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/double_space.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DoubleSpace = exports.DoubleSpaceConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass DoubleSpaceConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Check for double space after keywords */\n this.keywords = true;\n /** Check for double space after start parenthesis */\n this.startParen = true;\n /** Check for double space before end parenthesis */\n this.endParen = true;\n /** Check for double space after colon/chaining operator */\n this.afterColon = true;\n }\n}\nexports.DoubleSpaceConf = DoubleSpaceConf;\nclass DoubleSpace extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new DoubleSpaceConf();\n }\n getMetadata() {\n return {\n key: \"double_space\",\n title: \"Double space\",\n shortDescription: `Checks that only a single space follows certain common statements.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `DATA foo TYPE i.`,\n goodExample: `DATA foo TYPE i.`,\n };\n }\n getMessage() {\n return \"Remove double space\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n let issues = [];\n for (const s of file.getStatements()) {\n if (this.conf.keywords === true\n && !(s.get() instanceof _statement_1.Unknown)\n && !(s.get() instanceof statements_1.MethodDef)\n && !(s.get() instanceof _statement_1.MacroCall)\n && !(s.get() instanceof statements_1.Events)\n && !(s.get() instanceof _statement_1.MacroContent)) {\n issues = issues.concat(this.checkKeywords(s, file));\n }\n issues = issues.concat(this.checkParen(s, file));\n }\n issues = issues.concat(this.checkAfterColon(file));\n return issues;\n }\n checkAfterColon(file) {\n const issues = [];\n let cPosition = undefined;\n if (this.conf.afterColon !== true) {\n return [];\n }\n for (const s of file.getStatements()) {\n const colon = s.getColon();\n if (colon === undefined) {\n continue;\n }\n else if (cPosition !== undefined && cPosition.getCol() === colon.getCol()) {\n continue;\n }\n cPosition = colon.getStart();\n for (const t of s.getTokens()) {\n if (t.getRow() !== cPosition.getRow()) {\n return [];\n }\n else if (t.getCol() < cPosition.getCol()) {\n continue;\n }\n if (t.getCol() > cPosition.getCol() + 2) {\n const issueStartPos = new position_1.Position(cPosition.getRow(), cPosition.getCol() + 2);\n const issueEndPos = new position_1.Position(t.getRow(), t.getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, issueStartPos, issueEndPos);\n issues.push(issue_1.Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));\n }\n break;\n }\n }\n return issues;\n }\n checkParen(s, file) {\n const issues = [];\n let prev = undefined;\n for (const t of s.getTokens()) {\n if (prev === undefined) {\n prev = t;\n continue;\n }\n if (this.getConfig().startParen === true\n && prev.getRow() === t.getRow()\n && prev instanceof tokens_1.ParenLeftW\n && !(t instanceof tokens_1.Comment)\n && prev.getEnd().getCol() + 1 < t.getCol()) {\n const issueStartPos = new position_1.Position(prev.getRow(), prev.getCol() + 2);\n const issueEndPos = new position_1.Position(t.getRow(), t.getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, issueStartPos, issueEndPos);\n if (this.pragmaInRange(s.getPragmas(), issueStartPos, issueEndPos) === false) {\n issues.push(issue_1.Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));\n }\n }\n if (this.getConfig().endParen === true\n && prev.getRow() === t.getRow()\n && !(prev instanceof tokens_1.ParenLeftW)\n && (t instanceof tokens_1.WParenRightW || t instanceof tokens_1.WParenRight)\n && prev.getEnd().getCol() + 1 < t.getCol()) {\n const issueStartPos = new position_1.Position(prev.getEnd().getRow(), prev.getEnd().getCol() + 1);\n const issueEndPos = new position_1.Position(t.getRow(), t.getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, issueStartPos, issueEndPos);\n if (this.pragmaInRange(s.getPragmas(), issueStartPos, issueEndPos) === false) {\n issues.push(issue_1.Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));\n }\n }\n prev = t;\n }\n return issues;\n }\n pragmaInRange(pragmas, start, end) {\n let ret = false;\n for (const p of pragmas) {\n if (p.getStart().isBetween(start, end)) {\n ret = true;\n }\n }\n return ret;\n }\n checkKeywords(s, file) {\n const issues = [];\n let prev = undefined;\n if (s.getColon() !== undefined || s.getPragmas().length > 0) {\n // for chained statments just give up\n return [];\n }\n for (const n of s.getTokenNodes()) {\n if (prev === undefined) {\n prev = n;\n continue;\n }\n const upper = prev.get().getStr().toUpperCase();\n if (prev instanceof nodes_1.TokenNodeRegex\n || upper === \"(\"\n || upper === \")\"\n || upper === \"CHANGING\"\n || upper === \"EXPORTING\"\n || upper === \"OTHERS\") {\n // not a keyword, continue\n prev = n;\n continue;\n }\n if (prev.get().getStart().getRow() === n.get().getStart().getRow()\n && prev.get().getEnd().getCol() + 1 < n.get().getStart().getCol()) {\n const issueStartPos = new position_1.Position(prev.get().getEnd().getRow(), prev.get().getEnd().getCol() + 1);\n const issueEndPos = new position_1.Position(n.get().getRow(), n.get().getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, issueStartPos, issueEndPos);\n issues.push(issue_1.Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));\n return issues;\n }\n prev = n;\n }\n return [];\n }\n}\nexports.DoubleSpace = DoubleSpace;\n//# sourceMappingURL=double_space.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/double_space.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/downport.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/downport.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Downport = exports.DownportConf = void 0;\n/* eslint-disable max-len */\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst registry_1 = __webpack_require__(/*! ../registry */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/registry.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst config_1 = __webpack_require__(/*! ../config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/config.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst include_graph_1 = __webpack_require__(/*! ../utils/include_graph */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/include_graph.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _builtin_1 = __webpack_require__(/*! ../abap/5_syntax/_builtin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\n// todo: refactor each sub-rule to new classes?\n// todo: add configuration\nclass DownportConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.DownportConf = DownportConf;\nclass SkipToNextFile extends Error {\n constructor(issue) {\n super();\n this.issue = issue;\n }\n}\nclass SpagHelper {\n constructor(spag) {\n this.spag = spag;\n }\n renameVariable(oldName, pos, lowFile, newName) {\n let fix = undefined;\n const references = this.findReferences(oldName, pos);\n references.sort((a, b) => {\n if (a.start.equals(b.start)) {\n return 0;\n }\n return a.start.isAfter(b.start) ? 1 : -1;\n });\n for (const r of references) {\n const replace = edit_helper_1.EditHelper.replaceRange(lowFile, r.start, r.end, newName);\n if (fix === undefined) {\n fix = replace;\n }\n else {\n fix = edit_helper_1.EditHelper.merge(replace, fix);\n }\n }\n return fix;\n }\n findReferences(name, pos) {\n var _a, _b;\n const positions = [];\n function has(element) {\n return positions.some(a => a.start.equals(element.start));\n }\n for (const r of this.spag.getData().references) {\n if (((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.getName()) === name && ((_b = r.resolved) === null || _b === void 0 ? void 0 : _b.getStart().equals(pos))) {\n const sub = {\n start: r.position.getStart(),\n end: r.position.getEnd(),\n };\n if (has(sub) === false) {\n positions.push(sub);\n }\n }\n }\n for (const child of this.spag.getChildren()) {\n const subPositions = new SpagHelper(child).findReferences(name, pos);\n for (const sub of subPositions) {\n if (has(sub) === false) {\n positions.push(sub);\n }\n }\n }\n return positions;\n }\n findRecursiveDuplicate(name, skip) {\n var _a;\n const found = this.spag.findVariable(name);\n if ((found === null || found === void 0 ? void 0 : found.getStart().equals(skip)) === false) {\n return found;\n }\n for (const child of ((_a = this.spag) === null || _a === void 0 ? void 0 : _a.getChildren()) || []) {\n const sub = new SpagHelper(child).findRecursiveDuplicate(name, skip);\n if (sub) {\n return sub;\n }\n }\n return undefined;\n }\n isDuplicateName(name, pos) {\n let parent = this.spag.getParent();\n while ((parent === null || parent === void 0 ? void 0 : parent.getIdentifier().stype) === _scope_type_1.ScopeType.Let\n || (parent === null || parent === void 0 ? void 0 : parent.getIdentifier().stype) === _scope_type_1.ScopeType.For) {\n parent = parent.getParent();\n }\n if (parent === undefined) {\n return undefined;\n }\n return new SpagHelper(parent).findRecursiveDuplicate(name, pos) !== undefined;\n }\n}\nclass Downport {\n constructor() {\n this.conf = new DownportConf();\n }\n getMetadata() {\n return {\n key: \"downport\",\n title: \"Downport statement\",\n shortDescription: `Downport functionality`,\n extendedInformation: `Much like the 'commented_code' rule this rule loops through unknown statements and tries parsing with\r\na higher level language version. If successful, various rules are applied to downport the statement.\r\nTarget downport version is always v702, thus rule is only enabled if target version is v702.\r\n\r\nCurrent rules:\r\n* NEW transformed to CREATE OBJECT, opposite of https://rules.abaplint.org/use_new/\r\n* DATA() definitions are outlined, opposite of https://rules.abaplint.org/prefer_inline/\r\n* FIELD-SYMBOL() definitions are outlined\r\n* CONV is outlined\r\n* COND is outlined\r\n* REDUCE is outlined\r\n* SWITCH is outlined\r\n* FILTER is outlined\r\n* APPEND expression is outlined\r\n* INSERT expression is outlined\r\n* EMPTY KEY is changed to DEFAULT KEY, opposite of DEFAULT KEY in https://rules.abaplint.org/avoid_use/\r\n* CAST changed to ?=\r\n* LOOP AT method_call( ) is outlined\r\n* VALUE # with structure fields\r\n* VALUE # with internal table lines\r\n* Table Expressions are outlined\r\n* SELECT INTO @DATA definitions are outlined\r\n* Some occurrences of string template formatting option ALPHA changed to function module call\r\n* SELECT/INSERT/MODIFY/DELETE/UPDATE \",\" in field list removed, \"@\" in source/targets removed\r\n* PARTIALLY IMPLEMENTED removed, it can be quick fixed via rule implement_methods\r\n* RAISE EXCEPTION ... MESSAGE\r\n* Moving with +=, -=, /=, *=, &&= is expanded\r\n* line_exists and line_index is downported to READ TABLE\r\n* ENUMs, but does not nessesarily give the correct type and value\r\n* MESSAGE with non simple source\r\n\r\nOnly one transformation is applied to a statement at a time, so multiple steps might be required to do the full downport.\r\n\r\nMake sure to test the downported code, it might not always be completely correct.`,\n tags: [_irule_1.RuleTag.Downport, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.lowReg = reg;\n const version = this.lowReg.getConfig().getVersion();\n if (version === version_1.Version.v702 || version === version_1.Version.OpenABAP) {\n this.initHighReg();\n }\n return this;\n }\n listMainForInclude(filename) {\n if (filename === undefined) {\n return [];\n }\n // only initialize this.graph if needed\n if (this.graph === undefined) {\n this.graph = new include_graph_1.IncludeGraph(this.lowReg);\n }\n return this.graph.listMainForInclude(filename);\n }\n containsError(highObj) {\n for (const file of highObj.getABAPFiles()) {\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof _statement_1.Unknown) {\n return true; // contains parser errors\n }\n }\n if (file.getStructure() === undefined) {\n return true;\n }\n }\n return false;\n }\n run(lowObj) {\n var _a;\n const ret = [];\n this.counter = 1;\n const version = this.lowReg.getConfig().getVersion();\n if (version !== version_1.Version.v702 && version !== version_1.Version.OpenABAP) {\n return ret;\n }\n else if (!(lowObj instanceof _abap_object_1.ABAPObject)) {\n return ret;\n }\n const highObj = this.highReg.getObject(lowObj.getType(), lowObj.getName());\n if (highObj === undefined || !(highObj instanceof _abap_object_1.ABAPObject)) {\n return ret;\n }\n let highSyntaxObj = highObj;\n if (this.containsError(highObj)) {\n return ret;\n }\n // for includes do the syntax check via a main program\n if (lowObj instanceof objects_1.Program && lowObj.isInclude()) {\n const mains = this.listMainForInclude((_a = lowObj.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getFilename());\n if (mains.length <= 0) {\n return [];\n }\n const f = this.highReg.getFileByName(mains[0]);\n if (f === undefined) {\n return [];\n }\n highSyntaxObj = this.highReg.findObjectForFile(f);\n }\n for (const lowFile of lowObj.getABAPFiles()) {\n let highSyntax = undefined;\n const highFile = highObj.getABAPFileByName(lowFile.getFilename());\n if (highFile === undefined) {\n continue;\n }\n const lowStatements = lowFile.getStatements();\n const highStatements = highFile.getStatements();\n if (lowStatements.length !== highStatements.length) {\n // after applying a fix, there might be more statements in lowFile\n // should highReg be initialized again?\n /*\n const message = \"Internal Error: Statement lengths does not match\";\n ret.push(Issue.atStatement(lowFile, lowStatements[0], message, this.getMetadata().key));\n */\n // hmm, add some way to disable lazyUnknown() in statement_parser.ts\n // alternatively explicit enable it in vscode, its only relevant when a user is\n // actively editing the files\n continue;\n }\n if (highSyntax === undefined) {\n highSyntax = new syntax_1.SyntaxLogic(this.highReg, highSyntaxObj).run();\n }\n let containsUnknown = false;\n for (let i = 0; i < lowStatements.length; i++) {\n const low = lowStatements[i];\n const high = highStatements[i];\n if ((low.get() instanceof _statement_1.Unknown && !(high.get() instanceof _statement_1.Unknown))\n || high.findFirstExpression(Expressions.InlineData)) {\n containsUnknown = true;\n try {\n const issue = this.checkStatement(low, high, lowFile, highSyntax, highFile);\n if (issue) {\n ret.push(issue);\n }\n }\n catch (e) {\n if (e instanceof SkipToNextFile) {\n ret.push(e.issue);\n break;\n }\n else {\n throw e;\n }\n }\n }\n }\n if (ret.length === 0 && containsUnknown) {\n // this is a hack in order not to change too many unit tests\n for (let i = 0; i < lowStatements.length; i++) {\n const high = highStatements[i];\n if (high.get() instanceof Statements.Data) {\n const issue = this.anonymousTableType(high, lowFile, highSyntax);\n if (issue) {\n ret.push(issue);\n }\n }\n }\n }\n else if (ret.length === 0 && / xsdbool\\(/i.test(lowFile.getRaw())) {\n for (let i = 0; i < lowStatements.length; i++) {\n const high = highStatements[i];\n const issue = this.replaceXsdBool(high, lowFile, highSyntax);\n if (issue) {\n ret.push(issue);\n break;\n }\n }\n }\n }\n return ret;\n }\n ////////////////////\n /** clones the orginal repository into highReg, and parses it with higher language version */\n initHighReg() {\n // use default configuration, ie. default target version\n const highConfig = config_1.Config.getDefault().get();\n const lowConfig = this.lowReg.getConfig().get();\n highConfig.syntax.errorNamespace = lowConfig.syntax.errorNamespace;\n highConfig.syntax.globalConstants = lowConfig.syntax.globalConstants;\n highConfig.syntax.globalMacros = lowConfig.syntax.globalMacros;\n this.highReg = new registry_1.Registry();\n for (const o of this.lowReg.getObjects()) {\n for (const f of o.getFiles()) {\n if (this.lowReg.isDependency(o) === true) {\n this.highReg.addDependency(f);\n }\n else {\n this.highReg.addFile(f);\n }\n }\n }\n this.highReg.parse();\n }\n /** applies one rule at a time, multiple iterations are required to transform complex statements */\n checkStatement(low, high, lowFile, highSyntax, highFile) {\n if (low.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n return undefined;\n }\n // downport XSDBOOL() early, as it is valid 702 syntax\n let found = this.replaceXsdBool(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportEnum(low, high, lowFile, highSyntax, highFile);\n if (found) {\n return found;\n }\n found = this.partiallyImplemented(high, lowFile);\n if (found) {\n return found;\n }\n found = this.raiseException(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.emptyKey(low, high, lowFile);\n if (found) {\n return found;\n }\n found = this.stringTemplateAlpha(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.moveWithOperator(low, high, lowFile);\n if (found) {\n return found;\n }\n found = this.moveWithSimpleValue(low, high, lowFile);\n if (found) {\n return found;\n }\n found = this.assignWithTable(low, high, lowFile);\n if (found) {\n return found;\n }\n found = this.downportRefSimple(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportCorrespondingSimple(high, lowFile);\n if (found) {\n return found;\n }\n found = this.downportRef(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportLoopGroup(high, lowFile, highSyntax, highFile);\n if (found) {\n return found;\n }\n found = this.callFunctionParameterSimple(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.moveWithTableTarget(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportSelectInline(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportSelectExistence(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportSQLExtras(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineLoopInput(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineLoopTarget(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n let skipValue = false;\n let skipReduce = false;\n const valueBody = high.findFirstExpression(Expressions.ValueBody);\n const reduceBody = high.findFirstExpression(Expressions.ReduceBody);\n if (valueBody && reduceBody) {\n const valueToken = valueBody.getFirstToken();\n const reduceToken = reduceBody.getFirstToken();\n if (valueToken.getStart().isBefore(reduceToken.getStart())) {\n skipReduce = true;\n }\n else {\n skipValue = true;\n }\n }\n if (skipValue !== true) {\n found = this.outlineValue(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n }\n if (skipReduce !== true) {\n found = this.outlineReduce(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n }\n found = this.outlineCorresponding(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportSelectFields(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineSwitch(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineFilter(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineCast(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineConv(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineCond(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineCatchSimple(high, lowFile);\n if (found) {\n return found;\n }\n found = this.outlineGetReferenceSimple(high, lowFile);\n if (found) {\n return found;\n }\n found = this.outlineDataSimple(high, lowFile);\n if (found) {\n return found;\n }\n found = this.outlineData(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineFS(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.newToCreateObject(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceLineFunctions(high, lowFile, highSyntax, highFile);\n if (found) {\n return found;\n }\n found = this.getReference(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceContains(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceMethodConditional(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceTableExpression(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceAppendExpression(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceInsertExpression(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportMessage(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportReadTable(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n return undefined;\n }\n //////////////////////////////////////////\n /** removes @'s */\n downportSQLExtras(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n if (!(high.get() instanceof Statements.Select)\n && !(high.get() instanceof Statements.SelectLoop)\n && !(high.get() instanceof Statements.UpdateDatabase)\n && !(high.get() instanceof Statements.ModifyDatabase)\n && !(high.get() instanceof Statements.DeleteDatabase)\n && !(high.get() instanceof Statements.InsertDatabase)) {\n return undefined;\n }\n let fix = undefined;\n const addFix = (token) => {\n const add = edit_helper_1.EditHelper.deleteToken(lowFile, token);\n if (fix === undefined) {\n fix = add;\n }\n else {\n fix = edit_helper_1.EditHelper.merge(fix, add);\n }\n };\n const candidates = [high.findAllExpressionsRecursive(Expressions.SQLTarget),\n high.findAllExpressionsRecursive(Expressions.SQLSource),\n high.findAllExpressionsRecursive(Expressions.SQLSourceSimple)].flat();\n for (const c of candidates.reverse()) {\n if (c.getFirstToken() instanceof tokens_1.WAt\n || c.getFirstToken() instanceof tokens_1.At) {\n const tokens = c.getAllTokens();\n if (tokens[1] instanceof tokens_1.ParenLeftW && tokens[tokens.length - 1] instanceof tokens_1.WParenRightW) {\n const source = c.findDirectExpression(Expressions.Source);\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getStart(), `DATA(${uniqueName}) = ${source === null || source === void 0 ? void 0 : source.concatTokens()}.\\n`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, c.getFirstToken().getStart(), c.getLastToken().getEnd(), \"@\" + uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, low.getFirstToken(), \"SQL, outline complex @\", this.getMetadata().key, this.conf.severity, fix);\n }\n else {\n addFix(c.getFirstToken());\n }\n }\n }\n for (const fieldList of high.findAllExpressionsMulti([Expressions.SQLFieldList, Expressions.SQLFieldListLoop], true)) {\n for (const token of fieldList.getDirectTokens()) {\n if (token.getStr() === \",\") {\n addFix(token);\n }\n }\n }\n if (fix !== undefined) {\n return issue_1.Issue.atToken(lowFile, low.getFirstToken(), \"SQL, remove @ and ,\", this.getMetadata().key, this.conf.severity, fix);\n }\n for (const c of high.findAllExpressionsRecursive(Expressions.SQLIn)) {\n const children = c.getChildren();\n const first = children[1];\n if (!(first.get() instanceof tokens_1.WParenLeftW)) {\n continue;\n }\n const last = children[children.length - 1];\n if (last.get() instanceof tokens_1.WParenRightW || last.get() instanceof tokens_1.WParenRight) {\n const firstEnd = first.getFirstToken().getEnd();\n const endDelete = new position_1.Position(firstEnd.getRow(), firstEnd.getCol() + 1);\n const fix1 = edit_helper_1.EditHelper.deleteRange(lowFile, firstEnd, endDelete);\n const lastStart = last.getFirstToken().getStart();\n const startDelete = new position_1.Position(lastStart.getRow(), lastStart.getCol() - 1);\n const fix2 = edit_helper_1.EditHelper.deleteRange(lowFile, startDelete, lastStart);\n fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, low.getFirstToken(), \"SQL, remove spaces\", this.getMetadata().key, this.conf.severity, fix);\n }\n }\n return undefined;\n }\n downportSelectExistence(low, high, lowFile, highSyntax) {\n var _a, _b, _c, _d;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n else if (!(high.get() instanceof Statements.Select)) {\n return undefined;\n }\n const fieldList = high.findFirstExpression(Expressions.SQLFieldList);\n if ((fieldList === null || fieldList === void 0 ? void 0 : fieldList.concatTokens().toUpperCase()) !== \"@ABAP_TRUE\") {\n return undefined;\n }\n const fieldName = (_b = (_a = high.findFirstExpression(Expressions.SQLCond)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(Expressions.SQLFieldName)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (fieldName === undefined) {\n return undefined;\n }\n const into = high.findFirstExpression(Expressions.SQLIntoStructure);\n if (into === undefined) {\n return undefined;\n }\n const intoName = (_d = (_c = into.findFirstExpression(Expressions.SQLTarget)) === null || _c === void 0 ? void 0 : _c.findFirstExpression(Expressions.Target)) === null || _d === void 0 ? void 0 : _d.concatTokens();\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const fix1 = edit_helper_1.EditHelper.replaceRange(lowFile, fieldList.getFirstToken().getStart(), fieldList.getLastToken().getEnd(), fieldName);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, into === null || into === void 0 ? void 0 : into.getFirstToken().getStart(), into === null || into === void 0 ? void 0 : into.getLastToken().getEnd(), `INTO @DATA(${uniqueName})`);\n let fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n const fix3 = edit_helper_1.EditHelper.insertAt(lowFile, high.getLastToken().getEnd(), `\\nCLEAR ${intoName}.\\nIF sy-subrc = 0.\\n ${intoName} = abap_true.\\nENDIF.`);\n fix = edit_helper_1.EditHelper.merge(fix, fix3);\n return issue_1.Issue.atToken(lowFile, low.getFirstToken(), \"SQL, refactor existence check\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportSelectInline(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n else if (!(high.get() instanceof Statements.Select) && !(high.get() instanceof Statements.SelectLoop)) {\n return undefined;\n }\n // as first step outline the @DATA, note that void types are okay, as long the field names are specified\n let found = this.downportSelectSingleInline(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportSelectTableInline(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n return undefined;\n }\n downportSelectFields(low, high, lowFile, _highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n else if (!(high.get() instanceof Statements.Select)) {\n return undefined;\n }\n const fields = high.findFirstExpression(Expressions.SQLFields);\n if (fields === undefined) {\n return undefined;\n }\n const code = (_a = fields.getLastChild()) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (code === undefined) {\n return undefined;\n }\n const fix1 = edit_helper_1.EditHelper.deleteRange(lowFile, fields.getFirstToken().getStart(), fields.getLastToken().getEnd());\n const fix2 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getEnd(), \" \" + code);\n const fix = edit_helper_1.EditHelper.merge(fix1, fix2);\n return issue_1.Issue.atToken(lowFile, fields.getFirstToken(), \"Replace FIELDS\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportSelectSingleInline(low, high, lowFile, _highSyntax) {\n var _a, _b, _c, _d;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n const targets = ((_a = high.findFirstExpression(Expressions.SQLIntoStructure)) === null || _a === void 0 ? void 0 : _a.findDirectExpressions(Expressions.SQLTarget)) || [];\n if (targets.length !== 1) {\n return undefined;\n }\n const inlineData = targets[0].findFirstExpression(Expressions.InlineData);\n if (inlineData === undefined) {\n return undefined;\n }\n const sqlFrom = high.findAllExpressions(Expressions.SQLFromSource);\n if (sqlFrom.length !== 1) {\n return undefined;\n }\n const tableName = (_b = sqlFrom[0].findDirectExpression(Expressions.DatabaseTable)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (tableName === undefined) {\n return undefined;\n }\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let fieldList = high.findFirstExpression(Expressions.SQLFieldList);\n if (fieldList === undefined) {\n fieldList = high.findFirstExpression(Expressions.SQLFieldListLoop);\n }\n if (fieldList === undefined) {\n return undefined;\n }\n let fieldDefinition = \"\";\n const fields = fieldList.findAllExpressions(Expressions.SQLFieldName);\n const name = ((_c = inlineData.findFirstExpression(Expressions.TargetField)) === null || _c === void 0 ? void 0 : _c.concatTokens()) || \"error\";\n if (fields.length === 1) {\n fieldDefinition = `DATA ${name} TYPE ${tableName}-${fields[0].concatTokens()}.`;\n }\n else if (fieldList.concatTokens() === \"*\") {\n fieldDefinition = `DATA ${name} TYPE ${tableName}.`;\n }\n else if (fieldList.concatTokens().toUpperCase() === \"COUNT( * )\") {\n fieldDefinition = `DATA ${name} TYPE i.`;\n }\n else if (fieldList.concatTokens().toUpperCase() === \"@ABAP_TRUE\"\n || fieldList.concatTokens().toUpperCase() === \"@ABAP_FALSE\") {\n fieldDefinition = `DATA ${name} TYPE abap_bool.`;\n }\n else if (fieldList.getChildren().length === 1 && fieldList.getChildren()[0].get() instanceof Expressions.SQLAggregation) {\n const c = fieldList.getChildren()[0];\n if (c instanceof nodes_1.ExpressionNode) {\n const concat = (_d = c.findFirstExpression(Expressions.SQLArithmetics)) === null || _d === void 0 ? void 0 : _d.concatTokens();\n fieldDefinition = `DATA ${name} TYPE ${tableName}-${concat}.`;\n }\n }\n else {\n for (const f of fields) {\n const fieldName = f.concatTokens();\n fieldDefinition += indentation + \" \" + fieldName + \" TYPE \" + tableName + \"-\" + fieldName + \",\\n\";\n }\n fieldDefinition = `DATA: BEGIN OF ${name},\r\n${fieldDefinition}${indentation} END OF ${name}.`;\n }\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getStart(), `${fieldDefinition}\r\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, inlineData.getFirstToken().getStart(), inlineData.getLastToken().getEnd(), name);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, inlineData.getFirstToken(), \"Outline SELECT @DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportSelectTableInline(low, high, lowFile, highSyntax) {\n var _a, _b, _c;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n const targets = ((_a = high.findFirstExpression(Expressions.SQLIntoTable)) === null || _a === void 0 ? void 0 : _a.findDirectExpressions(Expressions.SQLTarget)) || [];\n if (targets.length !== 1) {\n return undefined;\n }\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const inlineData = targets[0].findFirstExpression(Expressions.InlineData);\n if (inlineData === undefined) {\n return undefined;\n }\n const sqlFrom = high.findAllExpressions(Expressions.SQLFromSource);\n if (sqlFrom.length === 0) {\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Error outlining, sqlFrom not found\", this.getMetadata().key, this.conf.severity);\n }\n let tableName = (_b = sqlFrom[0].findDirectExpression(Expressions.DatabaseTable)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (tableName === undefined) {\n return undefined;\n }\n const fieldList = high.findFirstExpression(Expressions.SQLFieldList);\n if (fieldList === undefined) {\n return undefined;\n }\n let fieldDefinitions = \"\";\n for (const f of fieldList.findAllExpressions(Expressions.SQLFieldName)) {\n let fieldName = f.concatTokens();\n if (fieldName.includes(\"~\")) {\n const split = fieldName.split(\"~\");\n tableName = split[0];\n fieldName = split[1];\n }\n fieldDefinitions += indentation + \" \" + fieldName + \" TYPE \" + tableName + \"-\" + fieldName + \",\\n\";\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const name = ((_c = inlineData.findFirstExpression(Expressions.TargetField)) === null || _c === void 0 ? void 0 : _c.concatTokens()) || \"error\";\n let fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getStart(), `TYPES: BEGIN OF ${uniqueName},\r\n${fieldDefinitions}${indentation} END OF ${uniqueName}.\r\n${indentation}DATA ${name} TYPE STANDARD TABLE OF ${uniqueName} WITH DEFAULT KEY.\r\n${indentation}`);\n if (fieldDefinitions === \"\") {\n fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getStart(), `DATA ${name} TYPE STANDARD TABLE OF ${tableName} WITH DEFAULT KEY.\r\n${indentation}`);\n }\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, inlineData.getFirstToken().getStart(), inlineData.getLastToken().getEnd(), name);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, inlineData.getFirstToken(), \"Outline SELECT @DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n // the anonymous type minght be used in inferred type statements, define it so it can be referred\n anonymousTableType(high, lowFile, highSyntax) {\n if (!(high.get() instanceof Statements.Data)) {\n return undefined;\n }\n const tt = high.findFirstExpression(Expressions.TypeTable);\n if (tt === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const code = `TYPES ${uniqueName} ${tt.concatTokens()}.\\n`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, tt.getFirstToken().getStart(), tt.getLastToken().getEnd(), \"TYPE \" + uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Add type for table definition\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportMessage(high, lowFile, highSyntax) {\n var _a, _b;\n if (!(high.get() instanceof Statements.Message)) {\n return undefined;\n }\n const foundWith = high.findExpressionAfterToken(\"WITH\");\n if (foundWith === undefined) {\n return undefined;\n }\n const likeSource = high.findExpressionAfterToken(\"LIKE\");\n for (const s of high.findAllExpressions(Expressions.Source)) {\n if (s === likeSource) {\n continue;\n }\n else if (s.getChildren().length === 1 && ((_a = s.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Constant) {\n continue;\n }\n else if (s.getChildren().length === 1 && ((_b = s.getFirstChild()) === null || _b === void 0 ? void 0 : _b.get()) instanceof Expressions.FieldChain) {\n continue;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const firstToken = high.getFirstToken();\n const code = `DATA(${uniqueName}) = ${s.concatTokens()}.\\n${indentation}`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, s.getFirstToken().getStart(), s.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Refactor MESSAGE WITH source\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n replaceAppendExpression(high, lowFile, highSyntax) {\n if (!(high.get() instanceof Statements.Append)) {\n return undefined;\n }\n const children = high.getChildren();\n if (children[1].get() instanceof Expressions.Source) {\n const source = children[1];\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const firstToken = high.getFirstToken();\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${uniqueName} LIKE LINE OF ${target === null || target === void 0 ? void 0 : target.concatTokens()}.\r\n${indentation}${uniqueName} = ${source.concatTokens()}.\\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Outline APPEND source expression\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n downportReadTable(high, lowFile, highSyntax) {\n if (!(high.get() instanceof Statements.ReadTable)) {\n return undefined;\n }\n const source = high.findExpressionAfterToken(\"TABLE\");\n if ((source === null || source === void 0 ? void 0 : source.get()) instanceof Expressions.Source) {\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const firstToken = high.getFirstToken();\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA(${uniqueName}) = ${source.concatTokens()}.\\n` + indentation);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Outline table source\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n replaceInsertExpression(high, lowFile, highSyntax) {\n if (!(high.get() instanceof Statements.InsertInternal)) {\n return undefined;\n }\n const children = high.getChildren();\n if (children[1].get() instanceof Expressions.Source) {\n const source = children[1];\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const firstToken = high.getFirstToken();\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${uniqueName} LIKE LINE OF ${target === null || target === void 0 ? void 0 : target.concatTokens()}.\r\n${indentation}${uniqueName} = ${source.concatTokens()}.\\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Outline INSERT source expression\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n replaceTableExpression(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const fieldChain of high.findAllExpressionsRecursive(Expressions.FieldChain)) {\n const tableExpression = fieldChain.findDirectExpression(Expressions.TableExpression);\n if (tableExpression === undefined) {\n continue;\n }\n const concat = high.concatTokens().toUpperCase();\n if (concat.includes(\" LINE_EXISTS( \") || concat.includes(\" LINE_INDEX( \")) {\n // note: line_exists() must be replaced before handling table expressions\n continue;\n }\n let pre = \"\";\n let startToken = undefined;\n for (const child of fieldChain.getChildren()) {\n if (startToken === undefined) {\n startToken = child.getFirstToken();\n }\n else if (child === tableExpression) {\n break;\n }\n pre += child.concatTokens();\n }\n if (startToken === undefined) {\n continue;\n }\n const condition = this.tableCondition(tableExpression);\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const tabixBackup = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const firstToken = high.getFirstToken();\n // note that the tabix restore should be done before throwing the exception\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${uniqueName} LIKE LINE OF ${pre}.\r\n${indentation}DATA ${tabixBackup} LIKE sy-tabix.\r\n${indentation}${tabixBackup} = sy-tabix.\r\n${indentation}READ TABLE ${pre} ${condition}INTO ${uniqueName}.\r\n${indentation}sy-tabix = ${tabixBackup}.\r\n${indentation}IF sy-subrc <> 0.\r\n${indentation} RAISE EXCEPTION TYPE cx_sy_itab_line_not_found.\r\n${indentation}ENDIF.\r\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, startToken.getStart(), tableExpression.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n if (high.get() instanceof Statements.ElseIf) {\n throw \"downport, unable to downport table expression in ELSEIF\";\n }\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Outline table expression\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n tableCondition(tableExpression) {\n let condition = \"\";\n let keyName = \"\";\n for (const c of tableExpression.getChildren() || []) {\n if (c.getFirstToken().getStr() === \"[\" || c.getFirstToken().getStr() === \"]\") {\n continue;\n }\n else if (c.get() instanceof Expressions.ComponentChainSimple && condition === \"\") {\n if (keyName === \"\") {\n condition = \"WITH KEY \";\n }\n else {\n condition = \"WITH TABLE KEY \" + keyName + \" COMPONENTS \";\n }\n }\n else if (c.get() instanceof Expressions.Source && condition === \"\") {\n condition = \"INDEX \";\n }\n else if (c instanceof nodes_1.TokenNode && c.getFirstToken().getStr().toUpperCase() === \"KEY\") {\n continue;\n }\n else if (c.get() instanceof Expressions.SimpleName) {\n keyName = c.concatTokens();\n continue;\n }\n condition += c.concatTokens() + \" \";\n }\n return condition;\n }\n outlineCatchSimple(node, lowFile) {\n // outlines \"CATCH cx_bcs INTO DATA(lx_bcs_excep).\", note that this does not need to look at types\n var _a, _b;\n if (!(node.get() instanceof Statements.Catch)) {\n return undefined;\n }\n const target = node.findFirstExpression(Expressions.Target);\n if (!(((_a = target === null || target === void 0 ? void 0 : target.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.InlineData)) {\n return undefined;\n }\n const classNames = node.findDirectExpressions(Expressions.ClassName);\n if (classNames.length !== 1) {\n return undefined;\n }\n const className = classNames[0].concatTokens();\n const targetName = (_b = target.findFirstExpression(Expressions.TargetField)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const code = ` DATA ${targetName} TYPE REF TO ${className}.\r\n${indentation}CATCH ${className} INTO ${targetName}.`;\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, node.getStart(), node.getEnd(), code);\n return issue_1.Issue.atToken(lowFile, node.getFirstToken(), \"Outline DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n outlineGetReferenceSimple(node, lowFile) {\n var _a, _b, _c;\n if (!(node.get() instanceof Statements.GetReference)) {\n return undefined;\n }\n const target = node.findFirstExpression(Expressions.Target);\n if (!(((_a = target === null || target === void 0 ? void 0 : target.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.InlineData)) {\n return undefined;\n }\n const source = node.findFirstExpression(Expressions.Source);\n if (!(((_b = source === null || source === void 0 ? void 0 : source.getFirstChild()) === null || _b === void 0 ? void 0 : _b.get()) instanceof Expressions.FieldChain)) {\n return undefined;\n }\n const targetName = ((_c = target.findFirstExpression(Expressions.TargetField)) === null || _c === void 0 ? void 0 : _c.concatTokens()) || \"errorError\";\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const firstToken = target.getFirstToken();\n const lastToken = target.getLastToken();\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, node.getStart(), `DATA ${targetName} LIKE REF TO ${source.concatTokens()}.\\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), lastToken.getEnd(), targetName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, node.getFirstToken(), \"Outline DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n outlineDataSimple(node, lowFile) {\n // outlines \"DATA(ls_msg) = temp1.\", note that this does not need to look at types\n var _a, _b, _c;\n if (!(node.get() instanceof Statements.Move)) {\n return undefined;\n }\n const target = node.findFirstExpression(Expressions.Target);\n if (!(((_a = target === null || target === void 0 ? void 0 : target.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.InlineData)) {\n return undefined;\n }\n let type = \"\";\n const source = node.findFirstExpression(Expressions.Source);\n if (source === undefined) {\n return undefined;\n }\n else if (source.getChildren().length !== 1) {\n return undefined;\n }\n else if (!(((_b = source.getFirstChild()) === null || _b === void 0 ? void 0 : _b.get()) instanceof Expressions.FieldChain)) {\n return undefined;\n }\n else if (source.findFirstExpression(Expressions.FieldOffset)) {\n return undefined;\n }\n else if (source.findFirstExpression(Expressions.FieldLength)) {\n return undefined;\n }\n else if (source.findFirstExpression(Expressions.TableExpression)) {\n const chain = source.findDirectExpression(Expressions.FieldChain);\n if (chain !== undefined\n && chain.getChildren().length === 2\n && chain.getChildren()[0].get() instanceof Expressions.SourceField\n && chain.getChildren()[1].get() instanceof Expressions.TableExpression) {\n type = \"LINE OF \" + chain.getChildren()[0].concatTokens();\n }\n else {\n return undefined;\n }\n }\n else {\n type = source.concatTokens();\n }\n const targetName = (_c = target.findFirstExpression(Expressions.TargetField)) === null || _c === void 0 ? void 0 : _c.concatTokens();\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const firstToken = node.getFirstToken();\n const lastToken = node.getLastToken();\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${targetName} LIKE ${type}.\\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), lastToken.getEnd(), `${targetName} = ${source.concatTokens()}.`);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, node.getFirstToken(), \"Outline DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n partiallyImplemented(node, lowFile) {\n if (node.get() instanceof Statements.InterfaceDef) {\n const partially = node.findDirectTokenByText(\"PARTIALLY\");\n if (partially === undefined) {\n return undefined;\n }\n const implemented = node.findDirectTokenByText(\"IMPLEMENTED\");\n if (implemented === undefined) {\n return undefined;\n }\n const fix = edit_helper_1.EditHelper.deleteRange(lowFile, partially.getStart(), implemented.getEnd());\n return issue_1.Issue.atToken(lowFile, partially, \"Downport PARTIALLY IMPLEMENTED\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n raiseException(node, lowFile, highSyntax) {\n /*\n Note: IF_T100_DYN_MSG does not exist in 702, so this rule is mostly relevant for the transpiler\n \n DATA foo LIKE if_t100_message=>t100key.\n foo-msgid = 'ZHVAM'.\n foo-msgno = '001'.\n foo-attr1 = 'IF_T100_DYN_MSG~MSGV1'.\n foo-attr2 = 'IF_T100_DYN_MSG~MSGV2'.\n foo-attr3 = 'IF_T100_DYN_MSG~MSGV3'.\n foo-attr4 = 'IF_T100_DYN_MSG~MSGV4'.\n DATA bar TYPE REF TO zcl_hvam_exception.\n CREATE OBJECT bar EXPORTING textid = foo.\n bar->if_t100_dyn_msg~msgty = 'E'.\n bar->if_t100_dyn_msg~msgv1 = 'abc'.\n bar->if_t100_dyn_msg~msgv2 = 'abc'.\n bar->if_t100_dyn_msg~msgv3 = 'abc'.\n bar->if_t100_dyn_msg~msgv4 = 'abc'.\n RAISE EXCEPTION bar.\n */\n var _a, _b, _c, _d, _e, _f, _g;\n if (!(node.get() instanceof Statements.Raise)) {\n return undefined;\n }\n let id = undefined;\n let number = undefined;\n let startToken = node.findDirectTokenByText(\"ID\");\n if (startToken) {\n const sources = node.findDirectExpressions(Expressions.Source);\n id = sources[0].concatTokens();\n const numberExpression = node.findExpressionAfterToken(\"NUMBER\");\n if (numberExpression === undefined) {\n throw \"downport raiseException, could not find number\";\n }\n number = numberExpression.concatTokens();\n if (numberExpression.get() instanceof Expressions.MessageNumber) {\n number = \"'\" + number + \"'\";\n }\n }\n else {\n const s = node.findDirectExpression(Expressions.MessageSource);\n if (s === undefined) {\n return undefined;\n }\n if (s.findDirectExpression(Expressions.MessageClass)) {\n id = \"'\" + ((_b = (_a = s.findDirectExpression(Expressions.MessageClass)) === null || _a === void 0 ? void 0 : _a.concatTokens()) === null || _b === void 0 ? void 0 : _b.toUpperCase()) + \"'\";\n }\n else {\n id = (_c = s.findExpressionAfterToken(\"ID\")) === null || _c === void 0 ? void 0 : _c.concatTokens();\n }\n if (s.findDirectExpression(Expressions.MessageTypeAndNumber)) {\n number = \"'\" + ((_d = s.findDirectExpression(Expressions.MessageTypeAndNumber)) === null || _d === void 0 ? void 0 : _d.concatTokens().substring(1)) + \"'\";\n }\n else {\n number = (_e = s.findExpressionAfterToken(\"NUMBER\")) === null || _e === void 0 ? void 0 : _e.concatTokens();\n }\n startToken = node.getFirstToken();\n }\n const withs = ((_f = node.findDirectExpression(Expressions.RaiseWith)) === null || _f === void 0 ? void 0 : _f.findDirectExpressions(Expressions.Source)) || [];\n const className = ((_g = node.findDirectExpression(Expressions.ClassName)) === null || _g === void 0 ? void 0 : _g.concatTokens()) || \"ERROR\";\n const uniqueName1 = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const uniqueName2 = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n let abap = `DATA ${uniqueName1} LIKE if_t100_message=>t100key.\r\n${indentation}${uniqueName1}-msgid = ${id}.\r\n${indentation}${uniqueName1}-msgno = ${number}.\\n`;\n if (withs.length > 0) {\n abap += `${indentation}${uniqueName1}-attr1 = 'IF_T100_DYN_MSG~MSGV1'.\r\n${indentation}${uniqueName1}-attr2 = 'IF_T100_DYN_MSG~MSGV2'.\r\n${indentation}${uniqueName1}-attr3 = 'IF_T100_DYN_MSG~MSGV3'.\r\n${indentation}${uniqueName1}-attr4 = 'IF_T100_DYN_MSG~MSGV4'.\\n`;\n }\n abap += `${indentation}DATA ${uniqueName2} TYPE REF TO ${className}.\r\n${indentation}CREATE OBJECT ${uniqueName2} EXPORTING textid = ${uniqueName1}.\\n`;\n if (withs.length > 0) {\n abap += `${indentation}${uniqueName2}->if_t100_dyn_msg~msgty = 'E'.\\n`;\n }\n let count = 1;\n for (const w of withs) {\n abap += `${indentation}${uniqueName2}->if_t100_dyn_msg~msgv${count} = ${w.concatTokens()}.\\n`;\n count++;\n }\n abap += `${indentation}RAISE EXCEPTION ${uniqueName2}.`;\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, node.getStart(), node.getEnd(), abap);\n return issue_1.Issue.atToken(lowFile, startToken, \"Downport RAISE MESSAGE\", this.getMetadata().key, this.conf.severity, fix);\n }\n emptyKey(low, node, lowFile) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (let i of node.findAllExpressions(Expressions.TypeTable)) {\n const key = i.findDirectExpression(Expressions.TypeTableKey);\n if (key === undefined) {\n continue;\n }\n i = key;\n const concat = i.concatTokens();\n if (concat.toUpperCase().includes(\"WITH EMPTY KEY\") === false) {\n continue;\n }\n const token = i.findDirectTokenByText(\"EMPTY\");\n if (token === undefined) {\n continue;\n }\n const fix = edit_helper_1.EditHelper.replaceToken(lowFile, token, \"DEFAULT\");\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Downport EMPTY KEY\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n callFunctionParameterSimple(high, lowFile, highSyntax) {\n if (!(high.get() instanceof Statements.CallFunction)) {\n return undefined;\n }\n let found = undefined;\n for (const p of high.findAllExpressions(Expressions.FunctionExportingParameter)) {\n found = p.findDirectExpression(Expressions.Source);\n if (found && (found.findDirectExpression(Expressions.FieldChain)\n || found.findDirectExpression(Expressions.Constant)\n || found.findDirectExpression(Expressions.TextElement))) {\n // its actually simple, ok\n found = undefined;\n }\n else if (found !== undefined) {\n break;\n }\n }\n if (found === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const code = `DATA(${uniqueName}) = ${found.concatTokens()}.\\n`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, found.getFirstToken().getStart(), found.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, call function parameter\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportCorrespondingSimple(high, lowFile) {\n var _a, _b;\n if (!(high.get() instanceof Statements.Move)\n || high.getChildren().length !== 4\n || high.getChildren()[2].getFirstToken().getStr().toUpperCase() !== \"CORRESPONDING\") {\n return undefined;\n }\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const sourceRef = (_a = high.findFirstExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(Expressions.CorrespondingBody);\n if ((sourceRef === null || sourceRef === void 0 ? void 0 : sourceRef.getChildren().length) === 1) {\n const code = `MOVE-CORRESPONDING ${sourceRef.concatTokens()} TO ${target.concatTokens()}`;\n const start = high.getFirstToken().getStart();\n const end = high.getLastToken().getStart();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, simple CORRESPONDING move\", this.getMetadata().key, this.conf.severity, fix);\n }\n else if ((sourceRef === null || sourceRef === void 0 ? void 0 : sourceRef.getChildren().length) === 5 && ((_b = sourceRef.getFirstChild()) === null || _b === void 0 ? void 0 : _b.concatTokens().toUpperCase()) === \"BASE\") {\n let code = `${target.concatTokens()} = ${sourceRef.getChildren()[2].concatTokens()}.\\n`;\n code += `MOVE-CORRESPONDING ${sourceRef.getChildren()[4].concatTokens()} TO ${target.concatTokens()}`;\n const start = high.getFirstToken().getStart();\n const end = high.getLastToken().getStart();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, CORRESPONDING BASE move\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n downportRefSimple(high, lowFile, highSyntax) {\n var _a;\n if (!(high.get() instanceof Statements.Move)\n || high.getChildren().length !== 4\n || high.getChildren()[2].getFirstToken().getStr().toUpperCase() !== \"REF\") {\n return undefined;\n }\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const sourceRef = (_a = high.findFirstExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Source);\n if (sourceRef === undefined\n || sourceRef.getChildren().length !== 1) {\n return undefined;\n }\n let code = \"\";\n if (sourceRef.findFirstExpression(Expressions.TableExpression)) {\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n code = `ASSIGN ${sourceRef.concatTokens()} TO FIELD-SYMBOL(<${uniqueName}>).\r\nIF sy-subrc <> 0.\r\n RAISE EXCEPTION TYPE cx_sy_itab_line_not_found.\r\nENDIF.\r\nGET REFERENCE OF <${uniqueName}> INTO ${target.concatTokens()}`;\n }\n else {\n code = `GET REFERENCE OF ${sourceRef.concatTokens()} INTO ${target.concatTokens()}`;\n }\n const start = high.getFirstToken().getStart();\n const end = high.getLastToken().getStart();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, simple REF move\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportLoopGroup(high, lowFile, highSyntax, highFile) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n if (!(high.get() instanceof Statements.Loop)) {\n return undefined;\n }\n const group = high.findDirectExpression(Expressions.LoopGroupBy);\n if (group === undefined) {\n return undefined;\n }\n const groupTargetName = ((_a = group.findFirstExpression(Expressions.TargetField)) === null || _a === void 0 ? void 0 : _a.concatTokens())\n || ((_b = group.findFirstExpression(Expressions.TargetFieldSymbol)) === null || _b === void 0 ? void 0 : _b.concatTokens().replace(\"<\", \"_\").replace(\">\", \"_\"))\n || \"nameNotFound\";\n const loopSourceName = ((_c = high.findFirstExpression(Expressions.SimpleSource2)) === null || _c === void 0 ? void 0 : _c.concatTokens()) || \"nameNotFound\";\n const loopTargetName = ((_d = high.findFirstExpression(Expressions.TargetField)) === null || _d === void 0 ? void 0 : _d.concatTokens())\n || ((_e = high.findFirstExpression(Expressions.TargetFieldSymbol)) === null || _e === void 0 ? void 0 : _e.concatTokens())\n || \"nameNotFound\";\n const groupTarget = ((_f = group.findDirectExpression(Expressions.LoopGroupByTarget)) === null || _f === void 0 ? void 0 : _f.concatTokens()) || \"\";\n const isReference = (_g = high.findFirstExpression(Expressions.LoopTarget)) === null || _g === void 0 ? void 0 : _g.concatTokens().toUpperCase().startsWith(\"REFERENCE INTO \");\n let loopSourceRowType = \"typeNotFound\";\n const spag = highSyntax.spaghetti.lookupPosition(high.getFirstToken().getStart(), lowFile.getFilename());\n if (spag !== undefined) {\n const found = spag.findVariable(loopSourceName);\n const tt = found === null || found === void 0 ? void 0 : found.getType();\n if (tt instanceof basic_1.TableType) {\n loopSourceRowType = tt.getRowType().getQualifiedName() || \"typeNotFound\";\n }\n }\n let code = `TYPES: BEGIN OF ${groupTargetName}type,\\n`;\n let condition = \"\";\n let groupCountName = undefined;\n let groupIndexName = undefined;\n for (const c of group.findAllExpressions(Expressions.LoopGroupByComponent)) {\n const name = c.findFirstExpression(Expressions.ComponentName);\n let type = ((_h = c.findFirstExpression(Expressions.Source)) === null || _h === void 0 ? void 0 : _h.concatTokens()) || \"todo\";\n if ((_j = c.concatTokens()) === null || _j === void 0 ? void 0 : _j.toUpperCase().endsWith(\" = GROUP SIZE\")) {\n type = \"i\";\n groupCountName = name === null || name === void 0 ? void 0 : name.concatTokens();\n }\n else if ((_k = c.concatTokens()) === null || _k === void 0 ? void 0 : _k.toUpperCase().endsWith(\" = GROUP INDEX\")) {\n type = \"i\";\n groupIndexName = name === null || name === void 0 ? void 0 : name.concatTokens();\n }\n else {\n if (condition !== \"\") {\n condition += \" \";\n }\n condition += c.concatTokens();\n type = type.replace(loopTargetName, loopSourceRowType);\n type = type.replace(\"->\", \"-\");\n }\n code += ` ${name === null || name === void 0 ? void 0 : name.concatTokens()} TYPE ${type},\\n`;\n }\n const s = group.findDirectExpression(Expressions.Source);\n let singleName = \"\";\n if (s) {\n let type = s.concatTokens();\n type = type.replace(loopTargetName, loopSourceRowType);\n type = type.replace(\"->\", \"-\");\n singleName = s.concatTokens().split(\"-\")[1];\n code += ` ${singleName} TYPE ${type},\\n`;\n condition = singleName + \" = \" + s.concatTokens();\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const uniqueFS = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const uniqueNameIndex = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n code += ` items LIKE ${loopSourceName},\r\n END OF ${groupTargetName}type.\r\nDATA ${groupTargetName}tab TYPE STANDARD TABLE OF ${groupTargetName}type WITH DEFAULT KEY.\r\nDATA ${uniqueName} LIKE LINE OF ${groupTargetName}tab.\r\nLOOP AT ${loopSourceName} ${(_l = high.findFirstExpression(Expressions.LoopTarget)) === null || _l === void 0 ? void 0 : _l.concatTokens()}.\\n`;\n if (groupIndexName !== undefined) {\n code += `DATA(${uniqueNameIndex}) = sy-tabix.\\n`;\n }\n code += `READ TABLE ${groupTargetName}tab ASSIGNING FIELD-SYMBOL(<${uniqueFS}>) WITH KEY ${condition}.\r\nIF sy-subrc = 0.\\n`;\n if (groupCountName !== undefined) {\n code += ` <${uniqueFS}>-${groupCountName} = <${uniqueFS}>-${groupCountName} + 1.\\n`;\n }\n code += ` INSERT ${loopTargetName}${isReference ? \"->*\" : \"\"} INTO TABLE <${uniqueFS}>-items.\r\nELSE.\\n`;\n code += ` CLEAR ${uniqueName}.\\n`;\n for (const c of group.findAllExpressions(Expressions.LoopGroupByComponent)) {\n const concat = c.concatTokens();\n // console.dir(concat);\n if (concat.endsWith(\" GROUP INDEX\")) {\n code += ` ${uniqueName}-${groupIndexName} = ${uniqueNameIndex}.\\n`;\n }\n else if (concat.endsWith(\" GROUP SIZE\")) {\n code += ` ${uniqueName}-${groupCountName} = 1.\\n`;\n }\n else {\n code += ` ${uniqueName}-${concat}.\\n`;\n }\n }\n if (singleName !== \"\") {\n code += ` ${uniqueName}-${singleName} = ${loopTargetName}-${singleName}.\\n`;\n }\n code += ` INSERT ${loopTargetName}${isReference ? \"->*\" : \"\"} INTO TABLE ${uniqueName}-items.\\n`;\n code += ` INSERT ${uniqueName} INTO TABLE ${groupTargetName}tab.\\n`;\n code += `ENDIF.\r\nENDLOOP.\r\nLOOP AT ${groupTargetName}tab ${groupTarget}.`;\n let fix = edit_helper_1.EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), code);\n for (const l of ((_m = highFile.getStructure()) === null || _m === void 0 ? void 0 : _m.findAllStructures(Structures.Loop)) || []) {\n // make sure to find the correct/current loop statement\n if (l.findDirectStatement(Statements.Loop) !== high) {\n continue;\n }\n for (const loop of l.findAllStatements(Statements.Loop)) {\n if ((_o = loop.concatTokens()) === null || _o === void 0 ? void 0 : _o.toUpperCase().startsWith(\"LOOP AT GROUP \")) {\n const subLoopSource = loop.findFirstExpression(Expressions.SimpleSource2);\n if (subLoopSource === undefined) {\n continue;\n }\n const subLoopSourceName = (subLoopSource === null || subLoopSource === void 0 ? void 0 : subLoopSource.concatTokens()) || \"nameNotFound\";\n const subCode = `LOOP AT ${subLoopSourceName}${isReference ? \"->\" : \"-\"}items`;\n const subFix = edit_helper_1.EditHelper.replaceRange(lowFile, loop.getFirstToken().getStart(), subLoopSource.getLastToken().getEnd(), subCode);\n fix = edit_helper_1.EditHelper.merge(subFix, fix);\n }\n }\n }\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, LOOP GROUP\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportRef(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n let found = undefined;\n for (const s of high.findAllExpressionsRecursive(Expressions.Source)) {\n if (s.getFirstToken().getStr().toUpperCase() === \"REF\"\n && s.findDirectExpression(Expressions.TypeNameOrInfer)) {\n found = s;\n }\n }\n if (found === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const code = `DATA(${uniqueName}) = ${found.concatTokens()}.\\n`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, found.getFirstToken().getStart(), found.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, REF\", this.getMetadata().key, this.conf.severity, fix);\n }\n assignWithTable(low, high, lowFile) {\n var _a, _b;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n if (!(high.get() instanceof Statements.Assign)) {\n return undefined;\n }\n else if (high.getChildren().length !== 5) {\n return undefined;\n }\n const fieldChain = (_b = (_a = high.findDirectExpression(Expressions.AssignSource)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.FieldChain);\n const tableExpression = fieldChain === null || fieldChain === void 0 ? void 0 : fieldChain.getLastChild();\n if (tableExpression === undefined\n || !(tableExpression.get() instanceof Expressions.TableExpression)\n || !(tableExpression instanceof nodes_1.ExpressionNode)) {\n return undefined;\n }\n let condition = \"\";\n if (tableExpression.getChildren().length === 3) {\n const index = tableExpression.findDirectExpression(Expressions.Source);\n if (index === undefined) {\n return undefined;\n }\n condition = `INDEX ${index.concatTokens()}`;\n }\n else {\n let concat = tableExpression.concatTokens();\n concat = concat.substring(2);\n concat = concat.substring(0, concat.length - 2);\n condition = `WITH KEY ${concat}`;\n }\n let pre = \"\";\n for (const c of fieldChain.getChildren()) {\n if (c === tableExpression) {\n break;\n }\n pre += c.concatTokens();\n }\n const fsTarget = high.findDirectExpression(Expressions.FSTarget);\n const code = `READ TABLE ${pre} ${condition} ASSIGNING ${fsTarget === null || fsTarget === void 0 ? void 0 : fsTarget.concatTokens()}.`;\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, ASSIGN table expr\", this.getMetadata().key, this.conf.severity, fix);\n }\n moveWithSimpleValue(low, high, lowFile) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n if (!(high.get() instanceof Statements.Move)\n || high.getChildren().length !== 4) {\n return undefined;\n }\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const source = high.findDirectExpression(Expressions.Source);\n if (source === undefined) {\n return undefined;\n }\n const field = target.findDirectExpression(Expressions.TargetField);\n if (field === undefined) {\n return;\n }\n const valueBody = source.findDirectExpression(Expressions.ValueBody);\n if (valueBody === undefined) {\n return;\n }\n const fieldAssignments = valueBody.findDirectExpressions(Expressions.FieldAssignment);\n if (fieldAssignments.length === 0) {\n return;\n }\n else if (fieldAssignments.length !== valueBody.getChildren().length) {\n return;\n }\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let code = `CLEAR ${target.concatTokens()}.\\n`;\n for (const fieldAssignment of fieldAssignments) {\n code += indentation + target.concatTokens() + \"-\" + fieldAssignment.concatTokens() + `.\\n`;\n }\n code = code.trimEnd();\n const start = high.getFirstToken().getStart();\n const end = high.getLastToken().getEnd();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, simple move\", this.getMetadata().key, this.conf.severity, fix);\n }\n // note, downporting ENUM does not give the correct types, but it will work in most cases?\n downportEnum(_low, high, lowFile, _highSyntax, highFile) {\n var _a, _b, _c, _d, _e;\n if (!(high.get() instanceof Statements.TypeEnumBegin)) {\n return undefined;\n }\n const enumStructure = (_a = highFile.getStructure()) === null || _a === void 0 ? void 0 : _a.findFirstStructure(Structures.TypeEnum);\n if (enumStructure === undefined) {\n return undefined;\n }\n if (enumStructure.getFirstStatement() !== high) {\n return undefined;\n }\n const enumName = (_b = high.findExpressionAfterToken(\"ENUM\")) === null || _b === void 0 ? void 0 : _b.concatTokens();\n const structureName = (_c = high.findExpressionAfterToken(\"STRUCTURE\")) === null || _c === void 0 ? void 0 : _c.concatTokens();\n // all ENUMS are char like?\n let code = `TYPES ${enumName} TYPE string.\r\nCONSTANTS: BEGIN OF ${structureName},\\n`;\n let count = 1;\n for (const e of enumStructure.findDirectStatements(Statements.TypeEnum).concat(enumStructure.findDirectStatements(Statements.Type))) {\n const name = (_d = e.findFirstExpression(Expressions.NamespaceSimpleName)) === null || _d === void 0 ? void 0 : _d.concatTokens();\n let value = (_e = e.findFirstExpression(Expressions.Value)) === null || _e === void 0 ? void 0 : _e.concatTokens();\n if (value === undefined) {\n value = \"VALUE '\" + count++ + \"'\";\n }\n code += ` ${name} TYPE ${enumName} ${value},\\n`;\n }\n code += ` END OF ${structureName}.`;\n const start = enumStructure.getFirstToken().getStart();\n const end = enumStructure.getLastToken().getEnd();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport ENUM\", this.getMetadata().key, this.conf.severity, fix);\n }\n moveWithTableTarget(low, high, lowFile, highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n if (!(high.get() instanceof Statements.Move)) {\n return undefined;\n }\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const tableExpression = target.findDirectExpression(Expressions.TableExpression);\n if (tableExpression === undefined) {\n return undefined;\n }\n const index = tableExpression.findDirectExpression(Expressions.Source);\n if (index === undefined) {\n return undefined;\n }\n let uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n uniqueName = `<${uniqueName}>`;\n const tName = target.concatTokens().split(\"[\")[0];\n const condition = this.tableCondition(tableExpression);\n const tabixBackup = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n // restore tabix before exeption\n const code = `FIELD-SYMBOLS ${uniqueName} LIKE LINE OF ${tName}.\r\n${indentation}DATA ${tabixBackup} LIKE sy-tabix.\r\n${indentation}${tabixBackup} = sy-tabix.\r\n${indentation}READ TABLE ${tName} ${condition}ASSIGNING ${uniqueName}.\r\n${indentation}sy-tabix = ${tabixBackup}.\r\n${indentation}IF sy-subrc <> 0.\r\n${indentation} RAISE EXCEPTION TYPE cx_sy_itab_line_not_found.\r\n${indentation}ENDIF.\r\n${indentation}${uniqueName}`;\n const start = target.getFirstToken().getStart();\n const end = (_a = tableExpression.findDirectTokenByText(\"]\")) === null || _a === void 0 ? void 0 : _a.getEnd();\n if (end === undefined) {\n return undefined;\n }\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, move with table target\", this.getMetadata().key, this.conf.severity, fix);\n }\n moveWithOperator(low, high, lowFile) {\n var _a, _b, _c;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n else if (!(high.get() instanceof Statements.Move)) {\n return undefined;\n }\n const children = high.getChildren();\n const secondChild = children[1];\n if (secondChild === undefined) {\n return undefined;\n }\n const op = secondChild.getFirstToken();\n let operator = \"\";\n switch (op.getStr()) {\n case \"+\":\n operator = \" + \";\n break;\n case \"-\":\n operator = \" - \";\n break;\n case \"/=\":\n operator = \" / \";\n break;\n case \"*=\":\n operator = \" * \";\n break;\n case \"&&=\":\n operator = \" && \";\n break;\n default:\n return undefined;\n }\n const target = (_a = high.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (target === undefined) {\n return;\n }\n const sourceStart = (_c = (_b = high.findDirectExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.getFirstChild()) === null || _c === void 0 ? void 0 : _c.getFirstToken().getStart();\n if (sourceStart === undefined) {\n return;\n }\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, op.getStart(), sourceStart, \"= \" + target + operator);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Expand operator\", this.getMetadata().key, this.conf.severity, fix);\n }\n // must be very simple string templates, like \"|{ ls_line-no ALPHA = IN }|\"\n stringTemplateAlpha(low, high, lowFile, highSyntax) {\n var _a, _b;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const child of high.findAllExpressionsRecursive(Expressions.StringTemplate)) {\n const templateTokens = child.getChildren();\n if (templateTokens.length !== 3\n || templateTokens[0].getFirstToken().getStr() !== \"|{\"\n || templateTokens[2].getFirstToken().getStr() !== \"}|\") {\n continue;\n }\n const templateSource = child.findDirectExpression(Expressions.StringTemplateSource);\n const formatting = (_a = templateSource === null || templateSource === void 0 ? void 0 : templateSource.findDirectExpression(Expressions.StringTemplateFormatting)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n let functionName = \"\";\n switch (formatting) {\n case \"ALPHA = IN\":\n functionName = \"CONVERSION_EXIT_ALPHA_INPUT\";\n break;\n case \"ALPHA = OUT\":\n functionName = \"CONVERSION_EXIT_ALPHA_OUTPUT\";\n break;\n default:\n return undefined;\n }\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const source = (_b = templateSource === null || templateSource === void 0 ? void 0 : templateSource.findDirectExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const code = `DATA ${uniqueName} TYPE string.\r\n${indentation}CALL FUNCTION '${functionName}'\r\n${indentation} EXPORTING\r\n${indentation} input = ${source}\r\n${indentation} IMPORTING\r\n${indentation} output = ${uniqueName}.\\n`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, child.getFirstToken().getStart(), child.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport ALPHA\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineLoopInput(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n else if (!(high.get() instanceof Statements.Loop)) {\n return undefined;\n }\n else if (high.findDirectExpression(Expressions.SimpleSource2)) {\n return undefined;\n }\n // the first Source must be outlined\n const s = high.findDirectExpression(Expressions.Source);\n if (s === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const code = `DATA(${uniqueName}) = ${s.concatTokens()}.\\n` +\n \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, s.getFirstToken().getStart(), s.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Outline LOOP input\", this.getMetadata().key, this.conf.severity, fix);\n }\n outlineLoopTarget(node, lowFile, highSyntax) {\n var _a, _b, _c, _d, _e, _f, _g;\n // also allows outlining of voided types\n if (!(node.get() instanceof Statements.Loop)) {\n return undefined;\n }\n const sourceName = (_a = node.findDirectExpression(Expressions.SimpleSource2)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (sourceName === undefined) {\n return undefined;\n }\n const concat = node.concatTokens().toUpperCase();\n if (concat.includes(\" GROUP BY \") || concat.startsWith(\"LOOP AT GROUP \")) {\n return undefined;\n }\n const isReference = concat.includes(\" REFERENCE INTO \");\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const dataTarget = (_c = (_b = node.findDirectExpression(Expressions.LoopTarget)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.Target)) === null || _c === void 0 ? void 0 : _c.findDirectExpression(Expressions.InlineData);\n if (dataTarget) {\n const targetName = ((_d = dataTarget.findDirectExpression(Expressions.TargetField)) === null || _d === void 0 ? void 0 : _d.concatTokens()) || \"DOWNPORT_ERROR\";\n let code = `DATA ${targetName} LIKE LINE OF ${sourceName}.\\n${indentation}`;\n if (isReference) {\n const likeName = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n code = `DATA ${likeName} LIKE LINE OF ${sourceName}.\\n${indentation}DATA ${targetName} LIKE REF TO ${likeName}.\\n${indentation}`;\n }\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, dataTarget.getFirstToken().getStart(), dataTarget.getLastToken().getEnd(), targetName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, node.getFirstToken(), \"Outline LOOP data target\", this.getMetadata().key, this.conf.severity, fix);\n }\n const fsTarget = (_f = (_e = node.findDirectExpression(Expressions.LoopTarget)) === null || _e === void 0 ? void 0 : _e.findDirectExpression(Expressions.FSTarget)) === null || _f === void 0 ? void 0 : _f.findDirectExpression(Expressions.InlineFS);\n if (fsTarget) {\n const targetName = ((_g = fsTarget.findDirectExpression(Expressions.TargetFieldSymbol)) === null || _g === void 0 ? void 0 : _g.concatTokens()) || \"DOWNPORT_ERROR\";\n const code = `FIELD-SYMBOLS ${targetName} LIKE LINE OF ${sourceName}.\\n${indentation}`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, fsTarget.getFirstToken().getStart(), fsTarget.getLastToken().getEnd(), targetName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, node.getFirstToken(), \"Outline LOOP fs target\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineFor(forLoop, indentation, lowFile, highSyntax) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n let body = \"\";\n let end = \"\";\n const loopSource = (_a = forLoop.findFirstExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n let loopTargetFieldExpression = forLoop.findFirstExpression(Expressions.TargetField);\n let loopTargetFieldName = loopTargetFieldExpression === null || loopTargetFieldExpression === void 0 ? void 0 : loopTargetFieldExpression.concatTokens();\n const of = forLoop.findExpressionAfterToken(\"OF\");\n if (of !== undefined) {\n loopTargetFieldExpression = of;\n loopTargetFieldName = of === null || of === void 0 ? void 0 : of.concatTokens();\n }\n if (((_c = (_b = forLoop.findDirectExpression(Expressions.InlineLoopDefinition)) === null || _b === void 0 ? void 0 : _b.getFirstChild()) === null || _c === void 0 ? void 0 : _c.get()) instanceof Expressions.TargetFieldSymbol) {\n loopTargetFieldExpression = undefined;\n loopTargetFieldName = undefined;\n }\n if (loopTargetFieldExpression) {\n const start = loopTargetFieldExpression.getFirstToken().getStart();\n const spag = highSyntax.spaghetti.lookupPosition(start, lowFile.getFilename());\n if (loopTargetFieldName && spag) {\n if (new SpagHelper(spag).isDuplicateName(loopTargetFieldName, start)) {\n this.renameVariable(spag, loopTargetFieldName, start, lowFile, highSyntax);\n }\n }\n }\n let cond = ((_d = forLoop.findDirectExpression(Expressions.ComponentCond)) === null || _d === void 0 ? void 0 : _d.concatTokens()) || \"\";\n if (cond !== \"\") {\n cond = \" WHERE \" + cond;\n }\n const loop = forLoop.findDirectExpression(Expressions.InlineLoopDefinition);\n const indexInto = (_e = loop === null || loop === void 0 ? void 0 : loop.findExpressionAfterToken(\"INTO\")) === null || _e === void 0 ? void 0 : _e.concatTokens();\n if (forLoop.findDirectTokenByText(\"UNTIL\")\n || forLoop.findDirectTokenByText(\"WHILE\")) {\n const fieldDef = forLoop.findDirectExpression(Expressions.InlineFieldDefinition);\n const field = (_f = fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.findFirstExpression(Expressions.Field)) === null || _f === void 0 ? void 0 : _f.concatTokens();\n const indexBackup = this.uniqueName(forLoop.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n body += indentation + \"DATA \" + field + \" TYPE i.\\n\";\n const second = fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.getChildren()[2];\n if ((second === null || second === void 0 ? void 0 : second.get()) instanceof Expressions.Source) {\n body += indentation + field + \" = \" + second.concatTokens() + \".\\n\";\n }\n const not = forLoop.findDirectTokenByText(\"UNTIL\") ? \" NOT\" : \"\";\n const cond = forLoop.findFirstExpression(Expressions.Cond);\n body += indentation + `DATA ${indexBackup} LIKE sy-index.\\n`;\n body += indentation + `${indexBackup} = sy-index.\\n`;\n body += indentation + `WHILE${not} ${cond === null || cond === void 0 ? void 0 : cond.concatTokens()}.\\n`;\n body += indentation + ` sy-index = ${indexBackup}.\\n`;\n const then = forLoop.findExpressionAfterToken(\"THEN\");\n if (then) {\n end += ` ${field} = ${then.concatTokens()}.\\n`;\n }\n else {\n end += ` ${field} = ${field} + 1.\\n`;\n }\n end += indentation + \"ENDWHILE\";\n }\n else if (loopTargetFieldName !== undefined) {\n let from = (_g = forLoop.findExpressionAfterToken(\"FROM\")) === null || _g === void 0 ? void 0 : _g.concatTokens();\n from = from ? \" FROM \" + from : \"\";\n let to = (_h = forLoop.findExpressionAfterToken(\"TO\")) === null || _h === void 0 ? void 0 : _h.concatTokens();\n to = to ? \" TO \" + to : \"\";\n let gby = \"\";\n for (const lg of forLoop.findDirectExpressions(Expressions.LoopGroupByComponent)) {\n if (gby !== \"\") {\n gby += \" \";\n }\n gby += lg.concatTokens();\n }\n if (gby !== \"\") {\n gby = \" GROUP BY ( \" + gby + \" )\";\n }\n const fc = forLoop.findDirectExpression(Expressions.FieldChain);\n if (fc) {\n gby = \" GROUP BY \" + fc.concatTokens();\n }\n if (forLoop.findDirectTokenByText(\"ASCENDING\")) {\n gby += \" ASCENDING\";\n }\n if (forLoop.findDirectTokenByText(\"DESCENDING\")) {\n gby += \" DESCENDING\";\n }\n const groups = forLoop.findExpressionAfterToken(\"GROUPS\");\n if (groups) {\n const concat = groups.concatTokens();\n if (concat.startsWith(\"<\")) {\n gby += \" ASSIGNING FIELD-SYMBOL(\" + concat + \")\";\n }\n else {\n gby += \" INTO DATA(\" + concat + \")\";\n }\n }\n let inGroup = \"\";\n if (forLoop.concatTokens().toUpperCase().includes(\" IN GROUP \")) {\n inGroup = \"-items\";\n }\n let into = \"INTO DATA\";\n if (loopTargetFieldName.startsWith(\"<\")) {\n into = \"ASSIGNING FIELD-SYMBOL\";\n }\n // todo, also backup sy-index / sy-tabix here?\n body += indentation + `LOOP AT ${loopSource}${inGroup} ${into}(${loopTargetFieldName})${from}${to}${cond}${gby}.\\n`;\n if (indexInto) {\n body += indentation + \" DATA(\" + indexInto + \") = sy-tabix.\\n\";\n }\n end = \"ENDLOOP\";\n }\n else if (loopTargetFieldName === undefined) {\n // todo, also backup sy-index / sy-tabix here?\n const loopTargetFieldSymbol = (_j = forLoop.findFirstExpression(Expressions.TargetFieldSymbol)) === null || _j === void 0 ? void 0 : _j.concatTokens();\n body += indentation + `LOOP AT ${loopSource} ASSIGNING FIELD-SYMBOL(${loopTargetFieldSymbol})${cond}.\\n`;\n if (indexInto) {\n body += indentation + \" DATA(\" + indexInto + \") = sy-tabix.\\n\";\n }\n end = \"ENDLOOP\";\n }\n const l = forLoop.findDirectExpression(Expressions.Let);\n if (l) {\n body += this.outlineLet(l, indentation, highSyntax, lowFile);\n }\n return { body, end };\n }\n outlineFilter(low, high, lowFile, highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {\n const firstToken = i.getFirstToken();\n if (firstToken.getStr().toUpperCase() !== \"FILTER\") {\n continue;\n }\n const filterBody = i.findDirectExpression(Expressions.FilterBody);\n if (filterBody === undefined) {\n continue;\n }\n const sourceName = (_a = filterBody.findDirectExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (sourceName === undefined) {\n continue;\n }\n let type = this.findType(i, lowFile, highSyntax);\n if (type === undefined) {\n type = \"LIKE \" + sourceName;\n }\n else {\n type = \"TYPE \" + type;\n }\n const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const loopName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let body = \"\";\n body += `DATA ${uniqueName} ${type}.\\n`;\n body += `${indentation}LOOP AT ${sourceName} INTO DATA(${loopName}) ${filterBody.concatTokens().substring(sourceName.length + 1)}.\\n`;\n body += `${indentation} INSERT ${loopName} INTO TABLE ${uniqueName}.\\n`;\n body += `${indentation}ENDLOOP.\\n${indentation}`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), body);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), i.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, firstToken, \"Downport FILTER\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineSwitch(low, high, lowFile, highSyntax) {\n var _a, _b, _c, _d;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {\n const firstToken = i.getFirstToken();\n if (firstToken.getStr().toUpperCase() !== \"SWITCH\") {\n continue;\n }\n let type = this.findType(i, lowFile, highSyntax);\n if (type === undefined) {\n if (high.get() instanceof Statements.Move\n && high.findDirectExpression(Expressions.Source) === i\n && ((_a = high.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.TargetField)) !== undefined) {\n type = \"LIKE \" + ((_b = high.findDirectExpression(Expressions.Target)) === null || _b === void 0 ? void 0 : _b.concatTokens());\n }\n if (type === undefined) {\n continue;\n }\n }\n else {\n type = \"TYPE \" + type;\n }\n const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let body = \"\";\n let name = \"\";\n const switchBody = i.findDirectExpression(Expressions.SwitchBody);\n if (switchBody === undefined) {\n continue;\n }\n for (const l of ((_c = switchBody === null || switchBody === void 0 ? void 0 : switchBody.findDirectExpression(Expressions.Let)) === null || _c === void 0 ? void 0 : _c.findDirectExpressions(Expressions.InlineFieldDefinition)) || []) {\n name = l.getFirstToken().getStr();\n body += indentation + `DATA(${name}) = ${(_d = switchBody.findFirstExpression(Expressions.Source)) === null || _d === void 0 ? void 0 : _d.concatTokens()}.\\n`;\n }\n body += `DATA ${uniqueName} ${type}.\\n`;\n let firstSource = false;\n let inWhen = false;\n for (const c of switchBody.getChildren()) {\n if (c.get() instanceof Expressions.Source && firstSource === false) {\n body += indentation + `CASE ${c.concatTokens()}.`;\n firstSource = true;\n }\n else if (c instanceof nodes_1.TokenNode && c.concatTokens().toUpperCase() === \"THEN\") {\n inWhen = true;\n body += \".\\n\";\n }\n else if (c instanceof nodes_1.TokenNode && c.concatTokens().toUpperCase() === \"WHEN\") {\n inWhen = false;\n body += `\\n${indentation} WHEN `;\n }\n else if (c instanceof nodes_1.TokenNode && c.concatTokens().toUpperCase() === \"OR\") {\n body += ` OR `;\n }\n else if (c instanceof nodes_1.TokenNode && c.concatTokens().toUpperCase() === \"ELSE\") {\n inWhen = true;\n body += `\\n${indentation} WHEN OTHERS.\\n`;\n }\n else if (inWhen === false) {\n body += c.concatTokens();\n }\n else {\n body += indentation + \" \" + uniqueName + \" = \" + c.concatTokens() + \".\";\n }\n }\n body += \"\\n\" + indentation + \"ENDCASE.\\n\" + indentation;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), body);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), i.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, firstToken, \"Downport SWITCH\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineReduce(low, high, lowFile, highSyntax) {\n var _a, _b;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {\n const firstToken = i.getFirstToken();\n if (firstToken.getStr().toUpperCase() !== \"REDUCE\") {\n continue;\n }\n const type = this.findType(i, lowFile, highSyntax);\n if (type === undefined) {\n continue;\n }\n const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let body = \"\";\n let name = \"\";\n const reduceBody = i.findDirectExpression(Expressions.ReduceBody);\n if (reduceBody === undefined) {\n continue;\n }\n const letNode = reduceBody.findDirectExpression(Expressions.Let);\n if (letNode) {\n body += this.outlineLet(letNode, indentation, highSyntax, lowFile);\n }\n let firstName = \"\";\n for (const init of reduceBody.findDirectExpressions(Expressions.InlineFieldDefinition)) {\n name = init.getFirstToken().getStr();\n if (firstName === \"\") {\n firstName = name;\n }\n const spag = highSyntax.spaghetti.lookupPosition(init.getFirstToken().getStart(), lowFile.getFilename());\n if (spag && new SpagHelper(spag).isDuplicateName(name, init.getFirstToken().getStart())) {\n this.renameVariable(spag, name, init.getFirstToken().getStart(), lowFile, highSyntax);\n }\n const s = (_a = init.findFirstExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n const t = (_b = init.findFirstExpression(Expressions.TypeName)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (s) {\n if (s.toUpperCase().startsWith(\"VALUE #\")) {\n body += indentation + `DATA(${name}) = ${s.replace(\"#\", type)}.\\n`;\n }\n else {\n body += indentation + `DATA(${name}) = ${s}.\\n`;\n }\n }\n else {\n body += indentation + `DATA ${name} TYPE ${t}.\\n`;\n }\n }\n let end = \"\";\n for (const forLoop of (reduceBody === null || reduceBody === void 0 ? void 0 : reduceBody.findDirectExpressions(Expressions.For)) || []) {\n const outlineFor = this.outlineFor(forLoop, indentation, lowFile, highSyntax);\n body += outlineFor.body;\n end = outlineFor.end + `.\\n` + end;\n }\n const next = reduceBody.findDirectExpression(Expressions.ReduceNext);\n if (next === undefined) {\n continue;\n }\n for (const n of next.getChildren()) {\n const concat = n.concatTokens();\n if (concat.toUpperCase() === \"NEXT\") {\n continue;\n }\n else if (n.get() instanceof Expressions.SimpleTarget) {\n body += indentation + \" \" + concat + \" \";\n }\n else if (n.get() instanceof Expressions.Source) {\n body += \" \" + concat + \".\\n\";\n }\n else {\n body += concat;\n }\n }\n body += indentation + end;\n body += indentation + `${uniqueName} = ${firstName}.\\n`;\n const abap = `DATA ${uniqueName} TYPE ${type}.\\n` +\n body +\n indentation;\n const reduceEnd = i.findDirectTokenByText(\")\");\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), reduceEnd.getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, firstToken, \"Downport REDUCE\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineCorresponding(low, high, lowFile, highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n const allSources = high.findAllExpressionsRecursive(Expressions.Source);\n for (const s of allSources) {\n const firstToken = s.getFirstToken();\n if (firstToken.getStr().toUpperCase() !== \"CORRESPONDING\") {\n continue;\n }\n const correspondingBody = s.findDirectExpression(Expressions.CorrespondingBody);\n if ((correspondingBody === null || correspondingBody === void 0 ? void 0 : correspondingBody.getFirstToken().getStr().toUpperCase()) === \"BASE\") {\n continue;\n }\n const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let type = this.findType(s, lowFile, highSyntax);\n if (type === undefined) {\n if (high.get() instanceof Statements.Move && high.findDirectExpression(Expressions.Source) === s) {\n type = \"LIKE \" + ((_a = high.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.concatTokens());\n }\n if (type === undefined) {\n continue;\n }\n }\n else {\n type = \"TYPE \" + type;\n }\n const abap = `DATA ${uniqueName} ${type}.\\n` +\n indentation + `CLEAR ${uniqueName}.\\n` + // might be called inside a loop\n indentation + `MOVE-CORRESPONDING ${correspondingBody === null || correspondingBody === void 0 ? void 0 : correspondingBody.concatTokens()} TO ${uniqueName}.\\n` +\n indentation;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), s.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, firstToken, \"Downport CORRESPONDING\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineValue(low, high, lowFile, highSyntax) {\n var _a, _b, _c;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n const allSources = high.findAllExpressionsRecursive(Expressions.Source);\n for (const s of allSources) {\n const firstToken = s.getFirstToken();\n if (firstToken.getStr().toUpperCase() !== \"VALUE\") {\n continue;\n }\n const valueBody = s.findDirectExpression(Expressions.ValueBody);\n let type = this.findType(s, lowFile, highSyntax);\n if (type === undefined) {\n if (high.get() instanceof Statements.Move && high.findDirectExpression(Expressions.Source) === s) {\n type = \"LIKE \" + ((_a = high.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.concatTokens());\n }\n if (type === undefined) {\n continue;\n }\n }\n else {\n type = \"TYPE \" + type;\n }\n const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n let indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let body = \"\";\n const base = valueBody === null || valueBody === void 0 ? void 0 : valueBody.findExpressionAfterToken(\"BASE\");\n if (base) {\n body += indentation + uniqueName + \" = \" + base.concatTokens() + \".\\n\";\n }\n let end = \"\";\n let structureName = uniqueName;\n let added = false;\n let data = \"\";\n let previous = undefined;\n if ((valueBody === null || valueBody === void 0 ? void 0 : valueBody.findDirectExpression(Expressions.ValueBodyLine)) !== undefined) {\n structureName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const extra = (valueBody === null || valueBody === void 0 ? void 0 : valueBody.findDirectExpression(Expressions.For)) ? \" \" : \"\";\n data = indentation + extra + `DATA ${structureName} LIKE LINE OF ${uniqueName}.\\n`;\n }\n for (const a of (valueBody === null || valueBody === void 0 ? void 0 : valueBody.getChildren()) || []) {\n if (a.get() instanceof Expressions.FieldAssignment) {\n if (added === false) {\n body += data;\n added = true;\n }\n body += indentation + structureName + \"-\" + a.concatTokens() + \".\\n\";\n }\n else if (a instanceof nodes_1.ExpressionNode && a.get() instanceof Expressions.For) {\n const outlineFor = this.outlineFor(a, indentation, lowFile, highSyntax);\n body += outlineFor.body;\n end = outlineFor.end + `.\\n` + end;\n indentation += \" \";\n }\n else if (a instanceof nodes_1.ExpressionNode && a.get() instanceof Expressions.Source) {\n // special handling for superflous value expression\n if ((valueBody === null || valueBody === void 0 ? void 0 : valueBody.getChildren().length) === 1) {\n body += indentation + uniqueName + \" = \" + a.concatTokens() + `.\\n`;\n }\n }\n else if (a instanceof nodes_1.ExpressionNode && a.get() instanceof Expressions.Let) {\n body += this.outlineLet(a, indentation, highSyntax, lowFile);\n }\n if (a instanceof nodes_1.ExpressionNode && a.get() instanceof Expressions.ValueBodyLine) {\n let skip = false;\n for (const b of (a === null || a === void 0 ? void 0 : a.getChildren()) || []) {\n if (b.get() instanceof Expressions.FieldAssignment) {\n if (added === false) {\n body += data;\n added = true;\n }\n body += indentation + structureName + \"-\" + b.concatTokens() + \".\\n\";\n }\n else if (b.get() instanceof Expressions.Source) {\n // note: it wont work with APPEND for Hashed/Sorted Tables, so use INSERT,\n body += indentation + \"INSERT \" + b.concatTokens() + ` INTO TABLE ${uniqueName}.\\n`;\n skip = true;\n }\n else if (b.get() instanceof Expressions.ValueBodyLines) {\n body += indentation + \"INSERT \" + b.concatTokens() + ` INTO TABLE ${uniqueName}.\\n`;\n skip = true;\n }\n else if (b.concatTokens() === \")\") {\n if (added === false && (previous === null || previous === void 0 ? void 0 : previous.concatTokens()) === \"(\") {\n body += data;\n added = true;\n }\n if (skip === false) {\n body += indentation + `INSERT ${structureName} INTO TABLE ${uniqueName}.\\n`;\n }\n }\n previous = b;\n }\n }\n }\n if (body === \"\" && ((_b = valueBody === null || valueBody === void 0 ? void 0 : valueBody.getLastChild()) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr().toUpperCase()) === \"OPTIONAL\") {\n const fieldChain = valueBody.findFirstExpression(Expressions.FieldChain);\n const rowName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n let tableExpression = undefined;\n let tabName = \"\";\n let after = \"\";\n for (const c of (fieldChain === null || fieldChain === void 0 ? void 0 : fieldChain.getChildren()) || []) {\n if (c.get() instanceof Expressions.TableExpression && c instanceof nodes_1.ExpressionNode) {\n tableExpression = c;\n }\n else if (tableExpression === undefined) {\n tabName += c.concatTokens();\n }\n else {\n after += c.concatTokens();\n }\n }\n let condition = \"\";\n if ((tableExpression === null || tableExpression === void 0 ? void 0 : tableExpression.getChildren().length) === 3) {\n condition = \"INDEX \" + ((_c = tableExpression === null || tableExpression === void 0 ? void 0 : tableExpression.findDirectExpression(Expressions.Source)) === null || _c === void 0 ? void 0 : _c.concatTokens());\n }\n else {\n condition = \"WITH KEY \" + (tableExpression === null || tableExpression === void 0 ? void 0 : tableExpression.concatTokens().replace(\"[ \", \"\").replace(\" ]\", \"\"));\n }\n body +=\n indentation + `READ TABLE ${tabName} INTO DATA(${rowName}) ${condition}.\\n` +\n indentation + `IF sy-subrc = 0.\\n` +\n indentation + ` ${uniqueName} = ${rowName}${after}.\\n` +\n indentation + `ENDIF.\\n`;\n if (type.includes(\"LIKE DATA(\")) {\n type = `LIKE LINE OF ${tabName}`;\n }\n }\n if (end !== \"\") {\n indentation = indentation.substring(2);\n body += indentation + end;\n }\n const abap = `DATA ${uniqueName} ${type}.\\n` +\n indentation + `CLEAR ${uniqueName}.\\n` + // might be called inside a loop\n body +\n indentation;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), s.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, firstToken, \"Downport VALUE\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineLet(node, indentation, highSyntax, lowFile) {\n var _a;\n let ret = \"\";\n for (const f of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {\n const c = f.getFirstChild();\n if (c === undefined) {\n continue;\n }\n const name = c.concatTokens().toLowerCase();\n const spag = highSyntax.spaghetti.lookupPosition(c.getFirstToken().getStart(), lowFile.getFilename());\n if (spag === undefined) {\n continue;\n }\n if (new SpagHelper(spag).isDuplicateName(name, c.getFirstToken().getStart())) {\n this.renameVariable(spag, name, c.getFirstToken().getStart(), lowFile, highSyntax);\n }\n const found = spag.findVariable(name);\n if (found === undefined) {\n const source = f.findFirstExpression(Expressions.Source);\n if (source) {\n ret += indentation + \"DATA(\" + name + `) = ${source.concatTokens()}.\\n`;\n }\n continue;\n }\n const type = found.getType().getQualifiedName() ? (_a = found.getType().getQualifiedName()) === null || _a === void 0 ? void 0 : _a.toLowerCase() : found.getType().toABAP();\n ret += indentation + \"DATA \" + name + ` TYPE ${type}.\\n`;\n const source = f.findFirstExpression(Expressions.Source);\n if (source) {\n ret += indentation + name + ` = ${source.concatTokens()}.\\n`;\n }\n }\n return ret;\n }\n renameVariable(spag, name, pos, lowFile, highSyntax) {\n const newName = this.uniqueName(pos, lowFile.getFilename(), highSyntax);\n const fix = new SpagHelper(spag).renameVariable(name, pos, lowFile, newName);\n const issue = issue_1.Issue.atPosition(lowFile, pos, \"Rename before outline\", this.getMetadata().key, this.conf.severity, fix);\n throw new SkipToNextFile(issue);\n }\n findType(i, lowFile, highSyntax, ref = false) {\n var _a;\n const expr = i.findDirectExpression(Expressions.TypeNameOrInfer);\n if (expr === undefined) {\n return undefined;\n }\n const firstToken = expr.getFirstToken();\n const concat = expr.concatTokens().toLowerCase();\n if (concat !== \"#\") {\n return ref ? \"REF TO \" + concat : concat;\n }\n const spag = highSyntax.spaghetti.lookupPosition(firstToken.getStart(), lowFile.getFilename());\n if (spag === undefined) {\n return undefined;\n }\n let inferred = undefined;\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if (r.referenceType === _reference_1.ReferenceType.InferredType\n && r.resolved\n && r.position.getStart().equals(firstToken.getStart())\n && r.resolved instanceof _typed_identifier_1.TypedIdentifier) {\n inferred = r.resolved;\n break;\n }\n }\n if (inferred === undefined) {\n return undefined;\n }\n if (inferred.getType() instanceof basic_1.ObjectReferenceType) {\n return inferred.getType().toABAP();\n }\n else {\n return (_a = inferred.getType().getQualifiedName()) === null || _a === void 0 ? void 0 : _a.toLowerCase();\n }\n }\n outlineFS(low, high, lowFile, highSyntax) {\n var _a, _b;\n if (!(low.get() instanceof _statement_1.Unknown)\n || (high.get() instanceof Statements.Loop)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.InlineFS)) {\n const nameToken = (_a = i.findDirectExpression(Expressions.TargetFieldSymbol)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (nameToken === undefined) {\n continue;\n }\n const name = nameToken.getStr();\n let type = \"\";\n if (high.concatTokens().toUpperCase().startsWith(\"APPEND INITIAL LINE TO \")) {\n type = \"LIKE LINE OF \" + ((_b = high.findFirstExpression(Expressions.Target)) === null || _b === void 0 ? void 0 : _b.concatTokens());\n }\n else {\n const spag = highSyntax.spaghetti.lookupPosition(nameToken.getStart(), lowFile.getFilename());\n if (spag === undefined) {\n continue;\n }\n const found = spag.findVariable(name);\n if (found === undefined) {\n continue;\n }\n else if (found.getType() instanceof basic_1.VoidType) {\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Error outlining voided type\", this.getMetadata().key, this.conf.severity);\n }\n type = \"TYPE \";\n type += found.getType().getQualifiedName() ? found.getType().getQualifiedName().toLowerCase() : found.getType().toABAP();\n }\n const code = `FIELD-SYMBOLS ${name} ${type}.\\n` +\n \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), i.getLastToken().getEnd(), name);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Outline FIELD-SYMBOL\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineData(node, lowFile, highSyntax) {\n // hmm, no guard here, as DATA(SDF) is valid in 702\n var _a, _b;\n for (const i of node.findAllExpressionsRecursive(Expressions.InlineData)) {\n const nameToken = (_a = i.findDirectExpression(Expressions.TargetField)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (nameToken === undefined) {\n continue;\n }\n const name = nameToken.getStr();\n const spag = highSyntax.spaghetti.lookupPosition(nameToken.getStart(), lowFile.getFilename());\n if (spag === undefined) {\n continue;\n }\n const found = spag.findVariable(name);\n if (found === undefined) {\n continue;\n }\n else if (found.getType() instanceof basic_1.VoidType && found.getType().getQualifiedName() === undefined) {\n continue;\n }\n let type = found.getType().getQualifiedName()\n ? (_b = found.getType().getQualifiedName()) === null || _b === void 0 ? void 0 : _b.toLowerCase()\n : found.getType().toABAP();\n if (found.getType() instanceof basic_1.ObjectReferenceType) {\n type = found.getType().toABAP();\n }\n if (type === \"\") {\n continue;\n }\n const code = `DATA ${name} TYPE ${type}.\\n` +\n \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), i.getLastToken().getEnd(), name);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Outline DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineCond(low, high, lowFile, highSyntax) {\n var _a, _b;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {\n if (i.getFirstToken().getStr().toUpperCase() !== \"COND\") {\n continue;\n }\n const body = i.findDirectExpression(Expressions.CondBody);\n if (body === undefined) {\n continue;\n }\n const uniqueName = this.uniqueName(i.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n let type = this.findType(i, lowFile, highSyntax);\n if (type === undefined) {\n if (high.get() instanceof Statements.Move\n && high.findDirectExpression(Expressions.Source) === i\n && ((_a = high.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.TargetField)) !== undefined) {\n type = \"LIKE \" + ((_b = high.findDirectExpression(Expressions.Target)) === null || _b === void 0 ? void 0 : _b.concatTokens());\n }\n if (type === undefined) {\n continue;\n }\n }\n else {\n type = \"TYPE \" + type;\n }\n const indent = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const bodyCode = this.buildCondBody(body, uniqueName, indent, lowFile, highSyntax);\n const last = i.findDirectTokenByText(\")\");\n const abap = `DATA ${uniqueName} ${type}.\\n` + bodyCode;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), last.getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Downport COND\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n buildCondBody(body, uniqueName, indent, lowFile, highSyntax) {\n let code = \"\";\n let first = true;\n let addElse = true;\n for (const c of body.getChildren()) {\n if (c instanceof nodes_1.TokenNode) {\n switch (c.getFirstToken().getStr().toUpperCase()) {\n case \"WHEN\":\n if (first === true) {\n code += indent + \"IF \";\n first = false;\n }\n else {\n code += indent + \"ELSEIF \";\n }\n break;\n case \"THEN\":\n code += \".\\n\";\n break;\n case \"ELSE\":\n code += indent + \"ELSE.\\n\";\n addElse = false;\n break;\n default:\n throw \"buildCondBody, unexpected token\";\n }\n }\n else if (c.get() instanceof Expressions.Cond) {\n code += c.concatTokens();\n }\n else if (c.get() instanceof Expressions.Let) {\n code += this.outlineLet(c, indent, highSyntax, lowFile);\n }\n else if (c.get() instanceof Expressions.Source) {\n code += indent + \" \" + uniqueName + \" = \" + c.concatTokens() + \".\\n\";\n }\n else if (c.get() instanceof Expressions.Throw) {\n code += indent + \" \" + c.concatTokens().replace(/THROW /i, \"RAISE EXCEPTION NEW \") + \".\\n\";\n }\n else {\n throw \"buildCondBody, unexpected expression, \" + c.get().constructor.name;\n }\n }\n if (addElse) {\n // COND might be called inside a loop\n code += indent + \"ELSE.\\n\";\n code += indent + ` CLEAR ${uniqueName}.\\n`;\n }\n code += indent + \"ENDIF.\\n\";\n code += indent;\n return code;\n }\n outlineConv(low, high, lowFile, highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {\n if (i.getFirstToken().getStr().toUpperCase() !== \"CONV\") {\n continue;\n }\n const end = i.findDirectTokenByText(\")\");\n if (end === undefined) {\n continue;\n }\n const body = (_a = i.findDirectExpression(Expressions.ConvBody)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (body === undefined) {\n continue;\n }\n const uniqueName = this.uniqueName(i.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const type = this.findType(i, lowFile, highSyntax);\n const indent = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const abap = `DATA ${uniqueName} TYPE ${type}.\\n` +\n indent + `${uniqueName} = ${body}.\\n` +\n indent;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), end.getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Downport CONV\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n // \"CAST\" to \"?=\"\n outlineCast(low, high, lowFile, highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Cast)) {\n const uniqueName = this.uniqueName(i.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const type = this.findType(i, lowFile, highSyntax, true);\n const body = (_a = i.findDirectExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n const abap = `DATA ${uniqueName} TYPE ${type}.\\n` +\n \" \".repeat(high.getFirstToken().getStart().getCol() - 1) +\n `${uniqueName} ?= ${body}.\\n` +\n \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), i.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Downport CAST\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n uniqueName(position, filename, highSyntax) {\n const spag = highSyntax.spaghetti.lookupPosition(position, filename);\n if (spag === undefined) {\n const name = \"temprr\" + this.counter;\n this.counter++;\n return name;\n }\n while (true) {\n const name = \"temp\" + this.counter;\n const exists = this.existsRecursive(spag, name);\n this.counter++;\n if (exists === false) {\n return name;\n }\n }\n }\n existsRecursive(spag, name) {\n const existsDirect = spag.findVariable(name);\n if (existsDirect) {\n return true;\n }\n for (const child of spag.getChildren()) {\n if (child.findVariable(name) || this.existsRecursive(child, name)) {\n return true;\n }\n }\n return false;\n }\n replaceXsdBool(node, lowFile, highSyntax) {\n const spag = highSyntax.spaghetti.lookupPosition(node.getFirstToken().getStart(), lowFile.getFilename());\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if (r.referenceType === _reference_1.ReferenceType.BuiltinMethodReference\n && r.position.getName().toUpperCase() === \"XSDBOOL\") {\n const token = r.position.getToken();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, token.getStart(), token.getEnd(), \"boolc\");\n return issue_1.Issue.atToken(lowFile, token, \"Use BOOLC\", this.getMetadata().key, this.conf.severity, fix);\n }\n }\n return undefined;\n }\n findMethodCallExpression(node, token) {\n var _a;\n for (const m of node.findAllExpressions(Expressions.MethodCall)) {\n if ((_a = m.findDirectExpression(Expressions.MethodName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStart().equals(token.getStart())) {\n return m;\n }\n }\n return undefined;\n }\n replaceMethodConditional(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const c of high.findAllExpressionsRecursive(Expressions.Compare)) {\n const chain = c.findDirectExpression(Expressions.MethodCallChain);\n if (chain === undefined) {\n continue;\n }\n const concat = chain.concatTokens().toUpperCase();\n if (concat.startsWith(\"LINE_EXISTS( \") || concat.startsWith(\"LINE_INDEX( \")) {\n // these are handled separately\n continue;\n }\n let predicate = false;\n const spag = highSyntax.spaghetti.lookupPosition(high.getFirstToken().getStart(), lowFile.getFilename());\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if (r.referenceType === _reference_1.ReferenceType.BuiltinMethodReference &&\n new _builtin_1.BuiltIn().isPredicate(chain.getFirstToken().getStr().toUpperCase())) {\n predicate = true;\n break;\n }\n }\n const end = chain.getLastToken().getEnd();\n let fix = edit_helper_1.EditHelper.insertAt(lowFile, end, \" IS NOT INITIAL\");\n if (predicate === true) {\n fix = edit_helper_1.EditHelper.insertAt(lowFile, end, \" ) = abap_true\");\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, chain.getFirstToken().getStart(), \"boolc( \");\n fix = edit_helper_1.EditHelper.merge(fix, fix1);\n }\n return issue_1.Issue.atToken(lowFile, chain.getFirstToken(), \"Downport method conditional\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n getReference(node, lowFile, _highSyntax) {\n var _a, _b, _c;\n if (!(node.get() instanceof Statements.GetReference)) {\n return undefined;\n }\n const inline = (_a = node.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.InlineData);\n if (inline === undefined) {\n return undefined;\n }\n const targetName = (_b = inline.findDirectExpression(Expressions.TargetField)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n const sourceName = (_c = node.findDirectExpression(Expressions.Source)) === null || _c === void 0 ? void 0 : _c.concatTokens();\n if (targetName === undefined || sourceName === undefined) {\n return undefined;\n }\n const code = `DATA ${targetName} LIKE REF TO ${sourceName}.\\n`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, inline.getFirstToken().getStart(), inline.getLastToken().getEnd(), targetName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, inline.getFirstToken(), \"Downport, outline DATA ref\", this.getMetadata().key, this.conf.severity, fix);\n }\n replaceContains(node, lowFile, highSyntax) {\n const spag = highSyntax.spaghetti.lookupPosition(node.getFirstToken().getStart(), lowFile.getFilename());\n // only downport if its an single method call condition\n let found = false;\n for (const c of node.findAllExpressionsRecursive(Expressions.Compare)) {\n found = c.findDirectExpression(Expressions.MethodCallChain) !== undefined;\n if (found === true) {\n break;\n }\n }\n if (found === false) {\n return undefined;\n }\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if (r.referenceType !== _reference_1.ReferenceType.BuiltinMethodReference) {\n continue;\n }\n const func = r.position.getName().toUpperCase();\n if (func === \"CONTAINS\") {\n const token = r.position.getToken();\n const expression = this.findMethodCallExpression(node, token);\n if (expression === undefined) {\n continue;\n }\n const sList = expression.findAllExpressions(Expressions.Source).map(e => e.concatTokens());\n if (sList.length !== 2) {\n continue;\n }\n const code = sList[0] + \" CS \" + sList[1];\n const start = expression.getFirstToken().getStart();\n const end = expression.getLastToken().getEnd();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, token, \"Downport contains()\", this.getMetadata().key, this.conf.severity, fix);\n }\n }\n return undefined;\n }\n replaceLineFunctions(node, lowFile, highSyntax, highFile) {\n var _a, _b;\n const spag = highSyntax.spaghetti.lookupPosition(node.getFirstToken().getStart(), lowFile.getFilename());\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if (r.referenceType !== _reference_1.ReferenceType.BuiltinMethodReference) {\n continue;\n }\n const func = r.position.getName().toUpperCase();\n if (func === \"LINE_EXISTS\" || func === \"LINE_INDEX\") {\n const token = r.position.getToken();\n const expression = this.findMethodCallExpression(node, token);\n if (expression === undefined) {\n continue;\n }\n let condition = \"\";\n for (const c of ((_a = expression === null || expression === void 0 ? void 0 : expression.findFirstExpression(Expressions.TableExpression)) === null || _a === void 0 ? void 0 : _a.getChildren()) || []) {\n if (c.getFirstToken().getStr() === \"[\" || c.getFirstToken().getStr() === \"]\") {\n continue;\n }\n else if (c.get() instanceof Expressions.ComponentChainSimple && condition === \"\") {\n condition = \"WITH KEY \";\n }\n else if (c.get() instanceof Expressions.Source && condition === \"\") {\n condition = \"INDEX \";\n }\n condition += c.concatTokens() + \" \";\n }\n const tableName = (_b = expression.findFirstExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.concatTokens().split(\"[\")[0];\n const uniqueName = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const sy = func === \"LINE_EXISTS\" ? \"sy-subrc\" : \"sy-tabix\";\n const code = `DATA ${uniqueName} LIKE sy-subrc.\\n` +\n indentation + `READ TABLE ${tableName} ${condition}TRANSPORTING NO FIELDS.\\n` +\n indentation + uniqueName + ` = ${sy}.\\n` +\n indentation;\n let insertAt = node.getFirstToken().getStart();\n if (node.get() instanceof statements_1.ElseIf) {\n // assumption: no side effects in IF conditions\n insertAt = this.findStartOfIf(node, highFile);\n if (insertAt === undefined) {\n continue;\n }\n }\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, insertAt, code);\n const start = expression.getFirstToken().getStart();\n const end = expression.getLastToken().getEnd();\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, uniqueName + (func === \"LINE_EXISTS\" ? \" = 0\" : \"\"));\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, token, \"Replace line function\", this.getMetadata().key, this.conf.severity, fix);\n }\n }\n return undefined;\n }\n findStartOfIf(node, highFile) {\n const structure = highFile.getStructure();\n for (const c of (structure === null || structure === void 0 ? void 0 : structure.findAllStructuresRecursive(Structures.If)) || []) {\n for (const ei of c.findDirectStructures(Structures.ElseIf)) {\n if (ei.getFirstStatement() === node) {\n return c.getFirstToken().getStart();\n }\n }\n }\n return undefined;\n }\n newToCreateObject(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n const source = high.findDirectExpression(Expressions.Source);\n let fix = undefined;\n if (high.get() instanceof Statements.Move\n && source\n && source.getFirstToken().getStr().toUpperCase() === \"NEW\") {\n const target = high.findDirectExpression(Expressions.Target);\n const found = source === null || source === void 0 ? void 0 : source.findFirstExpression(Expressions.NewObject);\n // must be at top level of the source for quickfix to work(todo: handle more scenarios)\n if (target\n && found\n && source.concatTokens() === found.concatTokens()\n && target.findDirectExpression(Expressions.InlineData) === undefined) {\n const abap = this.newParameters(found, target.concatTokens(), highSyntax, lowFile);\n if (abap !== undefined) {\n fix = edit_helper_1.EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), abap);\n }\n }\n }\n if (fix === undefined && high.findAllExpressions(Expressions.NewObject)) {\n const found = high.findFirstExpression(Expressions.NewObject);\n if (found === undefined) {\n return undefined;\n }\n const name = this.uniqueName(found.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const abap = this.newParameters(found, name, highSyntax, lowFile);\n if (abap === undefined) {\n return undefined;\n }\n const type = this.findType(found, lowFile, highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const data = `DATA ${name} TYPE REF TO ${type}.\\n` +\n indentation + abap + \"\\n\" +\n indentation;\n if (found.getFirstToken().getStart().equals(high.getFirstToken().getStart())\n && found.getLastToken().getEnd().equals(high.getLastToken().getStart())) {\n // full statement = standalone NEW expression\n fix = edit_helper_1.EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), abap);\n }\n else {\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), data);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, found.getFirstToken().getStart(), found.getLastToken().getEnd(), name);\n fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n }\n }\n if (fix) {\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Use CREATE OBJECT instead of NEW\", this.getMetadata().key, this.conf.severity, fix);\n }\n else {\n return undefined;\n }\n }\n newParameters(found, name, highSyntax, lowFile) {\n var _a, _b, _c;\n const typeToken = (_a = found.findDirectExpression(Expressions.TypeNameOrInfer)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n let extra = (typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStr()) === \"#\" ? \"\" : \" TYPE \" + (typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStr());\n const parameters = found.findFirstExpression(Expressions.ParameterListS);\n if (parameters) {\n extra = parameters ? extra + \" EXPORTING \" + parameters.concatTokens() : extra;\n }\n else if (typeToken) {\n const source = (_b = found.findDirectExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (source) {\n // find the default parameter name for the constructor\n const spag = highSyntax.spaghetti.lookupPosition(typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStart(), lowFile.getFilename());\n let cdef = undefined;\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if ((r.referenceType === _reference_1.ReferenceType.InferredType\n || r.referenceType === _reference_1.ReferenceType.ObjectOrientedReference)\n && r.resolved && r.position.getStart().equals(typeToken.getStart())) {\n cdef = r.resolved;\n }\n }\n if (cdef && cdef.getMethodDefinitions === undefined) {\n return undefined; // something wrong\n }\n const importing = (_c = cdef === null || cdef === void 0 ? void 0 : cdef.getMethodDefinitions().getByName(\"CONSTRUCTOR\")) === null || _c === void 0 ? void 0 : _c.getParameters().getDefaultImporting();\n if (importing) {\n extra += \" EXPORTING \" + importing + \" = \" + source;\n }\n else if (spag === undefined) {\n extra += \" SpagUndefined\";\n }\n else if (cdef === undefined) {\n extra += \" ClassDefinitionNotFound\";\n }\n else {\n extra += \" SomeError\";\n }\n }\n }\n const abap = `CREATE OBJECT ${name}${extra}.`;\n return abap;\n }\n}\nexports.Downport = Downport;\n//# sourceMappingURL=downport.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/downport.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EasyToFindMessages = exports.EasyToFindMessagesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass EasyToFindMessagesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.EasyToFindMessagesConf = EasyToFindMessagesConf;\nclass EasyToFindMessages {\n constructor() {\n this.conf = new EasyToFindMessagesConf();\n }\n getMetadata() {\n return {\n key: \"easy_to_find_messages\",\n title: \"Easy to find messages\",\n shortDescription: `Make messages easy to find`,\n extendedInformation: `All messages must be statically referenced exactly once\r\n\r\nOnly MESSAGE and RAISE statments are counted as static references\r\n\r\nAlso see rule \"message_exists\"\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#make-messages-easy-to-find`,\n tags: [_irule_1.RuleTag.Styleguide],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.msagReferences = reg.getMSAGReferences();\n // the SyntaxLogic builds the references\n for (const obj of reg.getObjects()) {\n if (obj instanceof _abap_object_1.ABAPObject) {\n new syntax_1.SyntaxLogic(reg, obj).run();\n }\n }\n return this;\n }\n run(object) {\n const issues = [];\n if (object.getType() === \"MSAG\") {\n const msag = object;\n for (const message of msag.getMessages()) {\n const where = this.msagReferences.listByMessage(msag.getName().toUpperCase(), message.getNumber());\n if (where.length === 0) {\n const text = `Message ${message.getNumber()} not statically referenced`;\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(object.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n else if (where.length >= 2) {\n const text = `Message ${message.getNumber()} referenced more than once`;\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(object.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n}\nexports.EasyToFindMessages = EasyToFindMessages;\n//# sourceMappingURL=easy_to_find_messages.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EmptyLineinStatement = exports.EmptyLineinStatementConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass EmptyLineinStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allow changed empty lines in chanined statements */\n this.allowChained = false;\n }\n}\nexports.EmptyLineinStatementConf = EmptyLineinStatementConf;\nclass EmptyLineinStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new EmptyLineinStatementConf();\n }\n getMetadata() {\n return {\n key: \"empty_line_in_statement\",\n title: \"Find empty lines in statements\",\n shortDescription: `Checks that statements do not contain empty lines.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-obsess-with-separating-blank-lines\r\n\r\nhttps://docs.abapopenchecks.org/checks/41/`,\n tags: [_irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n badExample: `WRITE\\n\\nhello.`,\n goodExample: `WRITE hello.`,\n };\n }\n getMessage() {\n return \"Remove empty line in statement\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const s of file.getStatements()) {\n if (s.get() instanceof _statement_1.Unknown\n || s.get() instanceof _statement_1.NativeSQL) {\n return []; // skip the file if there are parser errors or native/sqlscript\n }\n }\n let prevLine = undefined;\n for (const t of file.getTokens()) {\n if (prevLine === undefined && t instanceof tokens_1.Comment) {\n continue;\n }\n else if (prevLine === undefined) {\n prevLine = t.getRow();\n }\n if (prevLine && t.getRow() - prevLine >= 2) {\n const fix = edit_helper_1.EditHelper.deleteRange(file, new position_1.Position(prevLine + 1, 1), t.getStart());\n const issue = issue_1.Issue.atToken(file, t, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n if (t instanceof tokens_1.Punctuation && t.getStr() === \".\") {\n prevLine = undefined;\n }\n else if (this.conf.allowChained === true && t instanceof tokens_1.Punctuation && t.getStr() === \",\") {\n prevLine = undefined;\n }\n else {\n prevLine = t.getRow();\n }\n }\n return issues;\n }\n}\nexports.EmptyLineinStatement = EmptyLineinStatement;\n//# sourceMappingURL=empty_line_in_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_statement.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_statement.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EmptyStatement = exports.EmptyStatementConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass EmptyStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.EmptyStatementConf = EmptyStatementConf;\nclass EmptyStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new EmptyStatementConf();\n }\n getMetadata() {\n return {\n key: \"empty_statement\",\n title: \"Remove empty statement\",\n shortDescription: `Checks for empty statements (an empty statement is a single dot)`,\n tags: [_irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const statements = file.getStatements();\n let previousEnd = new position_1.Position(1, 1);\n for (const sta of statements) {\n if (sta.get() instanceof _statement_1.Empty) {\n const token = sta.getFirstToken();\n const fix = edit_helper_1.EditHelper.deleteRange(file, previousEnd, token.getEnd());\n const issue = issue_1.Issue.atStatement(file, sta, \"Remove empty statement\", this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n previousEnd = sta.getLastToken().getEnd();\n }\n return issues;\n }\n}\nexports.EmptyStatement = EmptyStatement;\n//# sourceMappingURL=empty_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_statement.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_structure.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_structure.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EmptyStructure = exports.EmptyStructureConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass EmptyStructureConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Checks for empty LOOP blocks */\n this.loop = true;\n /** Checks for empty IF blocks */\n this.if = true;\n /** Checks for empty WHILE blocks */\n this.while = true;\n /** Checks for empty CASE blocks */\n this.case = true;\n /** Checks for empty SELECT blockss */\n this.select = true;\n /** Checks for empty DO blocks */\n this.do = true;\n /** Checks for empty AT blocks */\n this.at = true;\n /** Checks for empty TRY blocks */\n this.try = true;\n /** Checks for empty WHEN blocks */\n this.when = true;\n // todo, other category containing ELSE\n }\n}\nexports.EmptyStructureConf = EmptyStructureConf;\nclass EmptyStructure extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new EmptyStructureConf();\n }\n getMetadata() {\n return {\n key: \"empty_structure\",\n title: \"Find empty blocks\",\n shortDescription: `Checks that the code does not contain empty blocks.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#no-empty-if-branches`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(name) {\n return \"Empty block, add code: \" + name;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n const candidates = [];\n if (this.getConfig().loop === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.Loop));\n }\n if (this.getConfig().while === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.While));\n }\n if (this.getConfig().case === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.Case));\n }\n if (this.getConfig().select === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.Select));\n }\n if (this.getConfig().do === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.Do));\n }\n if (this.getConfig().at === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.At));\n candidates.push(...stru.findAllStructuresRecursive(Structures.AtFirst));\n candidates.push(...stru.findAllStructuresRecursive(Structures.AtLast));\n }\n for (const l of candidates) {\n if (l.getChildren().length === 2) {\n const token = l.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getDescription(l.get().constructor.name), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.getConfig().try === true) {\n const tries = stru.findAllStructuresRecursive(Structures.Try);\n for (const t of tries) {\n const normal = t.findDirectStructure(Structures.Body);\n if (normal === undefined) {\n const token = t.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getDescription(t.get().constructor.name), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n if (this.getConfig().if === true) {\n const tries = stru.findAllStructuresRecursive(Structures.If)\n .concat(stru.findAllStructuresRecursive(Structures.Else))\n .concat(stru.findAllStructuresRecursive(Structures.ElseIf));\n for (const t of tries) {\n const normal = t.findDirectStructure(Structures.Body);\n if (normal === undefined) {\n const token = t.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getDescription(t.get().constructor.name), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n if (this.getConfig().when === true) {\n const tries = stru.findAllStructuresRecursive(Structures.When);\n for (const t of tries) {\n if (t.getChildren().length === 1) {\n const token = t.getFirstToken();\n const message = this.getDescription(t.get().constructor.name);\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n}\nexports.EmptyStructure = EmptyStructure;\n//# sourceMappingURL=empty_structure.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_structure.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/exit_or_check.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/exit_or_check.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExitOrCheck = exports.ExitOrCheckConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass ExitOrCheckConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.allowExit = false;\n this.allowCheck = false;\n }\n}\nexports.ExitOrCheckConf = ExitOrCheckConf;\nclass ExitOrCheck extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ExitOrCheckConf();\n }\n getMetadata() {\n return {\n key: \"exit_or_check\",\n title: \"Find EXIT or CHECK outside loops\",\n shortDescription: `Detects usages of EXIT or CHECK statements outside of loops.\r\nUse RETURN to leave procesing blocks instead.`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abenleave_processing_blocks.htm\r\nhttps://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abapcheck_processing_blocks.htm\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#check-vs-return`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stack = [];\n for (const statement of file.getStatements()) {\n const get = statement.get();\n if (get instanceof Statements.Loop\n || get instanceof Statements.While\n || get instanceof Statements.LoopAtScreen\n || get instanceof Statements.SelectLoop\n || get instanceof Statements.Do) {\n stack.push(statement);\n }\n else if (get instanceof Statements.EndLoop\n || get instanceof Statements.EndWhile\n || get instanceof Statements.EndSelect\n || get instanceof Statements.EndDo) {\n stack.pop();\n }\n else if (this.conf.allowCheck === false && get instanceof Statements.Check && stack.length === 0) {\n const message = \"CHECK is not allowed outside of loops\";\n let tokensString = statement.concatTokens();\n tokensString = tokensString.slice(statement.getFirstToken().getEnd().getCol());\n const replacement = \"IF NOT \" + tokensString + \"\\n RETURN.\\nENDIF.\";\n const fix = edit_helper_1.EditHelper.replaceRange(file, statement.getFirstToken().getStart(), statement.getLastToken().getEnd(), replacement);\n const issue = issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n else if (this.conf.allowExit === false && get instanceof Statements.Exit && stack.length === 0) {\n const message = \"EXIT is not allowed outside of loops\";\n const fix = edit_helper_1.EditHelper.replaceToken(file, statement.getFirstToken(), \"RETURN\");\n const issue = issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.ExitOrCheck = ExitOrCheck;\n//# sourceMappingURL=exit_or_check.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/exit_or_check.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/expand_macros.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/expand_macros.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExpandMacros = exports.ExpandMacrosConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass ExpandMacrosConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ExpandMacrosConf = ExpandMacrosConf;\nclass ExpandMacros extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ExpandMacrosConf();\n }\n getMetadata() {\n return {\n key: \"expand_macros\",\n title: \"Expand Macros\",\n shortDescription: `Allows expanding macro calls with quick fixes`,\n extendedInformation: `Macros: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abenmacros_guidl.htm\r\n\r\nNote that macros/DEFINE cannot be used in the ABAP Cloud programming model`,\n badExample: `DEFINE _hello.\r\n WRITE 'hello'.\r\nEND-OF-DEFINITION.\r\n_hello.`,\n goodExample: `WRITE 'hello'.`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Upport],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const message = \"Expand macro call\";\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const statementNode = statements[i];\n const statement = statementNode.get();\n if (!(statement instanceof _statement_1.MacroCall)) {\n continue;\n }\n let replace = \"\";\n for (let j = i + 1; j < statements.length; j++) {\n const sub = statements[j];\n if (sub.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n if (sub.get() instanceof _statement_1.MacroCall) {\n continue;\n }\n if (replace !== \"\") {\n replace += \"\\n\";\n }\n replace += sub.concatTokensVirtual();\n }\n else {\n break;\n }\n }\n if (statementNode.getColon()) {\n replace += \"\\n\";\n }\n const fix1 = edit_helper_1.EditHelper.deleteStatement(file, statementNode);\n const fix2 = edit_helper_1.EditHelper.insertAt(file, statementNode.getStart(), replace);\n const fix = edit_helper_1.EditHelper.merge(fix1, fix2);\n issues.push(issue_1.Issue.atStatement(file, statementNode, message, this.getMetadata().key, this.conf.severity, fix));\n // only one fix at a time per file\n break;\n }\n return issues;\n }\n}\nexports.ExpandMacros = ExpandMacros;\n//# sourceMappingURL=expand_macros.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/expand_macros.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/exporting.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/exporting.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Exporting = exports.ExportingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass ExportingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ExportingConf = ExportingConf;\nclass Exporting extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ExportingConf();\n }\n getMetadata() {\n return {\n key: \"exporting\",\n title: \"EXPORTING can be omitted\",\n shortDescription: `Detects EXPORTING statements which can be omitted.`,\n badExample: `call_method( EXPORTING foo = bar ).`,\n goodExample: `call_method( foo = bar ).`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-the-optional-keyword-exporting\r\nhttps://docs.abapopenchecks.org/checks/30/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"The EXPORTING keyword can be omitted\";\n }\n runParsed(file, obj) {\n let issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n for (const statement of file.getStatements()) {\n const expressions = statement.findAllExpressionsMulti([expressions_1.MethodCallBody, expressions_1.MethodCall]);\n for (const b of expressions) {\n if (b.get() instanceof expressions_1.MethodCallBody) {\n if (b.getFirstToken().getStr() !== \"(\") {\n continue;\n }\n issues = issues.concat(this.check(b, file));\n }\n else if (b.get() instanceof expressions_1.MethodCall) {\n issues = issues.concat(this.check(b, file));\n }\n }\n }\n return issues;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n check(node, file) {\n const e = node.findFirstExpression(expressions_1.MethodParameters);\n if (e === undefined) {\n return [];\n }\n if (e.getFirstToken().getStr().toUpperCase() !== \"EXPORTING\") {\n return [];\n }\n const tokens = e.getDirectTokens();\n const strings = tokens.map(t => t.getStr().toUpperCase());\n if (strings[0] === \"EXPORTING\"\n && strings.includes(\"IMPORTING\") === false\n && strings.includes(\"RECEIVING\") === false\n && strings.includes(\"EXCEPTIONS\") === false\n && strings.includes(\"CHANGING\") === false) {\n const next = e.getAllTokens()[1];\n const fix = edit_helper_1.EditHelper.deleteRange(file, tokens[0].getStart(), next.getStart());\n const issue = issue_1.Issue.atToken(file, tokens[0], this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n return [issue];\n }\n return [];\n }\n}\nexports.Exporting = Exporting;\n//# sourceMappingURL=exporting.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/exporting.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_identifier.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_identifier.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ForbiddenIdentifier = exports.ForbiddenIdentifierConf = void 0;\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ForbiddenIdentifierConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** List of forbideen identifiers, array of string regex\n * @uniqueItems true\n */\n this.check = [];\n }\n}\nexports.ForbiddenIdentifierConf = ForbiddenIdentifierConf;\nclass ForbiddenIdentifier extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ForbiddenIdentifierConf();\n }\n getMetadata() {\n return {\n key: \"forbidden_identifier\",\n title: \"Forbidden Identifier\",\n shortDescription: `Forbid use of specified identifiers, list of regex.`,\n extendedInformation: `Used in the transpiler to find javascript keywords in ABAP identifiers,\r\nhttps://github.com/abaplint/transpiler/blob/bda94b8b56e2b7f2f87be2168f12361aa530220e/packages/transpiler/src/validation.ts#L44`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.check === undefined) {\n this.conf.check = [];\n }\n }\n runParsed(file) {\n if (this.conf.check.length === 0) {\n return [];\n }\n let ret = [];\n for (const s of file.getStatements()) {\n ret = ret.concat(this.traverse(s, file));\n }\n return ret;\n }\n traverse(node, file) {\n let ret = [];\n for (const c of node.getChildren()) {\n if (c instanceof nodes_1.TokenNodeRegex) {\n ret = ret.concat(this.check(c.get(), file));\n }\n else if (c instanceof nodes_1.TokenNode) {\n continue;\n }\n else {\n ret = ret.concat(this.traverse(c, file));\n }\n }\n return ret;\n }\n check(token, file) {\n const str = token.getStr();\n const ret = [];\n for (const c of this.conf.check) {\n const reg = new RegExp(c, \"i\");\n if (reg.exec(str)) {\n const message = \"Identifer \\\"\" + str + \"\\\" not allowed\";\n ret.push(issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return ret;\n }\n}\nexports.ForbiddenIdentifier = ForbiddenIdentifier;\n//# sourceMappingURL=forbidden_identifier.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_identifier.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_pseudo_and_pragma.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_pseudo_and_pragma.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ForbiddenPseudoAndPragma = exports.ForbiddenPseudoAndPragmaConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass ForbiddenPseudoAndPragmaConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** @uniqueItems true */\n this.pseudo = [`\"#EC *`];\n /** @uniqueItems true */\n this.pragmas = [];\n this.ignoreGlobalClassDefinition = false;\n this.ignoreGlobalInterface = false;\n }\n}\nexports.ForbiddenPseudoAndPragmaConf = ForbiddenPseudoAndPragmaConf;\nclass ForbiddenPseudoAndPragma extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ForbiddenPseudoAndPragmaConf();\n }\n getMetadata() {\n return {\n key: \"forbidden_pseudo_and_pragma\",\n title: \"Forbidden pseudo comments and pragma\",\n shortDescription: `Checks for unwanted pseudo comments and pragma`,\n tags: [_irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `DATA i TYPE i. \"#EC *`,\n goodExample: `DATA i TYPE i.`,\n };\n }\n getConfig() {\n // @ts-ignore\n if (this.conf === true) {\n this.conf = new ForbiddenPseudoAndPragmaConf();\n }\n if (this.conf.pseudo === undefined) {\n this.conf.pseudo = [];\n }\n if (this.conf.pragmas === undefined) {\n this.conf.pragmas = [];\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n // todo, this method could use some refactoring\n // note that the top loop is on the configuration, which makes the default config run fast\n runParsed(file) {\n let skip = false;\n const issues = [];\n for (const p of this.conf.pragmas) {\n for (const s of file.getStatements()) {\n if (this.conf.ignoreGlobalClassDefinition === true) {\n if (s.get() instanceof Statements.ClassDefinition\n && s.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && s.get() instanceof Statements.EndClass) {\n skip = false;\n continue;\n }\n }\n if (this.conf.ignoreGlobalInterface === true) {\n if (s.get() instanceof Statements.Interface\n && s.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && s.get() instanceof Statements.EndInterface) {\n skip = false;\n continue;\n }\n }\n if (skip === true) {\n continue;\n }\n const list = s.getPragmas();\n const found = list.find((a) => a.getStr().toUpperCase() === p.toUpperCase());\n if (found) {\n const fix = edit_helper_1.EditHelper.deleteToken(file, found);\n const message = \"Forbidden pragma\";\n issues.push(issue_1.Issue.atToken(file, found, message, this.getMetadata().key, this.conf.severity, fix));\n }\n }\n }\n skip = false;\n for (const p of this.conf.pseudo) {\n for (const s of file.getStatements()) {\n if (this.conf.ignoreGlobalClassDefinition === true) {\n if (s.get() instanceof Statements.ClassDefinition\n && s.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && s.get() instanceof Statements.EndClass) {\n skip = false;\n continue;\n }\n }\n if (this.conf.ignoreGlobalInterface === true) {\n if (s.get() instanceof Statements.Interface\n && s.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && s.get() instanceof Statements.EndInterface) {\n skip = false;\n continue;\n }\n }\n if (skip === true) {\n continue;\n }\n if (!(s.get() instanceof _statement_1.Comment)) {\n continue;\n }\n if (s.concatTokens().toUpperCase().includes(p.toUpperCase())) {\n const fix = edit_helper_1.EditHelper.deleteStatement(file, s);\n const message = \"Forbidden pseudo comment\";\n issues.push(issue_1.Issue.atStatement(file, s, message, this.getMetadata().key, this.conf.severity, fix));\n }\n }\n }\n return issues;\n }\n}\nexports.ForbiddenPseudoAndPragma = ForbiddenPseudoAndPragma;\n//# sourceMappingURL=forbidden_pseudo_and_pragma.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_pseudo_and_pragma.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_void_type.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_void_type.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ForbiddenVoidType = exports.ForbiddenVoidTypeConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst void_type_1 = __webpack_require__(/*! ../abap/types/basic/void_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/void_type.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass ForbiddenVoidTypeConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** List of forbidden void types, array of string regex, case in-sensitive\n * @uniqueItems true\n */\n this.check = [];\n }\n}\nexports.ForbiddenVoidTypeConf = ForbiddenVoidTypeConf;\nclass ForbiddenVoidType {\n constructor() {\n this.conf = new ForbiddenVoidTypeConf();\n }\n getMetadata() {\n return {\n key: \"forbidden_void_type\",\n title: \"Forbidden Void Types\",\n shortDescription: `Avoid usage of specified void types.`,\n extendedInformation: `Inspiration:\r\nBOOLEAN, BOOLE_D, CHAR01, CHAR1, CHAR10, CHAR12, CHAR128, CHAR2, CHAR20, CHAR4, CHAR70,\r\nDATS, TIMS, DATUM, FLAG, INT4, NUMC3, NUMC4, SAP_BOOL, TEXT25, TEXT80, X255, XFELD`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.check === undefined) {\n this.conf.check = [];\n }\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject) || this.conf.check.length === 0) {\n return [];\n }\n return this.traverse(new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop());\n }\n ///////////////\n traverse(node) {\n var _a, _b, _c;\n let ret = [];\n const message = \"Forbidden void type: \";\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.BuiltIn) {\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.ObjectOrientedVoidReference\n && ((_a = r.extra) === null || _a === void 0 ? void 0 : _a.ooName) !== undefined\n && this.isForbiddenName((_b = r.extra) === null || _b === void 0 ? void 0 : _b.ooName)) {\n ret.push(issue_1.Issue.atIdentifier(r.position, message + ((_c = r.extra) === null || _c === void 0 ? void 0 : _c.ooName), this.getMetadata().key, this.conf.severity));\n }\n if ((r.referenceType === _reference_1.ReferenceType.VoidType\n || r.referenceType === _reference_1.ReferenceType.TableVoidReference)\n && this.isForbiddenName(r.position.getName())) {\n ret.push(issue_1.Issue.atIdentifier(r.position, message + r.position.getName(), this.getMetadata().key, this.conf.severity));\n }\n }\n }\n for (const c of node.getChildren()) {\n ret = ret.concat(this.traverse(c));\n }\n return ret;\n }\n isForbiddenType(type) {\n if (type instanceof basic_1.StructureType) {\n return type.getComponents().some(c => this.isForbiddenType(c.type));\n }\n else if (!(type instanceof void_type_1.VoidType)) {\n return false;\n }\n const name = type.getVoided();\n return this.isForbiddenName(name);\n }\n isForbiddenName(name) {\n if (name === undefined) {\n return false;\n }\n for (const c of this.conf.check) {\n const reg = new RegExp(c, \"i\");\n const match = reg.test(name);\n if (match === true) {\n return true;\n }\n }\n return false;\n }\n}\nexports.ForbiddenVoidType = ForbiddenVoidType;\n//# sourceMappingURL=forbidden_void_type.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_void_type.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/form_tables_obsolete.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/form_tables_obsolete.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormTablesObsolete = exports.FormTablesObsoleteConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass FormTablesObsoleteConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.FormTablesObsoleteConf = FormTablesObsoleteConf;\nclass FormTablesObsolete extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new FormTablesObsoleteConf();\n }\n getMetadata() {\n return {\n key: \"form_tables_obsolete\",\n title: \"TABLES parameters are obsolete\",\n shortDescription: `Checks for TABLES parameters in forms.`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapform_tables.htm`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"FORM TABLES parameters are obsolete\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const ret = [];\n const stru = file.getStructure();\n if (obj instanceof objects_1.Class || stru === undefined) {\n return ret;\n }\n for (const form of stru.findAllExpressions(Expressions.FormTables)) {\n const token = form.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n return ret;\n }\n}\nexports.FormTablesObsolete = FormTablesObsolete;\n//# sourceMappingURL=form_tables_obsolete.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/form_tables_obsolete.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/fully_type_constants.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/fully_type_constants.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FullyTypeConstants = exports.FullyTypeConsantsConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass FullyTypeConsantsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Add check for implicit data definition, require full typing. */\n this.checkData = true;\n }\n}\nexports.FullyTypeConsantsConf = FullyTypeConsantsConf;\nclass FullyTypeConstants extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new FullyTypeConsantsConf();\n }\n getMetadata() {\n return {\n key: \"fully_type_constants\",\n title: \"Fully type constants\",\n shortDescription: `Checks constants for full typing - no implicit typing allowed.`,\n badExample: \"CONSTANTS foo VALUE 'a'.\",\n goodExample: \"CONSTANTS foo TYPE c LENGTH 1 VALUE 'a'.\",\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(type) {\n return `Fully type ${type}, no implicit typing`;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b;\n const issues = [];\n for (const stat of file.getStatements()) {\n if ((stat.get() instanceof Statements.Constant\n || (this.conf.checkData === true && stat.get() instanceof Statements.Data))\n && (!this.isTyped(stat))) {\n const type = stat.get() instanceof Statements.Constant ? \"constant definition\" : \"data definition\";\n let token = (_a = stat.findFirstExpression(expressions_1.NamespaceSimpleName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (token === undefined) {\n token = (_b = stat.findFirstExpression(expressions_1.DefinitionName)) === null || _b === void 0 ? void 0 : _b.getFirstToken();\n }\n if (token === undefined) {\n throw new Error(\"fully type constants, unexpected node\");\n }\n issues.push(issue_1.Issue.atToken(file, token, this.getDescription(type), this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n isTyped(stat) {\n return (stat.findFirstExpression(expressions_1.Type) || stat.findFirstExpression(expressions_1.TypeTable));\n }\n}\nexports.FullyTypeConstants = FullyTypeConstants;\n//# sourceMappingURL=fully_type_constants.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/fully_type_constants.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/fully_type_itabs.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/fully_type_itabs.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FullyTypeITabs = exports.FullyTypeITabsConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass FullyTypeITabsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.FullyTypeITabsConf = FullyTypeITabsConf;\nclass FullyTypeITabs extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new FullyTypeITabsConf();\n }\n getMetadata() {\n return {\n key: \"fully_type_itabs\",\n title: \"Fully type internal tables\",\n shortDescription: `No implict table types or table keys`,\n badExample: `DATA lt_foo TYPE TABLE OF ty.\r\nDATA lt_bar TYPE STANDARD TABLE OF ty.`,\n goodExample: `DATA lt_foo TYPE STANDARD TABLE OF ty WITH EMPTY KEY.`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const statement of file.getStatements()) {\n if (!(statement.get() instanceof Statements.Data)) {\n continue;\n }\n const tt = statement.findFirstExpression(Expressions.TypeTable);\n if (tt === undefined) {\n continue;\n }\n const concat = tt.concatTokens().toUpperCase();\n if (concat.includes(\"TYPE TABLE OF\")) {\n const message = \"Specify table type\";\n issues.push(issue_1.Issue.atPosition(file, tt.getFirstToken().getStart(), message, this.getMetadata().key, this.conf.severity));\n }\n else if (concat.includes(\" WITH \") === false && concat.includes(\" RANGE OF \") === false) {\n const message = \"Specify table key\";\n issues.push(issue_1.Issue.atPosition(file, tt.getFirstToken().getStart(), message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.FullyTypeITabs = FullyTypeITabs;\n//# sourceMappingURL=fully_type_itabs.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/fully_type_itabs.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/function_module_recommendations.js": +/*!****************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/function_module_recommendations.js ***! + \****************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionModuleRecommendations = exports.FunctionModuleRecommendationsConf = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass FunctionModuleRecommendationsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Tuple of Function Module Name to be replaced, the recommended alternative and\n * the version from which the recommendation is valid.\n * @uniqueItems true\n */\n this.recommendations = [\n { name: \"CALCULATE_HASH_FOR_RAW\", replace: \"use CL_ABAP_HMAC or CL_ABAP_MESSAGE_DIGEST\" },\n { name: \"CCU_TIMESTAMP_DIFFERENCE\", replace: \"use CL_ABAP_TSTMP\" },\n { name: \"ECATT_CONV_XSTRING_TO_STRING\", replace: \"use CL_BINARY_CONVERT\" },\n { name: \"F4_FILENAME\", replace: \"use CL_GUI_FRONTEND_SERVICES\" },\n { name: \"FUNCTION_EXISTS\", replace: \"surround with try-catch CX_SY_DYN_CALL_ILLEGAL_METHOD instead\" },\n { name: \"GUI_DOWNLOAD\", replace: \"use CL_GUI_FRONTEND_SERVICES\" },\n { name: \"GUI_UPLOAD\", replace: \"use CL_GUI_FRONTEND_SERVICES\" },\n { name: \"GUID_CREATE\", replace: \"use CL_SYSTEM_UUID\" },\n { name: \"IGN_TIMESTAMP_DIFFERENCE\", replace: \"use CL_ABAP_TSTMP\" },\n { name: \"IGN_TIMESTAMP_PLUSMINUS\", replace: \"use CL_ABAP_TSTMP\" },\n { name: \"ISM_SD_GET_PRICING_CONDITIONS\", replace: \"use CL_PRC_RESULT_FACTORY as per note 2220005\" },\n { name: \"JOB_CREATE\", replace: \"use CL_BP_ABAP_JOB\" },\n { name: \"JOB_SUBMIT\", replace: \"use CL_BP_ABAP_JOB\" },\n { name: \"POPUP_TO_CONFIRM_STEP\", replace: \"use POPUP_TO_CONFIRM\" },\n { name: \"POPUP_TO_DECIDE\", replace: \"use POPUP_TO_CONFIRM\" },\n { name: \"POPUP_TO_GET_VALUE\", replace: \"use POPUP_GET_VALUES\" },\n { name: \"REUSE_ALV_GRID_DISPLAY\", replace: \"use CL_SALV_TABLE=>FACTORY or CL_GUI_ALV_GRID\" },\n { name: \"ROUND\", replace: \"use built in function: round()\" },\n { name: \"SAPGUI_PROGRESS_INDICATOR\", replace: \"use CL_PROGRESS_INDICATOR\" },\n { name: \"SCMS_BASE64_DECODE_STR\", replace: \"use class CL_HTTP_UTILITY methods\" },\n { name: \"SCMS_STRING_TO_XSTRING\", replace: \"use CL_BINARY_CONVERT\" },\n { name: \"SO_NEW_DOCUMENT_ATT_SEND_API1\", replace: \"use CL_BCS\" },\n { name: \"SSFC_BASE64_DECODE\", replace: \"use class CL_HTTP_UTILITY methods\" },\n { name: \"SSFC_BASE64_ENCODE\", replace: \"use class CL_HTTP_UTILITY methods\" },\n { name: \"SUBST_GET_FILE_LIST\", replace: \"see note 1686357\" },\n { name: \"WS_FILENAME_GET\", replace: \"use CL_GUI_FRONTEND_SERVICES\" },\n ];\n }\n}\nexports.FunctionModuleRecommendationsConf = FunctionModuleRecommendationsConf;\nclass FunctionModuleRecommendations extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new FunctionModuleRecommendationsConf();\n }\n getMetadata() {\n return {\n key: \"function_module_recommendations\",\n title: \"Function Module Recommendations\",\n shortDescription: `Suggests replacements for various function modules`,\n extendedInformation: `https://docs.abapopenchecks.org/checks/53/`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n if (!this.conf.recommendations) {\n return issues;\n }\n const configVersion = this.reg.getConfig().getVersion();\n for (const exNode of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(expressions_1.FunctionName)) || []) {\n const token = exNode.getFirstToken();\n let funcName = token.getStr().toUpperCase();\n // only check constant FM names\n if (!funcName.startsWith(\"'\")) {\n continue;\n }\n // remove leading and trailing single quote\n funcName = funcName.slice(1, funcName.length - 1);\n const index = this.conf.recommendations.findIndex(i => i.name.toUpperCase() === funcName && (i.from === undefined || configVersion >= i.from));\n if (index >= 0) {\n issues.push(__1.Issue.atToken(file, token, this.getMessage(index), this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n getMessage(index) {\n return `Recommendation: Replace Function ${this.conf.recommendations[index].name} with: ${this.conf.recommendations[index].replace}`;\n }\n}\nexports.FunctionModuleRecommendations = FunctionModuleRecommendations;\n//# sourceMappingURL=function_module_recommendations.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/function_module_recommendations.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/functional_writing.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/functional_writing.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionalWriting = exports.FunctionalWritingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass FunctionalWritingConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore functional writing in exception classes, local + global */\n this.ignoreExceptions = true;\n }\n}\nexports.FunctionalWritingConf = FunctionalWritingConf;\nclass FunctionalWriting extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new FunctionalWritingConf();\n }\n getMetadata() {\n return {\n key: \"functional_writing\",\n title: \"Use functional writing\",\n shortDescription: `Detects usage of call method when functional style calls can be used.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-functional-to-procedural-calls\r\nhttps://docs.abapopenchecks.org/checks/07/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `CALL METHOD zcl_class=>method( ).\r\nCALL METHOD cl_abap_typedescr=>describe_by_name\r\n EXPORTING\r\n p_name = 'NAME'\r\n RECEIVING\r\n p_descr_ref = lr_typedescr\r\n EXCEPTIONS\r\n type_not_found = 1\r\n OTHERS = 2.`,\n goodExample: `zcl_class=>method( ).\r\ncl_abap_typedescr=>describe_by_name(\r\n EXPORTING\r\n p_name = 'NAME'\r\n RECEIVING\r\n p_descr_ref = lr_typedescr\r\n EXCEPTIONS\r\n type_not_found = 1\r\n OTHERS = 2 ).`,\n };\n }\n getMessage() {\n return \"Use functional writing style for method calls\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a, _b;\n const issues = [];\n let exception = false;\n if (obj.getType() === \"INTF\") {\n return [];\n }\n let definition = undefined;\n if (obj instanceof objects_1.Class) {\n definition = obj.getClassDefinition();\n }\n const ddic = new ddic_1.DDIC(this.reg);\n for (const statNode of file.getStatements()) {\n if (statNode.get() instanceof Statements.ClassImplementation\n && definition\n && ddic.isException(definition, obj)\n && this.conf.ignoreExceptions) {\n exception = true;\n }\n else if (statNode.get() instanceof Statements.EndClass) {\n exception = false;\n }\n else if (exception === false && statNode.get() instanceof Statements.Call) {\n if (((_a = statNode.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.MethodCallChain) {\n continue;\n }\n const dynamic = (_b = statNode.findDirectExpression(Expressions.MethodSource)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.Dynamic);\n if (dynamic !== undefined) {\n continue;\n }\n issues.push(this.createIssueForStatementNode(file, statNode));\n }\n }\n return issues;\n }\n createIssueForStatementNode(file, statNode) {\n const fixString = this.buildFixString(statNode);\n const fix = edit_helper_1.EditHelper.replaceRange(file, statNode.getStart(), statNode.getEnd(), fixString);\n return issue_1.Issue.atStatement(file, statNode, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n }\n buildFixString(statNode) {\n // Note: line breaks from source are lost\n const methodSource = statNode.findDirectExpression(Expressions.MethodSource);\n let methodSourceStr = methodSource === null || methodSource === void 0 ? void 0 : methodSource.concatTokens();\n const methodBody = statNode.findDirectExpression(Expressions.MethodCallBody);\n let methodBodyStr = \"\";\n if (methodBody) {\n const methodCallParam = methodBody.findDirectExpression(Expressions.MethodCallParam);\n if (methodCallParam && methodCallParam.getFirstToken().getStr() === \"(\") {\n // has parameters and parantheses\n methodBodyStr = `${methodBody.concatTokens()}.`;\n }\n else {\n // has parameters, but parentheses are missing\n methodSourceStr = `${methodSourceStr}( `;\n methodBodyStr = `${methodBody.concatTokens()} ).`;\n }\n }\n else {\n // no body means no parentheses and no parameters\n methodBodyStr = \"( ).\";\n }\n return methodSourceStr + methodBodyStr;\n }\n}\nexports.FunctionalWriting = FunctionalWriting;\n//# sourceMappingURL=functional_writing.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/functional_writing.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/global_class.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/global_class.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GlobalClass = exports.GlobalClassConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass GlobalClassConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.GlobalClassConf = GlobalClassConf;\nclass GlobalClass extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new GlobalClassConf();\n }\n getMetadata() {\n return {\n key: \"global_class\",\n title: \"Global class checks\",\n shortDescription: `Checks related to global classes`,\n extendedInformation: `* global classes must be in own files\r\n\r\n* file names must match class name\r\n\r\n* file names must match interface name\r\n\r\n* global classes must be global definitions\r\n\r\n* global interfaces must be global definitions`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const output = [];\n for (const definition of file.getInfo().listClassDefinitions()) {\n if (definition.isLocal && obj instanceof Objects.Class && file.getFilename().match(/\\.clas\\.abap$/)) {\n const issue = issue_1.Issue.atIdentifier(definition.identifier, \"Global classes must be global\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n if (definition.isGlobal && obj instanceof Objects.Class && definition.name.toUpperCase() !== obj.getName().toUpperCase()) {\n const issue = issue_1.Issue.atIdentifier(definition.identifier, \"Class definition name must match filename\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n if (definition.isGlobal && !(obj instanceof Objects.Class)) {\n const issue = issue_1.Issue.atIdentifier(definition.identifier, \"Class must be local\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n for (const impl of file.getInfo().listClassImplementations()) {\n if (file.getFilename().match(/\\.clas\\.abap$/)\n && obj instanceof Objects.Class\n && impl.identifier.getName().toUpperCase() !== obj.getName().toUpperCase()) {\n const issue = issue_1.Issue.atIdentifier(impl.identifier, \"Class implementation name must match filename\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n for (const impl of file.getInfo().listInterfaceDefinitions()) {\n if (file.getFilename().match(/\\.intf\\.abap$/)\n && obj instanceof Objects.Interface\n && impl.identifier.getName().toUpperCase() !== obj.getName().toUpperCase()) {\n const issue = issue_1.Issue.atIdentifier(impl.identifier, \"Interface implementation name must match filename\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n for (const intf of file.getInfo().listInterfaceDefinitions()) {\n if (intf.isLocal && obj instanceof Objects.Interface && file.getFilename().match(/\\.intf\\.abap$/)) {\n const issue = issue_1.Issue.atIdentifier(intf.identifier, \"Global interface must be global\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n return output;\n }\n}\nexports.GlobalClass = GlobalClass;\n//# sourceMappingURL=global_class.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/global_class.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_conditions.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_conditions.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IdenticalConditions = exports.IdenticalConditionsConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nclass Conditions {\n constructor() {\n this.arr = [];\n this.arr = [];\n }\n push(e) {\n this.arr.push(e.concatTokens());\n }\n hasDuplicates() {\n return this.arr.some(x => this.arr.indexOf(x) !== this.arr.lastIndexOf(x));\n }\n}\nclass IdenticalConditionsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.IdenticalConditionsConf = IdenticalConditionsConf;\nclass IdenticalConditions extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new IdenticalConditionsConf();\n }\n getMetadata() {\n return {\n key: \"identical_conditions\",\n title: \"Identical conditions\",\n shortDescription: `Find identical conditions in IF + CASE + WHILE etc\r\n\r\nPrerequsites: code is pretty printed with identical cAsE`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n let issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n for (const i of structure.findAllStructures(Structures.If)) {\n issues = issues.concat(this.analyzeIf(file, i));\n }\n for (const i of structure.findAllStructures(Structures.Case)) {\n issues = issues.concat(this.analyzeWhen(file, i));\n }\n for (const i of structure.findAllExpressions(Expressions.Cond)) {\n issues = issues.concat(this.analyzeCond(file, i));\n }\n return issues;\n }\n ////////////////\n analyzeCond(file, node) {\n const conditions = new Conditions();\n let operator = \"\";\n for (const c of node.getChildren()) {\n if (c instanceof nodes_1.ExpressionNode) {\n conditions.push(c);\n }\n else if (operator === \"\") {\n operator = c.get().getStr().toUpperCase();\n }\n else if (operator !== c.get().getStr().toUpperCase()) {\n return [];\n }\n }\n if (conditions.hasDuplicates()) {\n const message = \"Identical conditions\";\n const issue = issue_1.Issue.atToken(file, node.getFirstToken(), message, this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n analyzeIf(file, node) {\n var _a;\n const conditions = new Conditions();\n const i = node.findDirectStatement(Statements.If);\n if (i === undefined) {\n throw new Error(\"identical_conditions, no IF found\");\n }\n const c = i === null || i === void 0 ? void 0 : i.findDirectExpression(Expressions.Cond);\n if (c) {\n conditions.push(c);\n }\n for (const e of node.findDirectStructures(Structures.ElseIf)) {\n const c = (_a = e.findDirectStatement(Statements.ElseIf)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Cond);\n if (c) {\n conditions.push(c);\n }\n }\n if (conditions.hasDuplicates()) {\n const message = \"Identical conditions\";\n const issue = issue_1.Issue.atStatement(file, i, message, this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n analyzeWhen(file, node) {\n const conditions = new Conditions();\n const i = node.findDirectStatement(Statements.Case);\n if (i === undefined) {\n throw new Error(\"identical_conditions, no CASE found\");\n }\n for (const e of node.findDirectStructures(Structures.When)) {\n const w = e.findDirectStatement(Statements.When);\n if (w === undefined) {\n continue;\n }\n for (const s of w.findAllExpressions(Expressions.Source)) {\n conditions.push(s);\n }\n }\n if (conditions.hasDuplicates()) {\n const message = \"Identical conditions\";\n const issue = issue_1.Issue.atStatement(file, i, message, this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n}\nexports.IdenticalConditions = IdenticalConditions;\n//# sourceMappingURL=identical_conditions.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_conditions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_contents.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_contents.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IdenticalContents = exports.IdenticalContentsConf = void 0;\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nclass IdenticalContentsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.IdenticalContentsConf = IdenticalContentsConf;\nclass IdenticalContents extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new IdenticalContentsConf();\n }\n getMetadata() {\n return {\n key: \"identical_contents\",\n title: \"Identical contents\",\n shortDescription: `Find identical contents in blocks inside IFs, both in the beginning and in the end.`,\n extendedInformation: `\r\nPrerequsites: code is pretty printed with identical cAsE\r\n\r\nChained statments are ignored`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `IF foo = bar.\r\n WRITE 'bar'.\r\n WRITE 'world'.\r\nELSE.\r\n WRITE 'foo'.\r\n WRITE 'world'.\r\nENDIF.`,\n goodExample: `IF foo = bar.\r\n WRITE 'bar'.\r\nELSE.\r\n WRITE 'foo'.\r\nENDIF.\r\nWRITE 'world'.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n let issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n for (const i of structure.findAllStructuresRecursive(Structures.If)) {\n issues = issues.concat(this.analyzeIf(file, i));\n }\n return issues;\n }\n ////////////////\n analyzeIf(file, node) {\n var _a;\n if (node.getChildren().length !== 4) {\n return [];\n }\n const ifBody = node.findDirectStructure(Structures.Body);\n if (node.findDirectStructure(Structures.ElseIf)) {\n return [];\n }\n const elseBody = (_a = node.findDirectStructure(Structures.Else)) === null || _a === void 0 ? void 0 : _a.findDirectStructure(Structures.Body);\n if (elseBody === undefined || ifBody === undefined) {\n return [];\n }\n {\n const ifFirst = ifBody.getFirstChild();\n const elseFirst = elseBody.getFirstChild();\n if (ifFirst === undefined || elseFirst === undefined || this.isChained(ifFirst)) {\n return [];\n }\n else if (ifFirst.concatTokens() === elseFirst.concatTokens()) {\n const message = \"Identical contents\";\n const issue = issue_1.Issue.atToken(file, node.getFirstToken(), message, this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n }\n {\n const ifLast = ifBody.getLastChild();\n const elseLast = elseBody.getLastChild();\n if (ifLast === undefined || elseLast === undefined || this.isChained(ifLast)) {\n return [];\n }\n else if (ifLast.concatTokens() === elseLast.concatTokens()) {\n const message = \"Identical contents\";\n const issue = issue_1.Issue.atToken(file, node.getFirstToken(), message, this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n }\n return [];\n }\n isChained(node) {\n if (node === undefined) {\n return false;\n }\n else if (node instanceof nodes_1.StatementNode) {\n return node.getColon() !== undefined;\n }\n else {\n return this.isChained(node.getFirstStatement());\n }\n }\n}\nexports.IdenticalContents = IdenticalContents;\n//# sourceMappingURL=identical_contents.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_contents.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_descriptions.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_descriptions.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IdenticalDescriptions = exports.IdenticalDescriptionsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nclass IdenticalDescriptionsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.IdenticalDescriptionsConf = IdenticalDescriptionsConf;\nclass IdenticalDescriptions {\n constructor() {\n this.conf = new IdenticalDescriptionsConf();\n }\n getMetadata() {\n return {\n key: \"identical_descriptions\",\n title: \"Identical descriptions\",\n shortDescription: `Searches for objects with the same type and same description`,\n extendedInformation: `Case insensitive\r\n\r\nOnly checks the master language descriptions\r\n\r\nDependencies are skipped\r\n\r\nWorks for: INTF, CLAS, DOMA, DTEL, FUNC in same FUGR`,\n tags: [],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n var _a;\n this.descriptions = {};\n this.types = [\"INTF\", \"CLAS\", \"DOMA\", \"DTEL\"];\n for (const o of reg.getObjects()) {\n if (reg.isDependency(o)) {\n continue;\n }\n const type = o.getType();\n if (this.types.includes(type)) {\n const description = (_a = o.getDescription()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (description === undefined || description === \"\") {\n continue;\n }\n if (this.descriptions[type] === undefined) {\n this.descriptions[type] = {};\n }\n if (this.descriptions[type][description] === undefined) {\n this.descriptions[type][description] = [];\n }\n this.descriptions[type][description].push(o.getName());\n }\n }\n return this;\n }\n run(o) {\n var _a;\n const issues = [];\n const type = o.getType();\n if (this.types.includes(type)) {\n const description = (_a = o.getDescription()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (description === undefined || description === \"\") {\n return issues;\n }\n const found = this.descriptions[type][description].filter(a => a !== o.getName());\n if (found.length > 0) {\n const message = \"Identical description: \" + found[0];\n issues.push(issue_1.Issue.atRow(o.getXMLFile(), 1, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n if (o instanceof objects_1.FunctionGroup) {\n issues.push(...this.checkFunctionModules(o));\n }\n return issues;\n }\n checkFunctionModules(fugr) {\n var _a;\n const descriptions = {};\n for (const fm of fugr.getModules()) {\n const d = (_a = fm.getDescription()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (d === undefined || d === \"\") {\n continue;\n }\n if (descriptions[d] !== undefined) {\n const message = \"FUGR \" + fugr.getName() + \" contains function modules with identical descriptions\";\n return [issue_1.Issue.atRow(fugr.getXMLFile(), 1, message, this.getMetadata().key, this.getConfig().severity)];\n }\n descriptions[d] = true;\n }\n return [];\n }\n}\nexports.IdenticalDescriptions = IdenticalDescriptions;\n//# sourceMappingURL=identical_descriptions.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_descriptions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_form_names.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_form_names.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IdenticalFormNames = exports.IdenticalFormNamesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass IdenticalFormNamesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.IdenticalFormNamesConf = IdenticalFormNamesConf;\n// todo: deprecation candidate? this is/should be handled by the syntax check?\nclass IdenticalFormNames {\n constructor() {\n this.conf = new IdenticalFormNamesConf();\n }\n getMetadata() {\n return {\n key: \"identical_form_names\",\n title: \"Identical FORM names\",\n shortDescription: `Detects identically named FORMs`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const ret = [];\n const found = [];\n for (const file of obj.getABAPFiles()) {\n for (const form of file.getInfo().listFormDefinitions()) {\n const name = form.name.toUpperCase();\n if (found.indexOf(name) >= 0) {\n const message = \"Identical FORM Names: \\\"\" + name + \"\\\"\";\n const issue = issue_1.Issue.atIdentifier(form.identifier, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n else {\n found.push(name);\n }\n }\n }\n return ret;\n }\n}\nexports.IdenticalFormNames = IdenticalFormNames;\n//# sourceMappingURL=identical_form_names.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_form_names.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/if_in_if.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/if_in_if.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IfInIf = exports.IfInIfConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass IfInIfConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.IfInIfConf = IfInIfConf;\nclass IfInIf extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new IfInIfConf();\n }\n getMetadata() {\n return {\n key: \"if_in_if\",\n title: \"IF in IF\",\n shortDescription: `Detects nested ifs which can be refactored.`,\n extendedInformation: `\r\nDirectly nested IFs without ELSE can be refactored to a single condition using AND.\r\n\r\nELSE condtions with directly nested IF refactored to ELSEIF, quickfixes are suggested for this case.\r\n\r\nhttps://docs.abapopenchecks.org/checks/01/\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-the-nesting-depth-low`,\n badExample: `IF condition1.\r\n IF condition2.\r\n ...\r\n ENDIF.\r\nENDIF.\r\n\r\nIF condition1.\r\n ...\r\nELSE.\r\n IF condition2.\r\n ...\r\n ENDIF.\r\nENDIF.`,\n goodExample: `IF ( condition1 ) AND ( condition2 ).\r\n ...\r\nENDIF.\r\n\r\nIF condition1.\r\n ...\r\nELSEIF condition2.\r\n ...\r\nENDIF.\r\n\r\nCASE variable.\r\n WHEN value1.\r\n ...\r\n WHEN value2.\r\n IF condition2.\r\n ...\r\n ENDIF.\r\nENDCASE.`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a, _b;\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n let fixed = false;\n let possible = stru.findAllStructures(Structures.If);\n possible = possible.concat(stru.findAllStructures(Structures.Else));\n for (const i of possible) {\n if (i.findDirectStructures(Structures.ElseIf).length > 0\n || i.findDirectStructures(Structures.Else).length > 0) {\n continue;\n }\n const blist = i.findDirectStructures(Structures.Body);\n if (blist.length === 0) {\n continue;\n }\n const nlist = blist[0].findDirectStructures(Structures.Normal);\n if (nlist.length !== 1) {\n continue;\n }\n const niflist = nlist[0].findDirectStructures(Structures.If);\n if (niflist.length !== 1) {\n continue;\n }\n const nestedIf = niflist[0];\n if (i.get() instanceof Structures.If\n && (nestedIf.findDirectStructures(Structures.ElseIf).length > 0\n || nestedIf.findDirectStructures(Structures.Else).length > 0)) {\n continue;\n }\n let message = \"IF in IF. Use IF cond1 AND cond2 instead\";\n let fix = undefined;\n if (i.get() instanceof Structures.Else) {\n message = \"Change ELSE part to ELSEIF\";\n const els = i.findFirstStatement(Statements.Else);\n const iff = (_a = i.findFirstStructure(Structures.If)) === null || _a === void 0 ? void 0 : _a.findDirectStatement(Statements.If);\n const endif = (_b = i.findFirstStructure(Structures.If)) === null || _b === void 0 ? void 0 : _b.findDirectStatement(Statements.EndIf);\n if (fixed === false && iff && els && endif) {\n const fix1 = edit_helper_1.EditHelper.deleteRange(file, els.getLastToken().getStart(), iff === null || iff === void 0 ? void 0 : iff.getFirstToken().getStart());\n const fix2 = edit_helper_1.EditHelper.deleteStatement(file, endif);\n fix = edit_helper_1.EditHelper.merge(fix1, fix2);\n // max one fix per file at a time\n fixed = true;\n }\n }\n const token = i.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n return issues;\n }\n}\nexports.IfInIf = IfInIf;\n//# sourceMappingURL=if_in_if.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/if_in_if.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/implement_methods.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/implement_methods.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImplementMethods = exports.ImplementMethodsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\n// todo: abstract methods from superclass parents(might be multiple), if class is not abstract\nclass ImplementMethodsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ImplementMethodsConf = ImplementMethodsConf;\nclass ImplementMethods extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ImplementMethodsConf();\n }\n getMetadata() {\n return {\n key: \"implement_methods\",\n title: \"Implement methods\",\n shortDescription: `Checks for abstract methods and methods from interfaces which need implementing.`,\n extendedInformation: `INCLUDE programs are only checked in connection with their main programs.`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n let ret = [];\n if (file.getStructure() === undefined) {\n return [];\n }\n else if (obj instanceof objects_1.Program && obj.isInclude() === true) {\n return [];\n }\n this.obj = obj;\n for (const classDefinition of file.getInfo().listClassDefinitions()) {\n const classImplementation = this.lookupImplementationInObject(classDefinition.name, obj);\n ret = ret.concat(this.checkClass(classDefinition, classImplementation));\n ret = ret.concat(this.checkInterfaces(classDefinition, classImplementation));\n }\n return ret;\n }\n /////////////////////////////////\n lookupImplementationInObject(name, obj) {\n for (const sub of obj.getABAPFiles()) {\n const impl = sub.getInfo().getClassImplementationByName(name);\n if (impl !== undefined) {\n return impl;\n }\n }\n return undefined;\n }\n lookupDefinitionInObject(name) {\n for (const sub of this.obj.getABAPFiles()) {\n const def = sub.getInfo().getClassDefinitionByName(name);\n if (def !== undefined) {\n return def;\n }\n }\n return undefined;\n }\n checkClass(def, impl) {\n const ret = [];\n for (const md of def.methods) {\n const found = impl === null || impl === void 0 ? void 0 : impl.methods.find(m => m.getName().toUpperCase() === md.name.toUpperCase());\n if (md.isAbstract === true) {\n if (found !== undefined) {\n const issue = issue_1.Issue.atIdentifier(found, \"Do not implement abstract method \\\"\" + md.name + \"\\\"\", this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n continue;\n }\n if (impl === undefined) {\n const message = \"Class implementation for \\\"\" + def.name + \"\\\" not found\";\n const issue = issue_1.Issue.atIdentifier(def.identifier, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n else if (found === undefined) {\n const message = \"Implement method \\\"\" + md.name + \"\\\"\";\n const fix = this.buildFix(impl, md.name);\n const issue = issue_1.Issue.atIdentifier(impl.identifier, message, this.getMetadata().key, this.conf.severity, fix);\n ret.push(issue);\n }\n }\n return ret;\n }\n buildFix(impl, methodName) {\n var _a, _b;\n const file = this.obj.getABAPFileByName(impl.identifier.getFilename());\n if (file === undefined) {\n return undefined;\n }\n for (const i of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllStatements(Statements.ClassImplementation)) || []) {\n const name = (_b = i.findFirstExpression(Expressions.ClassName)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr().toUpperCase();\n if (name === impl.identifier.getName().toUpperCase()) {\n return edit_helper_1.EditHelper.insertAt(file, i.getLastToken().getEnd(), `\r\n METHOD ${methodName.toLowerCase()}.\r\n RETURN. \" todo, implement method\r\n ENDMETHOD.`);\n }\n }\n return undefined;\n }\n findInterface(identifier, name) {\n const idef = this.findInterfaceByName(name);\n if (idef === undefined) {\n const message = \"Implemented interface \\\"\" + name + \"\\\" not found\";\n const issue = issue_1.Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity);\n return issue;\n }\n return idef;\n }\n findInterfaceByName(name) {\n var _a;\n let idef = undefined;\n const intf = this.reg.getObject(\"INTF\", name);\n if (intf === undefined) {\n // lookup in localfiles\n for (const file of this.obj.getABAPFiles()) {\n const found = file.getInfo().getInterfaceDefinitionByName(name);\n if (found) {\n idef = found;\n break;\n }\n }\n }\n else {\n idef = (_a = intf.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().listInterfaceDefinitions()[0];\n }\n return idef;\n }\n /** including implemented super interfaces */\n findInterfaceMethods(idef) {\n const methods = idef.methods.map((m) => {\n return { objectName: idef.name, method: m };\n });\n for (const i of idef.interfaces) {\n const sup = this.findInterface(idef.identifier, i.name);\n if (sup !== undefined && !(sup instanceof issue_1.Issue)) {\n sup.methods.forEach(m => {\n methods.push({ objectName: sup.name, method: m });\n });\n }\n }\n return methods;\n }\n findClass(name) {\n let def = this.lookupDefinitionInObject(name);\n let impl = this.lookupImplementationInObject(name, this.obj);\n if (def && impl) {\n return { def, impl };\n }\n const global = this.reg.getObject(\"CLAS\", name);\n if (global) {\n def = global.getClassDefinition();\n impl = this.lookupImplementationInObject(name, global);\n if (def && impl) {\n return { def, impl };\n }\n }\n return undefined;\n }\n checkInterfaces(def, impl) {\n const ret = [];\n for (const interfaceInfo of def.interfaces) {\n const idef = this.findInterface(def.identifier, interfaceInfo.name);\n if (idef === undefined || interfaceInfo.partial === true || interfaceInfo.allAbstract === true) {\n continue; // ignore parser errors in interface\n }\n else if (idef instanceof issue_1.Issue) {\n return [idef];\n }\n for (const m of this.findInterfaceMethods(idef)) {\n if (interfaceInfo.abstractMethods.includes(m.method.name.toUpperCase())) {\n continue;\n }\n if (this.isImplemented(m, def, impl) === false) {\n const message = \"Implement method \\\"\" + m.method.name + \"\\\" from interface \\\"\" + m.objectName + \"\\\"\";\n if (impl) {\n const fix = this.buildFix(impl, m.objectName + \"~\" + m.method.name);\n const issue = issue_1.Issue.atIdentifier(impl.identifier, message, this.getMetadata().key, this.conf.severity, fix);\n ret.push(issue);\n }\n else {\n const issue = issue_1.Issue.atIdentifier(def.identifier, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n }\n }\n }\n return ret;\n }\n isImplemented(m, def, impl) {\n if (impl === undefined) {\n return false;\n }\n const name = m.objectName + \"~\" + m.method.name;\n let found = impl.methods.find(m => m.getName().toUpperCase() === name.toUpperCase());\n if (found === undefined) {\n // try looking for ALIASes\n for (const alias of def.aliases) {\n if (alias.component.toUpperCase() === name.toUpperCase()) {\n found = impl.methods.find(m => m.getName().toUpperCase() === alias.name.toUpperCase());\n break;\n }\n }\n }\n if (found === undefined && def.superClassName !== undefined) {\n const clas = this.findClass(def.superClassName);\n if (clas) {\n return this.isImplemented(m, clas === null || clas === void 0 ? void 0 : clas.def, clas === null || clas === void 0 ? void 0 : clas.impl);\n }\n }\n if (found === undefined) {\n for (const i of def.interfaces) {\n const idef = this.findInterfaceByName(i.name);\n if (idef === undefined) {\n continue;\n }\n const ali = this.viaAliasInInterface(m, idef, impl);\n if (ali) {\n return ali;\n }\n }\n }\n return found !== undefined;\n }\n viaAliasInInterface(m, intf, impl) {\n for (const a of intf.aliases) {\n if (a.component.toUpperCase() === m.objectName.toUpperCase() + \"~\" + m.method.name.toUpperCase()) {\n const name = intf.name + \"~\" + a.name;\n const found = impl.methods.find(m => m.getName().toUpperCase() === name.toUpperCase());\n if (found) {\n return true;\n }\n }\n }\n return false;\n }\n}\nexports.ImplementMethods = ImplementMethods;\n//# sourceMappingURL=implement_methods.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/implement_methods.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/in_statement_indentation.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/in_statement_indentation.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InStatementIndentation = exports.InStatementIndentationConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass InStatementIndentationConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Additional indent for first statement of blocks */\n this.blockStatements = 2;\n /** Ignore global exception classes */\n this.ignoreExceptions = true;\n }\n}\nexports.InStatementIndentationConf = InStatementIndentationConf;\nclass InStatementIndentation extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new InStatementIndentationConf();\n }\n getMetadata() {\n return {\n key: \"in_statement_indentation\",\n title: \"In-statement indentation\",\n shortDescription: \"Checks alignment within statements which span multiple lines.\",\n extendedInformation: `Lines following the first line should be indented once (2 spaces).\r\n \r\nFor block declaration statements, lines after the first should be indented an additional time (default: +2 spaces)\r\nto distinguish them better from code within the block.`,\n badExample: `IF 1 = 1\r\n AND 2 = 2.\r\n WRITE 'hello' &&\r\n 'world'.\r\nENDIF.`,\n goodExample: `IF 1 = 1\r\n AND 2 = 2.\r\n WRITE 'hello' &&\r\n 'world'.\r\nENDIF.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Fix in-statement indentation\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const ret = [];\n const ddic = new ddic_1.DDIC(this.reg);\n if (obj instanceof objects_1.Class) {\n const definition = obj.getClassDefinition();\n if (definition === undefined) {\n return [];\n }\n else if (this.conf.ignoreExceptions && ddic.isException(definition, obj)) {\n return [];\n }\n }\n for (const s of file.getStatements()) {\n if (s.get() instanceof _statement_1.Comment || s.get() instanceof _statement_1.Unknown) {\n continue;\n }\n const tokens = s.getTokens();\n if (tokens.length === 0) {\n continue;\n }\n const beginLine = tokens[0].getRow();\n let expected = tokens[0].getCol() + 2;\n const type = s.get();\n if (type instanceof Statements.If\n || type instanceof Statements.While\n || type instanceof Statements.Module\n || type instanceof Statements.SelectLoop\n || type instanceof Statements.FunctionModule\n || type instanceof Statements.Do\n || type instanceof Statements.At\n || type instanceof Statements.Catch\n || type instanceof Statements.Case\n || type instanceof Statements.When\n || type instanceof Statements.Cleanup\n || type instanceof Statements.Loop\n || type instanceof Statements.Form\n || type instanceof Statements.Else\n || type instanceof Statements.ElseIf\n || type instanceof Statements.MethodImplementation) {\n expected = expected + this.conf.blockStatements;\n }\n for (const t of tokens) {\n if (t.getRow() === beginLine) {\n continue;\n }\n if (t.getCol() < expected) {\n const fix = edit_helper_1.EditHelper.replaceRange(file, new position_1.Position(t.getRow(), 1), t.getStart(), \" \".repeat(expected - 1));\n const issue = issue_1.Issue.atToken(file, t, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n ret.push(issue);\n break;\n }\n }\n }\n return ret;\n }\n}\nexports.InStatementIndentation = InStatementIndentation;\n//# sourceMappingURL=in_statement_indentation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/in_statement_indentation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/indentation.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/indentation.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Indentation = exports.IndentationConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst indent_1 = __webpack_require__(/*! ../pretty_printer/indent */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/pretty_printer/indent.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass IndentationConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore global exception classes */\n this.ignoreExceptions = true;\n /** Align TRY CATCH, TRY and CATCH should have the same indentation */\n this.alignTryCatch = false;\n /** Add indentation for SELECTION SCREEN BLOCK, standard pretty printer indents this from 754 */\n this.selectionScreenBlockIndentation = false;\n this.globalClassSkipFirst = false;\n this.ignoreGlobalClassDefinition = false;\n this.ignoreGlobalInterface = false;\n }\n}\nexports.IndentationConf = IndentationConf;\nclass Indentation extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new IndentationConf();\n }\n getMetadata() {\n return {\n key: \"indentation\",\n title: \"Indentation\",\n shortDescription: `Checks indentation`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a, _b;\n const MAX_ISSUES = 100;\n let skip = false;\n if (file.getStructure() === undefined) {\n return []; // syntax error in file\n }\n if (obj instanceof objects_1.Class) {\n const definition = obj.getClassDefinition();\n const ddic = new ddic_1.DDIC(this.reg);\n if (definition === undefined) {\n return [];\n }\n else if (this.conf.ignoreExceptions && ddic.isException(definition, obj)) {\n return [];\n }\n }\n const indentOpts = {\n selectionScreenBlockIndentation: (_a = this.conf) === null || _a === void 0 ? void 0 : _a.selectionScreenBlockIndentation,\n alignTryCatch: (_b = this.conf) === null || _b === void 0 ? void 0 : _b.alignTryCatch,\n globalClassSkipFirst: this.conf.globalClassSkipFirst,\n };\n const expected = new indent_1.Indent(indentOpts).getExpectedIndents(file);\n const ret = [];\n for (const statement of file.getStatements()) {\n const position = statement.getFirstToken().getStart();\n if (position instanceof position_1.VirtualPosition) {\n continue;\n }\n const indent = expected.shift();\n if (this.conf.ignoreGlobalClassDefinition) {\n if (statement.get() instanceof Statements.ClassDefinition\n && statement.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && statement.get() instanceof Statements.EndClass) {\n skip = false;\n continue;\n }\n else if (skip === true) {\n continue;\n }\n }\n if (this.conf.ignoreGlobalInterface) {\n if (statement.get() instanceof Statements.Interface\n && statement.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && statement.get() instanceof Statements.EndInterface) {\n skip = false;\n continue;\n }\n else if (skip === true) {\n continue;\n }\n }\n if (indent && indent > 0 && indent !== position.getCol()) {\n const expected = indent - 1;\n const fix = edit_helper_1.EditHelper.replaceRange(file, new position_1.Position(position.getRow(), 1), position, \" \".repeat(expected));\n const message = \"Indentation problem, expected \" + expected + \" spaces\";\n const issue = issue_1.Issue.atPosition(file, position, message, this.getMetadata().key, this.conf.severity, fix);\n ret.push(issue);\n if (ret.length >= MAX_ISSUES) {\n break;\n }\n }\n }\n return ret;\n }\n}\nexports.Indentation = Indentation;\n//# sourceMappingURL=indentation.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/indentation.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/index.js": +/*!**************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/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__(/*! ./7bit_ascii */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/7bit_ascii.js\"), exports);\n__exportStar(__webpack_require__(/*! ./abapdoc */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/abapdoc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./align_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/align_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./allowed_object_naming */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/allowed_object_naming.js\"), exports);\n__exportStar(__webpack_require__(/*! ./allowed_object_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/allowed_object_types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ambiguous_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/ambiguous_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./avoid_use */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/avoid_use.js\"), exports);\n__exportStar(__webpack_require__(/*! ./begin_end_names */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/begin_end_names.js\"), exports);\n__exportStar(__webpack_require__(/*! ./begin_single_include */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/begin_single_include.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transaction_authority_check */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/call_transaction_authority_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_comment_style */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_comment_style.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_legacy_view */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_legacy_view.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_parser_error */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cds_parser_error.js\"), exports);\n__exportStar(__webpack_require__(/*! ./chain_mainly_declarations */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/chain_mainly_declarations.js\"), exports);\n__exportStar(__webpack_require__(/*! ./change_if_to_case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/change_if_to_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_abstract */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_abstract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_comments */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_comments.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_ddic.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_include */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_include.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_subrc */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_subrc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_syntax.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_text_elements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_text_elements.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_transformation_exists */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_transformation_exists.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_attribute_names */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/class_attribute_names.js\"), exports);\n__exportStar(__webpack_require__(/*! ./classic_exceptions_overlap */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/classic_exceptions_overlap.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cloud_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cloud_types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./colon_missing_space */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/colon_missing_space.js\"), exports);\n__exportStar(__webpack_require__(/*! ./commented_code */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/commented_code.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant_classes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/constant_classes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constructor_visibility_public */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/constructor_visibility_public.js\"), exports);\n__exportStar(__webpack_require__(/*! ./contains_tab */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/contains_tab.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cyclic_oo */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cyclic_oo.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cyclomatic_complexity */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/cyclomatic_complexity.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dangerous_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/dangerous_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./db_operation_in_loop */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/db_operation_in_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./definitions_top */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/definitions_top.js\"), exports);\n__exportStar(__webpack_require__(/*! ./description_empty */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/description_empty.js\"), exports);\n__exportStar(__webpack_require__(/*! ./double_space */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/double_space.js\"), exports);\n__exportStar(__webpack_require__(/*! ./downport */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/downport.js\"), exports);\n__exportStar(__webpack_require__(/*! ./easy_to_find_messages */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js\"), exports);\n__exportStar(__webpack_require__(/*! ./empty_line_in_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./empty_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./empty_structure */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/empty_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exit_or_check */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/exit_or_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./expand_macros */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/expand_macros.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exporting */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./forbidden_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_identifier.js\"), exports);\n__exportStar(__webpack_require__(/*! ./forbidden_pseudo_and_pragma */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_pseudo_and_pragma.js\"), exports);\n__exportStar(__webpack_require__(/*! ./forbidden_void_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/forbidden_void_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_tables_obsolete */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/form_tables_obsolete.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fully_type_constants */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/fully_type_constants.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fully_type_itabs */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/fully_type_itabs.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_module_recommendations */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/function_module_recommendations.js\"), exports);\n__exportStar(__webpack_require__(/*! ./functional_writing */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/functional_writing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./global_class */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/global_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identical_conditions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_conditions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identical_contents */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_contents.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identical_descriptions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_descriptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identical_form_names */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/identical_form_names.js\"), exports);\n__exportStar(__webpack_require__(/*! ./if_in_if */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/if_in_if.js\"), exports);\n__exportStar(__webpack_require__(/*! ./implement_methods */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/implement_methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./in_statement_indentation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/in_statement_indentation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./indentation */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/indentation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inline_data_old_versions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/inline_data_old_versions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./intf_referencing_clas */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/intf_referencing_clas.js\"), exports);\n__exportStar(__webpack_require__(/*! ./keep_single_parameter_on_one_line */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/keep_single_parameter_on_one_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./keyword_case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/keyword_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./line_break_multiple_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_break_multiple_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./line_break_style */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_break_style.js\"), exports);\n__exportStar(__webpack_require__(/*! ./line_length */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./line_only_punc */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_only_punc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./local_class_naming */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_class_naming.js\"), exports);\n__exportStar(__webpack_require__(/*! ./local_testclass_consistency */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_testclass_consistency.js\"), exports);\n__exportStar(__webpack_require__(/*! ./local_variable_names */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_variable_names.js\"), exports);\n__exportStar(__webpack_require__(/*! ./main_file_contents */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/main_file_contents.js\"), exports);\n__exportStar(__webpack_require__(/*! ./many_parentheses */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/many_parentheses.js\"), exports);\n__exportStar(__webpack_require__(/*! ./max_one_method_parameter_per_line */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/max_one_method_parameter_per_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./max_one_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/max_one_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_exists */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/message_exists.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_implemented_twice */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_implemented_twice.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_length */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_overwrites_builtin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_overwrites_builtin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_parameter_names */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_parameter_names.js\"), exports);\n__exportStar(__webpack_require__(/*! ./mix_returning */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/mix_returning.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_only_own_db_tables */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/modify_only_own_db_tables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./msag_consistency */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/msag_consistency.js\"), exports);\n__exportStar(__webpack_require__(/*! ./names_no_dash */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/names_no_dash.js\"), exports);\n__exportStar(__webpack_require__(/*! ./nesting */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/nesting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./newline_between_methods */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/newline_between_methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_aliases */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_aliases.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_chained_assignment */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_chained_assignment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_external_form_calls */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_external_form_calls.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_inline_in_optional_branches */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_inline_in_optional_branches.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_public_attributes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_public_attributes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_yoda_conditions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_yoda_conditions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./nrob_consistency */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/nrob_consistency.js\"), exports);\n__exportStar(__webpack_require__(/*! ./object_naming */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/object_naming.js\"), exports);\n__exportStar(__webpack_require__(/*! ./obsolete_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/obsolete_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./omit_parameter_name */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_parameter_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./omit_preceding_zeros */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_preceding_zeros.js\"), exports);\n__exportStar(__webpack_require__(/*! ./omit_receiving */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_receiving.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parser_702_chaining */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_702_chaining.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parser_error */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_error.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parser_missing_space */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_missing_space.js\"), exports);\n__exportStar(__webpack_require__(/*! ./pragma_style */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/pragma_style.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_corresponding */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_corresponding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_inline */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_inline.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_is_not */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_is_not.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_pragmas */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_pragmas.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_raise_exception_new */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_raise_exception_new.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_returning_to_exporting */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_returning_to_exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_xsdbool */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_xsdbool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./preferred_compare_operator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/preferred_compare_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefix_is_current_class */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefix_is_current_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reduce_string_templates */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/reduce_string_templates.js\"), exports);\n__exportStar(__webpack_require__(/*! ./release_idoc */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/release_idoc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./remove_descriptions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/remove_descriptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./rfc_error_handling */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/rfc_error_handling.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_add_order_by */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_add_order_by.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_performance */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_performance.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_single_full_key */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_single_full_key.js\"), exports);\n__exportStar(__webpack_require__(/*! ./selection_screen_naming */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/selection_screen_naming.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sequential_blank */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sequential_blank.js\"), exports);\n__exportStar(__webpack_require__(/*! ./short_case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/short_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sicf_consistency */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sicf_consistency.js\"), exports);\n__exportStar(__webpack_require__(/*! ./slow_parameter_passing */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/slow_parameter_passing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./smim_consistency */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/smim_consistency.js\"), exports);\n__exportStar(__webpack_require__(/*! ./space_before_colon */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/space_before_colon.js\"), exports);\n__exportStar(__webpack_require__(/*! ./space_before_dot */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/space_before_dot.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_escape_host_variables */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sql_escape_host_variables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_value_conversion */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sql_value_conversion.js\"), exports);\n__exportStar(__webpack_require__(/*! ./start_at_tab */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/start_at_tab.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static_call_via_instance */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/static_call_via_instance.js\"), exports);\n__exportStar(__webpack_require__(/*! ./strict_sql */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/strict_sql.js\"), exports);\n__exportStar(__webpack_require__(/*! ./superclass_final */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/superclass_final.js\"), exports);\n__exportStar(__webpack_require__(/*! ./superfluous_value */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/superfluous_value.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sy_modification */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sy_modification.js\"), exports);\n__exportStar(__webpack_require__(/*! ./tabl_enhancement_category */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/tabl_enhancement_category.js\"), exports);\n__exportStar(__webpack_require__(/*! ./try_without_catch */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/try_without_catch.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_form_parameters */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/type_form_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types_naming */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/types_naming.js\"), exports);\n__exportStar(__webpack_require__(/*! ./uncaught_exception */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/uncaught_exception.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unknown_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unknown_types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unnecessary_chaining */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_chaining.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unnecessary_pragma */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_pragma.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unnecessary_return */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_return.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unreachable_code */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unreachable_code.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unsecure_fae */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unsecure_fae.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unused_ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_ddic.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unused_methods */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unused_types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unused_variables */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_variables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./use_bool_expression */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_bool_expression.js\"), exports);\n__exportStar(__webpack_require__(/*! ./use_class_based_exceptions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_class_based_exceptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./use_line_exists */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_line_exists.js\"), exports);\n__exportStar(__webpack_require__(/*! ./use_new */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_new.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when_others_last */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/when_others_last.js\"), exports);\n__exportStar(__webpack_require__(/*! ./whitespace_end */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/whitespace_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./xml_consistency */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/xml_consistency.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/inline_data_old_versions.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/inline_data_old_versions.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineDataOldVersions = exports.InlineDataOldVersionsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass InlineDataOldVersionsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.InlineDataOldVersionsConf = InlineDataOldVersionsConf;\nclass InlineDataOldVersions extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new InlineDataOldVersionsConf();\n }\n getMetadata() {\n return {\n key: \"inline_data_old_versions\",\n title: \"Inline data, old versions\",\n shortDescription: `Checks for inline data declarations in older releases. Only active for versions less than v740sp02`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n if (this.reg.getConfig().getVersion() >= version_1.Version.v740sp02\n || this.reg.getConfig().getVersion() === version_1.Version.Cloud) {\n return [];\n }\n for (const statement of file.getStatements()) {\n // when parsed in old versions these expressions are NOT InlineData\n for (const target of statement.findAllExpressions(expressions_1.Target)) {\n const tokens = target.getAllTokens();\n if (tokens.length !== 4) {\n continue;\n }\n if (!tokens[0].getStr().match(/DATA/i)) {\n continue;\n }\n if (tokens[1].getStr() !== \"(\") {\n continue;\n }\n if (tokens[3].getStr() !== \")\") {\n continue;\n }\n const message = \"Inline DATA not possible in \" + this.reg.getConfig().getVersion();\n const issue = issue_1.Issue.atToken(file, tokens[0], message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.InlineDataOldVersions = InlineDataOldVersions;\n//# sourceMappingURL=inline_data_old_versions.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/inline_data_old_versions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/intf_referencing_clas.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/intf_referencing_clas.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IntfReferencingClas = exports.IntfReferencingClasConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nclass IntfReferencingClasConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** List of classes allowed to be referenced, regex, case insensitive\n * @uniqueItems true\n */\n this.allow = [];\n }\n}\nexports.IntfReferencingClasConf = IntfReferencingClasConf;\nclass IntfReferencingClas {\n constructor() {\n this.conf = new IntfReferencingClasConf();\n }\n getMetadata() {\n return {\n key: \"intf_referencing_clas\",\n title: \"INTF referencing CLAS\",\n shortDescription: `Interface contains references to class`,\n extendedInformation: `Only global interfaces are checked.\r\n Only first level references are checked.\r\n Exception class references are ignored.\r\n Void references are ignored.`,\n };\n }\n getConfig() {\n if (this.conf.allow === undefined) {\n this.conf.allow = [];\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof objects_1.Interface)) {\n return [];\n }\n return this.traverse(new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop());\n }\n ////////////////\n traverse(node) {\n var _a, _b;\n let ret = [];\n const message = \"Referencing CLAS: \";\n const ddic = new ddic_1.DDIC(this.reg);\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.ObjectOrientedReference\n && ((_a = r.extra) === null || _a === void 0 ? void 0 : _a.ooType) === \"CLAS\"\n && ((_b = r.extra) === null || _b === void 0 ? void 0 : _b.ooName) !== undefined) {\n const found = this.reg.getObject(\"CLAS\", r.extra.ooName) || undefined;\n if (found && ddic.isException(found.getClassDefinition(), found)) {\n continue;\n }\n else if (this.getConfig().allow.some(reg => new RegExp(reg, \"i\").test(r.extra.ooName))) {\n continue;\n }\n ret.push(issue_1.Issue.atIdentifier(r.position, message + r.extra.ooName, this.getMetadata().key, this.conf.severity));\n }\n }\n for (const c of node.getChildren()) {\n ret = ret.concat(this.traverse(c));\n }\n return ret;\n }\n}\nexports.IntfReferencingClas = IntfReferencingClas;\n//# sourceMappingURL=intf_referencing_clas.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/intf_referencing_clas.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/keep_single_parameter_on_one_line.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/keep_single_parameter_on_one_line.js ***! + \******************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.KeepSingleParameterCallsOnOneLine = exports.KeepSingleParameterCallsOnOneLineConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass KeepSingleParameterCallsOnOneLineConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Max line length, in characters */\n this.length = 120;\n }\n}\nexports.KeepSingleParameterCallsOnOneLineConf = KeepSingleParameterCallsOnOneLineConf;\nclass KeepSingleParameterCallsOnOneLine extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new KeepSingleParameterCallsOnOneLineConf();\n }\n getMetadata() {\n return {\n key: \"keep_single_parameter_on_one_line\",\n title: \"Keep single parameters on one line\",\n shortDescription: `Keep single parameter calls on one line`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-single-parameter-calls-on-one-line`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: `call_method(\\n 2 ).`,\n goodExample: `call_method( 2 ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n let issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const s of file.getStatements()) {\n if (this.isMultiLine(s) === false\n || this.calcStatementLength(s) > this.getConfig().length\n || this.containsNewLineValue(s)\n || this.containsNewLineTableExpression(s)\n || this.containsFieldAssigments(s)\n || this.containsNewLineTemplate(s)) {\n continue;\n }\n for (const c of s.findAllExpressions(Expressions.MethodCallParam)) {\n issues = issues.concat(this.check(c, file));\n }\n }\n return issues;\n }\n ///////////////////////////////////////\n containsFieldAssigments(s) {\n const fs = s.findAllExpressions(Expressions.FieldAssignment);\n return fs.length > 1;\n }\n containsNewLineTableExpression(s) {\n for (const st of s.findAllExpressions(Expressions.TableExpression)) {\n if (st.getFirstToken().getRow() !== st.getLastToken().getRow()) {\n return true;\n }\n }\n return false;\n }\n containsNewLineValue(s) {\n for (const st of s.findAllExpressions(Expressions.Source)) {\n const first = st.getFirstToken().getStr().toUpperCase();\n if (first === \"VALUE\" && st.getFirstToken().getRow() !== st.getLastToken().getRow()) {\n return true;\n }\n }\n return false;\n }\n containsNewLineTemplate(s) {\n for (const st of s.findAllExpressions(Expressions.StringTemplate)) {\n for (const t of st.getAllTokens()) {\n if (t.getStr().includes(\"\\\\n\")) {\n return true;\n }\n }\n }\n return false;\n }\n check(c, file) {\n if (this.isSingleParameter(c) === true && this.isMultiLine(c) === true) {\n for (const sub of c.findAllExpressions(Expressions.MethodCallParam)) {\n if (this.isSingleParameter(sub) === false\n && this.isWithoutParameters(sub) === false) {\n return [];\n }\n }\n const message = \"Keep single parameter on one line\";\n return [issue_1.Issue.atToken(file, c.getFirstToken(), message, this.getMetadata().key, this.conf.severity)];\n }\n return [];\n }\n // including first indentation, worst case calculation add space after each token\n calcStatementLength(c) {\n let length = 0;\n for (const t of c.getTokens()) {\n if (length === 0) {\n length = length + t.getStart().getCol();\n }\n length = length + t.getStr().length + 1;\n }\n return length;\n }\n isMultiLine(c) {\n const first = c.getFirstToken();\n const last = c.getLastToken();\n return first.getStart().getRow() < last.getStart().getRow();\n }\n isWithoutParameters(c) {\n return c.getChildren().length === 2;\n }\n isSingleParameter(c) {\n if (c.findDirectExpression(Expressions.Source)) {\n return true;\n }\n const list = c.findDirectExpression(Expressions.ParameterListS);\n if (list) {\n return list.getChildren().length === 1;\n }\n const param = c.findDirectExpression(Expressions.MethodParameters);\n if (param) {\n if (param.getChildren().length > 2) {\n return false;\n }\n const paramsource = param.findDirectExpression(Expressions.ParameterListS);\n if (paramsource && paramsource.getChildren().length === 1) {\n return true;\n }\n const paramtarget = param.findDirectExpression(Expressions.ParameterListT);\n if (paramtarget && paramtarget.getChildren().length === 1) {\n return true;\n }\n }\n return false;\n }\n}\nexports.KeepSingleParameterCallsOnOneLine = KeepSingleParameterCallsOnOneLine;\n//# sourceMappingURL=keep_single_parameter_on_one_line.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/keep_single_parameter_on_one_line.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/keyword_case.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/keyword_case.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.KeywordCase = exports.KeywordCaseConf = exports.KeywordCaseStyle = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nvar KeywordCaseStyle;\n(function (KeywordCaseStyle) {\n KeywordCaseStyle[\"Upper\"] = \"upper\";\n KeywordCaseStyle[\"Lower\"] = \"lower\";\n})(KeywordCaseStyle || (exports.KeywordCaseStyle = KeywordCaseStyle = {}));\nclass KeywordCaseConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.style = KeywordCaseStyle.Upper;\n /** Ignore global exception classes */\n this.ignoreExceptions = true;\n this.ignoreLowerClassImplmentationStatement = true;\n this.ignoreGlobalClassDefinition = false;\n this.ignoreGlobalInterface = false;\n this.ignoreFunctionModuleName = false;\n // this ignores keywords in CLASS/ENDCLASS statements of a global class (and only in them, the rest is checked)\n this.ignoreGlobalClassBoundaries = false;\n /** A list of keywords to be ignored */\n this.ignoreKeywords = [];\n }\n}\nexports.KeywordCaseConf = KeywordCaseConf;\nclass Skip {\n constructor(conf) {\n this.skip = false;\n this.isGlobalClass = false;\n this.isGlobalIf = false;\n this.conf = conf;\n }\n skipStatement(statement) {\n const get = statement.get();\n if (get instanceof _statement_1.Unknown\n || get instanceof _statement_1.MacroContent\n || get instanceof _statement_1.MacroCall\n || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition\n || get instanceof _statement_1.Comment) {\n return true;\n }\n if (this.conf.ignoreGlobalClassBoundaries) {\n const node = get;\n if (node instanceof Statements.Interface && statement.findFirstExpression(Expressions.ClassGlobal)) {\n this.isGlobalIf = true;\n return true;\n }\n else if (this.isGlobalIf === true && node instanceof Statements.EndInterface) {\n return true;\n }\n if (node instanceof Statements.ClassDefinition && statement.findFirstExpression(Expressions.ClassGlobal)) {\n this.isGlobalClass = true;\n return true;\n }\n else if (this.isGlobalClass === true\n && (node instanceof Statements.EndClass || node instanceof Statements.ClassImplementation)) {\n return true;\n }\n }\n if (this.conf.ignoreGlobalClassDefinition) {\n if (get instanceof Statements.ClassDefinition\n && statement.findFirstExpression(Expressions.ClassGlobal)) {\n this.skip = true;\n return true;\n }\n else if (this.skip === true && get instanceof Statements.EndClass) {\n this.skip = false;\n return true;\n }\n else if (this.skip === true) {\n return true;\n }\n }\n if (this.conf.ignoreGlobalInterface) {\n if (get instanceof Statements.Interface\n && statement.findFirstExpression(Expressions.ClassGlobal)) {\n this.skip = true;\n return true;\n }\n else if (this.skip === true && get instanceof Statements.EndInterface) {\n this.skip = false;\n return true;\n }\n else if (this.skip === true) {\n return true;\n }\n }\n return false;\n }\n}\nclass KeywordCase extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new KeywordCaseConf();\n }\n getMetadata() {\n return {\n key: \"keyword_case\",\n title: \"Keyword case\",\n shortDescription: `Checks that keywords have the same case. Non-keywords must be lower case.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-your-pretty-printer-team-settings`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf === undefined) {\n this.conf = new KeywordCaseConf();\n }\n if (this.conf.style === undefined) {\n this.conf = new KeywordCaseConf();\n }\n if (this.conf.ignoreExceptions === undefined) {\n this.conf.ignoreExceptions = new KeywordCaseConf().ignoreExceptions;\n }\n }\n runParsed(file, obj) {\n const issues = [];\n const ddic = new ddic_1.DDIC(this.reg);\n const MAX_ISSUES = 100;\n if (this.conf.ignoreExceptions && obj instanceof objects_1.Class) {\n const definition = obj.getClassDefinition();\n if (definition === undefined || ddic.isException(definition, obj)) {\n return [];\n }\n }\n const skip = new Skip(this.getConfig());\n let prev = undefined;\n for (const statement of file.getStatements()) {\n if (skip.skipStatement(statement) === true) {\n continue;\n }\n let result = this.traverse(statement, statement.get());\n if (result.length > 0) {\n if (prev && result[0].token.getStart().equals(prev.getStart())) {\n continue;\n }\n if (statement.getColon() !== undefined) {\n // if its a chained statement, go token by token\n result = [result[0]];\n }\n const issue = this.build(result, file);\n issues.push(issue);\n if (issues.length > MAX_ISSUES) {\n break;\n }\n prev = result[0].token;\n }\n }\n return issues;\n }\n //////////////////\n build(tokens, file) {\n const first = tokens[0];\n const firstToken = tokens[0].token;\n const lastToken = tokens[tokens.length - 1].token;\n const firstTokenValue = firstToken.getStr();\n let description = \"\";\n if (first.keyword === true) {\n description = `Keyword should be ${this.conf.style} case: \"${firstTokenValue}\"`;\n }\n else {\n description = `Identifiers should be lower case: \"${firstTokenValue}\"`;\n }\n const draft = new edit_helper_1.EditDraft(file);\n for (const token of tokens) {\n const str = token.token.getStr();\n const pos = token.token.getStart();\n if (token.keyword === true) {\n if (this.conf.style === KeywordCaseStyle.Lower) {\n draft.replace(pos, str.toLowerCase());\n }\n else {\n draft.replace(pos, str.toUpperCase());\n }\n }\n else {\n draft.replace(pos, str.toLowerCase());\n }\n }\n const fix = draft.toEdit();\n return issue_1.Issue.atRange(file, firstToken.getStart(), lastToken.getEnd(), description, this.getMetadata().key, this.conf.severity, fix);\n }\n /** returns a list of tokens which violates the keyword_case rule */\n traverse(s, parent) {\n let ret = [];\n for (const child of s.getChildren()) {\n if (child instanceof nodes_1.TokenNodeRegex) {\n if (this.conf.ignoreLowerClassImplmentationStatement\n && parent instanceof Statements.ClassImplementation) {\n continue;\n }\n const str = child.get().getStr();\n const upper = str.toUpperCase();\n // todo, this is a hack, the parser should recongize OTHERS/TEXT as a keyword\n if (upper === \"OTHERS\" || upper === \"TEXT\") {\n continue;\n }\n if (this.conf.ignoreFunctionModuleName === true\n && parent instanceof Statements.FunctionModule && upper !== \"FUNCTION\") {\n continue;\n }\n // todo, this is a hack, the parser should recigize SCREEN as a keyword\n if (upper === \"SCREEN\"\n && (parent instanceof Statements.ModifyDatabase\n || parent instanceof Statements.ModifyInternal\n || parent instanceof Statements.Loop)) {\n continue;\n }\n if (str !== str.toLowerCase() && child.get() instanceof tokens_1.Identifier) {\n ret.push({ token: child.get(), keyword: false });\n }\n }\n else if (child instanceof nodes_1.TokenNode) {\n const str = child.get().getStr();\n if (this.violatesRule(str) && child.get() instanceof tokens_1.Identifier) {\n ret.push({ token: child.get(), keyword: true });\n }\n }\n else if (child instanceof nodes_1.ExpressionNode) {\n ret = ret.concat(this.traverse(child, parent));\n }\n else {\n throw new Error(\"keyword_case, traverseStatement, unexpected node type\");\n }\n }\n return ret;\n }\n violatesRule(keyword) {\n if (this.conf.ignoreKeywords && this.conf.ignoreKeywords.map(k => { return k.toUpperCase(); }).includes(keyword.toUpperCase())) {\n return false;\n }\n if (this.conf.style === KeywordCaseStyle.Lower) {\n return keyword !== keyword.toLowerCase();\n }\n else if (this.conf.style === KeywordCaseStyle.Upper) {\n return keyword !== keyword.toUpperCase();\n }\n return false;\n }\n}\nexports.KeywordCase = KeywordCase;\n//# sourceMappingURL=keyword_case.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/keyword_case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_break_multiple_parameters.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_break_multiple_parameters.js ***! + \***************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LineBreakMultipleParameters = exports.LineBreakMultipleParametersConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass LineBreakMultipleParametersConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Amount of allowed parameters on one line */\n this.count = 1;\n }\n}\nexports.LineBreakMultipleParametersConf = LineBreakMultipleParametersConf;\nclass LineBreakMultipleParameters extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LineBreakMultipleParametersConf();\n }\n getMetadata() {\n return {\n key: \"line_break_multiple_parameters\",\n title: \"Line break multiple parameters\",\n shortDescription: `Line break multiple parameters`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#line-break-multiple-parameters`,\n badExample: `method( parameter1 = value parameter2 = value ).`,\n goodExample: `method( parameter1 = value\\n parameter2 = value ).`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n for (const s of file.getStatements()) {\n for (const e of s.findAllExpressions(Expressions.ParameterListS)) {\n if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n continue; // skip macro content\n }\n const parameters = e.findDirectExpressions(Expressions.ParameterS);\n if (parameters.length <= 1) {\n continue;\n }\n let previous = parameters[0];\n for (let i = 1; i < parameters.length; i++) {\n const current = parameters[i];\n if (this.conf.count && i < this.conf.count) {\n previous = current;\n continue;\n }\n const first = current.getFirstToken();\n if (previous.getFirstToken().getRow() === first.getRow()) {\n const fix = edit_helper_1.EditHelper.insertAt(file, first.getStart(), \"\\n\" + \" \".repeat(parameters[0].getFirstToken().getStart().getCol() - 1));\n issues.push(issue_1.Issue.atToken(file, current.getFirstToken(), this.getMetadata().title, this.getMetadata().key, this.conf.severity, fix));\n }\n previous = current;\n }\n }\n }\n return issues;\n }\n}\nexports.LineBreakMultipleParameters = LineBreakMultipleParameters;\n//# sourceMappingURL=line_break_multiple_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_break_multiple_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_break_style.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_break_style.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LineBreakStyle = exports.LineBreakStyleConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass LineBreakStyleConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.LineBreakStyleConf = LineBreakStyleConf;\nclass LineBreakStyle {\n constructor() {\n this.conf = new LineBreakStyleConf();\n }\n getMetadata() {\n return {\n key: \"line_break_style\",\n title: \"Makes sure line breaks are consistent in the ABAP code\",\n shortDescription: `Enforces LF as newlines in ABAP files\r\n\r\nabapGit does not work with CRLF`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile],\n };\n }\n initialize(_reg) {\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const output = [];\n for (const file of obj.getFiles()) {\n if (file.getFilename().endsWith(\".abap\")) {\n const rows = file.getRawRows();\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].endsWith(\"\\r\") === true) {\n const message = \"Line contains carriage return\";\n const issue = issue_1.Issue.atRow(file, i + 1, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n break; // only one finding per file\n }\n }\n }\n }\n return output;\n }\n}\nexports.LineBreakStyle = LineBreakStyle;\n//# sourceMappingURL=line_break_style.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_break_style.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_length.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_length.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LineLength = exports.LineLengthConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass LineLengthConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Maximum line length in characters, trailing whitespace ignored */\n this.length = 120;\n }\n}\nexports.LineLengthConf = LineLengthConf;\nclass LineLength extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LineLengthConf();\n }\n getMetadata() {\n return {\n key: \"line_length\",\n title: \"Line length\",\n shortDescription: `Detects lines exceeding the provided maximum length.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#stick-to-a-reasonable-line-length\r\nhttps://docs.abapopenchecks.org/checks/04/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n // maximum line length in abap files\n const maxLineLength = 255;\n const array = file.getRawRows();\n for (let rowIndex = 0; rowIndex < array.length; rowIndex++) {\n const row = array[rowIndex].replace(\"\\r\", \"\");\n if (row.length > maxLineLength) {\n const message = `Maximum allowed line length of ${maxLineLength} exceeded, currently ${row.length}`;\n issues.push(issue_1.Issue.atRow(file, rowIndex + 1, message, this.getMetadata().key, this.conf.severity));\n }\n else if (row.length > this.conf.length) {\n const message = `Reduce line length to max ${this.conf.length}, currently ${row.length}`;\n issues.push(issue_1.Issue.atRow(file, rowIndex + 1, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.LineLength = LineLength;\n//# sourceMappingURL=line_length.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_length.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_only_punc.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_only_punc.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LineOnlyPunc = exports.LineOnlyPuncConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nclass LineOnlyPuncConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore lines with only puncutation in global exception classes */\n this.ignoreExceptions = true;\n }\n}\nexports.LineOnlyPuncConf = LineOnlyPuncConf;\nclass LineOnlyPunc extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LineOnlyPuncConf();\n }\n getMetadata() {\n return {\n key: \"line_only_punc\",\n title: \"Line containing only punctuation\",\n shortDescription: `Detects lines containing only punctuation.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#close-brackets-at-line-end\r\nhttps://docs.abapopenchecks.org/checks/16/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: \"zcl_class=>method(\\n).\",\n goodExample: \"zcl_class=>method( ).\",\n };\n }\n getMessage() {\n return \"A line should not contain only \\\".\\\" or \\\").\\\"\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n const ddic = new ddic_1.DDIC(this.reg);\n if (obj instanceof objects_1.Class) {\n const definition = obj.getClassDefinition();\n if (definition === undefined) {\n return [];\n }\n else if (this.conf.ignoreExceptions && ddic.isException(definition, obj)) {\n return [];\n }\n }\n const rows = file.getRawRows();\n const reg = new RegExp(\"^\\\\)?\\\\. *(\\\\\\\".*)?$\");\n for (let i = 0; i < rows.length; i++) {\n if (reg.exec(rows[i].trim())) {\n const column = rows[i].indexOf(\")\") >= 0 ? rows[i].indexOf(\")\") + 1 : rows[i].indexOf(\".\") + 1;\n const position = new position_1.Position(i + 1, column);\n // merge punc into previous row\n let rowContent = rows[i].trim();\n // if reported row contains a paranthesis, prefix with space if needed\n if (rowContent.length > 1 && !rows[i - 1].endsWith(\" \") && !rows[i - 1].endsWith(\" \\r\")) {\n rowContent = \" \" + rowContent;\n }\n let offset = 0;\n if (rows[i - 1].endsWith(\"\\r\")) {\n offset = -1;\n }\n const startPos = new position_1.Position(i, rows[i - 1].length + 1 + offset);\n const endPos = new position_1.Position(i + 1, rows[i].length + 1);\n const fix = edit_helper_1.EditHelper.replaceRange(file, startPos, endPos, rowContent);\n const issue = issue_1.Issue.atPosition(file, position, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.LineOnlyPunc = LineOnlyPunc;\n//# sourceMappingURL=line_only_punc.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/line_only_punc.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_class_naming.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_class_naming.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LocalClassNaming = exports.LocalClassNamingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nclass LocalClassNamingConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** The pattern for local class names */\n this.local = \"^LCL_.+$\";\n /** The pattern for local exception names */\n this.exception = \"^LCX_.+$\";\n /** The pattern for local test class names */\n this.test = \"^LTCL_.+$\";\n }\n}\nexports.LocalClassNamingConf = LocalClassNamingConf;\nclass LocalClassNaming extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LocalClassNamingConf();\n }\n getMetadata() {\n return {\n key: \"local_class_naming\",\n title: \"Local class naming conventions\",\n shortDescription: `Allows you to enforce a pattern, such as a prefix, for local class names.`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(expected, actual) {\n return this.conf.patternKind === \"required\" ?\n \"Local class name does not match pattern \" + expected + \": \" + actual :\n \"Local class name must not match pattern \" + expected + \": \" + actual;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n const ddic = new ddic_1.DDIC(this.reg);\n for (const classDef of file.getInfo().listClassDefinitions()) {\n if (classDef.isGlobal) {\n continue;\n }\n const className = classDef.name;\n let expected = \"\";\n if (classDef.isForTesting) {\n expected = this.conf.test;\n }\n else if (ddic.isException(classDef, obj)) {\n expected = this.conf.exception;\n }\n else {\n expected = this.conf.local;\n }\n if (expected === undefined || expected.length === 0) {\n continue;\n }\n const regex = new RegExp(expected, \"i\");\n if (name_validator_1.NameValidator.violatesRule(className, regex, this.conf)) {\n issues.push(issue_1.Issue.atIdentifier(classDef.identifier, this.getDescription(expected, className), this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.LocalClassNaming = LocalClassNaming;\n//# sourceMappingURL=local_class_naming.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_class_naming.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_testclass_consistency.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_testclass_consistency.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LocalTestclassConsistency = exports.LocalTestclassConsistencyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass LocalTestclassConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.LocalTestclassConsistencyConf = LocalTestclassConsistencyConf;\nclass LocalTestclassConsistency extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LocalTestclassConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"local_testclass_consistency\",\n title: \"Local testclass consistency\",\n shortDescription: `Checks that local test classes are placed in the test include, and class unit test flag is set`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a;\n const issues = [];\n if (this.reg.getConfig().getVersion() === version_1.Version.v700) {\n // 700 does not have testclass includes\n return [];\n }\n if (!(obj instanceof objects_1.Class)) {\n return [];\n }\n for (const c of file.getInfo().listClassDefinitions()) {\n if (c.isLocal && c.isForTesting && !file.getFilename().includes(\".testclasses.abap\")) {\n const message = \"Place local testclass \\\"\" + c.name + \"\\\" in the testclass include\";\n const issue = issue_1.Issue.atIdentifier(c.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (file.getFilename().includes(\".testclasses.\") === true\n && obj.getTestclassFile() !== undefined\n && ((_a = obj.getXML()) === null || _a === void 0 ? void 0 : _a.includes(\"X\")) === false) {\n const id = obj.getIdentifier();\n if (id) {\n const message = \"Has testclass, but XML does not set \";\n const issue = issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.LocalTestclassConsistency = LocalTestclassConsistency;\n//# sourceMappingURL=local_testclass_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_testclass_consistency.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_variable_names.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_variable_names.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LocalVariableNames = exports.LocalVariableNamesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass LocalVariableNamesConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** The pattern for local variable names */\n this.expectedData = \"^L._.+$\";\n /** The pattern for local constant names */\n this.expectedConstant = \"^LC_.+$\";\n /** The pattern for field symbol names */\n this.expectedFS = \"^$\";\n }\n}\nexports.LocalVariableNamesConf = LocalVariableNamesConf;\nclass LocalVariableNames extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LocalVariableNamesConf();\n }\n getMetadata() {\n return {\n key: \"local_variable_names\",\n title: \"Local variable naming conventions\",\n shortDescription: `\r\nAllows you to enforce a pattern, such as a prefix, for local variables, constants and field symbols.\r\nRegexes are case-insensitive.`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(expected, actual) {\n return this.conf.patternKind === \"required\" ?\n \"Local variable name does not match pattern \" + expected + \": \" + actual :\n \"Local variable name must not match pattern \" + expected + \": \" + actual;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const ret = [];\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n // inside METHOD, FORM, FUNCTION MODULE\n for (const node of stru.findAllStructures(Structures.Form)) {\n ret.push(...this.checkLocals(node, file));\n }\n for (const node of stru.findAllStructures(Structures.Method)) {\n ret.push(...this.checkLocals(node, file));\n }\n for (const node of stru.findAllStructures(Structures.FunctionModule)) {\n ret.push(...this.checkLocals(node, file));\n }\n return ret;\n }\n checkLocals(structure, file) {\n let ret = [];\n // data, field symbols\n for (const dat of structure.findAllStatements(Statements.Data)) {\n const parent = structure.findParent(dat);\n if (parent && parent.get() instanceof Structures.Data) {\n continue; // inside DATA BEGIN OF\n }\n const found = dat.findFirstExpression(Expressions.DefinitionName);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedData));\n }\n }\n // inline data\n for (const dat of structure.findAllExpressions(Expressions.InlineData)) {\n const found = dat.findFirstExpression(Expressions.TargetField);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedData));\n }\n }\n // data structures, data begin of, first level\n const dataStructures = structure.findAllStructures(Structures.Data);\n for (const struc of dataStructures) {\n // ignore nested DATA BEGIN\n const stat = struc.findFirstStatement(Statements.DataBegin);\n const found = stat === null || stat === void 0 ? void 0 : stat.findFirstExpression(Expressions.DefinitionName);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedData));\n }\n }\n for (const fieldsymbol of structure.findAllStatements(Statements.FieldSymbol)) {\n const found = fieldsymbol.findFirstExpression(Expressions.FieldSymbol);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedFS));\n }\n }\n // inline field symbols\n for (const fieldsymbol of structure.findAllExpressions(Expressions.InlineFS)) {\n const found = fieldsymbol.findFirstExpression(Expressions.TargetFieldSymbol);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedFS));\n }\n }\n const constants = structure.findAllStatements(Statements.Constant);\n for (const constant of constants) {\n const parent = structure.findParent(constant);\n if (parent && parent.get() instanceof Structures.Constants) {\n continue; // inside DATA BEGIN OF\n }\n const found = constant.findFirstExpression(Expressions.DefinitionName);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedConstant));\n }\n }\n return ret;\n }\n checkName(token, file, expected) {\n const ret = [];\n const regex = new RegExp(expected, \"i\");\n const name = token.getStr();\n if (name_validator_1.NameValidator.violatesRule(name, regex, this.conf)) {\n const message = this.getDescription(expected, name);\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n return ret;\n }\n}\nexports.LocalVariableNames = LocalVariableNames;\n//# sourceMappingURL=local_variable_names.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/local_variable_names.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/main_file_contents.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/main_file_contents.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MainFileContents = exports.MainFileContentsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass MainFileContentsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MainFileContentsConf = MainFileContentsConf;\nclass MainFileContents {\n constructor() {\n this.conf = new MainFileContentsConf();\n }\n getMetadata() {\n return {\n key: \"main_file_contents\",\n title: \"Main file contents\",\n shortDescription: `Checks related to report declarations.`,\n extendedInformation: `Does not run if the target version is Cloud\r\n\r\n* PROGs must begin with \"REPORT .\" or \"PROGRAM .\r\n* TYPEs must begin with \"TYPE-POOL .\"\r\n`,\n };\n }\n getDescription(details) {\n return \"Main file must have specific contents: \" + details;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)\n || this.reg.getConfig().getVersion() === version_1.Version.Cloud) {\n return [];\n }\n const main = obj.getMainABAPFile();\n if (main === undefined) {\n return [];\n }\n const stru = main.getStructure();\n if (stru === undefined) {\n return [];\n }\n if (obj instanceof Objects.Program\n && obj.isInclude() === false\n && obj.isModulePool() === false) {\n let count = 0;\n let first = main.getStatements()[count];\n while (first !== undefined && first.get() instanceof _statement_1.Comment) {\n count = count + 1;\n first = main.getStatements()[count];\n }\n if (first === undefined || !(first.get() instanceof Statements.Report\n || first.get() instanceof Statements.Program)) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(main, position, this.getDescription(\"Report must begin with REPORT or PROGRAM\"), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n const name = first.findFirstExpression(Expressions.ReportName);\n if (name === undefined) {\n const token = first.getFirstToken();\n const issue = issue_1.Issue.atToken(main, token, this.getDescription(\"Add report name to REPORT or PROGRAM statement\"), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n else if (name.getFirstToken().getStr().toUpperCase() !== obj.getName()) {\n const token = name.getFirstToken();\n const issue = issue_1.Issue.atToken(main, token, this.getDescription(\"REPORT or PROGRAM name must match filename\"), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n }\n else if (obj instanceof Objects.TypePool) {\n let count = 0;\n let first = main.getStatements()[count];\n while (first !== undefined && first.get() instanceof _statement_1.Comment) {\n count = count + 1;\n first = main.getStatements()[count];\n }\n if (first === undefined || !(first.get() instanceof Statements.TypePool)) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(main, position, this.getDescription(\"Type pool must begin with TYPE-POOL\"), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n const name = first.getChildren()[3];\n if (name.getFirstToken().getStr().toUpperCase() !== obj.getName()) {\n const token = name.getFirstToken();\n const issue = issue_1.Issue.atToken(main, token, this.getDescription(\"TYPE-POOL name must match filename\"), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n }\n return [];\n }\n}\nexports.MainFileContents = MainFileContents;\n//# sourceMappingURL=main_file_contents.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/main_file_contents.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/many_parentheses.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/many_parentheses.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ManyParentheses = exports.ManyParenthesesConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass ManyParenthesesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ManyParenthesesConf = ManyParenthesesConf;\nclass ManyParentheses extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ManyParenthesesConf();\n }\n getMetadata() {\n return {\n key: \"many_parentheses\",\n title: \"Too many parentheses\",\n shortDescription: `Searches for expressions where extra parentheses can safely be removed`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `\r\nIF ( destination IS INITIAL ).\r\nENDIF.\r\nIF foo = boo AND ( bar = lar AND moo = loo ).\r\nENDIF.\r\n`,\n goodExample: `\r\nIF destination IS INITIAL.\r\nENDIF.\r\nIF foo = boo AND bar = lar AND moo = loo.\r\nENDIF.\r\n`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n for (const cond of structure.findAllExpressionsMulti([Expressions.Cond, Expressions.ComponentCond])) {\n issues.push(...this.analyze(file, cond));\n }\n for (const sub of structure.findAllExpressionsMulti([Expressions.CondSub, Expressions.ComponentCondSub])) {\n let cond = [];\n if (sub.get() instanceof Expressions.CondSub) {\n cond = sub.findDirectExpressions(Expressions.Cond);\n }\n else {\n cond = sub.findDirectExpressions(Expressions.ComponentCond);\n }\n if (cond.length !== 1) {\n continue;\n }\n if (cond[0].getChildren().length === 1) {\n const message = \"Too many parentheses, simple\";\n const fixText = sub.getChildren()[1].concatTokens();\n const fix = edit_helper_1.EditHelper.replaceRange(file, sub.getFirstToken().getStart(), sub.getLastToken().getEnd(), fixText);\n const issue = issue_1.Issue.atToken(file, sub.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n for (const m of structure.findAllStatements(Statements.Move)) {\n issues.push(...this.analyzeMove(file, m));\n }\n for (const m of structure.findAllStatements(Statements.Select)) {\n issues.push(...this.analyzeInto(file, m));\n }\n return issues;\n }\n ////////////////////\n analyzeInto(file, m) {\n const into = m.findFirstExpression(Expressions.SQLIntoStructure);\n if (into === undefined) {\n return [];\n }\n const second = into.getAllTokens()[1];\n if (second === undefined || second.getStr() !== \"(\") {\n return [];\n }\n const concat = into.concatTokens();\n if (concat.endsWith(\")\") === true && concat.includes(\",\") === false) {\n const issue = issue_1.Issue.atStatement(file, m, \"Too many parentheses\", this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n analyzeMove(file, m) {\n const issues = [];\n const children = m.getChildren();\n const last = children[children.length - 2];\n const lastChildren = last.getChildren();\n if (lastChildren.length === 3\n && lastChildren[0].getFirstToken().getStr() === \"(\"\n && lastChildren[2].getFirstToken().getStr() === \")\") {\n const issue = issue_1.Issue.atToken(file, last.getFirstToken(), \"Too many parentheses\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n return issues;\n }\n analyze(file, cond) {\n const issues = [];\n let comparator = \"\";\n let found = false;\n for (const c of cond.getChildren()) {\n let current = \"\";\n if (c instanceof nodes_1.TokenNode) {\n current = c.get().getStr().toUpperCase();\n }\n else if (c instanceof nodes_1.ExpressionNode\n && (c.get() instanceof Expressions.CondSub || c.get() instanceof Expressions.ComponentCondSub)) {\n if (c.getFirstToken().getStr().toUpperCase() === \"NOT\") {\n return [];\n }\n let i = c.findDirectExpression(Expressions.Cond);\n if (i === undefined) {\n i = c.findDirectExpression(Expressions.ComponentCond);\n }\n if (i === undefined) {\n return [];\n }\n current = this.findComparator(i);\n if (current !== \"\") {\n found = true; // dont report for the simple case that contains quick fixes\n }\n }\n if (comparator === \"\") {\n comparator = current;\n }\n else if (comparator !== \"\" && current !== \"\" && comparator !== current) {\n return [];\n }\n }\n if (comparator !== \"\" && comparator !== \"MIXED\" && found === true) {\n const message = \"Too many parentheses, complex\";\n const issue = issue_1.Issue.atToken(file, cond.getFirstToken(), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n return issues;\n }\n findComparator(cond) {\n let comparator = \"\";\n const children = cond.getChildren();\n for (const c of children) {\n if (c instanceof nodes_1.TokenNode) {\n const current = c.get().getStr().toUpperCase();\n if (comparator === \"\") {\n comparator = current;\n }\n else if (current !== comparator) {\n return \"MIXED\";\n }\n }\n }\n return comparator;\n }\n}\nexports.ManyParentheses = ManyParentheses;\n//# sourceMappingURL=many_parentheses.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/many_parentheses.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/max_one_method_parameter_per_line.js": +/*!******************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/max_one_method_parameter_per_line.js ***! + \******************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MaxOneMethodParameterPerLine = exports.MaxOneMethodParameterPerLineConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass MaxOneMethodParameterPerLineConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MaxOneMethodParameterPerLineConf = MaxOneMethodParameterPerLineConf;\nclass MaxOneMethodParameterPerLine extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MaxOneMethodParameterPerLineConf();\n }\n getMetadata() {\n return {\n key: \"max_one_method_parameter_per_line\",\n title: \"Max one method parameter definition per line\",\n shortDescription: `Keep max one method parameter description per line`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Whitespace],\n badExample: `\r\nMETHODS apps_scope_token\r\n IMPORTING\r\n body TYPE bodyapps_scope_token client_id TYPE str.`,\n goodExample: `\r\nMETHODS apps_scope_token\r\n IMPORTING\r\n body TYPE bodyapps_scope_token\r\n client_id TYPE str.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n for (const statement of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllStatements(Statements.MethodDef)) || []) {\n let prev = undefined;\n for (const p of statement.findAllExpressions(Expressions.MethodParam)) {\n if (prev === undefined) {\n prev = p;\n continue;\n }\n if (prev.getFirstToken().getStart().getRow() === p.getFirstToken().getStart().getRow()) {\n const issue = issue_1.Issue.atToken(file, prev.getFirstToken(), this.getMetadata().title, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n prev = p;\n }\n }\n return issues;\n }\n}\nexports.MaxOneMethodParameterPerLine = MaxOneMethodParameterPerLine;\n//# sourceMappingURL=max_one_method_parameter_per_line.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/max_one_method_parameter_per_line.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/max_one_statement.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/max_one_statement.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MaxOneStatement = exports.MaxOneStatementConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass MaxOneStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MaxOneStatementConf = MaxOneStatementConf;\nclass MaxOneStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MaxOneStatementConf();\n }\n getMetadata() {\n return {\n key: \"max_one_statement\",\n title: \"Max one statement per line\",\n shortDescription: `Checks that each line contains only a single statement.`,\n extendedInformation: `Does not report empty statements, use rule empty_statement for detecting empty statements.\r\n\r\nDoes not report anything for chained statements.\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#no-more-than-one-statement-per-line\r\nhttps://docs.abapopenchecks.org/checks/11/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `WRITE foo. WRITE bar.`,\n goodExample: `WRITE foo.\\nWRITE bar.`,\n };\n }\n getMessage() {\n return \"Only one statement is allowed per line\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let prev = 0;\n let reported = 0;\n for (const statement of file.getStatements()) {\n const term = statement.getTerminator();\n if (statement.get() instanceof _statement_1.Comment\n || statement.get() instanceof _statement_1.NativeSQL\n || term === \",\") {\n continue;\n }\n const pos = statement.getStart();\n if (pos instanceof position_1.VirtualPosition) {\n continue;\n }\n const row = pos.getRow();\n if (prev === row && row !== reported && statement.getFirstToken().getStr() !== \".\") {\n const fix = edit_helper_1.EditHelper.insertAt(file, pos, \"\\n\");\n const issue = issue_1.Issue.atPosition(file, pos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n reported = row;\n }\n prev = row;\n }\n return issues;\n }\n}\nexports.MaxOneStatement = MaxOneStatement;\n//# sourceMappingURL=max_one_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/max_one_statement.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/message_exists.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/message_exists.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageExistsRule = exports.MessageExistsConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass MessageExistsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MessageExistsConf = MessageExistsConf;\nclass MessageExistsRule extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MessageExistsConf();\n }\n getMetadata() {\n return {\n key: \"message_exists\",\n title: \"Check MESSAGE exists\",\n shortDescription: `In message statements, check that the message class + id exist`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const expressions = struc.findAllExpressionsMulti([Expressions.MessageClass, Expressions.MessageSource]);\n for (const node of expressions) {\n if (node.get() instanceof Expressions.MessageClass) {\n const token = node.getFirstToken();\n const name = token.getStr();\n if (this.reg.getObject(\"MSAG\", name) === undefined\n && new ddic_1.DDIC(this.reg).inErrorNamespace(name) === true) {\n const message = \"Message class \\\"\" + name + \"\\\" not found\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n for (const node of expressions) {\n if (node.get() instanceof Expressions.MessageSource) {\n const clas = node.findFirstExpression(Expressions.MessageClass);\n if (clas === undefined) {\n // todo, handle case where message class is defined on header level instead of in the statement\n continue;\n }\n const token = clas.getFirstToken();\n const name = token.getStr();\n const msag = this.reg.getObject(\"MSAG\", name);\n if (msag === undefined) {\n if (new ddic_1.DDIC(this.reg).inErrorNamespace(name) === true) {\n const message = \"Message class \\\"\" + token.getStr() + \"\\\" not found\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n continue;\n }\n const typeNumber = node.findFirstExpression(Expressions.MessageTypeAndNumber);\n if (typeNumber === undefined) {\n continue;\n }\n const numberToken = typeNumber.getFirstToken();\n const num = numberToken.getStr().substr(1);\n if (msag.getByNumber(num) === undefined) {\n const message = \"Message number \\\"\" + num + \"\\\" not found in class \\\"\" + name + \"\\\"\";\n const issue = issue_1.Issue.atToken(file, numberToken, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n // todo, check number of placeholders in message vs code matches\n return issues;\n }\n}\nexports.MessageExistsRule = MessageExistsRule;\n//# sourceMappingURL=message_exists.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/message_exists.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_implemented_twice.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_implemented_twice.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodImplementedTwice = exports.MethodImplementedTwiceConf = void 0;\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass MethodImplementedTwiceConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MethodImplementedTwiceConf = MethodImplementedTwiceConf;\nclass MethodImplementedTwice extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MethodImplementedTwiceConf();\n }\n getMetadata() {\n return {\n key: \"method_implemented_twice\",\n title: \"Method implemented twice\",\n shortDescription: `Reports an error if a method is implemented or defined twice`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const classDef of file.getInfo().listClassImplementations()) {\n const names = {};\n for (const m of classDef.methods) {\n const name = m.getName().toUpperCase();\n if (names[name] === undefined) {\n names[name] = true;\n }\n else {\n const message = `Method ${name} implemented twice`;\n issues.push(issue_1.Issue.atToken(file, m.getToken(), message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n for (const classDef of file.getInfo().listClassDefinitions()) {\n const names = {};\n for (const m of classDef.methods) {\n const name = m.name.toUpperCase();\n if (names[name] === undefined) {\n names[name] = true;\n }\n else {\n const message = `Method ${name} defined twice`;\n issues.push(issue_1.Issue.atToken(file, m.identifier.getToken(), message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n for (const iDef of file.getInfo().listInterfaceDefinitions()) {\n const names = {};\n for (const m of iDef.methods) {\n const name = m.name.toUpperCase();\n if (names[name] === undefined) {\n names[name] = true;\n }\n else {\n const message = `Method ${name} implemented twice`;\n issues.push(issue_1.Issue.atIdentifier(m.identifier, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n}\nexports.MethodImplementedTwice = MethodImplementedTwice;\n//# sourceMappingURL=method_implemented_twice.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_implemented_twice.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_length.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_length.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodLength = exports.MethodLengthConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst method_length_stats_1 = __webpack_require__(/*! ../utils/method_length_stats */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/method_length_stats.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst form_length_stats_1 = __webpack_require__(/*! ../utils/form_length_stats */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/form_length_stats.js\");\nclass MethodLengthConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Maximum method/form length in statements. */\n this.statements = 100;\n /** Checks for empty methods/forms. */\n this.errorWhenEmpty = true;\n /** Option to ignore test classes for this check. */\n this.ignoreTestClasses = false;\n /** Option to check forms. */\n this.checkForms = true;\n }\n}\nexports.MethodLengthConf = MethodLengthConf;\nvar IssueType;\n(function (IssueType) {\n IssueType[IssueType[\"EmptyMethod\"] = 0] = \"EmptyMethod\";\n IssueType[IssueType[\"MaxStatements\"] = 1] = \"MaxStatements\";\n})(IssueType || (IssueType = {}));\nclass MethodLength {\n constructor() {\n this.conf = new MethodLengthConf();\n }\n getMetadata() {\n return {\n key: \"method_length\",\n title: \"Method/Form Length\",\n shortDescription: `Checks relating to method/form length.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-methods-small`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(issueType, actual, type) {\n switch (issueType) {\n case IssueType.EmptyMethod: {\n return \"Empty \" + type;\n }\n case IssueType.MaxStatements: {\n return \"Reduce \" + type + \" length to max \" + this.conf.statements + \" statements, currently \" + actual;\n }\n default: {\n return \"\";\n }\n }\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n const methodStats = method_length_stats_1.MethodLengthStats.run(obj);\n const methodIssues = this.check(methodStats, \"METHOD\");\n let formIssues = [];\n if (this.conf.checkForms) {\n const formStats = form_length_stats_1.FormLengthStats.run(obj);\n formIssues = this.check(formStats, \"FORM\");\n }\n return methodIssues.concat(formIssues);\n }\n // ***********************\n check(stats, type) {\n const issues = [];\n for (const s of stats) {\n if ((this.conf.ignoreTestClasses === true)\n && s.file.getFilename().includes(\".testclasses.\")) {\n continue;\n }\n if (s.count === 0 && this.conf.errorWhenEmpty === true) {\n const issue = issue_1.Issue.atPosition(s.file, s.pos, this.getDescription(IssueType.EmptyMethod, \"0\", type), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n continue;\n }\n if (s.count > this.conf.statements) {\n const message = this.getDescription(IssueType.MaxStatements, s.count.toString(), type);\n const issue = issue_1.Issue.atPosition(s.file, s.pos, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.MethodLength = MethodLength;\n//# sourceMappingURL=method_length.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_length.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_overwrites_builtin.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_overwrites_builtin.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodOverwritesBuiltIn = exports.MethodOverwritesBuiltInConf = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nconst _builtin_1 = __webpack_require__(/*! ../abap/5_syntax/_builtin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass MethodOverwritesBuiltInConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MethodOverwritesBuiltInConf = MethodOverwritesBuiltInConf;\nclass MethodOverwritesBuiltIn extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MethodOverwritesBuiltInConf();\n }\n getMetadata() {\n return {\n key: \"method_overwrites_builtin\",\n title: \"Method name overwrites builtin function\",\n shortDescription: `Checks Method names that overwrite builtin SAP functions`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abenbuilt_in_functions_overview.htm\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-obscuring-built-in-functions\r\n\r\nInterface method names are ignored`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let methods = [];\n for (const classDef of file.getInfo().listClassDefinitions()) {\n methods = methods.concat(classDef.methods);\n }\n const builtIn = new _builtin_1.BuiltIn();\n for (const method of methods) {\n if (builtIn.searchBuiltin(method.name.toUpperCase())) {\n const message = `Method name \"${method.name}\" overwrites built-in SAP function name`;\n issues.push(__1.Issue.atIdentifier(method.identifier, message, this.getMetadata().key));\n }\n }\n return issues;\n }\n}\nexports.MethodOverwritesBuiltIn = MethodOverwritesBuiltIn;\n//# sourceMappingURL=method_overwrites_builtin.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_overwrites_builtin.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_parameter_names.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_parameter_names.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodParameterNames = exports.MethodParameterNamesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nconst _abap_file_information_1 = __webpack_require__(/*! ../abap/4_file_information/_abap_file_information */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nclass MethodParameterNamesConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore parameters in methods of exception classes */\n this.ignoreExceptions = true;\n /** The pattern for importing parameters */\n this.importing = \"^I._.+$\";\n /** The pattern for returning parameters */\n this.returning = \"^R._.+$\";\n /** The pattern for changing parameters */\n this.changing = \"^C._.+$\";\n /** The pattern for exporting parameters */\n this.exporting = \"^E._.+$\";\n }\n}\nexports.MethodParameterNamesConf = MethodParameterNamesConf;\nclass MethodParameterNames {\n constructor() {\n this.conf = new MethodParameterNamesConf();\n }\n getMetadata() {\n return {\n key: \"method_parameter_names\",\n title: \"Method parameter naming conventions\",\n shortDescription: `Allows you to enforce a pattern, such as a prefix, for method parameter names`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(expected, actual) {\n return this.conf.patternKind === \"required\" ?\n \"Method parameter name does not match pattern \" + expected + \": \" + actual :\n \"Method parameter name must not match pattern \" + expected + \": \" + actual;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n let ret = [];\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const ddic = new ddic_1.DDIC(this.reg);\n for (const file of obj.getABAPFiles()) {\n for (const def of file.getInfo().listInterfaceDefinitions()) {\n for (const method of def.methods) {\n ret = ret.concat(this.checkMethod(method));\n }\n }\n for (const def of file.getInfo().listClassDefinitions()) {\n if (this.conf.ignoreExceptions && ddic.isException(def, obj)) {\n continue;\n }\n for (const method of def.methods) {\n if (method.isEventHandler) {\n continue;\n }\n ret = ret.concat(this.checkMethod(method));\n }\n }\n }\n return ret;\n }\n checkMethod(method) {\n let ret = [];\n for (const p of method.parameters) {\n switch (p.direction) {\n case _abap_file_information_1.MethodParameterDirection.Importing:\n ret = ret.concat(this.checkParameter(p, this.conf.importing));\n break;\n case _abap_file_information_1.MethodParameterDirection.Exporting:\n ret = ret.concat(this.checkParameter(p, this.conf.exporting));\n break;\n case _abap_file_information_1.MethodParameterDirection.Changing:\n ret = ret.concat(this.checkParameter(p, this.conf.changing));\n break;\n case _abap_file_information_1.MethodParameterDirection.Returning:\n ret = ret.concat(this.checkParameter(p, this.conf.returning));\n break;\n default:\n break;\n }\n }\n return ret;\n }\n checkParameter(param, expected) {\n const ret = [];\n const regex = new RegExp(expected, \"i\");\n const name = param.name;\n if (name_validator_1.NameValidator.violatesRule(name, regex, this.conf)) {\n const message = this.getDescription(expected, name);\n const issue = issue_1.Issue.atIdentifier(param.identifier, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n return ret;\n }\n}\nexports.MethodParameterNames = MethodParameterNames;\n//# sourceMappingURL=method_parameter_names.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/method_parameter_names.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/mix_returning.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/mix_returning.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MixReturning = exports.MixReturningConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass MixReturningConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MixReturningConf = MixReturningConf;\nclass MixReturning extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MixReturningConf();\n }\n getMetadata() {\n return {\n key: \"mix_returning\",\n title: \"Mix of returning and exporting\",\n shortDescription: `Checks that methods don't have a mixture of returning and exporting/changing parameters`,\n // eslint-disable-next-line max-len\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-either-returning-or-exporting-or-changing-but-not-a-combination`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Don't mix RETURNING and EXPORTING/CHANGING parameters in a single method.\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const ret = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const def of stru.findAllStatements(Statements.MethodDef)) {\n if (!def.findFirstExpression(Expressions.MethodDefReturning)) {\n continue;\n }\n if (def.findFirstExpression(Expressions.MethodDefExporting)\n || def.findFirstExpression(Expressions.MethodDefChanging)) {\n const token = def.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n }\n return ret;\n }\n}\nexports.MixReturning = MixReturning;\n//# sourceMappingURL=mix_returning.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/mix_returning.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/modify_only_own_db_tables.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/modify_only_own_db_tables.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyOnlyOwnDBTables = exports.ModifyOnlyOwnDBTablesConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nclass ModifyOnlyOwnDBTablesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.reportDynamic = true;\n /** Case insensitve regex for own tables */\n this.ownTables = \"^[yz]\";\n }\n}\nexports.ModifyOnlyOwnDBTablesConf = ModifyOnlyOwnDBTablesConf;\nclass ModifyOnlyOwnDBTables {\n constructor() {\n this.conf = new ModifyOnlyOwnDBTablesConf();\n }\n getMetadata() {\n return {\n key: \"modify_only_own_db_tables\",\n title: \"Modify only own DB tables\",\n shortDescription: `Modify only own DB tables`,\n extendedInformation: `https://docs.abapopenchecks.org/checks/26/`,\n tags: [_irule_1.RuleTag.Security],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n var _a;\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n let spaghetti = undefined;\n const output = [];\n for (const file of obj.getABAPFiles()) {\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const regExp = new RegExp(this.getConfig().ownTables, \"i\");\n for (const s of file.getStatements()) {\n const g = s.get();\n if (g instanceof Statements.DeleteDatabase\n || g instanceof Statements.UpdateDatabase\n || g instanceof Statements.InsertDatabase\n || g instanceof Statements.ModifyDatabase) {\n const databaseTable = s.findFirstExpression(Expressions.DatabaseTable);\n if (databaseTable === undefined) {\n continue;\n }\n if (((_a = databaseTable.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Dynamic) {\n if (this.getConfig().reportDynamic === true) {\n output.push(issue_1.Issue.atStatement(file, s, this.getMetadata().title, this.getMetadata().key, this.getConfig().severity));\n }\n continue;\n }\n const concat = databaseTable.concatTokens().toUpperCase();\n if (regExp.test(concat) === false) {\n // must contain a ReferenceType.TableVoidReference or a ReferenceType.TableReference if its a dependency\n if (spaghetti === undefined) {\n spaghetti = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n }\n const start = databaseTable.getFirstToken().getStart();\n const scope = spaghetti.lookupPosition(start, file.getFilename());\n const found1 = scope === null || scope === void 0 ? void 0 : scope.findTableVoidReference(start);\n if (found1) {\n output.push(issue_1.Issue.atStatement(file, s, this.getMetadata().title, this.getMetadata().key, this.getConfig().severity));\n }\n const found2 = scope === null || scope === void 0 ? void 0 : scope.findTableReference(start);\n if (found2) {\n output.push(issue_1.Issue.atStatement(file, s, this.getMetadata().title, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n }\n }\n return output;\n }\n}\nexports.ModifyOnlyOwnDBTables = ModifyOnlyOwnDBTables;\n//# sourceMappingURL=modify_only_own_db_tables.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/modify_only_own_db_tables.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/msag_consistency.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/msag_consistency.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MSAGConsistency = exports.MSAGConsistencyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass MSAGConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MSAGConsistencyConf = MSAGConsistencyConf;\nclass MSAGConsistency {\n constructor() {\n this.conf = new MSAGConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"msag_consistency\",\n title: \"MSAG consistency check\",\n shortDescription: `Checks the validity of messages in message classes`,\n extendedInformation: `Message numbers must be 3 digits, message text must not be empty, no message number duplicates`,\n };\n }\n getDescription(reason) {\n return \"Message class invalid: \" + reason;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n const issues = [];\n if (!(obj instanceof objects_1.MessageClass)) {\n return [];\n }\n const numbers = new Set();\n for (const message of obj.getMessages()) {\n // todo, get the right positions in xml file\n if (!message.getNumber().match(/\\d\\d\\d/)) {\n const text = this.getDescription(\"Message number must be 3 digits: message \" + message.getNumber());\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (message.getMessage() === \"\") {\n const text = \"Message text empty: message \" + message.getNumber();\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n const num = message.getNumber();\n if (numbers.has(num)) {\n const text = \"Duplicate message number \" + num;\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n else {\n numbers.add(num);\n }\n }\n return issues;\n }\n}\nexports.MSAGConsistency = MSAGConsistency;\n//# sourceMappingURL=msag_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/msag_consistency.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/names_no_dash.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/names_no_dash.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NamesNoDash = exports.NamesNoDashConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NamesNoDashConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NamesNoDashConf = NamesNoDashConf;\n// todo, also check for other characters like %&$, rename rule? and extend to more kinds of identifiers?\nclass NamesNoDash extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NamesNoDashConf();\n }\n getMetadata() {\n return {\n key: \"names_no_dash\",\n title: \"No dashes in FORM and DATA names\",\n shortDescription: `Checks for a \"-\" in FORM, DATA, PARAMETER and SELECT-OPTION names`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Naming],\n badExample: \"DATA foo-bar TYPE i.\",\n goodExample: \"DATA foobar TYPE i.\",\n };\n }\n getMessage() {\n return \"No dash allowed in FORM and DATA names\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return issues;\n }\n if (obj.getType() !== \"CLAS\" && obj.getType() !== \"INTF\") {\n for (const form of struc.findAllStatements(Statements.Form)) {\n const expr = form.findFirstExpression(expressions_1.FormName);\n for (const token of expr.getTokens()) {\n if (token instanceof tokens_1.Dash || token instanceof tokens_1.DashW) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n break;\n }\n }\n }\n for (const form of struc.findAllStatements(Statements.Parameter)) {\n const expr = form.findFirstExpression(Expressions.FieldSub);\n for (const token of expr.getTokens()) {\n if (token instanceof tokens_1.Dash || token instanceof tokens_1.DashW) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n break;\n }\n }\n }\n for (const form of struc.findAllStatements(Statements.SelectOption)) {\n const expr = form.findFirstExpression(Expressions.FieldSub);\n for (const token of expr.getTokens()) {\n if (token instanceof tokens_1.Dash || token instanceof tokens_1.DashW) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n break;\n }\n }\n }\n }\n for (const name of struc.findAllExpressions(Expressions.DefinitionName)) {\n const text = name.concatTokens();\n if (text.includes(\"-\")) {\n const issue = issue_1.Issue.atToken(file, name.getFirstToken(), this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.NamesNoDash = NamesNoDash;\n//# sourceMappingURL=names_no_dash.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/names_no_dash.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/nesting.js": +/*!****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/nesting.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Nesting = exports.NestingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NestingConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Maximum allowed nesting depth */\n this.depth = 5;\n }\n}\nexports.NestingConf = NestingConf;\nclass Nesting extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NestingConf();\n }\n getMetadata() {\n return {\n key: \"nesting\",\n title: \"Check nesting depth\",\n shortDescription: `Checks for methods exceeding a maximum nesting depth`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-the-nesting-depth-low\r\nhttps://docs.abapopenchecks.org/checks/74/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(max) {\n return \"Reduce nesting depth to max \" + max;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let depth = 0;\n for (const statement of file.getStatements()) {\n const type = statement.get();\n if (type instanceof Statements.If\n || type instanceof Statements.Case\n || type instanceof Statements.While\n || type instanceof Statements.Loop\n || type instanceof Statements.SelectLoop\n || type instanceof Statements.Do\n || type instanceof Statements.Try) {\n depth = depth + 1;\n }\n else if (type instanceof Statements.EndIf\n || type instanceof Statements.EndCase\n || type instanceof Statements.EndWhile\n || type instanceof Statements.EndLoop\n || type instanceof Statements.EndSelect\n || type instanceof Statements.EndDo\n || type instanceof Statements.EndTry) {\n depth = depth - 1;\n }\n if (depth > this.conf.depth) {\n const pos = statement.getFirstToken().getStart();\n const issue = issue_1.Issue.atPosition(file, pos, this.getDescription(this.conf.depth.toString()), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n break; // only one finding per file\n }\n }\n return issues;\n }\n}\nexports.Nesting = Nesting;\n//# sourceMappingURL=nesting.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/nesting.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/newline_between_methods.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/newline_between_methods.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NewlineBetweenMethods = exports.NewlineBetweenMethodsConf = exports.NewlineLogic = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst sequential_blank_1 = __webpack_require__(/*! ./sequential_blank */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sequential_blank.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nvar NewlineLogic;\n(function (NewlineLogic) {\n NewlineLogic[\"Exact\"] = \"exact\";\n NewlineLogic[\"Less\"] = \"less\";\n})(NewlineLogic || (exports.NewlineLogic = NewlineLogic = {}));\nclass NewlineBetweenMethodsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Amount of newlines, works in conjunction with \"newlineLogic\" */\n this.count = 3;\n /**\n * Exact: the exact number of required newlines between methods is defined by \"newlineAmount\"\n *\n * Less: the required number of newlines has to be less than \"newlineAmount\"\n */\n this.logic = NewlineLogic.Less;\n }\n}\nexports.NewlineBetweenMethodsConf = NewlineBetweenMethodsConf;\nclass NewlineBetweenMethods extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NewlineBetweenMethodsConf();\n }\n getMetadata() {\n return {\n key: \"newline_between_methods\",\n title: \"New line between methods\",\n shortDescription: `Checks for newlines between method implementations.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n switch (this.conf.logic) {\n case NewlineLogic.Exact: return `Exactly ${this.conf.count} newlines are required in between methods`;\n case NewlineLogic.Less: return `Less than ${this.conf.count} newlines and at least a single newline are required in between methods`;\n default: return \"\";\n }\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n const rows = file.getRawRows();\n if (!this.isConfigurationValid()) {\n return [];\n }\n for (const statement of file.getStatements()) {\n let nextRow = statement.getStart().getRow();\n if (!(statement.get() instanceof Statements.EndMethod) || ((_a = rows[nextRow]) === null || _a === void 0 ? void 0 : _a.toUpperCase().includes(\"ENDCLASS.\"))) {\n continue;\n }\n let counter = 0;\n while (sequential_blank_1.SequentialBlank.isBlankOrWhitespace(rows[nextRow]) && (counter <= this.conf.count + 1)) {\n counter++;\n nextRow++;\n }\n if ((counter !== this.conf.count && this.conf.logic === NewlineLogic.Exact)\n || (counter >= this.conf.count && this.conf.logic === NewlineLogic.Less)\n || counter === 0) {\n issues.push(issue_1.Issue.atStatement(file, statement, this.getMessage(), this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n isConfigurationValid() {\n if (this.conf.count < 1 || (this.conf.count === 1 && this.conf.logic === NewlineLogic.Less)) {\n return false;\n }\n else {\n return true;\n }\n }\n}\nexports.NewlineBetweenMethods = NewlineBetweenMethods;\n//# sourceMappingURL=newline_between_methods.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/newline_between_methods.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_aliases.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_aliases.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoAliases = exports.NoAliasesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NoAliasesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NoAliasesConf = NoAliasesConf;\nclass NoAliases extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoAliasesConf();\n }\n getMetadata() {\n return {\n key: \"no_aliases\",\n title: \"No ALIASES\",\n shortDescription: `Detects use of the ALIAS statement`,\n extendedInformation: `Only one issue is reported for chained statements`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const message = \"Do not use ALIASES\";\n let prev = undefined;\n for (const stat of file.getStatements()) {\n if (stat.get() instanceof Statements.Aliases) {\n if (prev && prev.getColon() === stat.getColon()) {\n continue;\n }\n issues.push(issue_1.Issue.atStatement(file, stat, message, this.getMetadata().key, this.conf.severity));\n prev = stat;\n }\n }\n return issues;\n }\n}\nexports.NoAliases = NoAliases;\n//# sourceMappingURL=no_aliases.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_aliases.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_chained_assignment.js": +/*!******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_chained_assignment.js ***! + \******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoChainedAssignment = exports.NoChainedAssignmentConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NoChainedAssignmentConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NoChainedAssignmentConf = NoChainedAssignmentConf;\nclass NoChainedAssignment extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoChainedAssignmentConf();\n }\n getMetadata() {\n return {\n key: \"no_chained_assignment\",\n title: \"No chained assignment\",\n shortDescription: `Find chained assingments and reports issues`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-chain-assignments`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n badExample: `var1 = var2 = var3.`,\n goodExample: `var2 = var3.\r\nvar1 = var2.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const s of file.getStatements()) {\n if (!(s.get() instanceof Statements.Move)) {\n continue;\n }\n if (s.findDirectExpressions(Expressions.Target).length >= 2) {\n const message = \"No chained assignment\";\n const issue = issue_1.Issue.atStatement(file, s, message, this.getMetadata().key);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.NoChainedAssignment = NoChainedAssignment;\n//# sourceMappingURL=no_chained_assignment.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_chained_assignment.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_external_form_calls.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_external_form_calls.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoExternalFormCalls = exports.NoExternalFormCallsConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NoExternalFormCallsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NoExternalFormCallsConf = NoExternalFormCallsConf;\nclass NoExternalFormCalls extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoExternalFormCallsConf();\n }\n getMetadata() {\n return {\n key: \"no_external_form_calls\",\n title: \"No external FORM calls\",\n shortDescription: `Detect external form calls`,\n badExample: `PERFORM foo IN PROGRAM bar.\r\n\r\nPERFORM foo(bar).`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues; // parser error\n }\n for (const p of stru.findAllStatements(Statements.Perform)) {\n if (p.findDirectExpression(Expressions.IncludeName) || p.findDirectTokenByText(\"PROGRAM\")) {\n const message = \"No external FORM calls\";\n issues.push(issue_1.Issue.atStatement(file, p, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.NoExternalFormCalls = NoExternalFormCalls;\n//# sourceMappingURL=no_external_form_calls.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_external_form_calls.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_inline_in_optional_branches.js": +/*!***************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_inline_in_optional_branches.js ***! + \***************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoInlineInOptionalBranches = exports.NoInlineInOptionalBranchesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass NoInlineInOptionalBranchesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NoInlineInOptionalBranchesConf = NoInlineInOptionalBranchesConf;\nclass NoInlineInOptionalBranches extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoInlineInOptionalBranchesConf();\n }\n getMetadata() {\n return {\n key: \"no_inline_in_optional_branches\",\n title: \"Don't declare inline in optional branches\",\n shortDescription: `Don't declare inline in optional branches`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-declare-inline-in-optional-branches\r\n\r\nConsidered optional branches:\r\n* inside IF/ELSEIF/ELSE\r\n* inside LOOP\r\n* inside WHILE\r\n* inside CASE/WHEN, CASE TYPE OF\r\n* inside DO\r\n* inside SELECT loops\r\n\r\nNot considered optional branches:\r\n* TRY/CATCH/CLEANUP`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const output = [];\n const version = this.reg.getConfig().getVersion();\n if (version === version_1.Version.v700\n || version === version_1.Version.v702\n || version === version_1.Version.OpenABAP) {\n return [];\n }\n const struc = file.getStructure();\n if (struc === undefined) {\n return []; // syntax error\n }\n const candidates = [\n ...struc.findAllStructures(Structures.If),\n ...struc.findAllStructures(Structures.Loop),\n ...struc.findAllStructures(Structures.While),\n ...struc.findAllStructures(Structures.Case),\n ...struc.findAllStructures(Structures.CaseType),\n ...struc.findAllStructures(Structures.Do),\n ...struc.findAllStructures(Structures.Select)\n ];\n for (const c of candidates) {\n const inline = c.findFirstExpression(Expressions.InlineData);\n if (inline) {\n const message = \"Don't declare inline in optional branches\";\n const issue = issue_1.Issue.atToken(file, inline.getFirstToken(), message, this.getMetadata().key, this.getConfig().severity);\n output.push(issue);\n }\n }\n return output;\n }\n}\nexports.NoInlineInOptionalBranches = NoInlineInOptionalBranches;\n//# sourceMappingURL=no_inline_in_optional_branches.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_inline_in_optional_branches.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_public_attributes.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_public_attributes.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoPublicAttributes = exports.NoPublicAttributesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst visibility_1 = __webpack_require__(/*! ../abap/4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _abap_file_information_1 = __webpack_require__(/*! ../abap/4_file_information/_abap_file_information */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NoPublicAttributesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allows public attributes, if they are declared as READ-ONLY. */\n this.allowReadOnly = false;\n /** Option to ignore test classes for this check. */\n this.ignoreTestClasses = false;\n }\n}\nexports.NoPublicAttributesConf = NoPublicAttributesConf;\nclass NoPublicAttributes extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoPublicAttributesConf();\n }\n getMetadata() {\n return {\n key: \"no_public_attributes\",\n title: \"No public attributes\",\n shortDescription: `Checks that classes and interfaces don't contain any public attributes.\r\nExceptions are excluded from this rule.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#members-private-by-default-protected-only-if-needed`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(name) {\n return \"Public attributes are not allowed, attribute \\\"\" + name + \"\\\"\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n this.file = file;\n const attributes = this.getAllPublicAttributes(obj);\n return this.findAllIssues(attributes);\n }\n getAllPublicAttributes(obj) {\n let attributes = [];\n attributes = attributes.concat(this.getAllPublicClassAttributes(obj));\n attributes = attributes.concat(this.getAllPublicInterfaceAttributes());\n return attributes;\n }\n getAllPublicClassAttributes(obj) {\n let attributes = [];\n const ddic = new ddic_1.DDIC(this.reg);\n for (const classDef of this.file.getInfo().listClassDefinitions()) {\n if (ddic.isException(classDef, obj)) {\n continue;\n }\n attributes = attributes.concat(classDef.attributes.filter(a => a.visibility === visibility_1.Visibility.Public));\n }\n return attributes;\n }\n getAllPublicInterfaceAttributes() {\n let attributes = [];\n for (const interfaceDef of this.file.getInfo().listInterfaceDefinitions()) {\n attributes = attributes.concat(interfaceDef.attributes.filter(a => a.visibility === visibility_1.Visibility.Public));\n }\n return attributes;\n }\n findAllIssues(attributes) {\n const issues = [];\n for (const attr of attributes) {\n if (this.conf.allowReadOnly === true && attr.readOnly) {\n continue;\n }\n else if (attr.level === _abap_file_information_1.AttributeLevel.Constant) {\n continue;\n }\n else if ((this.conf.ignoreTestClasses === true)\n && this.file.getFilename().includes(\".testclasses.\")) {\n continue;\n }\n const issue = issue_1.Issue.atIdentifier(attr.identifier, this.getDescription(attr.name), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n return issues;\n }\n}\nexports.NoPublicAttributes = NoPublicAttributes;\n//# sourceMappingURL=no_public_attributes.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_public_attributes.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_yoda_conditions.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_yoda_conditions.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoYodaConditions = exports.NoYodaConditionsConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NoYodaConditionsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Only report issues where the left side is a constant */\n this.onlyConstants = false;\n }\n}\nexports.NoYodaConditionsConf = NoYodaConditionsConf;\nclass NoYodaConditions extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoYodaConditionsConf();\n }\n getMetadata() {\n return {\n key: \"no_yoda_conditions\",\n title: \"No Yoda conditions\",\n shortDescription: `Finds Yoda conditions and reports issues`,\n extendedInformation: `https://en.wikipedia.org/wiki/Yoda_conditions\r\n\r\nConditions with operators CP, NP, CS, NS, CA, NA, CO, CN are ignored`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `IF 0 <> sy-subrc.\r\nENDIF.`,\n goodExample: `IF sy-subrc <> 0.\r\nENDIF.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b;\n const issues = [];\n for (const c of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.Compare)) || []) {\n const operator = (_b = c.findDirectExpression(Expressions.CompareOperator)) === null || _b === void 0 ? void 0 : _b.concatTokens().toUpperCase();\n if (operator === undefined\n || operator === \"CP\"\n || operator === \"NP\"\n || operator === \"CS\"\n || operator === \"NS\"\n || operator === \"CA\"\n || operator === \"NA\"\n || operator === \"CO\"\n || operator === \"CN\") {\n continue;\n }\n const sources = c.findDirectExpressions(Expressions.Source);\n if (sources.length !== 2) {\n continue;\n }\n if (this.conf.onlyConstants === true) {\n if (this.isConstant(sources[0]) === true && this.isConstant(sources[1]) === false) {\n const start = sources[0].getFirstToken().getStart();\n const end = sources[1].getLastToken().getEnd();\n const issue = issue_1.Issue.atRange(file, start, end, \"No Yoda conditions\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n continue;\n }\n // Scenarios:\n // constant COMPARE chain\n // constant COMPARE multiple tokens with spaces\n // fieldChain COMPARE multiple tokens with spaces\n if ((this.withoutSpaces(sources[0]) === false && this.withoutSpaces(sources[1]) === true) || ((this.isConstant(sources[0]) === true && this.isFieldChain(sources[1]) === true))) {\n const start = sources[0].getFirstToken().getStart();\n const end = sources[1].getLastToken().getEnd();\n const issue = issue_1.Issue.atRange(file, start, end, \"No Yoda conditions\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n isConstant(node) {\n var _a;\n if (node.getChildren().length > 1) {\n return false;\n }\n return ((_a = node.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Constant;\n }\n isFieldChain(node) {\n var _a;\n if (node.getChildren().length > 1) {\n return false;\n }\n return ((_a = node.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.FieldChain;\n }\n withoutSpaces(node) {\n return node.concatTokensWithoutStringsAndComments().includes(\" \");\n }\n}\nexports.NoYodaConditions = NoYodaConditions;\n//# sourceMappingURL=no_yoda_conditions.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/no_yoda_conditions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/nrob_consistency.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/nrob_consistency.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NROBConsistency = exports.NROBConsistencyConf = void 0;\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nclass NROBConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NROBConsistencyConf = NROBConsistencyConf;\nclass NROBConsistency {\n constructor() {\n this.conf = new NROBConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"nrob_consistency\",\n title: \"Number range consistency\",\n shortDescription: `Consistency checks for number ranges`,\n extendedInformation: `Issue reported if percentage warning is over 50%\r\n\r\nIssue reported if the referenced domain is not found(taking error namespace into account)`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof Objects.NumberRange)) {\n return [];\n }\n const issues = [];\n const id = obj.getIdentifier();\n if (id === undefined) {\n return [];\n }\n if (obj.getPercentage() || 0 > 50) {\n const message = \"Percentage more than 50\";\n issues.push(issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.getConfig().severity));\n }\n const domain = obj.getDomain();\n if (domain\n && this.reg.getObject(\"DOMA\", domain) === undefined\n && this.reg.inErrorNamespace(domain) === true) {\n const message = \"Domain \" + domain + \" not found\";\n issues.push(issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.getConfig().severity));\n }\n return [];\n }\n}\nexports.NROBConsistency = NROBConsistency;\n//# sourceMappingURL=nrob_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/nrob_consistency.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/object_naming.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/object_naming.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ObjectNaming = exports.ObjectNamingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nclass ObjectNamingConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** The regex pattern for global class names */\n this.clas = \"^ZC(L|X)\";\n /** The regex pattern for global interface names */\n this.intf = \"^ZIF\";\n /** The regex pattern for program (report) names */\n this.prog = \"^Z\";\n /** The regex pattern for function group names */\n this.fugr = \"^Z\";\n /** The regex pattern for DDIC table names */\n this.tabl = \"^Z\";\n /** The regex pattern for DDIC table type names */\n this.ttyp = \"^Z\";\n /** The regex pattern for data element names */\n this.dtel = \"^Z\";\n /** The regex pattern for domain names */\n this.doma = \"^Z\";\n /** The regex pattern for message class names */\n this.msag = \"^Z\";\n /** The regex pattern for transaction names */\n this.tran = \"^Z\";\n /** The regex pattern for lock object names */\n this.enqu = \"^EZ\";\n /** The regex pattern for authorization object names */\n this.auth = \"^Z\";\n /** The regex pattern for package interface names */\n this.pinf = \"^Z\";\n /** The regex pattern for idoc names */\n this.idoc = \"^Z\";\n /** The regex pattern for transformation names */\n this.xslt = \"^Z\";\n /** The regex pattern for smartform names */\n this.ssfo = \"^Z\";\n /** The regex pattern for smartstyle names */\n this.ssst = \"^Z\";\n /** The regex pattern for search helps */\n this.shlp = \"^Z\";\n /** The regex pattern for BADI Implementation */\n this.sxci = \"^Z\";\n /** The regex pattern for Enhancement Spot */\n this.enhs = \"^Z\";\n /** The regex pattern for Enhancement Implementation */\n this.enho = \"^Z\";\n /** The regex pattern for Customer enhancement projects */\n this.cmod = \"^Z\";\n /** The regex pattern for SAPscript form */\n this.form = \"^Z\";\n /** The regex pattern for Adobe Form Definition */\n this.sfpf = \"^Z\";\n /** The regex pattern for Adobe Interface Definition */\n this.sfpi = \"^Z\";\n /** The regex pattern for ABAP Query: Query */\n this.aqqu = \"^Z\";\n /** The regex pattern for ABAP Query: Functional area */\n this.aqsg = \"^Z\";\n /** The regex pattern for ABAP Query: User group */\n this.aqbg = \"^Z\";\n /** The regex pattern for Authorization Object */\n this.suso = \"^Z\";\n /** The regex pattern for Authorization Group */\n this.sucu = \"^Z\";\n /** The regex pattern for Web Dynpro Application */\n this.wdya = \"^Z\";\n /** The regex pattern for Web Dynpro Component */\n this.wdyn = \"^Z\";\n }\n}\nexports.ObjectNamingConf = ObjectNamingConf;\nclass ObjectNaming {\n constructor() {\n this.conf = new ObjectNamingConf();\n }\n getMetadata() {\n return {\n key: \"object_naming\",\n title: \"Object naming conventions\",\n shortDescription: `Allows you to enforce a pattern, such as a prefix, for object names`,\n tags: [_irule_1.RuleTag.Naming],\n };\n }\n getDescription(expected, actual) {\n return this.conf.patternKind === \"required\" ?\n \"Object name does not match pattern \" + expected + \": \" + actual :\n \"Object name must not match pattern \" + expected + \": \" + actual;\n }\n getConfig() {\n if (typeof this.conf === \"boolean\" && this.conf === true) {\n return new ObjectNamingConf();\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n let message = undefined;\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n const abapType = obj.getType().toLowerCase();\n const config = this.getConfig();\n // @ts-ignore\n const pattern = config[abapType];\n if (pattern === undefined) {\n return [];\n }\n const regex = new RegExp(pattern, \"i\");\n if (name_validator_1.NameValidator.violatesRule(obj.getName(), regex, this.conf)) {\n message = this.getDescription(pattern, obj.getName());\n }\n if (message) {\n return [issue_1.Issue.atRow(obj.getFiles()[0], 1, message, this.getMetadata().key, this.conf.severity)];\n }\n return [];\n }\n}\nexports.ObjectNaming = ObjectNaming;\n//# sourceMappingURL=object_naming.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/object_naming.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/obsolete_statement.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/obsolete_statement.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ObsoleteStatement = exports.ObsoleteStatementConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ObsoleteStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Check for REFRESH statement */\n this.refresh = true;\n /** Check for COMPUTE statement */\n this.compute = true;\n /** Check for ADD statement */\n this.add = true;\n /** Check for SUBTRACT statement */\n this.subtract = true;\n /** Check for MULTIPLY statement */\n this.multiply = true;\n /** Check for DIVIDE statement */\n this.divide = true;\n /** Check for MOVE statement */\n this.move = true;\n /** Checks for usages of IS REQUESTED */\n this.requested = true;\n /** Checks for usages of OCCURS */\n this.occurs = true;\n /** Checks for SET EXTENDED CHECK */\n this.setExtended = true;\n /** Checks for WITH HEADER LINE */\n this.withHeaderLine = true;\n /** Checks for FIELD-SYMBOLS ... STRUCTURE */\n this.fieldSymbolStructure = true;\n /** Checks for TYPE-POOLS */\n this.typePools = true;\n /** Checks for addition LOAD */\n this.load = true;\n /** Checks for PARAMETER */\n this.parameter = true;\n /** Checks for RANGES */\n this.ranges = true;\n /** Checks for COMMUNICATION */\n this.communication = true;\n /** Checks for PACK */\n this.pack = true;\n /** Checks for SELECT without INTO */\n this.selectWithoutInto = true;\n /** FREE MEMORY, without ID */\n this.freeMemory = true;\n /** Checks for EXIT FROM SQL */\n this.exitFromSQL = true;\n /** Checks for SORT itab BY */\n this.sortByFS = true;\n /** Checks for CALL TRANSFORMATION OBJECTS */\n this.callTransformation = true;\n /** Check for POSIX REGEX usage */\n this.regex = true;\n /** Check for OCCURENCES vs OCCURRENCES usage */\n this.occurences = true;\n /** Check for CLIENT SPECIFIED */\n this.clientSpecified = true;\n /** Check for FORM DEFINITION */\n this.formDefinition = true;\n /** Check for FORM IMPLEMENTATION */\n this.formImplementation = true;\n }\n}\nexports.ObsoleteStatementConf = ObsoleteStatementConf;\nclass ObsoleteStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ObsoleteStatementConf();\n }\n getMetadata() {\n return {\n key: \"obsolete_statement\",\n title: \"Obsolete statements\",\n shortDescription: `Checks for usages of certain obsolete statements`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix],\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-functional-to-procedural-language-constructs\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-obsolete-language-elements\r\n\r\nSET EXTENDED CHECK: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapset_extended_check.htm\r\n\r\nIS REQUESTED: https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abenlogexp_requested.htm\r\n\r\nWITH HEADER LINE: https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abapdata_header_line.htm\r\n\r\nFIELD-SYMBOLS STRUCTURE: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapfield-symbols_obsolete_typing.htm\r\n\r\nTYPE-POOLS: from 702, https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-71-program_load.htm\r\n\r\nLOAD addition: from 702, https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-71-program_load.htm\r\n\r\nCOMMUICATION: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapcommunication.htm\r\n\r\nOCCURS: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapdata_occurs.htm\r\n\r\nPARAMETER: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapparameter.htm\r\n\r\nRANGES: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapranges.htm\r\n\r\nPACK: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abappack.htm\r\n\r\nMOVE: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapmove_obs.htm\r\n\r\nSELECT without INTO: https://help.sap.com/doc/abapdocu_731_index_htm/7.31/en-US/abapselect_obsolete.htm\r\nSELECT COUNT(*) is considered okay\r\n\r\nFREE MEMORY: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abapfree_mem_id_obsolete.htm\r\n\r\nSORT BY FS: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapsort_itab_obsolete.htm\r\n\r\nCALL TRANSFORMATION OBJECTS: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapcall_transformation_objects.htm\r\n\r\nPOSIX REGEX: https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm\r\n\r\nOCCURENCES: check for OCCURENCES vs OCCURRENCES\r\n\r\nCLIENT SPECIFIED, from 754: https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm?file=abapselect_client_obsolete.htm`,\n badExample: `REFRESH itab.\r\n\r\nCOMPUTE foo = 2 + 2.\r\n\r\nMULTIPLY lv_foo BY 2.\r\n\r\nINTERFACE intf LOAD.\r\n\r\nIF foo IS SUPPLIED.\r\nENDIF.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b, _c;\n const issues = [];\n const statements = file.getStatements();\n let prev = undefined;\n const configVersion = this.reg.getConfig().getVersion();\n for (const staNode of statements) {\n const sta = staNode.get();\n if ((sta instanceof Statements.Refresh && this.conf.refresh)\n || (sta instanceof Statements.Compute && this.conf.compute)\n || (sta instanceof Statements.Add && this.conf.add)\n || (sta instanceof Statements.Subtract && this.conf.subtract)\n || (sta instanceof Statements.ClassDefinitionLoad && this.conf.load && configVersion >= version_1.Version.v702)\n || (sta instanceof Statements.InterfaceLoad && this.conf.load && configVersion >= version_1.Version.v702)\n || (sta instanceof Statements.Multiply && this.conf.multiply)\n || (sta instanceof Statements.Divide && this.conf.divide)\n || (sta instanceof Statements.Move && this.conf.move\n && staNode.getTokens()[0].getStr().toUpperCase() === \"MOVE\"\n && staNode.getTokens()[1].getStr() !== \"-\"\n && staNode.getTokens()[1].getStr().toUpperCase() !== \"EXACT\")) {\n if (prev === undefined || staNode.getStart().getCol() !== prev.getCol() || staNode.getStart().getRow() !== prev.getRow()) {\n const message = \"Statement \\\"\" + staNode.getFirstToken().getStr() + \"\\\" is obsolete\";\n const fix = this.getFix(file, sta, staNode);\n const issue = issue_1.Issue.atStatement(file, staNode, message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n prev = staNode.getStart();\n }\n if (this.conf.setExtended && sta instanceof Statements.SetExtendedCheck) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"SET EXTENDED CHECK is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (this.conf.communication && sta instanceof Statements.Communication) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"COMMUNICATION is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (this.conf.pack && sta instanceof Statements.Pack) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"PACK is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (this.conf.parameter && sta instanceof Statements.Parameter) {\n const token = staNode.getFirstToken();\n if (token.getStr().toUpperCase() === \"PARAMETER\") {\n const fix = edit_helper_1.EditHelper.replaceToken(file, token, \"PARAMETERS\");\n const issue = issue_1.Issue.atStatement(file, staNode, \"Use PARAMETERS instead of PARAMETER\", this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n if (this.conf.ranges && sta instanceof Statements.Ranges) {\n const children = staNode.getChildren();\n let fix = undefined;\n if (children.length === 5) {\n const simpleNameString = children[1].concatTokens();\n const fieldSubString = children[3].concatTokens();\n const replacement = \"TYPES \" + simpleNameString + \" LIKE RANGE OF \" + fieldSubString + \".\";\n fix = edit_helper_1.EditHelper.replaceRange(file, staNode.getStart(), staNode.getEnd(), replacement);\n }\n const issue = issue_1.Issue.atStatement(file, staNode, \"Use LIKE RANGE OF instead of RANGES\", this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n if (this.conf.selectWithoutInto\n && (sta instanceof Statements.Select || sta instanceof Statements.SelectLoop)\n && staNode.findFirstExpression(Expressions.SQLIntoStructure) === undefined\n && staNode.findFirstExpression(Expressions.SQLIntoTable) === undefined) {\n const concat = (_a = staNode.findFirstExpression(Expressions.SQLFieldList)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n if (concat !== \"COUNT(*)\" && concat !== \"COUNT( * )\") {\n const issue = issue_1.Issue.atStatement(file, staNode, \"SELECT without INTO\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.requested && sta instanceof Statements.If) {\n for (const compare of staNode.findAllExpressions(Expressions.Compare)) {\n const token = compare.findDirectTokenByText(\"REQUESTED\");\n if (token) {\n const fix = edit_helper_1.EditHelper.replaceToken(file, token, \"SUPPLIED\");\n const issue = issue_1.Issue.atToken(file, token, \"IS REQUESTED is obsolete\", this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n }\n if (this.conf.occurs) {\n if ((sta instanceof Statements.Describe)\n || (sta instanceof Statements.Ranges)\n || (sta instanceof Statements.DataBegin)\n || (sta instanceof Statements.TypeBegin)) {\n const token = staNode.findDirectTokenByText(\"OCCURS\");\n if (token) {\n const issue = issue_1.Issue.atToken(file, token, \"OCCURS is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n for (const dataDef of staNode.findAllExpressions(Expressions.DataDefinition)) {\n const token = (_b = dataDef.findDirectExpression(Expressions.TypeTable)) === null || _b === void 0 ? void 0 : _b.findDirectTokenByText(\"OCCURS\");\n if (token) {\n const issue = issue_1.Issue.atToken(file, token, \"OCCURS is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n if (this.conf.withHeaderLine === true && sta instanceof Statements.Data) {\n if (staNode.concatTokens().toUpperCase().includes(\"WITH HEADER LINE\")) {\n const token = staNode.getTokens().find(t => t.getStr().toUpperCase() === \"WITH\");\n if (token) {\n const issue = issue_1.Issue.atToken(file, token, \"WITH HEADER LINE is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n if (this.conf.fieldSymbolStructure && sta instanceof Statements.FieldSymbol) {\n const token = staNode.findDirectTokenByText(\"STRUCTURE\");\n if (token) {\n const issue = issue_1.Issue.atToken(file, token, \"FIELD-SYMBOLS ... STRUCTURE is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.typePools && sta instanceof Statements.TypePools && configVersion >= version_1.Version.v702) {\n const fix = edit_helper_1.EditHelper.deleteStatement(file, staNode);\n const issue = issue_1.Issue.atStatement(file, staNode, \"Statement \\\"TYPE-POOLS\\\" is obsolete\", this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n if (this.conf.freeMemory && sta instanceof Statements.FreeMemory) {\n const concat = staNode.concatTokens().toUpperCase();\n if (concat === \"FREE MEMORY.\") {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Statement \\\"FREE MEMORY\\\" without ID is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.exitFromSQL && sta instanceof Statements.Exit) {\n const concat = staNode.concatTokens().toUpperCase();\n if (concat === \"EXIT FROM SQL.\") {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Statement \\\"EXIT FROM SQL\\\" is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.sortByFS && sta instanceof Statements.Sort) {\n const afterBy = staNode.findExpressionAfterToken(\"BY\");\n if (afterBy instanceof nodes_1.ExpressionNode && afterBy.get() instanceof expressions_1.SourceFieldSymbol) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Statement \\\"SORT itab BY \\\" is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.callTransformation && sta instanceof Statements.CallTransformation) {\n const objects = staNode.findExpressionAfterToken(\"OBJECTS\");\n if (objects) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Use PARAMETERS instead of OBJECTS\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.occurences && sta instanceof Statements.Replace) {\n const concat = staNode.concatTokens().toUpperCase();\n if (concat.includes(\" OCCURENCES \")) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Use \\\"OCCURRENCES\\\"\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.formDefinition && sta instanceof Statements.FormDefinition) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"FORM DEFINITION\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (this.conf.formImplementation && sta instanceof Statements.Form) {\n if (staNode.findDirectTokenByText(\"IMPLEMENTATION\")) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"FORM IMPLEMENTATION\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (configVersion >= version_1.Version.v754 && this.conf.clientSpecified\n && (sta instanceof Statements.Select\n || sta instanceof Statements.SelectLoop\n || sta instanceof Statements.DeleteDatabase\n || sta instanceof Statements.InsertDatabase\n || sta instanceof Statements.ModifyDatabase\n || sta instanceof Statements.UpdateDatabase)) {\n const concat = staNode.concatTokens().toUpperCase();\n if (concat.includes(\" CLIENT SPECIFIED\")) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Use USING CLIENT\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (configVersion >= version_1.Version.v756 && this.conf.regex) {\n if (sta instanceof Statements.Find || sta instanceof Statements.Replace) {\n if ((_c = staNode.findFirstExpression(Expressions.FindType)) === null || _c === void 0 ? void 0 : _c.concatTokens().includes(\"REGEX\")) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"REGEX obsolete, use PCRE\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n else {\n const classNameExpression = staNode.findAllExpressions(Expressions.ClassName);\n const methodNameExpression = staNode.findAllExpressions(Expressions.MethodName);\n if (classNameExpression.length !== 0 && methodNameExpression.length !== 0) {\n const className = classNameExpression[0].concatTokens();\n const methodName = methodNameExpression[0].concatTokens();\n if (className === \"cl_abap_regex\") {\n if (methodName === \"create_posix\") {\n const issue = issue_1.Issue.atStatement(file, staNode, \"create_posix obsolete, use create_pcre\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n else if (className === \"cl_abap_matcher\") {\n if (methodName.includes(\"posix\")) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"posix methods obsolete, use pcre methods\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n }\n }\n }\n return issues;\n }\n getFix(file, statement, statementNode) {\n if (statement instanceof Statements.Refresh) {\n if (statementNode.getChildren().length === 6) {\n return undefined;\n }\n return edit_helper_1.EditHelper.replaceToken(file, statementNode.getFirstToken(), \"CLEAR\");\n }\n else if (statement instanceof Statements.Compute) {\n const children = statementNode.getChildren();\n if (children.length === 5) {\n const tokenForDeletion = statementNode.getFirstToken();\n let endPosition = tokenForDeletion.getEnd();\n endPosition = new position_1.Position(endPosition.getRow(), endPosition.getCol() + 1);\n return edit_helper_1.EditHelper.deleteRange(file, tokenForDeletion.getStart(), endPosition);\n }\n else {\n const targetString = children[2].concatTokens();\n const sourceString = children[4].concatTokens();\n const replacement = targetString + \" = EXACT #( \" + sourceString + \" ).\";\n return edit_helper_1.EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);\n }\n }\n else if (statement instanceof Statements.Add ||\n statement instanceof Statements.Subtract) {\n const children = statementNode.getChildren();\n const sourceString = children[1].concatTokens();\n const targetString = children[3].concatTokens();\n let replacement = \"\";\n if (statement instanceof Statements.Add) {\n replacement = targetString + \" = \" + targetString + \" + \" + sourceString + \".\";\n }\n else if (statement instanceof Statements.Subtract) {\n replacement = targetString + \" = \" + targetString + \" - \" + sourceString + \".\";\n }\n return edit_helper_1.EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);\n }\n else if (statement instanceof Statements.Multiply ||\n statement instanceof Statements.Divide) {\n const children = statementNode.getChildren();\n const targetString = children[1].concatTokens();\n const sourceString = children[3].concatTokens();\n let replacement = \"\";\n if (statement instanceof Statements.Multiply) {\n replacement = targetString + \" = \" + targetString + \" * \" + sourceString + \".\";\n }\n else if (statement instanceof Statements.Divide) {\n replacement = targetString + \" = \" + targetString + \" / \" + sourceString + \".\";\n }\n return edit_helper_1.EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);\n }\n else if (statement instanceof Statements.Move) {\n if (statementNode.getColon() !== undefined) {\n return undefined;\n }\n const children = statementNode.getChildren();\n const sourceString = children[1].concatTokens();\n const targetString = children[3].concatTokens();\n let operator = children[2].concatTokens();\n if (operator === \"TO\") {\n operator = \" = \";\n }\n else {\n operator = \" ?= \";\n }\n const replacement = targetString + operator + sourceString + \".\";\n return edit_helper_1.EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);\n }\n else if (statement instanceof Statements.ClassDefinitionLoad ||\n statement instanceof Statements.InterfaceLoad) {\n let token = undefined;\n if (statement instanceof Statements.ClassDefinitionLoad) {\n token = statementNode.getChildren()[3].getFirstToken();\n }\n else {\n token = statementNode.getChildren()[2].getFirstToken();\n }\n let startPosition = token.getStart();\n startPosition = new position_1.Position(startPosition.getRow(), startPosition.getCol() - 1);\n return edit_helper_1.EditHelper.deleteRange(file, startPosition, token.getEnd());\n }\n return undefined;\n }\n}\nexports.ObsoleteStatement = ObsoleteStatement;\n//# sourceMappingURL=obsolete_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/obsolete_statement.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_parameter_name.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_parameter_name.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OmitParameterName = exports.OmitParameterNameConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst method_definition_1 = __webpack_require__(/*! ../abap/types/method_definition */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/method_definition.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _builtin_1 = __webpack_require__(/*! ../abap/5_syntax/_builtin */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nclass OmitParameterNameConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.OmitParameterNameConf = OmitParameterNameConf;\nclass OmitParameterName {\n constructor() {\n this.conf = new OmitParameterNameConf();\n }\n getMetadata() {\n return {\n key: \"omit_parameter_name\",\n title: \"Omit parameter name\",\n shortDescription: `Omit the parameter name in single parameter calls`,\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-the-parameter-name-in-single-parameter-calls\r\n\r\nEXPORTING must already be omitted for this rule to take effect, https://rules.abaplint.org/exporting/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix],\n badExample: `method( param = 2 ).`,\n goodExample: `method( 2 ).`,\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n var _a, _b;\n const issues = [];\n if (!(obj instanceof _abap_object_1.ABAPObject) || obj.getType() === \"INTF\") {\n return [];\n }\n const spaghetti = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n for (const file of obj.getABAPFiles()) {\n const stru = file.getStructure();\n if (stru === undefined) {\n continue;\n }\n for (const c of stru.findAllExpressions(Expressions.MethodCall)) {\n if (c.findFirstExpression(Expressions.MethodParameters)) {\n continue;\n }\n // hmm, this will break for nested method calls?\n const parameters = c.findAllExpressions(Expressions.ParameterS);\n if (parameters.length > 1 || parameters.length === 0) {\n continue;\n }\n const name = c.findDirectExpression(Expressions.MethodName);\n if (name === undefined) {\n continue;\n }\n const param = c.findDirectExpression(Expressions.MethodCallParam);\n if (param === undefined) {\n continue;\n }\n const ref = this.findMethodReference(name.getFirstToken(), spaghetti, file.getFilename());\n if (ref === undefined) {\n continue;\n }\n const i = ref.getDefaultImporting();\n if (i === undefined) {\n continue;\n }\n const p = (_a = parameters[0].findDirectExpression(Expressions.ParameterName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if ((p === null || p === void 0 ? void 0 : p.getStr().toUpperCase()) === i.toUpperCase()) {\n const message = \"Omit default parameter name \\\"\" + i + \"\\\"\";\n const end = (_b = parameters[0].findDirectExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStart();\n if (end) {\n const fix = edit_helper_1.EditHelper.deleteRange(file, p.getStart(), end);\n issues.push(issue_1.Issue.atRange(file, p.getStart(), end, message, this.getMetadata().key, this.getConfig().severity, fix));\n }\n else {\n issues.push(issue_1.Issue.atToken(file, name.getFirstToken(), message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n }\n return issues;\n }\n ///////////////////\n findMethodReference(token, spaghetti, filename) {\n const scope = spaghetti.lookupPosition(token.getStart(), filename);\n if (scope === undefined) {\n return undefined;\n }\n for (const r of scope.getData().references) {\n if (r.referenceType !== _reference_1.ReferenceType.MethodReference\n && r.referenceType !== _reference_1.ReferenceType.BuiltinMethodReference) {\n continue;\n }\n else if (r.position.getStart().equals(token.getStart())) {\n if (r.resolved instanceof _builtin_1.BuiltInMethod) {\n return r.resolved;\n }\n else if (r.resolved instanceof method_definition_1.MethodDefinition) {\n return r.resolved.getParameters();\n }\n }\n }\n return undefined;\n }\n}\nexports.OmitParameterName = OmitParameterName;\n//# sourceMappingURL=omit_parameter_name.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_parameter_name.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_preceding_zeros.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_preceding_zeros.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OmitPrecedingZeros = exports.OmitPrecedingZerosConf = void 0;\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass OmitPrecedingZerosConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.OmitPrecedingZerosConf = OmitPrecedingZerosConf;\nclass OmitPrecedingZeros extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new OmitPrecedingZerosConf();\n }\n getMetadata() {\n return {\n key: \"omit_preceding_zeros\",\n title: \"Omit preceding zeros\",\n shortDescription: `Omit preceding zeros from integer constants`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `int = -001.`,\n goodExample: `int = -1.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n const message = \"Omit preceding zeros\";\n for (const s of file.getStatements()) {\n for (const i of s.findAllExpressions(Expressions.Integer)) {\n const token = i.getLastToken();\n const str = token.getStr();\n if (str.length > 1 && str.startsWith(\"0\")) {\n if (s.get() instanceof statements_1.CallScreen || s.get() instanceof statements_1.SetScreen) {\n continue;\n }\n const replace = str.replace(/^0+/, \"\");\n const fix = edit_helper_1.EditHelper.replaceRange(file, token.getStart(), token.getEnd(), replace);\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.getConfig().severity, fix);\n issues.push(issue);\n }\n }\n for (const i of s.findAllExpressions(Expressions.ParameterException)) {\n const token = (_a = i.findDirectExpression(Expressions.SimpleName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const str = token === null || token === void 0 ? void 0 : token.getStr();\n if (token && str && str.length > 1 && str.startsWith(\"0\")) {\n const replace = str.replace(/^0+/, \"\");\n const fix = edit_helper_1.EditHelper.replaceRange(file, token.getStart(), token.getEnd(), replace);\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.getConfig().severity, fix);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n}\nexports.OmitPrecedingZeros = OmitPrecedingZeros;\n//# sourceMappingURL=omit_preceding_zeros.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_preceding_zeros.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_receiving.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_receiving.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OmitReceiving = exports.OmitReceivingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nclass OmitReceivingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.OmitReceivingConf = OmitReceivingConf;\nclass OmitReceiving extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new OmitReceivingConf();\n }\n getMetadata() {\n return {\n key: \"omit_receiving\",\n title: \"Omit RECEIVING\",\n shortDescription: `Omit RECEIVING`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-receiving`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: `\r\n upload_pack(\r\n EXPORTING\r\n io_client = lo_client\r\n iv_url = iv_url\r\n iv_deepen_level = iv_deepen_level\r\n it_hashes = lt_hashes\r\n RECEIVING\r\n rt_objects = et_objects ).`,\n goodExample: `\r\n et_objects = upload_pack(\r\n io_client = lo_client\r\n iv_url = iv_url\r\n iv_deepen_level = iv_deepen_level\r\n it_hashes = lt_hashes ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n for (const e of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.MethodCallParam)) || []) {\n const p = e.findDirectExpression(Expressions.MethodParameters);\n if (p === undefined) {\n continue;\n }\n const r = p.findDirectTokenByText(\"RECEIVING\");\n if (r === undefined) {\n continue;\n }\n const ex = p.findDirectTokenByText(\"EXCEPTIONS\");\n if (ex !== undefined) {\n continue;\n }\n issues.push(issue_1.Issue.atToken(file, r, \"Omit RECEIVING\", this.getMetadata().key, this.getConfig().severity));\n }\n return issues;\n }\n}\nexports.OmitReceiving = OmitReceiving;\n//# sourceMappingURL=omit_receiving.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/omit_receiving.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_702_chaining.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_702_chaining.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Parser702Chaining = exports.Parser702ChainingConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass Parser702ChainingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.Parser702ChainingConf = Parser702ChainingConf;\nclass Parser702Chaining extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new Parser702ChainingConf();\n }\n getMetadata() {\n return {\n key: \"parser_702_chaining\",\n title: \"Parser Error, bad chanining on 702\",\n shortDescription: `ABAP on 702 does not allow for method chaining with IMPORTING/EXPORTING/CHANGING keywords,\r\nthis rule finds these and reports errors.\r\nOnly active on target version 702 and below.`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n if (this.reg.getConfig().getVersion() !== version_1.Version.v702\n && this.reg.getConfig().getVersion() !== version_1.Version.v700) {\n return [];\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const chain of stru.findAllExpressions(Expressions.MethodCallChain)) {\n const calls = chain.findDirectExpressions(Expressions.MethodCall);\n if (calls.length < 2) {\n continue;\n }\n for (const call of calls) {\n const callParam = call.findDirectExpression(Expressions.MethodCallParam);\n if (callParam === undefined) {\n continue;\n }\n const param = callParam.findDirectExpression(Expressions.MethodParameters);\n if (param === undefined) {\n continue;\n }\n if (param.findDirectTokenByText(\"IMPORTING\")\n || param.findDirectTokenByText(\"CHANGING\")\n || param.findDirectTokenByText(\"EXCEPTIONS\")) {\n const message = \"This kind of method chaining not possible in 702\";\n const issue = issue_1.Issue.atPosition(file, param.getFirstToken().getStart(), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n}\nexports.Parser702Chaining = Parser702Chaining;\n//# sourceMappingURL=parser_702_chaining.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_702_chaining.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_error.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_error.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParserError = exports.ParserErrorConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst statement_parser_1 = __webpack_require__(/*! ../abap/2_statements/statement_parser */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass ParserErrorConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ParserErrorConf = ParserErrorConf;\nclass ParserError {\n constructor() {\n this.conf = new ParserErrorConf();\n }\n getMetadata() {\n return {\n key: \"parser_error\",\n title: \"Parser error\",\n shortDescription: `Checks for syntax not recognized by abaplint.\r\n\r\nSee recognized syntax at https://syntax.abaplint.org`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.SingleFile],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const issues = [];\n issues.push(...obj.getParsingIssues());\n if (obj instanceof _abap_object_1.ABAPObject) {\n for (const file of obj.getABAPFiles()) {\n for (const statement of file.getStatements()) {\n if (!(statement.get() instanceof _statement_1.Unknown)) {\n continue;\n }\n if (statement.getTokens().length > statement_parser_1.STATEMENT_MAX_TOKENS) {\n const message = \"Statement too long, refactor statement\";\n const issue = issue_1.Issue.atToken(file, statement.getTokens()[0], message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n else {\n const tok = statement.getFirstToken();\n const message = \"Statement does not exist in ABAP\" + this.reg.getConfig().getVersion() + \"(or a parser error), \\\"\" + tok.getStr() + \"\\\"\";\n const issue = issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.reg.getConfig().getVersion() === version_1.Version.v700) {\n for (const statement of file.getStatements()) {\n if (statement.getPragmas().length > 0) {\n const message = \"Pragmas not allowed in v700\";\n const issue = issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n }\n }\n return issues;\n }\n}\nexports.ParserError = ParserError;\n//# sourceMappingURL=parser_error.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_error.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_missing_space.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_missing_space.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParserMissingSpace = exports.ParserMissingSpaceConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\n// todo: this rule needs refactoring\nclass ParserMissingSpaceConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ParserMissingSpaceConf = ParserMissingSpaceConf;\nclass ParserMissingSpace extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ParserMissingSpaceConf();\n }\n getMetadata() {\n return {\n key: \"parser_missing_space\",\n title: \"Parser Error, missing space\",\n shortDescription: `In special cases the ABAP language allows for not having spaces before or after string literals.\r\nThis rule makes sure the spaces are consistently required across the language.`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile],\n badExample: `IF ( foo = 'bar').`,\n goodExample: `IF ( foo = 'bar' ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let start = new position_1.Position(0, 0);\n for (const statement of file.getStatements()) {\n const missing = this.missingSpace(statement);\n if (missing) {\n const message = \"Missing space between string or character literal and parentheses\";\n start = missing;\n const issue = issue_1.Issue.atPosition(file, start, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n missingSpace(statement) {\n const found = statement.findAllExpressionsMulti([Expressions.CondSub, Expressions.SQLCond,\n Expressions.ValueBodyLine, Expressions.NewObject, Expressions.Cond,\n Expressions.ComponentCond, Expressions.ComponentCondSub, Expressions.MethodCallParam], true);\n let pos = undefined;\n for (const f of found) {\n const type = f.get();\n if (type instanceof Expressions.Cond) {\n pos = this.checkCond(f);\n }\n else if (type instanceof Expressions.CondSub) {\n pos = this.checkCondSub(f);\n }\n else if (type instanceof Expressions.ComponentCond) {\n pos = this.checkComponentCond(f);\n }\n else if (type instanceof Expressions.ComponentCondSub) {\n pos = this.checkComponentCondSub(f);\n }\n else if (type instanceof Expressions.SQLCond) {\n pos = this.checkSQLCond(f);\n }\n else if (type instanceof Expressions.ValueBodyLine) {\n pos = this.checkValueBodyLine(f);\n }\n else if (type instanceof Expressions.NewObject) {\n pos = this.checkNewObject(f);\n }\n else if (type instanceof Expressions.MethodCallParam) {\n pos = this.checkMethodCallParam(f);\n }\n if (pos) {\n return pos;\n }\n }\n return undefined;\n }\n checkSQLCond(cond) {\n const children = cond.getChildren();\n for (let i = 0; i < children.length; i++) {\n if (children[i].get() instanceof Expressions.SQLCond) {\n const current = children[i];\n const prev = children[i - 1].getLastToken();\n const next = children[i + 1].getFirstToken();\n if (prev.getStr() === \"(\"\n && prev.getRow() === current.getFirstToken().getRow()\n && prev.getCol() + 1 === current.getFirstToken().getStart().getCol()) {\n return current.getFirstToken().getStart();\n }\n if (next.getStr() === \")\"\n && next.getRow() === current.getLastToken().getRow()\n && next.getCol() === current.getLastToken().getEnd().getCol()) {\n return current.getLastToken().getEnd();\n }\n }\n }\n return undefined;\n }\n checkNewObject(cond) {\n const children = cond.getChildren();\n {\n const first = children[children.length - 2].getLastToken();\n const second = children[children.length - 1].getFirstToken();\n if (first.getRow() === second.getRow()\n && first.getEnd().getCol() === second.getStart().getCol()) {\n return second.getStart();\n }\n }\n return undefined;\n }\n checkCondSub(cond) {\n const children = cond.getChildren();\n for (let i = 0; i < children.length; i++) {\n if (children[i].get() instanceof Expressions.Cond) {\n const current = children[i];\n const prev = children[i - 1].getLastToken();\n const next = children[i + 1].getFirstToken();\n if (prev.getStr() === \"(\"\n && prev.getRow() === current.getFirstToken().getRow()\n && prev.getCol() + 1 === current.getFirstToken().getStart().getCol()) {\n return current.getFirstToken().getStart();\n }\n if (next.getStr() === \")\"\n && next.getRow() === current.getLastToken().getRow()\n && next.getCol() === current.getLastToken().getEnd().getCol()) {\n return current.getLastToken().getEnd();\n }\n }\n }\n return undefined;\n }\n checkComponentCondSub(cond) {\n const children = cond.getChildren();\n for (let i = 0; i < children.length; i++) {\n if (children[i].get() instanceof Expressions.ComponentCond) {\n const current = children[i];\n const prev = children[i - 1].getLastToken();\n const next = children[i + 1].getFirstToken();\n if (prev.getStr() === \"(\"\n && prev.getRow() === current.getFirstToken().getRow()\n && prev.getCol() + 1 === current.getFirstToken().getStart().getCol()) {\n return current.getFirstToken().getStart();\n }\n if (next.getStr() === \")\"\n && next.getRow() === current.getLastToken().getRow()\n && next.getCol() === current.getLastToken().getEnd().getCol()) {\n return current.getLastToken().getEnd();\n }\n }\n }\n return undefined;\n }\n checkComponentCond(cond) {\n const children = cond.getAllTokens();\n for (let i = 0; i < children.length - 1; i++) {\n const current = children[i];\n const next = children[i + 1];\n if (next.getStr().startsWith(\"'\")\n && next.getRow() === current.getRow()\n && next.getCol() === current.getEnd().getCol()) {\n return current.getEnd();\n }\n }\n return undefined;\n }\n checkValueBodyLine(vb) {\n var _a, _b;\n const children = vb.getChildren();\n for (let i = 0; i < children.length; i++) {\n const current = children[i];\n if (current instanceof nodes_1.TokenNode) {\n const prev = (_a = children[i - 1]) === null || _a === void 0 ? void 0 : _a.getLastToken();\n const next = (_b = children[i + 1]) === null || _b === void 0 ? void 0 : _b.getFirstToken();\n if (current.getFirstToken().getStr() === \"(\"\n && next\n && next.getRow() === current.getLastToken().getRow()\n && next.getCol() === current.getLastToken().getEnd().getCol()) {\n return current.getFirstToken().getStart();\n }\n if (current.getFirstToken().getStr() === \")\"\n && prev\n && prev.getRow() === current.getFirstToken().getRow()\n && prev.getEnd().getCol() === current.getFirstToken().getStart().getCol()) {\n return current.getLastToken().getEnd();\n }\n }\n }\n return undefined;\n }\n checkCond(cond) {\n const children = cond.getAllTokens();\n for (let i = 0; i < children.length - 1; i++) {\n const current = children[i];\n const next = children[i + 1];\n if (next.getStr().startsWith(\"'\")\n && next.getRow() === current.getRow()\n && next.getCol() === current.getEnd().getCol()) {\n return current.getEnd();\n }\n }\n return undefined;\n }\n checkMethodCallParam(call) {\n const children = call.getChildren();\n {\n const first = children[0].getFirstToken();\n const second = children[1].getFirstToken();\n if (first.getRow() === second.getRow()\n && first.getCol() + 1 === second.getStart().getCol()) {\n return second.getStart();\n }\n }\n {\n const first = children[children.length - 2].getLastToken();\n const second = children[children.length - 1].getFirstToken();\n if (first.getRow() === second.getRow()\n && first.getEnd().getCol() === second.getStart().getCol()) {\n return second.getStart();\n }\n }\n return undefined;\n }\n}\nexports.ParserMissingSpace = ParserMissingSpace;\n//# sourceMappingURL=parser_missing_space.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/parser_missing_space.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/pragma_style.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/pragma_style.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PragmaStyle = exports.PragmaStyleConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst keyword_case_1 = __webpack_require__(/*! ./keyword_case */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/keyword_case.js\");\nclass PragmaStyleConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.style = keyword_case_1.KeywordCaseStyle.Upper;\n }\n}\nexports.PragmaStyleConf = PragmaStyleConf;\nclass PragmaStyle extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PragmaStyleConf();\n }\n getMetadata() {\n return {\n key: \"pragma_style\",\n title: \"Pragma Style\",\n shortDescription: `Check pragmas placement and case`,\n tags: [_irule_1.RuleTag.SingleFile],\n extendedInformation: `https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/abenpragma.htm`,\n badExample: `DATA field ##NO_TEXT TYPE i.`,\n goodExample: `DATA field TYPE i ##NO_TEXT.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.style === undefined) {\n this.conf.style = keyword_case_1.KeywordCaseStyle.Upper;\n }\n }\n runParsed(file) {\n const issues = [];\n for (const s of file.getStatements()) {\n if (s.getPragmas().length === 0) {\n continue;\n }\n for (const p of s.getPragmas()) {\n const children = s.getChildren();\n if (children.length === 1) {\n break; // empty statement with pragma\n }\n if (children[children.length - 2].getLastToken().getStart().isAfter(p.getStart())) {\n const message = \"Place pragma at end of statement\";\n const issue = issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n continue; // max one finding per statement\n }\n if (this.conf.style === keyword_case_1.KeywordCaseStyle.Upper && p.getStr() !== p.getStr().toUpperCase()) {\n const message = \"Upper case pragmas\";\n const issue = issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n else if (this.conf.style === keyword_case_1.KeywordCaseStyle.Lower && p.getStr() !== p.getStr().toLowerCase()) {\n const message = \"Lower case pragmas\";\n const issue = issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n}\nexports.PragmaStyle = PragmaStyle;\n//# sourceMappingURL=pragma_style.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/pragma_style.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_corresponding.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_corresponding.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferCorresponding = exports.PreferCorrespondingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass PreferCorrespondingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferCorrespondingConf = PreferCorrespondingConf;\nclass PreferCorresponding extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferCorrespondingConf();\n }\n getMetadata() {\n return {\n key: \"prefer_corresponding\",\n title: \"Prefer corresponding( ) to MOVE-CORRESPONDING\",\n shortDescription: `Prefer corresponding( ) to MOVE-CORRESPONDING, from v740sp05 and up`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-functional-to-procedural-language-constructs`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Upport, _irule_1.RuleTag.Styleguide],\n badExample: `MOVE-CORRESPONDING foo TO bar.`,\n goodExample: `bar = CORRESPONDING #( foo ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp05) {\n return issues;\n }\n const message = \"Use CORRESPONDING type( ... ) instead of MOVE-CORRESPONDING\";\n for (const stat of file.getStatements()) {\n if (stat.get() instanceof Statements.MoveCorresponding\n && stat.getChildren().length === 7) {\n issues.push(issue_1.Issue.atStatement(file, stat, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.PreferCorresponding = PreferCorresponding;\n//# sourceMappingURL=prefer_corresponding.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_corresponding.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_inline.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_inline.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferInline = exports.PreferInlineConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass PreferInlineConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferInlineConf = PreferInlineConf;\nclass PreferInline {\n constructor() {\n this.conf = new PreferInlineConf();\n }\n getMetadata() {\n return {\n key: \"prefer_inline\",\n title: \"Prefer Inline Declarations\",\n shortDescription: `Prefer inline to up-front declarations.`,\n extendedInformation: `EXPERIMENTAL\r\n\r\nActivates if language version is v740sp02 or above.\r\n\r\nVariables must be local(METHOD or FORM).\r\n\r\nNo generic or void typed variables. No syntax errors.\r\n\r\nFirst position used must be a full/pure write.\r\n\r\nMove statment is not a cast(?=)\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-inline-to-up-front-declarations`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Upport, _irule_1.RuleTag.Experimental, _irule_1.RuleTag.Quickfix],\n badExample: `DATA foo TYPE i.\r\nfoo = 2.\r\nDATA percentage TYPE decfloat34.\r\npercentage = ( comment_number / abs_statement_number ) * 100.`,\n goodExample: `DATA(foo) = 2.\r\nDATA(percentage) = CONV decfloat34( comment_number / abs_statement_number ) * 100.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (obj.getType() === \"INTF\") {\n return [];\n }\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp02 && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n else if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const run = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (run.issues.length > 0) {\n return [];\n }\n const scopes = this.findScopeCandidates(run.spaghetti.getTop());\n const ret = [];\n for (const s of scopes) {\n ret.push(...this.analyzeScope(s, obj));\n }\n return ret;\n }\n ///////////////////////////\n analyzeScope(node, obj) {\n var _a, _b;\n const ret = [];\n const vars = node.getData().vars;\n for (const name in vars) {\n const identifier = vars[name];\n if (this.isLocalDefinition(node, identifier) === false\n || identifier.getMeta().includes(\"inline\" /* IdentifierMeta.InlineDefinition */)\n || identifier.getMeta().includes(\"form_parameter\" /* IdentifierMeta.FormParameter */)) {\n continue;\n }\n else if (identifier.getType().isGeneric() === true) {\n continue;\n }\n else if (identifier.getType().containsVoid() === true) {\n continue;\n }\n const write = this.firstUseIsWrite(node, identifier);\n if (write === undefined) {\n continue;\n }\n // check that it is a pure write, eg not sub component assignment\n const next = this.findNextToken(write, obj);\n if (next === undefined) {\n continue;\n }\n else if ((next === null || next === void 0 ? void 0 : next.getStart().equals(write.position.getEnd())) && next.getStr() !== \".\" && next.getStr() !== \",\") {\n continue;\n }\n const file = obj.getABAPFileByName(identifier.getFilename());\n const writeStatement = edit_helper_1.EditHelper.findStatement(next, file);\n const statementType = writeStatement === null || writeStatement === void 0 ? void 0 : writeStatement.get();\n if (statementType === undefined) {\n continue;\n }\n // for now only allow some specific target statements, todo refactor\n if (!(statementType instanceof Statements.Move\n || statementType instanceof Statements.Catch\n || statementType instanceof Statements.ReadTable\n || statementType instanceof Statements.Loop)\n || ((_a = writeStatement === null || writeStatement === void 0 ? void 0 : writeStatement.concatTokens()) === null || _a === void 0 ? void 0 : _a.includes(\"?=\"))\n || ((_b = writeStatement === null || writeStatement === void 0 ? void 0 : writeStatement.concatTokens()) === null || _b === void 0 ? void 0 : _b.includes(\" #(\"))) {\n continue;\n }\n const statement = edit_helper_1.EditHelper.findStatement(identifier.getToken(), file);\n const concat = statement === null || statement === void 0 ? void 0 : statement.concatTokens().toUpperCase();\n if (concat === null || concat === void 0 ? void 0 : concat.includes(\"BEGIN OF\")) {\n continue;\n }\n let fix = undefined;\n if (file && statement) {\n const fix1 = edit_helper_1.EditHelper.deleteStatement(file, statement);\n const name = identifier.getName();\n const replace = name.startsWith(\"<\") ? \"FIELD-SYMBOL(\" + name + \")\" : \"DATA(\" + name + \")\";\n const fix2 = edit_helper_1.EditHelper.replaceRange(file, write.position.getStart(), write.position.getEnd(), replace);\n fix = edit_helper_1.EditHelper.merge(fix1, fix2);\n }\n const message = this.getMetadata().title + \", \" + name;\n ret.push(issue_1.Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity, fix));\n }\n return ret;\n }\n ////////////////////////\n findNextToken(ref, obj) {\n const file = obj.getABAPFileByName(ref.resolved.getFilename());\n if (file === undefined) {\n return undefined;\n }\n for (const t of file.getTokens()) {\n if (t.getStart().isAfter(ref.position.getEnd())) {\n return t;\n }\n }\n return undefined;\n }\n firstUseIsWrite(node, identifier) {\n // assumption: variables are local, so only the current scope must be searched\n var _a, _b, _c;\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.TypeReference\n && ((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.getStart().equals(identifier.getStart())) === true) {\n return undefined;\n }\n }\n let firstRead = undefined;\n for (const r of node.getData().references) {\n if (r.referenceType !== _reference_1.ReferenceType.DataReadReference\n || ((_b = r.resolved) === null || _b === void 0 ? void 0 : _b.getStart().equals(identifier.getStart())) === false) {\n continue;\n }\n if (r.resolved) {\n firstRead = { position: r.position, resolved: r.resolved };\n break;\n }\n }\n let firstWrite = undefined;\n for (const w of node.getData().references) {\n if (w.referenceType !== _reference_1.ReferenceType.DataWriteReference\n || ((_c = w.resolved) === null || _c === void 0 ? void 0 : _c.getStart().equals(identifier.getStart())) === false) {\n continue;\n }\n if (w.resolved) {\n firstWrite = { position: w.position, resolved: w.resolved };\n break;\n }\n }\n if (firstRead === undefined) {\n return firstWrite;\n }\n else if (firstWrite === undefined) {\n return undefined;\n }\n else if (firstWrite.position.getStart().getRow() === firstRead.position.getStart().getRow()) {\n // if the same statement both reads and write the same variable\n // note that currently just the line number is compared, this is not correct, it should check if its the same statement\n return undefined;\n }\n else if (firstWrite.position.getStart().isBefore(firstRead.position.getStart())) {\n return firstWrite;\n }\n return undefined;\n }\n isLocalDefinition(node, identifier) {\n const { start, end } = node.calcCoverage();\n if (identifier.getStart().isAfter(start) && identifier.getStart().isBefore(end)) {\n return true;\n }\n else {\n return false;\n }\n }\n findScopeCandidates(node) {\n if (node.getIdentifier().stype === _scope_type_1.ScopeType.Form\n || node.getIdentifier().stype === _scope_type_1.ScopeType.Method) {\n return [node];\n }\n let ret = [];\n for (const c of node.getChildren()) {\n ret = ret.concat(this.findScopeCandidates(c));\n }\n return ret;\n }\n}\nexports.PreferInline = PreferInline;\n//# sourceMappingURL=prefer_inline.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_inline.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_is_not.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_is_not.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferIsNot = exports.PreferIsNotConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass PreferIsNotConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferIsNotConf = PreferIsNotConf;\nclass PreferIsNot extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferIsNotConf();\n }\n getMetadata() {\n return {\n key: \"prefer_is_not\",\n title: \"Prefer IS NOT to NOT IS\",\n shortDescription: `Prefer IS NOT to NOT IS`,\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-is-not-to-not-is\r\n\r\n\"if not is_valid( ).\" examples are skipped`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n goodExample: `IF variable IS NOT INITIAL.\r\nIF variable NP 'TODO*'.\r\nIF variable <> 42.\r\nIF variable CO 'hello'.`,\n badExample: `IF NOT variable IS INITIAL.\r\nIF NOT variable CP 'TODO*'.\r\nIF NOT variable = 42.\r\nIF NOT variable CA 'hello'.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const s of file.getStatements()) {\n for (const c of s.findAllExpressions(Expressions.Compare)) {\n if (c.concatTokens().toUpperCase().startsWith(\"NOT \") === false) {\n continue;\n }\n else if (c.getChildren().length === 2 && c.getChildren()[1].get() instanceof Expressions.MethodCallChain) {\n continue;\n }\n const message = \"Prefer IS NOT to NOT IS\";\n const fix = this.getFix(file, c);\n issues.push(issue_1.Issue.atToken(file, c.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix));\n }\n }\n return issues;\n }\n getFix(file, c) {\n let insertFix;\n if (c.getChildren()[2].getFirstToken().getStr().toUpperCase() === \"IS\") {\n const tokenPositionBeforeDelete = c.getChildren()[2].getLastToken().getEnd();\n const tokenPosition = new position_1.Position(tokenPositionBeforeDelete.getRow(), tokenPositionBeforeDelete.getCol() + 1);\n insertFix = edit_helper_1.EditHelper.insertAt(file, tokenPosition, \"NOT \");\n }\n else if (c.getChildren()[2].getFirstToken().getStr().toUpperCase() === \"IN\" || c.getChildren()[2].getFirstToken().getStr().toUpperCase() === \"BETWEEN\") {\n const tokenPositionBeforeDelete = c.getChildren()[1].getLastToken().getEnd();\n const tokenPosition = new position_1.Position(tokenPositionBeforeDelete.getRow(), tokenPositionBeforeDelete.getCol() + 1);\n insertFix = edit_helper_1.EditHelper.insertAt(file, tokenPosition, \"NOT \");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \"=\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \"<>\");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \"<>\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \"=\");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \"<\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \">\");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \">\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \"<\");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \"<=\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \">=\");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \">=\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \"<=\");\n }\n else {\n return;\n }\n const endCol = c.getChildren()[0].getFirstToken().getEnd().getCol() + 1;\n const endPosition = new position_1.Position(c.getChildren()[0].getFirstToken().getEnd().getRow(), endCol);\n const deleteFix = edit_helper_1.EditHelper.deleteRange(file, c.getChildren()[0].getFirstToken().getStart(), endPosition);\n const finalFix = edit_helper_1.EditHelper.merge(insertFix, deleteFix);\n return finalFix;\n }\n}\nexports.PreferIsNot = PreferIsNot;\n//# sourceMappingURL=prefer_is_not.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_is_not.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_pragmas.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_pragmas.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferPragmas = exports.PreferPragmasConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass PreferPragmasConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.check = [\n {\n pseudo: \"#EC CI_SUBRC\",\n pragma: \"SUBRC_OK\",\n },\n {\n pseudo: \"#EC NEEDED\",\n pragma: \"NEEDED\",\n },\n {\n pseudo: \"#EC NOTEXT\",\n pragma: \"NO_TEXT\",\n },\n {\n pseudo: \"#EC NO_HANDLER\",\n pragma: \"NO_HANDLER\",\n },\n ];\n }\n}\nexports.PreferPragmasConf = PreferPragmasConf;\nclass PreferPragmas extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferPragmasConf();\n }\n getMetadata() {\n return {\n key: \"prefer_pragmas\",\n title: \"prefer pragmas over pseudo comments \",\n shortDescription: `prefer pragmas over pseudo comments `,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-pragmas-to-pseudo-comments`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n badExample: `DATA foo1 TYPE i. \"#EC NEEDED`,\n goodExample: `DATA foo2 TYPE i ##NEEDED.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const config = this.getConfig();\n for (const statement of file.getStatements()) {\n if (!(statement.get() instanceof _statement_1.Comment)) {\n continue;\n }\n const concat = statement.concatTokens().toUpperCase();\n if (concat.includes(\"#EC\") === false) {\n continue;\n }\n for (const check of config.check) {\n if (concat.includes(check.pseudo.toUpperCase())) {\n const message = `Prefer pragma ${check.pragma}`;\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n}\nexports.PreferPragmas = PreferPragmas;\n//# sourceMappingURL=prefer_pragmas.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_pragmas.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_raise_exception_new.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_raise_exception_new.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferRaiseExceptionNew = exports.PreferRaiseExceptionNewConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nclass PreferRaiseExceptionNewConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferRaiseExceptionNewConf = PreferRaiseExceptionNewConf;\nclass PreferRaiseExceptionNew extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferRaiseExceptionNewConf();\n }\n getMetadata() {\n return {\n key: \"prefer_raise_exception_new\",\n title: \"Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE\",\n shortDescription: `Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE`,\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-raise-exception-new-to-raise-exception-type\r\n\r\nFrom 752 and up`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Upport],\n goodExample: `RAISE EXCEPTION NEW cx_generation_error( previous = exception ).`,\n badExample: `RAISE EXCEPTION TYPE cx_generation_error\r\n EXPORTING\r\n previous = exception.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n if (this.reg.getConfig().getVersion() < __1.Version.v752) {\n return [];\n }\n const issues = [];\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof __1.Statements.Raise) {\n const concat = statement.concatTokens().toUpperCase();\n if (concat.includes(\" MESSAGE\")) {\n continue;\n }\n if (concat.startsWith(\"RAISE EXCEPTION TYPE \")) {\n const message = \"Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE\";\n const fix = this.getFix(file, statement, concat.includes(\" EXPORTING\") ? true : false);\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix));\n }\n }\n }\n return issues;\n }\n getFix(file, statement, withExporting) {\n const children = statement.getChildren();\n let contentFix = undefined;\n if (withExporting) {\n const fixText = \"( \" + children[5].concatTokens() + \" ).\";\n contentFix = edit_helper_1.EditHelper.replaceRange(file, children[3].getLastToken().getEnd(), statement.getEnd(), fixText);\n }\n else {\n contentFix = edit_helper_1.EditHelper.replaceRange(file, children[3].getLastToken().getEnd(), statement.getEnd(), \"( ).\");\n }\n const replaceType = edit_helper_1.EditHelper.replaceToken(file, children[2].getFirstToken(), \"NEW\");\n return edit_helper_1.EditHelper.merge(contentFix, replaceType);\n }\n}\nexports.PreferRaiseExceptionNew = PreferRaiseExceptionNew;\n//# sourceMappingURL=prefer_raise_exception_new.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_raise_exception_new.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_returning_to_exporting.js": +/*!**************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_returning_to_exporting.js ***! + \**************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferReturningToExporting = exports.PreferReturningToExportingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass PreferReturningToExportingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferReturningToExportingConf = PreferReturningToExportingConf;\nclass PreferReturningToExporting extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferReturningToExportingConf();\n }\n getMetadata() {\n return {\n key: \"prefer_returning_to_exporting\",\n title: \"Prefer RETURNING to EXPORTING\",\n shortDescription: `Prefer RETURNING to EXPORTING. Generic types cannot be RETURNING.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-returning-to-exporting\r\nhttps://docs.abapopenchecks.org/checks/44/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const ret = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const def of stru.findAllStatements(Statements.MethodDef)) {\n if (def.findFirstExpression(Expressions.MethodDefChanging)) {\n continue;\n }\n const exporting = def.findFirstExpression(Expressions.MethodDefExporting);\n if (exporting === undefined) {\n continue;\n }\n const returning = def.findFirstExpression(Expressions.MethodDefReturning);\n if (returning !== undefined) {\n continue;\n }\n const params = exporting.findDirectExpressions(Expressions.MethodParam);\n if (params.length !== 1) {\n continue;\n }\n const concat = params[0].concatTokens().toUpperCase();\n if (concat.endsWith(\"TYPE ANY\")\n || concat.endsWith(\"TYPE ANY TABLE\")\n || concat.endsWith(\"TYPE C\")\n || concat.endsWith(\"TYPE CLIKE\")\n || concat.endsWith(\"TYPE CSEQUENCE\")\n || concat.endsWith(\"TYPE DATA\")\n || concat.endsWith(\"TYPE DECFLOAT\")\n || concat.endsWith(\"TYPE HASHED TABLE\")\n || concat.endsWith(\"TYPE INDEX TABLE\")\n || concat.endsWith(\"TYPE N\")\n || concat.endsWith(\"TYPE NUMERIC\")\n || concat.endsWith(\"TYPE OBJECT\")\n || concat.endsWith(\"TYPE P\")\n || concat.endsWith(\"TYPE SIMPLE\")\n || concat.endsWith(\"TYPE SORTED TABLE\")\n || concat.endsWith(\"TYPE STANDARD TABLE\")\n || concat.endsWith(\"TYPE TABLE\")\n || concat.endsWith(\"TYPE X\")\n || concat.endsWith(\"TYPE XSEQUENCE\")) {\n continue;\n }\n const token = params[0].getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, \"Prefer RETURNING to EXPORTING\", this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n return ret;\n }\n}\nexports.PreferReturningToExporting = PreferReturningToExporting;\n//# sourceMappingURL=prefer_returning_to_exporting.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_returning_to_exporting.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_xsdbool.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_xsdbool.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferXsdbool = exports.PreferXsdboolConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass PreferXsdboolConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferXsdboolConf = PreferXsdboolConf;\nclass PreferXsdbool extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferXsdboolConf();\n }\n getMetadata() {\n return {\n key: \"prefer_xsdbool\",\n title: \"Prefer xsdbool over boolc\",\n shortDescription: `Prefer xsdbool over boolc`,\n extendedInformation: `Activates if language version is v740sp08 or above.\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-xsdbool-to-set-boolean-variables`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Upport, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `DATA(sdf) = boolc( 1 = 2 ).`,\n goodExample: `DATA(sdf) = xsdbool( 1 = 2 ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp08 && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n for (const s of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.Source)) || []) {\n if (s.concatTokens().toUpperCase().startsWith(\"BOOLC( \") === false) {\n continue;\n }\n const token = s.getFirstToken();\n const message = \"Prefer xsdbool over boolc\";\n const fix = edit_helper_1.EditHelper.replaceToken(file, token, \"xsdbool\");\n issues.push(issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix));\n }\n return issues;\n }\n}\nexports.PreferXsdbool = PreferXsdbool;\n//# sourceMappingURL=prefer_xsdbool.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefer_xsdbool.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/preferred_compare_operator.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/preferred_compare_operator.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferredCompareOperator = exports.PreferredCompareOperatorConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass PreferredCompareOperatorConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Operators which are not allowed */\n this.badOperators = [\"EQ\", \"><\", \"NE\", \"GE\", \"GT\", \"LT\", \"LE\"];\n }\n}\nexports.PreferredCompareOperatorConf = PreferredCompareOperatorConf;\nclass PreferredCompareOperator extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferredCompareOperatorConf();\n this.operatorMapping = new Map();\n }\n getMetadata() {\n return {\n key: \"preferred_compare_operator\",\n title: \"Preferred compare operator\",\n shortDescription: `Configure undesired operator variants`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n };\n }\n getDescription(operator) {\n return \"Compare operator \\\"\" + operator + \"\\\" not preferred\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n this.buildMapping();\n const issues = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const operators = struc.findAllExpressionsMulti([Expressions.CompareOperator, Expressions.SQLCompareOperator]);\n for (const op of operators) {\n const token = op.getLastToken();\n // todo, performance, lookup in hash map instead(JS object)\n if (this.conf.badOperators.indexOf(token.getStr().toUpperCase()) >= 0) {\n issues.push(this.createIssue(token, file));\n }\n }\n return issues;\n }\n buildMapping() {\n if (this.operatorMapping.size === 0) {\n this.operatorMapping.set(\"EQ\", \"=\");\n this.operatorMapping.set(\"><\", \"<>\");\n this.operatorMapping.set(\"NE\", \"<>\");\n this.operatorMapping.set(\"GE\", \">=\");\n this.operatorMapping.set(\"GT\", \">\");\n this.operatorMapping.set(\"LT\", \"<\");\n this.operatorMapping.set(\"LE\", \"<=\");\n this.operatorMapping.set(\"=\", \"EQ\");\n this.operatorMapping.set(\"<>\", \"NE\");\n this.operatorMapping.set(\">=\", \"GE\");\n this.operatorMapping.set(\">\", \"GT\");\n this.operatorMapping.set(\"<\", \"LT\");\n this.operatorMapping.set(\"<=\", \"LE\");\n }\n }\n createIssue(token, file) {\n var _a;\n const message = this.getDescription(token.getStr());\n const replacementToken = (_a = this.operatorMapping) === null || _a === void 0 ? void 0 : _a.get(token.getStr());\n // values in badOperators can be entered by the user and may not necessarily be actual operators\n if (replacementToken) {\n const fix = edit_helper_1.EditHelper.replaceRange(file, token.getStart(), token.getEnd(), replacementToken);\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix);\n return issue;\n }\n else {\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n return issue;\n }\n }\n}\nexports.PreferredCompareOperator = PreferredCompareOperator;\n//# sourceMappingURL=preferred_compare_operator.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/preferred_compare_operator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefix_is_current_class.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefix_is_current_class.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PrefixIsCurrentClass = exports.PrefixIsCurrentClassConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass PrefixIsCurrentClassConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /**\n * Checks usages of self references with 'me' when calling instance methods\n */\n this.omitMeInstanceCalls = true;\n }\n}\nexports.PrefixIsCurrentClassConf = PrefixIsCurrentClassConf;\nclass PrefixIsCurrentClass extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PrefixIsCurrentClassConf();\n }\n getMetadata() {\n return {\n key: \"prefix_is_current_class\",\n title: \"Prefix is current class\",\n shortDescription: `Reports errors if the current class or interface references itself with \"current_class=>\"`,\n // eslint-disable-next-line max-len\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-the-self-reference-me-when-calling-an-instance-attribute-or-method`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n return this.checkClasses(file).concat(this.checkInterfaces(file));\n }\n checkInterfaces(file) {\n var _a;\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const issues = [];\n for (const s of struc.findDirectStructures(Structures.Interface)) {\n const name = (_a = s.findFirstExpression(expressions_1.InterfaceName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr().toUpperCase();\n if (name === undefined) {\n continue;\n }\n const staticAccess = name + \"=>\";\n for (const e of s.findAllExpressions(expressions_1.TypeName)) {\n const concat = e.concatTokens().toUpperCase();\n if (concat.startsWith(staticAccess)) {\n const stat = e.findDirectTokenByText(\"=>\");\n if (stat === undefined) {\n continue;\n }\n const start = new position_1.Position(stat.getRow(), stat.getCol() - name.length);\n const end = new position_1.Position(stat.getRow(), stat.getCol() + 2);\n const fix = edit_helper_1.EditHelper.deleteRange(file, start, end);\n issues.push(issue_1.Issue.atToken(file, e.getFirstToken(), \"Reference to current interface can be omitted\", this.getMetadata().key, this.conf.severity, fix));\n }\n }\n }\n return issues;\n }\n checkClasses(file) {\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const issues = [];\n const classStructures = struc.findDirectStructures(Structures.ClassImplementation);\n classStructures.push(...struc.findDirectStructures(Structures.ClassDefinition));\n const meAccess = \"ME->\";\n for (const c of classStructures) {\n const className = c.findFirstExpression(expressions_1.ClassName).getFirstToken().getStr().toUpperCase();\n const staticAccess = className + \"=>\";\n for (const s of c.findAllStatementNodes()) {\n const concat = s.concatTokensWithoutStringsAndComments().toUpperCase();\n if (concat.includes(staticAccess)) {\n const tokenPos = s.findTokenSequencePosition(className, \"=>\");\n if (tokenPos) {\n const end = new position_1.Position(tokenPos.getRow(), tokenPos.getCol() + className.length + 2);\n const fix = edit_helper_1.EditHelper.deleteRange(file, tokenPos, end);\n issues.push(issue_1.Issue.atRange(file, tokenPos, end, \"Reference to current class can be omitted: \\\"\" + staticAccess + \"\\\"\", this.getMetadata().key, this.conf.severity, fix));\n }\n }\n else if (this.conf.omitMeInstanceCalls === true\n && concat.includes(meAccess)\n && s.findFirstExpression(expressions_1.MethodCall)) {\n const tokenPos = s.findTokenSequencePosition(\"me\", \"->\");\n if (tokenPos) {\n const end = new position_1.Position(tokenPos.getRow(), tokenPos.getCol() + 4);\n const fix = edit_helper_1.EditHelper.deleteRange(file, tokenPos, end);\n issues.push(issue_1.Issue.atRange(file, tokenPos, end, \"Omit 'me->' in instance calls\", this.getMetadata().key, this.conf.severity, fix));\n }\n }\n }\n }\n return issues;\n }\n}\nexports.PrefixIsCurrentClass = PrefixIsCurrentClass;\n//# sourceMappingURL=prefix_is_current_class.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/prefix_is_current_class.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/reduce_string_templates.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/reduce_string_templates.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReduceStringTemplates = exports.ReduceStringTemplatesConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ReduceStringTemplatesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ReduceStringTemplatesConf = ReduceStringTemplatesConf;\nclass ReduceStringTemplates extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ReduceStringTemplatesConf();\n }\n getMetadata() {\n return {\n key: \"reduce_string_templates\",\n title: \"Reduce string templates\",\n shortDescription: `Checks for string templates`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `WRITE |{ |sdf| }|.\\nWRITE |{ 'sdf' }|.`,\n goodExample: `WRITE |sdf|.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, _obj) {\n const issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n for (const template of structure.findAllExpressions(Expressions.StringTemplate)) {\n for (const ts of template.findAllExpressions(Expressions.StringTemplateSource)) {\n for (const source of ts.findDirectExpressions(Expressions.Source)) {\n for (const second of source.findDirectExpressions(Expressions.StringTemplate)) {\n issues.push(issue_1.Issue.atToken(file, second.getFirstToken(), \"Nested string templates, reduce\", this.getMetadata().key, this.conf.severity));\n }\n if (ts.findDirectExpression(Expressions.StringTemplateFormatting)) {\n continue;\n }\n for (const constant of source.findDirectExpressions(Expressions.Constant)) {\n for (const constantString of constant.findDirectExpressions(Expressions.ConstantString)) {\n issues.push(issue_1.Issue.atToken(file, constantString.getFirstToken(), \"Constant string in text template, reduce\", this.getMetadata().key, this.conf.severity));\n }\n }\n }\n }\n }\n for (const source of structure.findAllExpressions(Expressions.Source)) {\n const children = source.getChildren();\n if (children.length !== 3) {\n continue;\n }\n else if (!(children[0].get() instanceof Expressions.StringTemplate)) {\n continue;\n }\n else if (children[1].getFirstToken().getStr() !== \"&&\") {\n continue;\n }\n else if (!(children[2].get() instanceof Expressions.Source)) {\n continue;\n }\n const sub = children[2].getChildren();\n if (sub.length !== 1) {\n continue;\n }\n const start = children[0].getFirstToken().getStart();\n const end = sub[0].getLastToken().getEnd();\n if (start.getRow() === end.getRow()) {\n const message = \"Reduce template, remove \\\"&&\\\"\";\n issues.push(issue_1.Issue.atToken(file, children[1].getFirstToken(), message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.ReduceStringTemplates = ReduceStringTemplates;\n//# sourceMappingURL=reduce_string_templates.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/reduce_string_templates.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/release_idoc.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/release_idoc.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReleaseIdoc = exports.ReleaseIdocConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass ReleaseIdocConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ReleaseIdocConf = ReleaseIdocConf;\nclass ReleaseIdoc {\n constructor() {\n this.conf = new ReleaseIdocConf();\n }\n getMetadata() {\n return {\n key: \"release_idoc\",\n title: \"Release iDoc\",\n shortDescription: `Checks idoc types and segments are set to status released`,\n };\n }\n getMessage() {\n return \"Idoc type/segement status must be set to released\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n const file = obj.getXMLFile();\n if (file === undefined) {\n return [];\n }\n if (obj instanceof Objects.Table) {\n if (file.getRaw().includes(\"\") === false) {\n return [];\n }\n }\n else if (!(obj instanceof Objects.Idoc)) {\n return [];\n }\n if (file.getRaw().includes(\"X\") === false) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, this.getMessage(), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n else {\n return [];\n }\n }\n}\nexports.ReleaseIdoc = ReleaseIdoc;\n//# sourceMappingURL=release_idoc.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/release_idoc.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/remove_descriptions.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/remove_descriptions.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RemoveDescriptions = exports.RemoveDescriptionsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst fast_xml_parser_1 = __webpack_require__(/*! fast-xml-parser */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/fxp.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass RemoveDescriptionsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore global exception classes */\n this.ignoreExceptions = false;\n /** Ignore global workflow classes */\n this.ignoreWorkflow = true;\n }\n}\nexports.RemoveDescriptionsConf = RemoveDescriptionsConf;\nclass RemoveDescriptions {\n constructor() {\n this.conf = new RemoveDescriptionsConf();\n }\n getMetadata() {\n return {\n key: \"remove_descriptions\",\n title: \"Remove descriptions\",\n shortDescription: `Ensures you have no descriptions in metadata of methods, parameters, etc.\r\n\r\nClass descriptions are required, see rule description_empty.\r\n\r\nConsider using ABAP Doc for documentation.`,\n tags: [],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n // plan is omitting knowledge about descriptions in abaplint, so this rule must parse the XML\n const ddic = new ddic_1.DDIC(this.reg);\n if (obj instanceof Objects.Class) {\n let def;\n try {\n def = obj.getClassDefinition();\n }\n catch (_a) {\n return [];\n }\n if (def === undefined) {\n return [];\n }\n else if (this.conf.ignoreExceptions && ddic.isException(def, obj)) {\n return [];\n }\n else if (this.conf.ignoreWorkflow === true && def.interfaces.find(e => e.name.toUpperCase() === \"IF_WORKFLOW\")) {\n return [];\n }\n return this.checkClass(obj);\n }\n else if (obj instanceof Objects.Interface) {\n return this.checkInterface(obj);\n }\n return [];\n }\n //////////////\n checkInterface(obj) {\n const xml = obj.getXML();\n if (xml === undefined) {\n return [];\n }\n const file = obj.getXMLFile();\n if (file === undefined) {\n return [];\n }\n return this.checkXML(xml, file);\n }\n checkClass(obj) {\n const xml = obj.getXML();\n if (xml === undefined) {\n return [];\n }\n const file = obj.getXMLFile();\n if (file === undefined) {\n return [];\n }\n return this.checkXML(xml, file);\n }\n checkXML(xml, file) {\n const parsed = new fast_xml_parser_1.XMLParser({ parseTagValue: false, ignoreAttributes: true, trimValues: false }).parse(xml);\n if (parsed === undefined || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return [];\n }\n const desc = parsed.abapGit[\"asx:abap\"][\"asx:values\"].DESCRIPTIONS;\n if (desc === undefined) {\n return [];\n }\n const reported = {}; // there might be multiple translations\n const ret = [];\n for (const d of (0, xml_utils_1.xmlToArray)(desc.SEOCOMPOTX)) {\n const message = \"Remove description for \" + d.CMPNAME;\n if (reported[d.CMPNAME] !== undefined) {\n continue;\n }\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(file, position, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n reported[d.CMPNAME] = true;\n }\n return ret;\n }\n}\nexports.RemoveDescriptions = RemoveDescriptions;\n//# sourceMappingURL=remove_descriptions.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/remove_descriptions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/rfc_error_handling.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/rfc_error_handling.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RFCErrorHandling = exports.RFCErrorHandlingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass RFCErrorHandlingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.RFCErrorHandlingConf = RFCErrorHandlingConf;\nclass RFCErrorHandling extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new RFCErrorHandlingConf();\n }\n getMetadata() {\n return {\n key: \"rfc_error_handling\",\n title: \"RFC error handling\",\n tags: [_irule_1.RuleTag.SingleFile],\n shortDescription: `Checks that exceptions 'system_failure' and 'communication_failure' are handled in RFC calls`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abenrfc_exception.htm`,\n badExample: `\r\nCALL FUNCTION 'ZRFC'\r\n DESTINATION lv_rfc.`,\n goodExample: `\r\nCALL FUNCTION 'ZRFC'\r\n DESTINATION lv_rfc\r\n EXCEPTIONS\r\n system_failure = 1 MESSAGE msg\r\n communication_failure = 2 MESSAGE msg\r\n resource_failure = 3\r\n OTHERS = 4.`,\n };\n }\n getMessage() {\n return \"RFC error handling: At least one unhandled exception from SYSTEM_FAILURE, COMMUNICATION_FAILURE, RESOURCE_FAILURE\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const output = [];\n for (const stat of file.getStatements()) {\n const token = stat.getFirstToken();\n if (!(stat.get() instanceof Statements.CallFunction)) {\n continue;\n }\n if (!stat.findFirstExpression(Expressions.Destination)) {\n continue;\n }\n const list = stat.findFirstExpression(Expressions.ParameterListExceptions);\n if (list === undefined) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n output.push(issue);\n continue;\n }\n const parameters = list.findAllExpressions(Expressions.ParameterName);\n const names = [];\n for (const par of parameters) {\n names.push(par.getFirstToken().getStr().toUpperCase());\n }\n if (names.indexOf(\"SYSTEM_FAILURE\") < 0\n || names.indexOf(\"COMMUNICATION_FAILURE\") < 0\n || names.indexOf(\"RESOURCE_FAILURE\") < 0) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n output.push(issue);\n continue;\n }\n }\n return output;\n }\n}\nexports.RFCErrorHandling = RFCErrorHandling;\n//# sourceMappingURL=rfc_error_handling.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/rfc_error_handling.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_add_order_by.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_add_order_by.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectAddOrderBy = exports.SelectAddOrderByConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass SelectAddOrderByConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SelectAddOrderByConf = SelectAddOrderByConf;\nclass SelectAddOrderBy {\n constructor() {\n this.conf = new SelectAddOrderByConf();\n }\n getMetadata() {\n return {\n key: \"select_add_order_by\",\n title: \"SELECT add ORDER BY\",\n shortDescription: `SELECTs add ORDER BY clause`,\n extendedInformation: `\r\nThis will make sure that the SELECT statement returns results in the same sequence on different databases\r\n\r\nadd ORDER BY PRIMARY KEY if in doubt\r\n\r\nIf the target is a sorted/hashed table, no issue is reported`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n var _a;\n const issues = [];\n if (!(obj instanceof _abap_object_1.ABAPObject) || obj.getType() === \"INTF\") {\n return [];\n }\n const spaghetti = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n for (const file of obj.getABAPFiles()) {\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues;\n }\n const selects = stru.findAllStatements(Statements.Select);\n selects.push(...stru.findAllStatements(Statements.SelectLoop));\n for (const s of selects) {\n const c = s.concatTokens().toUpperCase();\n if (c.startsWith(\"SELECT SINGLE \")) {\n continue;\n }\n // skip COUNT(*)\n const list = s.findAllExpressions(Expressions.SQLField);\n if (list.length === 1 && ((_a = list[0].getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.SQLAggregation) {\n continue;\n }\n else if (s.findFirstExpression(Expressions.SQLOrderBy)) {\n continue;\n }\n if (this.isTargetSortedOrHashed(s, spaghetti, file)) {\n continue;\n }\n else if (s.findFirstExpression(Expressions.SQLJoin) && s.findFirstExpression(Expressions.SQLForAllEntries)) {\n // see https://github.com/abaplint/abaplint/issues/2957\n continue;\n }\n issues.push(issue_1.Issue.atStatement(file, s, \"Add ORDER BY\", this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n isTargetSortedOrHashed(s, spaghetti, file) {\n var _a, _b;\n const target = (_a = s.findFirstExpression(Expressions.SQLIntoTable)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(Expressions.Target);\n if (target) {\n const start = target.getFirstToken().getStart();\n const scope = spaghetti.lookupPosition(start, file.getFilename());\n let type = (_b = scope === null || scope === void 0 ? void 0 : scope.findWriteReference(start)) === null || _b === void 0 ? void 0 : _b.getType();\n const children = target.getChildren();\n if (type instanceof basic_1.StructureType && children.length >= 3 && children[1].concatTokens() === \"-\") {\n const found = type.getComponentByName(children[2].concatTokens());\n if (found === undefined) {\n return false;\n }\n type = found;\n }\n if (type instanceof basic_1.TableType\n && ((type === null || type === void 0 ? void 0 : type.getAccessType()) === basic_1.TableAccessType.sorted\n || (type === null || type === void 0 ? void 0 : type.getAccessType()) === basic_1.TableAccessType.hashed)) {\n return true;\n }\n }\n return false;\n }\n}\nexports.SelectAddOrderBy = SelectAddOrderBy;\n//# sourceMappingURL=select_add_order_by.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_add_order_by.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_performance.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_performance.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectPerformance = exports.SelectPerformanceConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst structure_type_1 = __webpack_require__(/*! ../abap/types/basic/structure_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js\");\nconst DEFAULT_COLUMNS = 10;\nclass SelectPerformanceConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Detects ENDSELECT */\n this.endSelect = true;\n /** Detects SELECT * */\n this.selectStar = true;\n /** \"SELECT\" * is considered okay if the table is less than X columns, the table must be known to the linter */\n this.starOkayIfFewColumns = DEFAULT_COLUMNS;\n }\n}\nexports.SelectPerformanceConf = SelectPerformanceConf;\nclass SelectPerformance {\n constructor() {\n this.conf = new SelectPerformanceConf();\n }\n getMetadata() {\n return {\n key: \"select_performance\",\n title: \"SELECT performance\",\n shortDescription: `Various checks regarding SELECT performance.`,\n extendedInformation: `ENDSELECT: not reported when the corresponding SELECT has PACKAGE SIZE\r\n\r\nSELECT *: not reported if using INTO/APPENDING CORRESPONDING FIELDS OF`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Performance],\n badExample: `SELECT field1, field2 FROM table\r\n INTO @DATA(structure) UP TO 1 ROWS ORDER BY field3 DESCENDING.\r\nENDSELECT.`,\n goodExample: `SELECT field1, field2 FROM table UP TO 1 ROWS\r\n INTO TABLE @DATA(table) ORDER BY field3 DESCENDING`,\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n if (this.conf.starOkayIfFewColumns === undefined) {\n this.conf.starOkayIfFewColumns = DEFAULT_COLUMNS;\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const issues = [];\n for (const file of obj.getABAPFiles()) {\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues;\n }\n if (this.conf.endSelect) {\n for (const s of stru.findAllStructures(Structures.Select) || []) {\n const select = s.findDirectStatement(Statements.SelectLoop);\n if (select === undefined || select.concatTokens().toUpperCase().includes(\"PACKAGE SIZE\")) {\n continue;\n }\n const message = \"Avoid use of ENDSELECT\";\n issues.push(issue_1.Issue.atStatement(file, select, message, this.getMetadata().key, this.conf.severity));\n }\n }\n if (this.conf.selectStar) {\n const spaghetti = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n const selects = stru.findAllStatements(Statements.Select);\n selects.push(...stru.findAllStatements(Statements.SelectLoop));\n for (const s of selects) {\n const concat = s.concatTokens().toUpperCase();\n if (concat.startsWith(\"SELECT * \") === false\n && concat.startsWith(\"SELECT SINGLE * \") === false) {\n continue;\n }\n else if (concat.includes(\" INTO CORRESPONDING FIELDS OF \")\n || concat.includes(\" APPENDING CORRESPONDING FIELDS OF \")) {\n continue;\n }\n const columnCount = this.findNumberOfColumns(s, file, spaghetti);\n if (columnCount\n && columnCount <= this.getConfig().starOkayIfFewColumns) {\n continue;\n }\n const message = \"Avoid use of SELECT *\";\n issues.push(issue_1.Issue.atToken(file, s.getFirstToken(), message, this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n findNumberOfColumns(s, file, spaghetti) {\n const dbnames = s.findAllExpressions(Expressions.DatabaseTable);\n if (dbnames.length === 1) {\n const start = dbnames[0].getFirstToken().getStart();\n const scope = spaghetti.lookupPosition(start, file.getFilename());\n const name = scope === null || scope === void 0 ? void 0 : scope.findTableReference(start);\n const tabl = this.reg.getObject(\"TABL\", name);\n const parsed = tabl === null || tabl === void 0 ? void 0 : tabl.parseType(this.reg);\n if (parsed instanceof structure_type_1.StructureType) {\n return parsed.getComponents().length;\n }\n }\n return undefined;\n }\n}\nexports.SelectPerformance = SelectPerformance;\n//# sourceMappingURL=select_performance.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_performance.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_single_full_key.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_single_full_key.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectSingleFullKey = exports.SelectSingleFullKeyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst __1 = __webpack_require__(/*! .. */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/index.js\");\nclass SelectSingleFullKeyConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.allowPseudo = true;\n }\n}\nexports.SelectSingleFullKeyConf = SelectSingleFullKeyConf;\nclass SelectSingleFullKey {\n constructor() {\n this.conf = new SelectSingleFullKeyConf();\n }\n getMetadata() {\n return {\n key: \"select_single_full_key\",\n title: \"Detect SELECT SINGLE which are possibily not unique\",\n shortDescription: `Detect SELECT SINGLE which are possibily not unique`,\n extendedInformation: `Table definitions must be known, ie. inside the errorNamespace\r\n\r\nIf the statement contains a JOIN it is not checked`,\n pseudoComment: \"EC CI_NOORDER\",\n tags: [],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n if (this.conf === undefined) {\n this.conf = {\n allowPseudo: true,\n };\n }\n if (this.conf.allowPseudo === undefined) {\n this.conf.allowPseudo = true;\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n var _a, _b;\n if (!(obj instanceof __1.ABAPObject)) {\n return [];\n }\n const syntax = new __1.SyntaxLogic(this.reg, obj).run();\n if (syntax.issues.length > 0) {\n return [];\n }\n const issues = [];\n const message = \"SELECT SINGLE possibily not unique\";\n for (const file of obj.getABAPFiles()) {\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const s = statements[i];\n if (!(s.get() instanceof __1.Statements.Select)) {\n continue;\n }\n else if (s.findFirstExpression(__1.Expressions.SQLJoin)) {\n continue;\n }\n else if (s.findTokenSequencePosition(\"SELECT\", \"SINGLE\") === undefined) {\n continue;\n }\n const databaseTable = s.findFirstExpression(__1.Expressions.DatabaseTable);\n if (databaseTable === undefined) {\n continue;\n }\n const next = statements[i + 1];\n if ((next === null || next === void 0 ? void 0 : next.get()) instanceof __1.Comment\n && next.concatTokens().includes(this.getMetadata().pseudoComment + \"\")) {\n if (this.getConfig().allowPseudo !== true) {\n issues.push(issue_1.Issue.atStatement(file, s, \"Pseudo comment not allowed\", this.getMetadata().key, this.getConfig().severity));\n }\n continue;\n }\n const tabl = this.findReference(databaseTable.getFirstToken().getStart(), syntax.spaghetti, file);\n const table = this.reg.getObject(\"TABL\", tabl);\n if (table === undefined) {\n continue;\n }\n const keys = table.listKeys(this.reg);\n const cond = s.findFirstExpression(__1.Expressions.SQLCond);\n const set = new Set();\n for (const key of keys) {\n if (key === \"MANDT\") {\n // todo, it should check for the correct type instead\n continue;\n }\n set.add(key);\n }\n for (const compare of (cond === null || cond === void 0 ? void 0 : cond.findAllExpressionsRecursive(__1.Expressions.SQLCompare)) || []) {\n if (compare.getChildren().length === 3) {\n const fname = (_a = compare.findDirectExpression(__1.Expressions.SQLFieldName)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n const operator = (_b = compare.findDirectExpression(__1.Expressions.SQLCompareOperator)) === null || _b === void 0 ? void 0 : _b.concatTokens().toUpperCase();\n if (fname && (operator === \"=\" || operator === \"EQ\")) {\n set.delete(fname);\n }\n }\n }\n if (set.size > 0) {\n issues.push(issue_1.Issue.atStatement(file, s, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n findReference(position, spaghetti, file) {\n const scope = spaghetti.lookupPosition(position, file.getFilename());\n return scope === null || scope === void 0 ? void 0 : scope.findTableReference(position);\n }\n}\nexports.SelectSingleFullKey = SelectSingleFullKey;\n//# sourceMappingURL=select_single_full_key.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/select_single_full_key.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/selection_screen_naming.js": +/*!********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/selection_screen_naming.js ***! + \********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectionScreenNaming = exports.SelectionScreenNamingConf = void 0;\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass SelectionScreenNamingConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** The pattern for selection-screen parameters */\n this.parameter = \"^P_.+$\";\n /** The pattern for selection-screen select-options */\n this.selectOption = \"^S_.+$\";\n /** The pattern for selection-screen screen elements */\n this.screenElement = \"^SC_.+$\";\n }\n}\nexports.SelectionScreenNamingConf = SelectionScreenNamingConf;\nclass SelectionScreenNaming extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SelectionScreenNamingConf();\n }\n getMetadata() {\n return {\n key: \"selection_screen_naming\",\n title: \"Selection screen naming conventions\",\n shortDescription: `Allows you to enforce a pattern, such as a prefix, for selection-screen variable names.`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(expected, actual) {\n return this.conf.patternKind === \"required\" ?\n `Selection-Screen variable name does not match pattern ${expected}: ${actual}` :\n `Selection-Screen variable name must not match pattern ${expected}: ${actual}`;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n let parameterCheckDisabled = false;\n let selectOptionDisabled = false;\n let screenElementDisabled = false;\n if (this.conf.parameter === undefined || this.conf.parameter.length === 0) {\n parameterCheckDisabled = true;\n }\n if (this.conf.selectOption === undefined || this.conf.selectOption.length === 0) {\n selectOptionDisabled = true;\n }\n if (this.conf.screenElement === undefined || this.conf.screenElement.length === 0) {\n screenElementDisabled = true;\n }\n for (const stat of file.getStatements()) {\n if ((stat.get() instanceof statements_1.Parameter && !parameterCheckDisabled)\n || (stat.get() instanceof statements_1.SelectOption && !selectOptionDisabled)\n || (stat.get() instanceof statements_1.SelectionScreen && !screenElementDisabled)) {\n const fieldNode = this.getFieldForStatementNode(stat);\n const regex = new RegExp(this.getPatternForStatement(stat.get()), \"i\");\n if (fieldNode && name_validator_1.NameValidator.violatesRule(fieldNode.getFirstToken().getStr(), regex, this.conf)) {\n issues.push(issue_1.Issue.atToken(file, fieldNode.getFirstToken(), this.getDescription(this.getPatternForStatement(stat.get()), fieldNode.getFirstToken().getStr()), this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n getPatternForStatement(statement) {\n let pattern = \"\";\n if (statement instanceof statements_1.Parameter) {\n pattern = this.conf.parameter;\n }\n else if (statement instanceof statements_1.SelectOption) {\n pattern = this.conf.selectOption;\n }\n else if (statement instanceof statements_1.SelectionScreen) {\n pattern = this.conf.screenElement;\n }\n return pattern;\n }\n getFieldForStatementNode(statNode) {\n if (statNode.get() instanceof statements_1.Parameter) {\n return statNode.findFirstExpression(expressions_1.FieldSub);\n }\n else if (statNode.get() instanceof statements_1.SelectOption) {\n return statNode.findFirstExpression(expressions_1.FieldSub);\n }\n else if (statNode.get() instanceof statements_1.SelectionScreen) {\n return statNode.findFirstExpression(expressions_1.InlineField);\n }\n else {\n return undefined;\n }\n }\n}\nexports.SelectionScreenNaming = SelectionScreenNaming;\n//# sourceMappingURL=selection_screen_naming.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/selection_screen_naming.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sequential_blank.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sequential_blank.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SequentialBlank = exports.SequentialBlankConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass SequentialBlankConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** An equal or higher number of sequential blank lines will trigger a violation.\n * Example: if lines = 3, a maximum of 2 is allowed.\n */\n this.lines = 4;\n }\n}\nexports.SequentialBlankConf = SequentialBlankConf;\nclass SequentialBlank extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SequentialBlankConf();\n }\n static isBlankOrWhitespace(line) {\n return /^\\s*$/.test(line);\n }\n getMetadata() {\n return {\n key: \"sequential_blank\",\n title: \"Sequential blank lines\",\n shortDescription: `Checks that code does not contain more than the configured number of blank lines in a row.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Remove sequential blank lines\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const rows = file.getRawRows();\n let blanks = 0;\n for (let i = 0; i < rows.length; i++) {\n if (SequentialBlank.isBlankOrWhitespace(rows[i])) {\n blanks++;\n }\n else {\n blanks = 0;\n }\n if (blanks === this.conf.lines) {\n let blankCounter = 1;\n while (i + blankCounter < rows.length && SequentialBlank.isBlankOrWhitespace(rows[i + blankCounter])) {\n ++blankCounter;\n }\n const reportPos = new position_1.Position(i + 1, 1);\n // fix has to start at end of previous row for it to properly delete the first row\n const startPos = new position_1.Position(i, rows[i].length + 1);\n const endPos = new position_1.Position(i + blankCounter, rows[i + blankCounter - 1].length + 1);\n const fix = edit_helper_1.EditHelper.deleteRange(file, startPos, endPos);\n const issue = issue_1.Issue.atPosition(file, reportPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.SequentialBlank = SequentialBlank;\n//# sourceMappingURL=sequential_blank.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sequential_blank.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/short_case.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/short_case.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ShortCase = exports.ShortCaseConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ShortCaseConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** The smallest number of WHEN branches which will trigger a violation.\n * Example: if length = 1, at least 2 branches are required\n */\n this.length = 1;\n /** List of inputs for CASE which are allowed\n * @uniqueItems true\n */\n this.allow = [];\n }\n}\nexports.ShortCaseConf = ShortCaseConf;\nclass ShortCase extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ShortCaseConf();\n }\n getMetadata() {\n return {\n key: \"short_case\",\n title: \"Short CASE\",\n shortDescription: `Checks for CASE statements which have fewer than the specified number of branches`,\n extendedInformation: `Short CASE constructs can be changed to IF`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: \"CASE moo.\\nWHEN 'X'.\\nENDCASE.\",\n goodExample: \"IF moo = 'X'.\\nENDIF.\",\n };\n }\n getMessage() {\n return \"CASE construct too short, it must have a minimum of \" + (this.conf.length + 1) + \" WHEN branches\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n for (const c of struc.findAllStructures(Structures.Case)) {\n const clist = c.findDirectStatements(Statements.Case);\n if (clist.length > 0 && this.conf.allow && this.conf.allow.find((e) => { return e === clist[0].getTokens()[1].getStr(); })) {\n continue;\n }\n if (c.findDirectStructures(Structures.When).length <= this.conf.length) {\n if (c.findAllExpressions(Expressions.Or).length > 0) {\n continue;\n }\n const issue = issue_1.Issue.atToken(file, c.getFirstToken(), this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.ShortCase = ShortCase;\n//# sourceMappingURL=short_case.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/short_case.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sicf_consistency.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sicf_consistency.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SICFConsistency = exports.SICFConsistencyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass SICFConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** skip specific names, case insensitive\n * @uniqueItems true\n */\n this.skipNames = [];\n }\n}\nexports.SICFConsistencyConf = SICFConsistencyConf;\nclass SICFConsistency {\n constructor() {\n this.conf = new SICFConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"sicf_consistency\",\n title: \"SICF consistency\",\n shortDescription: `Checks the validity of ICF services`,\n extendedInformation: `* Class defined in handler must exist\r\n* Class must not have any syntax errors\r\n* Class must implement interface IF_HTTP_EXTENSION`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.skipNames === undefined) {\n this.conf.skipNames = [];\n }\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n const issues = [];\n if (!(obj instanceof objects_1.ICFService)) {\n return [];\n }\n const handlers = obj.getHandlerList();\n if (handlers === undefined) {\n return [];\n }\n for (const h of handlers) {\n const clas = this.reg.getObject(\"CLAS\", h);\n if (clas === undefined) {\n if (this.conf.skipNames && this.conf.skipNames.some((a) => a.toUpperCase() === h.toUpperCase())) {\n continue;\n }\n const pattern = new RegExp(this.reg.getConfig().getSyntaxSetttings().errorNamespace, \"i\");\n if (pattern.test(h) === true) {\n const message = \"Handler class \" + h + \" not found\";\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], new position_1.Position(1, 1), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n continue;\n }\n const def = clas.getClassDefinition();\n if (def === undefined) {\n const message = \"Syntax error in class \" + h;\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], new position_1.Position(1, 1), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n continue;\n }\n const implementing = this.findImplementing(def);\n if (implementing.findIndex((i) => { return i.name.toUpperCase() === \"IF_HTTP_EXTENSION\"; }) < 0) {\n const message = \"Handler class \" + h + \" must implement IF_HTTP_EXTENSION\";\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], new position_1.Position(1, 1), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n continue;\n }\n }\n return issues;\n }\n ///////////////////////////\n findImplementing(def) {\n let ret = def.interfaces;\n let superName = def.superClassName;\n while (superName !== undefined) {\n const clas = this.reg.getObject(\"CLAS\", superName);\n if (clas === undefined) {\n break;\n }\n const superDef = clas.getClassDefinition();\n if (superDef === undefined) {\n break;\n }\n ret = ret.concat(superDef.interfaces);\n superName = superDef.superClassName;\n }\n return ret;\n }\n}\nexports.SICFConsistency = SICFConsistency;\n//# sourceMappingURL=sicf_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sicf_consistency.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/slow_parameter_passing.js": +/*!*******************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/slow_parameter_passing.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SlowParameterPassing = exports.SlowParameterPassingConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass SlowParameterPassingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SlowParameterPassingConf = SlowParameterPassingConf;\nclass SlowParameterPassing {\n constructor() {\n this.conf = new SlowParameterPassingConf();\n }\n getMetadata() {\n return {\n key: \"slow_parameter_passing\",\n title: \"Slow Parameter Passing\",\n shortDescription: `Detects slow pass by value passing for methods where parameter is not changed`,\n tags: [_irule_1.RuleTag.Performance],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n const issues = [];\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const top = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop();\n const methods = this.listMethodNodes(top);\n for (const m of methods) {\n const vars = m.getData().vars;\n for (const v in vars) {\n const id = vars[v];\n if (id.getMeta().includes(\"pass_by_value\" /* IdentifierMeta.PassByValue */) === false) {\n continue;\n }\n const writes = this.listWritePositions(m, id);\n if (writes.length === 0) {\n const message = \"Parameter \" + id.getName() + \" passed by VALUE but not changed\";\n if (this.reg.isFileDependency(id.getFilename()) === true) {\n continue;\n }\n issues.push(issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n listWritePositions(node, id) {\n var _a, _b;\n const ret = [];\n for (const v of node.getData().references) {\n if (v.referenceType === _reference_1.ReferenceType.DataWriteReference\n && ((_a = v.resolved) === null || _a === void 0 ? void 0 : _a.getFilename()) === id.getFilename()\n && ((_b = v.resolved) === null || _b === void 0 ? void 0 : _b.getStart().equals(id.getStart()))) {\n ret.push(v.position.getStart());\n }\n }\n return ret;\n }\n listMethodNodes(node) {\n const ret = [];\n if (node.getIdentifier().stype === _scope_type_1.ScopeType.Method) {\n ret.push(node);\n }\n else {\n for (const c of node.getChildren()) {\n ret.push(...this.listMethodNodes(c));\n }\n }\n return ret;\n }\n}\nexports.SlowParameterPassing = SlowParameterPassing;\n//# sourceMappingURL=slow_parameter_passing.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/slow_parameter_passing.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/smim_consistency.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/smim_consistency.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SMIMConsistency = exports.SMIMConsistencyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass SMIMConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SMIMConsistencyConf = SMIMConsistencyConf;\nclass SMIMConsistency {\n constructor() {\n this.conf = new SMIMConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"smim_consistency\",\n title: \"SMIM consistency check\",\n shortDescription: `SMIM consistency check`,\n extendedInformation: \"Check folders exists\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n const issues = [];\n if (!(obj instanceof objects_1.MIMEObject)) {\n return [];\n }\n const base = this.base(obj.getURL() || \"\");\n if (base !== \"\" && this.findFolder(base) === false) {\n const message = `Parent folder \"${base}\" not found`;\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n return issues;\n }\n base(full) {\n const components = full.split(\"/\");\n components.pop();\n return components.join(\"/\");\n }\n findFolder(base) {\n for (const smim of this.reg.getObjectsByType(\"SMIM\")) {\n const mime = smim;\n if (base === mime.getURL() && mime.isFolder() === true) {\n return true;\n }\n }\n return false;\n }\n}\nexports.SMIMConsistency = SMIMConsistency;\n//# sourceMappingURL=smim_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/smim_consistency.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/space_before_colon.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/space_before_colon.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SpaceBeforeColon = exports.SpaceBeforeColonConf = void 0;\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass SpaceBeforeColonConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SpaceBeforeColonConf = SpaceBeforeColonConf;\nclass SpaceBeforeColon extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SpaceBeforeColonConf();\n }\n getMetadata() {\n return {\n key: \"space_before_colon\",\n title: \"Space before colon\",\n shortDescription: `Checks that there are no spaces in front of colons in chained statements.`,\n extendedInformation: `https://docs.abapopenchecks.org/checks/80/`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `DATA : foo TYPE string.`,\n goodExample: `DATA: foo TYPE string.`,\n };\n }\n getMessage() {\n return \"Remove space before colon\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let prev = file.getTokens()[0];\n for (const token of file.getTokens()) {\n if (token.getStr() === \":\" && !prev) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n else if (token.getStr() === \":\"\n && prev.getRow() === token.getRow()\n && prev.getCol() + prev.getStr().length < token.getCol()) {\n const start = new position_1.Position(token.getRow(), prev.getEnd().getCol());\n const end = new position_1.Position(token.getRow(), token.getStart().getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, start, end);\n const issue = issue_1.Issue.atRowRange(file, start.getRow(), start.getCol(), end.getCol(), this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n prev = token;\n }\n return issues;\n }\n}\nexports.SpaceBeforeColon = SpaceBeforeColon;\n//# sourceMappingURL=space_before_colon.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/space_before_colon.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/space_before_dot.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/space_before_dot.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SpaceBeforeDot = exports.SpaceBeforeDotConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nclass SpaceBeforeDotConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.ignoreGlobalDefinition = true;\n this.ignoreExceptions = true;\n }\n}\nexports.SpaceBeforeDotConf = SpaceBeforeDotConf;\nclass SpaceBeforeDot extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SpaceBeforeDotConf();\n }\n getMetadata() {\n return {\n key: \"space_before_dot\",\n title: \"Space before dot\",\n shortDescription: `Checks for extra spaces before dots at the ends of statements`,\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#be-consistent\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#condense-your-code`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: `WRITE bar .`,\n goodExample: `WRITE bar.`,\n };\n }\n getMessage() {\n return \"Remove space before \\\",\\\" or \\\".\\\"\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n let prev = undefined;\n let startRow = 0;\n if (file.getStructure() === undefined) {\n // some parser error exists in file\n return [];\n }\n const ddic = new ddic_1.DDIC(this.reg);\n if (this.conf.ignoreGlobalDefinition) {\n const structure = file.getStructure();\n if (obj instanceof objects_1.Class && structure !== undefined) {\n const endclass = structure.findFirstStatement(Statements.EndClass);\n if (endclass !== undefined) {\n startRow = endclass.getFirstToken().getRow();\n }\n const definition = obj.getClassDefinition();\n if (definition !== undefined && this.conf.ignoreExceptions && ddic.isException(definition, obj)) {\n return [];\n }\n }\n else if (obj instanceof objects_1.Interface && structure !== undefined) {\n const endinterface = structure.findFirstStatement(Statements.EndInterface);\n if (endinterface !== undefined) {\n startRow = endinterface.getFirstToken().getRow();\n }\n }\n }\n for (const t of file.getTokens()) {\n if (t.getRow() < startRow) {\n continue;\n }\n if (prev !== undefined && t instanceof tokens_1.Punctuation && prev.getCol() + prev.getStr().length < t.getCol()) {\n const start = new position_1.Position(t.getStart().getRow(), prev.getEnd().getCol());\n const end = new position_1.Position(t.getStart().getRow(), t.getStart().getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, start, end);\n const issue = issue_1.Issue.atRange(file, start, end, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n prev = t;\n }\n return issues;\n }\n}\nexports.SpaceBeforeDot = SpaceBeforeDot;\n//# sourceMappingURL=space_before_dot.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/space_before_dot.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sql_escape_host_variables.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sql_escape_host_variables.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLEscapeHostVariables = exports.SQLEscapeHostVariablesConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass SQLEscapeHostVariablesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SQLEscapeHostVariablesConf = SQLEscapeHostVariablesConf;\nclass SQLEscapeHostVariables extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SQLEscapeHostVariablesConf();\n }\n getMetadata() {\n return {\n key: \"sql_escape_host_variables\",\n title: \"Escape SQL host variables\",\n shortDescription: `Escape SQL host variables, from 740sp05`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-obsolete-language-elements`,\n tags: [_irule_1.RuleTag.Upport, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Syntax],\n badExample: `SELECT * FROM tab INTO TABLE res WHERE field = val.`,\n goodExample: `SELECT * FROM tab INTO TABLE @res WHERE field = @val.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n const type = obj.getType();\n if (type === \"INTF\" || type === \"TYPE\") {\n return [];\n }\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp02\n && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n for (const s of file.getStatements()) {\n if (s.get() instanceof Statements.UpdateDatabase\n || s.get() instanceof Statements.ModifyDatabase\n || s.get() instanceof Statements.Select\n || s.get() instanceof Statements.SelectLoop\n || s.get() instanceof Statements.InsertDatabase\n || s.get() instanceof Statements.DeleteDatabase) {\n for (const o of s.findAllExpressionsMulti([Expressions.SQLSource, Expressions.SQLSourceSimple])) {\n const first = o.getFirstChild();\n if (((first === null || first === void 0 ? void 0 : first.get()) instanceof Expressions.Source && first.getChildren()[0].get() instanceof Expressions.FieldChain)\n || ((first === null || first === void 0 ? void 0 : first.get()) instanceof Expressions.SimpleSource3 && first.getChildren()[0].get() instanceof Expressions.FieldChain)) {\n const message = \"Escape SQL host variables\";\n const firstToken = o.getFirstChild().getFirstToken();\n const fix = edit_helper_1.EditHelper.replaceToken(file, firstToken, \"@\" + (firstToken === null || firstToken === void 0 ? void 0 : firstToken.getStr()));\n const issue = issue_1.Issue.atToken(file, first.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n break;\n }\n }\n for (const o of s.findAllExpressions(Expressions.SQLTarget)) {\n const escaped = o.findDirectTokenByText(\"@\");\n if (escaped !== undefined) {\n continue;\n }\n const message = \"Escape SQL host variables\";\n const firstToken = o.getFirstChild().getFirstToken();\n const fix = edit_helper_1.EditHelper.replaceToken(file, firstToken, \"@\" + (firstToken === null || firstToken === void 0 ? void 0 : firstToken.getStr()));\n const issue = issue_1.Issue.atToken(file, o.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n break;\n }\n }\n }\n return issues;\n }\n}\nexports.SQLEscapeHostVariables = SQLEscapeHostVariables;\n//# sourceMappingURL=sql_escape_host_variables.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sql_escape_host_variables.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sql_value_conversion.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sql_value_conversion.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLValueConversion = exports.SQLValueConversionConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass SQLValueConversionConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SQLValueConversionConf = SQLValueConversionConf;\nclass SQLValueConversion {\n constructor() {\n this.conf = new SQLValueConversionConf();\n }\n getMetadata() {\n return {\n key: \"sql_value_conversion\",\n title: \"Implicit SQL Value Conversion\",\n shortDescription: `Ensure types match when selecting from database`,\n extendedInformation: `\r\n* Integer to CHAR conversion\r\n* Integer to NUMC conversion\r\n* NUMC to Integer conversion\r\n* CHAR to Integer conversion\r\n* Source field longer than database field, CHAR -> CHAR\r\n* Source field longer than database field, NUMC -> NUMC`,\n tags: [],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject) || obj instanceof objects_1.Interface) {\n return [];\n }\n // messages defined in sql_compare.ts\n const issues = this.traverse(new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop());\n return issues;\n }\n traverse(node) {\n const ret = [];\n for (const r of node.getData().sqlConversion) {\n const file = this.reg.getFileByName(node.getIdentifier().filename);\n if (file === undefined) {\n continue;\n }\n ret.push(issue_1.Issue.atToken(file, r.token, r.message, this.getMetadata().key, this.getConfig().severity));\n }\n for (const c of node.getChildren()) {\n ret.push(...this.traverse(c));\n }\n return ret;\n }\n}\nexports.SQLValueConversion = SQLValueConversion;\n//# sourceMappingURL=sql_value_conversion.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sql_value_conversion.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/start_at_tab.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/start_at_tab.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StartAtTab = exports.StartAtTabConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass StartAtTabConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.StartAtTabConf = StartAtTabConf;\nclass StartAtTab extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new StartAtTabConf();\n }\n getMetadata() {\n return {\n key: \"start_at_tab\",\n title: \"Start at tab\",\n shortDescription: `Checks that statements start at tabstops.`,\n extendedInformation: `Reports max 100 issues per file\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#indent-and-snap-to-tab`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: ` WRITE a.`,\n goodExample: ` WRITE a.`,\n };\n }\n getMessage() {\n return \"Start statement at tab position\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let inType = false;\n let previous = undefined;\n const raw = file.getRawRows();\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n else if (statement.get() instanceof statements_1.TypeBegin) {\n inType = true;\n }\n else if (statement.get() instanceof statements_1.TypeEnd) {\n inType = false;\n }\n else if (inType) {\n continue;\n }\n const pos = statement.getStart();\n if (previous !== undefined && pos.getRow() === previous.getRow()) {\n continue;\n }\n // just skip rows that contains tabs, this will be reported by the contains_tab rule\n if ((pos.getCol() - 1) % 2 !== 0 && raw[pos.getRow() - 1].includes(\"\\t\") === false) {\n const issue = issue_1.Issue.atPosition(file, pos, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n if (issues.length >= 100) {\n return issues; // only max 100 issues perfile\n }\n }\n previous = pos;\n }\n return issues;\n }\n}\nexports.StartAtTab = StartAtTab;\n//# sourceMappingURL=start_at_tab.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/start_at_tab.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/static_call_via_instance.js": +/*!*********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/static_call_via_instance.js ***! + \*********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StaticCallViaInstance = exports.StaticCallViaInstanceConf = void 0;\n/* eslint-disable max-len */\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nclass StaticCallViaInstanceConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allow in test class includes */\n this.allowInTestclassIncludes = false;\n }\n}\nexports.StaticCallViaInstanceConf = StaticCallViaInstanceConf;\nclass StaticCallViaInstance extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new StaticCallViaInstanceConf();\n }\n getMetadata() {\n return {\n key: \"static_call_via_instance\",\n title: \"Static call via instance variable\",\n shortDescription: `Static method call via instance variable`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-call-static-methods-through-instance-variables`,\n tags: [_irule_1.RuleTag.Styleguide],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n if (this.getConfig().allowInTestclassIncludes === true && file.getFilename().includes(\".testclasses.\")) {\n return [];\n }\n const staticMethodCalls = this.listMethodCalls(file.getFilename(), new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop());\n const tokens = file.getTokens();\n for (let i = 0; i < tokens.length - 1; i++) {\n const token = tokens[i];\n if (token.getStr() !== \"->\") {\n continue;\n }\n const next = tokens[i + 1];\n for (const s of staticMethodCalls) {\n if (s.equals(next.getStart())) {\n const message = \"Avoid calling static method via instance\";\n issues.push(issue_1.Issue.atToken(file, token, message, this.getMetadata().key));\n break;\n }\n }\n }\n return issues;\n }\n listMethodCalls(filename, node) {\n const ret = [];\n for (const r of node.getData().references) {\n if (r.referenceType !== _reference_1.ReferenceType.MethodReference || r.position.getFilename() !== filename) {\n continue;\n }\n if (r.resolved instanceof types_1.MethodDefinition && r.resolved.isStatic() === true) {\n ret.push(r.position.getStart());\n }\n }\n for (const child of node.getChildren()) {\n ret.push(...this.listMethodCalls(filename, child));\n }\n return ret;\n }\n}\nexports.StaticCallViaInstance = StaticCallViaInstance;\n//# sourceMappingURL=static_call_via_instance.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/static_call_via_instance.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/strict_sql.js": +/*!*******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/strict_sql.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StrictSQL = exports.StrictSQLConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass StrictSQLConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.StrictSQLConf = StrictSQLConf;\nclass StrictSQL extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new StrictSQLConf();\n }\n getMetadata() {\n return {\n key: \"strict_sql\",\n title: \"Strict SQL\",\n shortDescription: `Strict SQL`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapinto_clause.htm\r\n\r\nhttps://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abenopensql_strict_mode_750.htm\r\n\r\nAlso see separate rule sql_escape_host_variables\r\n\r\nActivates from v750 and up`,\n tags: [_irule_1.RuleTag.Upport, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n const type = obj.getType();\n if (type === \"INTF\" || type === \"TYPE\") {\n return [];\n }\n if (this.reg.getConfig().getVersion() < version_1.Version.v750\n && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n for (const s of file.getStatements()) {\n if (s.get() instanceof Statements.Select\n || s.get() instanceof Statements.SelectLoop) {\n const expr = s.findDirectExpression(Expressions.Select);\n const where = expr === null || expr === void 0 ? void 0 : expr.findDirectExpression(Expressions.SQLCond);\n const order = expr === null || expr === void 0 ? void 0 : expr.findDirectExpression(Expressions.SQLOrderBy);\n const into = (expr === null || expr === void 0 ? void 0 : expr.findDirectExpression(Expressions.SQLIntoStructure))\n || (expr === null || expr === void 0 ? void 0 : expr.findDirectExpression(Expressions.SQLIntoTable));\n if (into === undefined || where === undefined) {\n continue;\n }\n else if (where.getFirstToken().getStart().isBefore(into.getFirstToken().getStart())) {\n continue;\n }\n const fix1 = edit_helper_1.EditHelper.deleteRange(file, into.getFirstToken().getStart(), into.getLastToken().getEnd());\n let last = where.getLastToken();\n if (order && order.getLastToken().getEnd().isAfter(last.getEnd())) {\n last = order.getLastToken();\n }\n const fix2 = edit_helper_1.EditHelper.insertAt(file, last.getEnd(), \" \" + into.concatTokens());\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n const message = \"INTO/APPENDING must be last in strict SQL\";\n const issue = issue_1.Issue.atToken(file, s.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.StrictSQL = StrictSQL;\n//# sourceMappingURL=strict_sql.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/strict_sql.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/superclass_final.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/superclass_final.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SuperclassFinal = exports.SuperclassFinalConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass SuperclassFinalConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SuperclassFinalConf = SuperclassFinalConf;\nclass SuperclassFinal extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SuperclassFinalConf();\n }\n getMetadata() {\n return {\n key: \"superclass_final\",\n title: \"Super class final\",\n shortDescription: `Checks that classes which are inherited from are not declared as FINAL.`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getMessage() {\n return \"Superclasses cannot be FINAL\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const output = [];\n for (const definition of file.getInfo().listClassDefinitions()) {\n const sup = definition.superClassName;\n if (sup === undefined) {\n continue;\n }\n let localLookup = true;\n if (obj instanceof Objects.Class && file.getFilename().match(/\\.clas\\.abap$/)) {\n localLookup = false;\n }\n let found = undefined;\n if (localLookup) {\n for (const f of obj.getABAPFiles()) {\n found = f.getInfo().getClassDefinitionByName(sup);\n if (found !== undefined) {\n break;\n }\n }\n }\n if (found === undefined) {\n const clas = this.reg.getObject(\"CLAS\", sup);\n if (clas) {\n found = clas.getClassDefinition();\n }\n }\n if (found === undefined) {\n const message = \"Super class \\\"\" + sup + \"\\\" not found\";\n const issue = issue_1.Issue.atIdentifier(definition.identifier, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n continue;\n }\n if (found.isFinal === true) {\n const issue = issue_1.Issue.atIdentifier(definition.identifier, this.getMessage(), this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n return output;\n }\n}\nexports.SuperclassFinal = SuperclassFinal;\n//# sourceMappingURL=superclass_final.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/superclass_final.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/superfluous_value.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/superfluous_value.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SuperfluousValue = exports.SuperfluousValueConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nclass SuperfluousValueConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SuperfluousValueConf = SuperfluousValueConf;\nclass SuperfluousValue extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SuperfluousValueConf();\n }\n getMetadata() {\n return {\n key: \"superfluous_value\",\n title: \"Superfluous VALUE\",\n shortDescription: `Find superfluous VALUE expressions`,\n extendedInformation: `Left hand side is inline, VALUE is inferred, value body is simple, from v740sp02 and up`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `DATA(message_entry) = VALUE #( message_table[ msgno = msgno ] ).`,\n goodExample: `DATA(message_entry) = message_table[ msgno = msgno ].`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b;\n const output = [];\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp02\n && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n const struc = file.getStructure();\n if (struc === undefined) {\n return []; // syntax error\n }\n for (const m of struc.findAllStatements(Statements.Move)) {\n if (((_a = m.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.InlineData)) === undefined) {\n continue;\n }\n const source = m.findDirectExpression(Expressions.Source);\n if (source === undefined) {\n continue;\n }\n const type = (_b = source.findDirectExpression(Expressions.TypeNameOrInfer)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (type !== \"#\") {\n continue;\n }\n const body = source.findDirectExpression(Expressions.ValueBody);\n if (body === undefined) {\n continue;\n }\n if (body.getChildren().length === 1) {\n const message = \"Superfluous VALUE expression\";\n const issue = issue_1.Issue.atStatement(file, m, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n return output;\n }\n}\nexports.SuperfluousValue = SuperfluousValue;\n//# sourceMappingURL=superfluous_value.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/superfluous_value.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sy_modification.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sy_modification.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SyModification = exports.SyModificationConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass SyModificationConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SyModificationConf = SyModificationConf;\nclass SyModification extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SyModificationConf();\n }\n getMetadata() {\n return {\n key: \"sy_modification\",\n title: \"Modification of SY fields\",\n shortDescription: `Finds modification of sy fields`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abensystem_fields.htm\r\n\r\nChanges to SY-TVAR* fields are not reported`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `sy-uname = 2.\r\nsy = sy.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a;\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n for (const t of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.Target)) || []) {\n const firstChild = t.getChildren()[0];\n if (firstChild.get() instanceof Expressions.TargetField\n && firstChild.getFirstToken().getStr().toUpperCase() === \"SY\") {\n if (t.concatTokens().toUpperCase().startsWith(\"SY-TVAR\")) {\n continue;\n }\n const message = \"Modification of SY field\";\n const issue = issue_1.Issue.atToken(file, firstChild.getFirstToken(), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.SyModification = SyModification;\n//# sourceMappingURL=sy_modification.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/sy_modification.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/tabl_enhancement_category.js": +/*!**********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/tabl_enhancement_category.js ***! + \**********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TABLEnhancementCategory = exports.TABLEnhancementCategoryConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nclass TABLEnhancementCategoryConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.TABLEnhancementCategoryConf = TABLEnhancementCategoryConf;\nclass TABLEnhancementCategory {\n constructor() {\n this.conf = new TABLEnhancementCategoryConf();\n }\n getMetadata() {\n return {\n key: \"tabl_enhancement_category\",\n title: \"TABL enhancement category must be set\",\n shortDescription: `Checks that tables do not have the enhancement category 'not classified'.`,\n extendedInformation: `SAP note 3063227 changes the default to 'Cannot be enhanced'.\r\n\r\nYou may use standard report RS_DDIC_CLASSIFICATION_FINAL for adjustment.`,\n tags: [],\n };\n }\n getDescription(name) {\n return \"TABL enhancement category not classified in \" + name;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n if (!(obj instanceof objects_1.Table)) {\n return [];\n }\n if (obj.getEnhancementCategory() === objects_1.EnhancementCategory.NotClassified) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, this.getDescription(obj.getName()), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n}\nexports.TABLEnhancementCategory = TABLEnhancementCategory;\n//# sourceMappingURL=tabl_enhancement_category.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/tabl_enhancement_category.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/try_without_catch.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/try_without_catch.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TryWithoutCatch = exports.TryWithoutCatchConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst structures_1 = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass TryWithoutCatchConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.TryWithoutCatchConf = TryWithoutCatchConf;\nclass TryWithoutCatch extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new TryWithoutCatchConf();\n }\n getMetadata() {\n return {\n key: \"try_without_catch\",\n title: \"TRY without CATCH\",\n shortDescription: `Checks for TRY blocks without a CATCH and CLEANUP block`,\n badExample: `TRY.\\n WRITE 'hello world'.\\nENDTRY.`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"A TRY block must have a corresponding CATCH or CLEANUP block.\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n const tries = stru.findAllStructures(structures_1.Try);\n for (const t of tries) {\n const clean = t.findDirectStructures(structures_1.Cleanup);\n const c = t.findDirectStructures(structures_1.Catch);\n if (c.length === 0 && clean.length === 0) {\n const issue = issue_1.Issue.atToken(file, t.getFirstToken(), this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.TryWithoutCatch = TryWithoutCatch;\n//# sourceMappingURL=try_without_catch.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/try_without_catch.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/type_form_parameters.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/type_form_parameters.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeFormParameters = exports.TypeFormParametersConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass TypeFormParametersConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.TypeFormParametersConf = TypeFormParametersConf;\nclass TypeFormParameters extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new TypeFormParametersConf();\n }\n getMetadata() {\n return {\n key: \"type_form_parameters\",\n title: \"Type FORM parameters\",\n shortDescription: `Checks for untyped FORM parameters`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `FORM foo USING bar.\r\nENDFORM.`,\n goodExample: `FORM foo USING bar TYPE string.\r\nENDFORM.`,\n };\n }\n getDescription(parameterName) {\n return \"Add TYPE for FORM parameter \\\"\" + parameterName + \"\\\"\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const ret = [];\n const stru = file.getStructure();\n if (obj instanceof objects_1.Class || stru === undefined) {\n return ret;\n }\n for (const formparam of stru.findAllExpressions(Expressions.FormParam)) {\n if (formparam.findFirstExpression(Expressions.FormParamType) === undefined) {\n const token = formparam.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getDescription(token.getStr()), this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n }\n return ret;\n }\n}\nexports.TypeFormParameters = TypeFormParameters;\n//# sourceMappingURL=type_form_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/type_form_parameters.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/types_naming.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/types_naming.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypesNaming = exports.TypesNamingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nclass TypesNamingConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** The pattern for TYPES */\n this.pattern = \"^TY_.+$\";\n }\n}\nexports.TypesNamingConf = TypesNamingConf;\nclass TypesNaming extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new TypesNamingConf();\n }\n getMetadata() {\n return {\n key: \"types_naming\",\n title: \"TYPES naming conventions\",\n shortDescription: `Allows you to enforce a pattern for TYPES definitions`,\n extendedInformation: `Does not run for TYPE POOLS`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n const testRegex = new RegExp(this.conf.pattern, \"i\");\n let nesting = 0;\n if (obj instanceof objects_1.TypePool) {\n return [];\n }\n for (const stat of file.getStatements()) {\n let expr = undefined;\n if (stat.get() instanceof Statements.Type && nesting === 0) {\n expr = stat.findFirstExpression(Expressions.NamespaceSimpleName);\n }\n else if (stat.get() instanceof Statements.TypeBegin\n || stat.get() instanceof Statements.TypeEnumBegin) {\n if (nesting === 0) {\n expr = stat.findFirstExpression(Expressions.NamespaceSimpleName);\n }\n nesting = nesting + 1;\n }\n else if (stat.get() instanceof Statements.TypeEnd\n || stat.get() instanceof Statements.TypeEnumEnd) {\n nesting = nesting - 1;\n continue;\n }\n else {\n continue;\n }\n if (expr === undefined) {\n continue;\n }\n const token = expr.getFirstToken();\n if (testRegex.exec(token.getStr())) {\n continue;\n }\n else {\n const message = \"Bad TYPES naming, expected \\\"\" + this.conf.pattern + \"\\\", got \\\"\" + token.getStr() + \"\\\"\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.TypesNaming = TypesNaming;\n//# sourceMappingURL=types_naming.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/types_naming.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/uncaught_exception.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/uncaught_exception.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UncaughtException = exports.UncaughtExceptionConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/ddic.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/index.js\");\nclass UncaughtExceptionConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UncaughtExceptionConf = UncaughtExceptionConf;\nclass UncaughtException extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UncaughtExceptionConf();\n this.issues = [];\n }\n getMetadata() {\n return {\n key: \"uncaught_exception\",\n title: \"Uncaught Exception\",\n shortDescription: `Checks for uncaught static exception`,\n extendedInformation: `Does not report any issues if the code contains syntax errors`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n initialize(reg) {\n super.initialize(reg);\n this.findGlobalExceptions();\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n if (obj.getType() === \"INTF\") { // nothing can be raised in interfaces\n return [];\n }\n if (obj instanceof objects_1.Program && obj.isInclude() === true) {\n return [];\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n this.findLocalExceptions(obj);\n this.syntax = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (this.syntax.issues.length > 0) {\n return [];\n }\n this.issues = [];\n this.sinked = undefined;\n for (const c of stru.getChildren()) {\n this.traverse(c, file);\n }\n return this.issues;\n }\n traverse(n, file) {\n var _a;\n const get = n.get();\n if (get instanceof Structures.ClassDefinition\n || get instanceof Structures.Interface) {\n return; // to optimize performance\n }\n if (n instanceof nodes_1.StructureNode) {\n if (get instanceof Structures.Try) {\n // note that TRY-CATCH might be arbitrarily nested\n const previous = this.sinked ? this.sinked.slice() : undefined;\n this.addFromTryStructure(n);\n for (const c of n.getChildren()) {\n this.traverse(c, file);\n }\n this.sinked = previous;\n return;\n }\n else {\n for (const c of n.getChildren()) {\n this.traverse(c, file);\n }\n }\n }\n else if (n instanceof nodes_1.StatementNode) {\n if (get instanceof Statements.MethodImplementation) {\n this.setSinkedFromMethod(n, file);\n }\n else if (get instanceof Statements.EndMethod) {\n this.sinked = undefined; // back to top level\n }\n else if (get instanceof Statements.Form) {\n this.sinked = [];\n const raising = n.findDirectExpression(Expressions.FormRaising);\n for (const c of (raising === null || raising === void 0 ? void 0 : raising.findAllExpressions(Expressions.ClassName)) || []) {\n this.sinked.push(c.concatTokens().toUpperCase());\n }\n }\n else if (get instanceof Statements.EndForm) {\n this.sinked = undefined; // back to top level\n }\n else if (get instanceof Statements.Raise) {\n let name = undefined;\n const concat = n.concatTokens().toUpperCase();\n if (concat.startsWith(\"RAISE EXCEPTION TYPE \")) {\n name = (_a = n.findFirstExpression(Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr().toUpperCase();\n }\n this.check(name, n, file);\n }\n else if (get instanceof Statements.Perform) {\n // todo, PERFORM, or is this not statically checked?\n }\n else {\n this.checkForMethodCalls(n, file);\n }\n }\n }\n ////////////////////////////////\n check(name, n, file) {\n if (this.isSinked(name) === false) {\n const issue = issue_1.Issue.atStatement(file, n, \"Uncaught exception \" + name, this.getMetadata().key, this.getConfig().severity);\n this.issues.push(issue);\n }\n }\n checkForMethodCalls(n, file) {\n const start = n.getFirstToken().getStart();\n const end = n.getLastToken().getEnd();\n const scope = this.syntax.spaghetti.lookupPosition(start, file.getFilename());\n for (const r of (scope === null || scope === void 0 ? void 0 : scope.getData().references) || []) {\n if (r.referenceType === _reference_1.ReferenceType.MethodReference\n && r.position.getStart().isAfter(start)\n && r.position.getEnd().isBefore(end)\n && r.resolved instanceof types_1.MethodDefinition) {\n for (const name of r.resolved.getRaising()) {\n this.check(name, n, file);\n }\n }\n }\n }\n addFromTryStructure(s) {\n if (this.sinked === undefined) {\n return;\n }\n for (const structure of s.findDirectStructures(Structures.Catch)) {\n const c = structure.findDirectStatement(Statements.Catch);\n if (c === undefined) {\n continue;\n }\n for (const cn of c.findDirectExpressions(Expressions.ClassName)) {\n this.sinked.push(cn.concatTokens());\n }\n }\n }\n setSinkedFromMethod(s, file) {\n this.sinked = [];\n const scope = this.syntax.spaghetti.lookupPosition(s.getLastToken().getEnd(), file.getFilename());\n let def = undefined;\n for (const r of (scope === null || scope === void 0 ? void 0 : scope.getData().references) || []) {\n // there should be only one, so the first is okay\n if (r.referenceType === _reference_1.ReferenceType.MethodImplementationReference\n && r.resolved instanceof types_1.MethodDefinition) {\n def = r.resolved;\n break;\n }\n }\n if (def === undefined) {\n return; // this should not occur, so just report everything as errors\n }\n def.getRaising().forEach(r => { var _a; return (_a = this.sinked) === null || _a === void 0 ? void 0 : _a.push(r); });\n }\n isSinked(name) {\n if (this.sinked === undefined || name === undefined) {\n return true;\n }\n const sup = this.globalExceptions[name.toUpperCase()];\n if (sup === \"CX_DYNAMIC_CHECK\" || sup === \"CX_NO_CHECK\") {\n return true;\n }\n const lsup = this.localExceptions[name.toUpperCase()];\n if (lsup === \"CX_DYNAMIC_CHECK\" || lsup === \"CX_NO_CHECK\") {\n return true;\n }\n return this.sinked.some(a => a.toUpperCase() === name.toUpperCase())\n || (sup !== undefined && this.isSinked(sup) === true)\n || (lsup !== undefined && this.isSinked(lsup) === true);\n }\n findGlobalExceptions() {\n var _a, _b;\n this.globalExceptions = {};\n const ddic = new ddic_1.DDIC(this.reg);\n for (const o of this.reg.getObjects()) {\n if (!(o instanceof objects_1.Class)) {\n continue;\n }\n const def = (_a = o.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().getClassDefinitionByName(o.getName());\n if (def === undefined || ddic.isException(def, o) === false) {\n continue;\n }\n this.globalExceptions[o.getName().toUpperCase()] = (_b = def.superClassName) === null || _b === void 0 ? void 0 : _b.toUpperCase();\n }\n }\n findLocalExceptions(obj) {\n var _a;\n this.localExceptions = {};\n for (const file of obj.getABAPFiles()) {\n for (const def of file.getInfo().listClassDefinitions()) {\n if (def.isLocal === true && def.superClassName !== undefined) {\n this.localExceptions[def.name.toUpperCase()] = (_a = def.superClassName) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n }\n }\n }\n }\n}\nexports.UncaughtException = UncaughtException;\n//# sourceMappingURL=uncaught_exception.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/uncaught_exception.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unknown_types.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unknown_types.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnknownTypes = exports.UnknownTypesConf = void 0;\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst BasicTypes = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass UnknownTypesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnknownTypesConf = UnknownTypesConf;\nclass UnknownTypes {\n constructor() {\n this.conf = new UnknownTypesConf();\n }\n getMetadata() {\n return {\n key: \"unknown_types\",\n title: \"Unknown types\",\n shortDescription: `Enables check for unknown data types, respects errorNamespace`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const spaghetti = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n const found = this.traverse(spaghetti.getTop());\n return this.removeDuplicates(found);\n }\n /////////////////////\n removeDuplicates(list) {\n const deduplicated = [];\n for (const result of list) {\n let cont = false;\n for (const d of deduplicated) {\n if (result.getStart().equals(d.getStart())) {\n cont = true;\n break;\n }\n }\n if (cont === true) {\n continue;\n }\n deduplicated.push(result);\n }\n return deduplicated;\n }\n traverse(node) {\n var _a;\n const ret = [];\n const nodeData = node.getData();\n for (const r of nodeData.references) {\n if (r.referenceType === _reference_1.ReferenceType.ObjectOrientedUnknownReference && ((_a = r.extra) === null || _a === void 0 ? void 0 : _a.ooName)) {\n const message = r.extra.ooName + \" unknown\";\n ret.push(issue_1.Issue.atIdentifier(r.position, message, this.getMetadata().key, this.conf.severity));\n }\n if (r.referenceType === _reference_1.ReferenceType.TypeReference\n && r.resolved instanceof _typed_identifier_1.TypedIdentifier\n && r.resolved.getType() instanceof basic_1.UnknownType) {\n const message = r.resolved.getType().getError();\n ret.push(issue_1.Issue.atIdentifier(r.position, message, this.getMetadata().key, this.conf.severity));\n }\n }\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.ClassImplementation) {\n const vars = nodeData.vars;\n for (const name in vars) {\n const identifier = vars[name];\n const found = this.containsUnknown(identifier.getType());\n if (found) {\n const message = \"Variable \\\"\" + name + \"\\\" contains unknown: \" + found;\n ret.push(issue_1.Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity));\n }\n }\n const types = nodeData.types;\n for (const name in types) {\n const identifier = types[name];\n const found = this.containsUnknown(identifier.getType());\n if (found) {\n const message = \"Type \\\"\" + name + \"\\\" contains unknown: \" + found;\n ret.push(issue_1.Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity));\n }\n }\n }\n for (const v of nodeData.idefs) {\n const found = this.checkParameters(v);\n if (found) {\n const message = \"Contains unknown, \" + found.found;\n ret.push(issue_1.Issue.atIdentifier(found.id, message, this.getMetadata().key, this.conf.severity));\n }\n }\n for (const name in nodeData.cdefs) {\n const v = nodeData.cdefs[name];\n const found = this.checkParameters(v);\n if (found) {\n const message = \"Contains unknown, \" + found.found;\n ret.push(issue_1.Issue.atIdentifier(found.id, message, this.getMetadata().key, this.conf.severity));\n }\n }\n for (const n of node.getChildren()) {\n ret.push(...this.traverse(n));\n }\n return ret;\n }\n checkParameters(idef) {\n var _a;\n for (const m of ((_a = idef.getMethodDefinitions()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {\n for (const p of m.getParameters().getAll()) {\n const found = this.containsUnknown(p.getType());\n if (found) {\n return { id: p, found };\n }\n }\n }\n for (const e of idef.getEvents() || []) {\n for (const p of e.getParameters()) {\n const found = this.containsUnknown(p.getType());\n if (found) {\n return { id: p, found };\n }\n }\n }\n return undefined;\n }\n containsUnknown(type) {\n if (type instanceof BasicTypes.UnknownType) {\n return type.getError();\n }\n else if (type instanceof BasicTypes.StructureType) {\n for (const c of type.getComponents()) {\n const found = this.containsUnknown(c.type instanceof _typed_identifier_1.TypedIdentifier ? c.type.getType() : c.type);\n if (found) {\n return found;\n }\n }\n }\n else if (type instanceof BasicTypes.TableType) {\n return this.containsUnknown(type.getRowType());\n }\n return undefined;\n }\n}\nexports.UnknownTypes = UnknownTypes;\n//# sourceMappingURL=unknown_types.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unknown_types.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_chaining.js": +/*!*****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_chaining.js ***! + \*****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnnecessaryChaining = exports.UnnecessaryChainingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass UnnecessaryChainingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnnecessaryChainingConf = UnnecessaryChainingConf;\nclass UnnecessaryChaining extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UnnecessaryChainingConf();\n }\n getMetadata() {\n return {\n key: \"unnecessary_chaining\",\n title: \"Unnecessary Chaining\",\n shortDescription: `Find unnecessary chaining, all statements are checked`,\n extendedInformation: ``,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `WRITE: bar.`,\n goodExample: `WRITE bar.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const colon = statements[i].getColon();\n if (colon === undefined) {\n continue;\n }\n let j = 1;\n let nextStatement = statements[i + j];\n while ((nextStatement === null || nextStatement === void 0 ? void 0 : nextStatement.get()) instanceof _statement_1.Comment) {\n j++;\n nextStatement = statements[i + j];\n }\n j = 1;\n let prevStatement = statements[i - j];\n while ((prevStatement === null || prevStatement === void 0 ? void 0 : prevStatement.get()) instanceof _statement_1.Comment) {\n j--;\n prevStatement = statements[i - j];\n }\n const next = nextStatement === null || nextStatement === void 0 ? void 0 : nextStatement.getColon();\n const prev = prevStatement === null || prevStatement === void 0 ? void 0 : prevStatement.getColon();\n if (next !== undefined && colon.getStart().equals(next.getStart())) {\n continue;\n }\n else if (prev !== undefined && colon.getStart().equals(prev.getStart())) {\n continue;\n }\n const fix = edit_helper_1.EditHelper.deleteRange(file, colon.getStart(), colon.getEnd());\n const message = \"Unnecessary chaining\";\n const issue = issue_1.Issue.atToken(file, colon, message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n return issues;\n }\n}\nexports.UnnecessaryChaining = UnnecessaryChaining;\n//# sourceMappingURL=unnecessary_chaining.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_chaining.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_pragma.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_pragma.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnnecessaryPragma = exports.UnnecessaryPragmaConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass UnnecessaryPragmaConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allow NO_TEXT in global CLAS and INTF definitions,\n its added automatically by SE24 in some cases where it should not */\n this.allowNoTextGlobal = false;\n }\n}\nexports.UnnecessaryPragmaConf = UnnecessaryPragmaConf;\nclass UnnecessaryPragma extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UnnecessaryPragmaConf();\n }\n getMetadata() {\n return {\n key: \"unnecessary_pragma\",\n title: \"Unnecessary Pragma\",\n shortDescription: `Finds pragmas which can be removed`,\n extendedInformation: `* NO_HANDLER with handler\r\n\r\n* NEEDED without definition\r\n\r\n* NO_TEXT without texts\r\n\r\n* SUBRC_OK where sy-subrc is checked\r\n\r\nNO_HANDLER inside macros are not checked`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `TRY.\r\n ...\r\n CATCH zcx_abapgit_exception ##NO_HANDLER.\r\n RETURN. \" it has a handler\r\nENDTRY.\r\nMESSAGE w125(zbar) WITH c_foo INTO message ##NEEDED ##NO_TEXT.\r\nSELECT SINGLE * FROM tadir INTO @DATA(sdfs) ##SUBRC_OK.\r\nIF sy-subrc <> 0.\r\nENDIF.`,\n goodExample: `TRY.\r\n ...\r\n CATCH zcx_abapgit_exception.\r\n RETURN.\r\nENDTRY.\r\nMESSAGE w125(zbar) WITH c_foo INTO message.\r\nSELECT SINGLE * FROM tadir INTO @DATA(sdfs).\r\nIF sy-subrc <> 0.\r\nENDIF.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let noHandler = false;\n let globalDefinition = false;\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const statement = statements[i];\n const nextStatement = statements[i + 1];\n if (statement.get() instanceof Statements.EndTry) {\n noHandler = false;\n }\n else if (statement.get() instanceof Statements.ClassDefinition\n || statement.get() instanceof Statements.Interface) {\n if (statement.findDirectExpression(Expressions.ClassGlobal)) {\n globalDefinition = true;\n }\n }\n else if (statement.get() instanceof Statements.EndClass\n || statement.get() instanceof Statements.EndInterface) {\n globalDefinition = false;\n }\n else if (statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n else if (noHandler === true && !(statement.get() instanceof Statements.Catch)) {\n const message = \"NO_HANDLER pragma or pseudo comment can be removed\";\n const issue = issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n noHandler = false;\n }\n else {\n noHandler = this.containsNoHandler(statement, statements[i + 1]);\n }\n if (this.getConfig().allowNoTextGlobal === true && globalDefinition === true) {\n // skip\n }\n else {\n issues.push(...this.checkText(statement, file));\n }\n issues.push(...this.checkNeeded(statement, file));\n if (globalDefinition === false) {\n issues.push(...this.checkSubrc(statement, nextStatement, file));\n }\n }\n return issues;\n }\n checkText(statement, file) {\n const p = statement.getPragmas().find(t => t.getStr().toUpperCase() === \"##NO_TEXT\");\n if (p === undefined) {\n return [];\n }\n if (statement.findFirstExpression(Expressions.ConstantString) === undefined\n && statement.findFirstExpression(Expressions.StringTemplate) === undefined) {\n const message = \"There is no text, NO_TEXT can be removed\";\n return [issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.getConfig().severity)];\n }\n return [];\n }\n checkSubrc(statement, next, file) {\n const p = statement.getPragmas().find(t => t.getStr().toUpperCase() === \"##SUBRC_OK\");\n if (p === undefined) {\n return [];\n }\n const concat = next.concatTokens().toUpperCase();\n if (concat.includes(\" SY-SUBRC\")) {\n const message = \"SUBRC_OK can be removed as sy-subrc is checked\";\n return [issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.getConfig().severity)];\n }\n return [];\n }\n checkNeeded(statement, file) {\n const p = statement.getPragmas().find(t => t.getStr().toUpperCase() === \"##NEEDED\");\n if (p === undefined) {\n return [];\n }\n if (statement.findFirstExpression(Expressions.InlineData) === undefined\n && !(statement.get() instanceof Statements.Parameter)\n && !(statement.get() instanceof Statements.Data)\n && !(statement.get() instanceof Statements.DataEnd)\n && !(statement.get() instanceof Statements.Type)\n && !(statement.get() instanceof Statements.Form)\n && !(statement.get() instanceof Statements.Tables)\n && !(statement.get() instanceof Statements.TypeEnd)\n && !(statement.get() instanceof Statements.Constant)\n && !(statement.get() instanceof Statements.ConstantEnd)\n && !(statement.get() instanceof Statements.TypeEnum)\n && !(statement.get() instanceof Statements.TypeEnumEnd)\n && !(statement.get() instanceof Statements.MethodImplementation)\n && !(statement.get() instanceof Statements.MethodDef)\n && statement.findFirstExpression(Expressions.InlineFS) === undefined) {\n const message = \"There is no data definition, NEEDED can be removed\";\n return [issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.getConfig().severity)];\n }\n return [];\n }\n containsNoHandler(statement, next) {\n for (const t of statement.getPragmas()) {\n if (t.getStr().toUpperCase() === \"##NO_HANDLER\") {\n return true;\n }\n }\n if (next\n && next.get() instanceof _statement_1.Comment\n && !(statement.get() instanceof _statement_1.MacroContent)\n && next.concatTokens().toUpperCase().includes(\"#EC NO_HANDLER\")) {\n return true;\n }\n return false;\n }\n}\nexports.UnnecessaryPragma = UnnecessaryPragma;\n//# sourceMappingURL=unnecessary_pragma.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_pragma.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_return.js": +/*!***************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_return.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnnecessaryReturn = exports.UnnecessaryReturnConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass UnnecessaryReturnConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnnecessaryReturnConf = UnnecessaryReturnConf;\nclass UnnecessaryReturn extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UnnecessaryReturnConf();\n }\n getMetadata() {\n return {\n key: \"unnecessary_return\",\n title: \"Unnecessary Return\",\n shortDescription: `Finds unnecessary RETURN statements`,\n extendedInformation: `Finds unnecessary RETURN statements`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `FORM hello1.\r\n WRITE 'world'.\r\n RETURN.\r\nENDFORM.\r\n\r\nFORM foo.\r\n IF 1 = 2.\r\n RETURN.\r\n ENDIF.\r\nENDFORM.`,\n goodExample: `FORM hello2.\r\n WRITE 'world'.\r\nENDFORM.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n const message = \"Unnecessary RETURN\";\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const node = statements[i];\n if (!(node.get() instanceof Statements.EndMethod\n || node.get() instanceof Statements.EndForm\n || node.get() instanceof Statements.EndFunction)) {\n continue;\n }\n const prev = statements[i - 1];\n if (prev && prev.get() instanceof Statements.Return) {\n const fix = edit_helper_1.EditHelper.deleteStatement(file, prev);\n issues.push(issue_1.Issue.atStatement(file, prev, message, this.getMetadata().key, this.getConfig().severity, fix));\n }\n // note: ENDTRY is not checked, it will usually just make it an empty catch handler, which is also bad\n const prevprev = statements[i - 2];\n if (prev && prevprev\n && prevprev.get() instanceof Statements.Return\n && prev.get() instanceof Statements.EndIf) {\n const fix = edit_helper_1.EditHelper.deleteStatement(file, prevprev);\n issues.push(issue_1.Issue.atStatement(file, prevprev, message, this.getMetadata().key, this.getConfig().severity, fix));\n }\n }\n return issues;\n }\n}\nexports.UnnecessaryReturn = UnnecessaryReturn;\n//# sourceMappingURL=unnecessary_return.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unnecessary_return.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unreachable_code.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unreachable_code.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnreachableCode = exports.UnreachableCodeConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass UnreachableCodeConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnreachableCodeConf = UnreachableCodeConf;\nclass UnreachableCode extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UnreachableCodeConf();\n }\n getMetadata() {\n return {\n key: \"unreachable_code\",\n title: \"Unreachable code\",\n shortDescription: `Checks for unreachable code.`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `RETURN.\\nWRITE 'hello'.`,\n goodExample: `WRITE 'hello'.\\nRETURN.`,\n };\n }\n getMessage() {\n return \"Unreachable code\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const output = [];\n let exit = false;\n for (const node of file.getStatements()) {\n if (node.get() instanceof _statement_1.Comment\n || node.get() instanceof _statement_1.MacroContent\n || node.get() instanceof _statement_1.Empty) {\n continue;\n }\n else if (this.isExit(node)) {\n exit = true;\n continue;\n }\n else if (this.isStructure(node.get())) {\n exit = false;\n continue;\n }\n if (exit === true) {\n const issue = issue_1.Issue.atStatement(file, node, this.getMessage(), this.getMetadata().key, this.conf.severity);\n output.push(issue);\n exit = false;\n }\n }\n return output;\n }\n isExit(n) {\n const s = n.get();\n // todo, RESUMABLE exception\n if (s instanceof Statements.Submit && n.findFirstExpression(Expressions.AndReturn) === undefined) {\n return true;\n }\n else if (s instanceof Statements.Leave && n.findFirstExpression(Expressions.AndReturn) === undefined) {\n const concat = n.concatTokens();\n if (concat.includes(\" TO LIST-PROCESSING\")) {\n return false;\n }\n return true;\n }\n else if (s instanceof Statements.Return\n || s instanceof Statements.Continue\n || s instanceof Statements.Exit\n || s instanceof Statements.Raise) {\n return true;\n }\n return false;\n }\n isStructure(s) {\n if (s instanceof Statements.EndIf\n || s instanceof Statements.Else\n || s instanceof Statements.EndLoop\n || s instanceof Statements.EndTry\n || s instanceof Statements.EndMethod\n || s instanceof Statements.EndModule\n || s instanceof Statements.EndForm\n || s instanceof Statements.EndAt\n || s instanceof Statements.EndSelect\n || s instanceof Statements.AtSelectionScreen\n || s instanceof Statements.EndFunction\n || s instanceof Statements.EndCase\n || s instanceof Statements.EndWhile\n || s instanceof Statements.EndDo\n || s instanceof Statements.Cleanup\n || s instanceof Statements.When\n || s instanceof Statements.WhenOthers\n || s instanceof Statements.WhenType\n || s instanceof Statements.Catch\n || s instanceof Statements.ElseIf) {\n return true;\n }\n return false;\n }\n}\nexports.UnreachableCode = UnreachableCode;\n//# sourceMappingURL=unreachable_code.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unreachable_code.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unsecure_fae.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unsecure_fae.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnsecureFAE = exports.UnsecureFAEConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nclass UnsecureFAEConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnsecureFAEConf = UnsecureFAEConf;\nclass UnsecureFAE {\n constructor() {\n this.conf = new UnsecureFAEConf();\n }\n getMetadata() {\n return {\n key: \"unsecure_fae\",\n title: \"Unsecure FAE\",\n shortDescription: `Checks for unsecure FAE`,\n extendedInformation: `Issues from rule check_syntax must be fixed before this rule takes effect`,\n tags: [_irule_1.RuleTag.Experimental, _irule_1.RuleTag.Performance],\n };\n }\n getConfig() {\n return this.conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n var _a;\n const issues = [];\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return issues;\n }\n const syntaxResult = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (syntaxResult.issues.length > 0) {\n return issues;\n }\n for (const f of obj.getABAPFiles()) {\n // todo\n for (const e of ((_a = f.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.SQLForAllEntries)) || []) {\n const token = e.getFirstToken();\n const message = \"Unsecure FAE\";\n issues.push(issue_1.Issue.atToken(f, token, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n return issues;\n }\n}\nexports.UnsecureFAE = UnsecureFAE;\n//# sourceMappingURL=unsecure_fae.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unsecure_fae.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_ddic.js": +/*!********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_ddic.js ***! + \********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnusedDDIC = exports.UnusedDDICConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nclass UnusedDDICConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnusedDDICConf = UnusedDDICConf;\nclass UnusedDDIC {\n constructor() {\n this.conf = new UnusedDDICConf();\n }\n getMetadata() {\n return {\n key: \"unused_ddic\",\n title: \"Unused DDIC\",\n shortDescription: `Checks the usage of DDIC objects`,\n extendedInformation: `Objects checked: DOMA + DTEL + TABL + TTYP + VIEW`,\n tags: [],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (obj instanceof Objects.Domain\n || obj instanceof Objects.TableType\n || obj instanceof Objects.View\n || obj instanceof Objects.Table\n || obj instanceof Objects.DataElement) {\n return this.check(obj);\n }\n return [];\n }\n check(obj) {\n const id = obj.getIdentifier();\n const refs = this.reg.getDDICReferences();\n const list = refs.listWhereUsed(obj);\n if (id && list.length === 0) {\n const message = obj.getType() + \" \" + obj.getName() + \" not statically referenced\";\n return [issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.conf.severity)];\n }\n return [];\n }\n}\nexports.UnusedDDIC = UnusedDDIC;\n//# sourceMappingURL=unused_ddic.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_ddic.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_methods.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_methods.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnusedMethods = exports.UnusedMethodsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst visibility_1 = __webpack_require__(/*! ../abap/4_file_information/visibility */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass UnusedMethodsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnusedMethodsConf = UnusedMethodsConf;\nclass WorkArea {\n constructor() {\n this.list = [];\n this.list = [];\n }\n push(id) {\n this.list.push(id);\n }\n removeIfExists(id) {\n for (let i = 0; i < this.list.length; i++) {\n if (id.equals(this.list[i].identifier)) {\n this.list.splice(i, 1);\n return;\n }\n }\n }\n containsProteted() {\n for (const m of this.list) {\n if (m.visibility === visibility_1.Visibility.Protected) {\n return true;\n }\n }\n return false;\n }\n getLength() {\n return this.list.length;\n }\n get() {\n return this.list;\n }\n}\n// todo: add possibility to also search public methods\n// todo: for protected methods, also search subclasses\nclass UnusedMethods {\n constructor() {\n this.conf = new UnusedMethodsConf();\n }\n getMetadata() {\n return {\n key: \"unused_methods\",\n title: \"Unused methods\",\n shortDescription: `Checks for unused methods`,\n extendedInformation: `Checks private and protected methods.\r\n\r\nUnused methods are not reported if the object contains parser or syntax errors.\r\n\r\nSkips:\r\n* methods FOR TESTING\r\n* methods SETUP + TEARDOWN + CLASS_SETUP + CLASS_TEARDOWN in testclasses\r\n* class_constructor + constructor methods\r\n* event handlers\r\n* methods that are redefined\r\n* INCLUDEs\r\n`,\n tags: [],\n pragma: \"##CALLED\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n else if (obj instanceof objects_1.Interface) { // todo, how to handle interfaces?\n return [];\n }\n else if (obj instanceof objects_1.Program && obj.isInclude() === true) {\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof _statement_1.Unknown) {\n return []; // contains parser errors\n }\n }\n }\n // dont report anything when there are syntax errors\n const syntax = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (syntax.issues.length > 0) {\n return [];\n }\n this.wa = new WorkArea();\n for (const file of obj.getABAPFiles()) {\n for (const def of file.getInfo().listClassDefinitions()) {\n for (const method of def.methods) {\n if (method.isForTesting === true\n || method.isRedefinition === true\n || method.isEventHandler === true) {\n continue;\n }\n else if (def.isForTesting === true\n && (method.name.toUpperCase() === \"SETUP\"\n || method.name.toUpperCase() === \"CLASS_SETUP\"\n || method.name.toUpperCase() === \"TEARDOWN\"\n || method.name.toUpperCase() === \"CLASS_TEARDOWN\")) {\n continue;\n }\n else if (method.name.toUpperCase() === \"CONSTRUCTOR\"\n || method.name.toUpperCase() === \"CLASS_CONSTRUCTOR\") {\n continue;\n }\n if (method.visibility === visibility_1.Visibility.Private\n || method.visibility === visibility_1.Visibility.Protected) {\n this.wa.push(method);\n }\n }\n }\n }\n this.traverse(syntax.spaghetti.getTop());\n this.searchGlobalSubclasses(obj);\n const issues = [];\n for (const i of this.wa.get()) {\n const file = obj.getABAPFileByName(i.identifier.getFilename());\n if (file === undefined) {\n continue;\n }\n const statement = edit_helper_1.EditHelper.findStatement(i.identifier.getToken(), file);\n if (statement === undefined) {\n continue;\n }\n if (statement.getPragmas().some(t => t.getStr() === this.getMetadata().pragma)) {\n continue;\n }\n const message = \"Method \\\"\" + i.identifier.getName() + \"\\\" not used\";\n issues.push(issue_1.Issue.atIdentifier(i.identifier, message, this.getMetadata().key, this.conf.severity));\n }\n return issues;\n }\n searchGlobalSubclasses(obj) {\n var _a, _b;\n if (this.wa.getLength() === 0\n || !(obj instanceof objects_1.Class)\n || this.wa.containsProteted() === false) {\n return;\n }\n const sup = obj.getDefinition();\n if (sup === undefined) {\n return;\n }\n for (const r of this.reg.getObjects()) {\n if (r instanceof objects_1.Class\n && ((_b = (_a = r.getDefinition()) === null || _a === void 0 ? void 0 : _a.getSuperClass()) === null || _b === void 0 ? void 0 : _b.toUpperCase()) === sup.getName().toUpperCase()) {\n const syntax = new syntax_1.SyntaxLogic(this.reg, r).run();\n this.traverse(syntax.spaghetti.getTop());\n // recurse to sub-sub-* classes\n this.searchGlobalSubclasses(r);\n }\n }\n }\n traverse(node) {\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.BuiltIn) {\n this.checkNode(node);\n }\n for (const c of node.getChildren()) {\n this.traverse(c);\n }\n }\n checkNode(node) {\n for (const v of node.getData().references) {\n if (v.referenceType === _reference_1.ReferenceType.MethodReference && v.resolved) {\n this.wa.removeIfExists(v.resolved);\n }\n }\n }\n}\nexports.UnusedMethods = UnusedMethods;\n//# sourceMappingURL=unused_methods.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_methods.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_types.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_types.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnusedTypes = exports.UnusedTypesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass WorkArea {\n constructor() {\n this.workarea = [];\n }\n push(id) {\n for (const w of this.workarea) {\n if (id.equals(w)) {\n return;\n }\n }\n this.workarea.push(id);\n }\n removeIfExists(id) {\n for (let i = 0; i < this.workarea.length; i++) {\n if (id.equals(this.workarea[i])) {\n this.workarea.splice(i, 1);\n return;\n }\n }\n }\n get() {\n return this.workarea;\n }\n count() {\n return this.workarea.length;\n }\n}\nclass UnusedTypesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** skip specific names, case insensitive\n * @uniqueItems true\n */\n this.skipNames = [];\n }\n}\nexports.UnusedTypesConf = UnusedTypesConf;\nclass UnusedTypes {\n constructor() {\n this.conf = new UnusedTypesConf();\n }\n getMetadata() {\n return {\n key: \"unused_types\",\n title: \"Unused types\",\n shortDescription: `Checks for unused TYPE definitions`,\n extendedInformation: `Unused types are not reported if the object contains parser or syntax errors.`,\n tags: [_irule_1.RuleTag.Quickfix],\n pragma: \"##NEEDED\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.skipNames === undefined) {\n this.conf.skipNames = [];\n }\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof _statement_1.Unknown) {\n return []; // contains parser errors\n }\n }\n }\n // dont report unused variables when there are syntax errors\n const syntax = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (syntax.issues.length > 0) {\n return [];\n }\n this.workarea = new WorkArea();\n this.traverse(syntax.spaghetti.getTop(), obj, true);\n this.traverse(syntax.spaghetti.getTop(), obj, false);\n if (this.workarea.count() === 0) {\n return []; // exit early if all types are used in the current object\n }\n for (const o of this.reg.getObjects()) {\n if (o === obj) {\n continue;\n }\n else if (o instanceof _abap_object_1.ABAPObject) {\n if (this.reg.isDependency(o)) {\n continue; // do not search in dependencies\n }\n const syntax = new syntax_1.SyntaxLogic(this.reg, o).run();\n this.traverse(syntax.spaghetti.getTop(), o, false);\n }\n if (this.workarea.count() === 0) {\n return []; // exit early if all types are used\n }\n }\n // what is left is unused\n const ret = [];\n for (const t of this.workarea.get()) {\n const message = \"Type \\\"\" + t.getName() + \"\\\" not used\";\n const file = obj.getABAPFileByName(t.getFilename());\n if (file === undefined) {\n continue;\n }\n const statement = edit_helper_1.EditHelper.findStatement(t.getToken(), file);\n if (statement === undefined) {\n continue;\n }\n if (statement.getPragmas().some(t => t.getStr() === this.getMetadata().pragma)) {\n continue;\n }\n const fix = this.buildFix(file, statement);\n ret.push(issue_1.Issue.atIdentifier(t, message, this.getMetadata().key, this.conf.severity, fix));\n }\n return ret;\n }\n ////////////////////////////\n traverse(node, obj, add) {\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.BuiltIn) {\n this.checkNode(node, obj, add);\n }\n for (const c of node.getChildren()) {\n this.traverse(c, obj, add);\n }\n }\n checkNode(node, obj, add) {\n const ret = [];\n if (add === true) {\n const types = node.getData().types;\n for (const name in types) {\n const identifier = types[name];\n if (obj.containsFile(identifier.getFilename()) === false) {\n continue;\n }\n else if (this.conf.skipNames\n && this.conf.skipNames.length > 0\n && this.conf.skipNames.some((a) => a.toUpperCase() === name)) {\n continue;\n }\n else if (name !== identifier.getName().toUpperCase()) {\n continue; // may have aliases via interfaces\n }\n this.workarea.push(identifier);\n }\n }\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.TypeReference && r.resolved) {\n this.workarea.removeIfExists(r.resolved);\n }\n }\n return ret;\n }\n buildFix(file, statement) {\n if (statement.concatTokens().toUpperCase().includes(\"BEGIN OF\")) {\n return undefined;\n }\n return edit_helper_1.EditHelper.deleteStatement(file, statement);\n }\n}\nexports.UnusedTypes = UnusedTypes;\n//# sourceMappingURL=unused_types.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_types.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_variables.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_variables.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnusedVariables = exports.UnusedVariablesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass UnusedVariablesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** skip specific names, case insensitive\n * @uniqueItems true\n */\n this.skipNames = [];\n }\n}\nexports.UnusedVariablesConf = UnusedVariablesConf;\nclass WorkArea {\n constructor() {\n this.workarea = [];\n }\n push(id, count = 1) {\n for (const w of this.workarea) {\n if (id.equals(w.id)) {\n return;\n }\n }\n this.workarea.push({ id, count });\n }\n removeIfExists(id) {\n if (id === undefined) {\n return;\n }\n for (let i = 0; i < this.workarea.length; i++) {\n if (id.equals(this.workarea[i].id)) {\n this.workarea[i].count--;\n if (this.workarea[i].count === 0) {\n this.workarea.splice(i, 1);\n }\n return;\n }\n }\n }\n get() {\n return this.workarea;\n }\n count() {\n return this.workarea.length;\n }\n}\nclass UnusedVariables {\n constructor() {\n this.conf = new UnusedVariablesConf();\n }\n getMetadata() {\n return {\n key: \"unused_variables\",\n title: \"Unused variables\",\n shortDescription: `Checks for unused variables and constants`,\n extendedInformation: `Skips event parameters.\r\n\r\nNote that this currently does not work if the source code uses macros.\r\n\r\nUnused variables are not reported if the object contains parser or syntax errors.\r\n\r\nErrors found in INCLUDES are reported for the main program.`,\n tags: [_irule_1.RuleTag.Quickfix],\n pragma: \"##NEEDED\",\n pseudoComment: \"EC NEEDED\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.skipNames === undefined) {\n this.conf.skipNames = [];\n }\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n else if (obj instanceof objects_1.Interface) { // todo, how to handle interfaces?\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof _statement_1.Unknown) {\n return []; // contains parser errors\n }\n }\n }\n // dont report unused variables when there are syntax errors\n const syntax = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (syntax.issues.length > 0) {\n return []; // contains syntax errors\n }\n this.workarea = new WorkArea();\n const top = syntax.spaghetti.getTop();\n this.buildWorkarea(top, obj);\n if (this.workarea.count() === 0) {\n return this.buildIssues(obj); // exit early if all variables are used\n }\n this.findUses(top, obj);\n for (const o of this.reg.getObjects()) {\n if (o === obj) {\n continue;\n }\n else if (o instanceof _abap_object_1.ABAPObject) {\n if (this.reg.isDependency(o)) {\n continue; // do not search in dependencies\n }\n const syntax = new syntax_1.SyntaxLogic(this.reg, o).run();\n this.findUses(syntax.spaghetti.getTop(), o);\n if (this.workarea.count() === 0) {\n return this.buildIssues(obj); // exit early if all variables are used\n }\n }\n }\n return this.buildIssues(obj);\n }\n findUses(node, obj) {\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.DataReadReference\n || r.referenceType === _reference_1.ReferenceType.DataWriteReference\n || r.referenceType === _reference_1.ReferenceType.TypeReference) {\n this.workarea.removeIfExists(r.resolved);\n }\n }\n for (const c of node.getChildren()) {\n this.findUses(c, obj);\n }\n }\n buildWorkarea(node, obj) {\n const stype = node.getIdentifier().stype;\n if (stype === _scope_type_1.ScopeType.OpenSQL) {\n return;\n }\n for (const c of node.getChildren()) {\n this.buildWorkarea(c, obj);\n }\n if (stype !== _scope_type_1.ScopeType.BuiltIn) {\n const vars = node.getData().vars;\n for (const name in vars) {\n const meta = vars[name].getMeta();\n if (this.conf.skipNames\n && this.conf.skipNames.length > 0\n && this.conf.skipNames.some((a) => a.toUpperCase() === name)) {\n continue;\n }\n else if (name === \"ME\"\n || name === \"SUPER\"\n || meta.includes(\"selection_screen_tab\" /* IdentifierMeta.SelectionScreenTab */)\n || meta.includes(\"event_parameter\" /* IdentifierMeta.EventParameter */)) {\n // todo, workaround for \"me\" and \"super\", these should somehow be typed to built-in\n continue;\n }\n const isInline = meta.includes(\"inline\" /* IdentifierMeta.InlineDefinition */);\n this.workarea.push(vars[name], isInline ? 2 : 1);\n }\n }\n }\n buildIssues(obj) {\n const ret = [];\n for (const w of this.workarea.get()) {\n const filename = w.id.getFilename();\n if (this.reg.isFileDependency(filename) === true) {\n continue;\n }\n else if (obj instanceof objects_1.Program === false && obj.containsFile(filename) === false) {\n continue;\n }\n const statement = this.findStatement(w.id);\n if (statement === null || statement === void 0 ? void 0 : statement.getPragmas().map(t => t.getStr()).includes(this.getMetadata().pragma + \"\")) {\n continue;\n }\n else if (this.suppressedbyPseudo(statement, w.id, obj)) {\n continue;\n }\n const name = w.id.getName();\n const message = \"Variable \\\"\" + name.toLowerCase() + \"\\\" not used\";\n const fix = this.buildFix(w.id, obj);\n ret.push(issue_1.Issue.atIdentifier(w.id, message, this.getMetadata().key, this.conf.severity, fix));\n }\n return ret;\n }\n suppressedbyPseudo(statement, v, obj) {\n if (statement === undefined) {\n return false;\n }\n const file = obj.getABAPFileByName(v.getFilename());\n if (file === undefined) {\n return false;\n }\n let next = false;\n for (const s of file.getStatements()) {\n if (next === true && s.get() instanceof _statement_1.Comment) {\n return s.concatTokens().includes(this.getMetadata().pseudoComment + \"\");\n }\n if (s === statement) {\n next = true;\n }\n }\n return false;\n }\n findStatement(v) {\n const file = this.reg.getFileByName(v.getFilename());\n if (file === undefined) {\n return undefined;\n }\n const object = this.reg.findObjectForFile(file);\n if (!(object instanceof _abap_object_1.ABAPObject)) {\n return undefined;\n }\n const abapfile = object.getABAPFileByName(v.getFilename());\n if (abapfile === undefined) {\n return undefined;\n }\n const statement = edit_helper_1.EditHelper.findStatement(v.getToken(), abapfile);\n return statement;\n }\n buildFix(v, obj) {\n const file = obj.getABAPFileByName(v.getFilename());\n if (file === undefined) {\n return undefined;\n }\n const statement = edit_helper_1.EditHelper.findStatement(v.getToken(), file);\n if (statement === undefined) {\n return undefined;\n }\n else if (statement.get() instanceof Statements.Data) {\n return edit_helper_1.EditHelper.deleteStatement(file, statement);\n }\n return undefined;\n }\n}\nexports.UnusedVariables = UnusedVariables;\n//# sourceMappingURL=unused_variables.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/unused_variables.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_bool_expression.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_bool_expression.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UseBoolExpression = exports.UseBoolExpressionConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\n// note this rule assumes abap_true and abap_false is used for boolean variables\n// some other rule will in the future find assignments to abap_bool that are not abap_true/abap_false/abap_undefined\nclass UseBoolExpressionConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UseBoolExpressionConf = UseBoolExpressionConf;\nclass UseBoolExpression extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UseBoolExpressionConf();\n }\n getMetadata() {\n return {\n key: \"use_bool_expression\",\n title: \"Use boolean expression\",\n shortDescription: `Use boolean expression, xsdbool from 740sp08 and up, boolc from 702 and up`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-xsdbool-to-set-boolean-variables`,\n tags: [_irule_1.RuleTag.Upport, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `IF line IS INITIAL.\r\n has_entries = abap_false.\r\nELSE.\r\n has_entries = abap_true.\r\nENDIF.\r\n\r\nDATA(fsdf) = COND #( WHEN foo <> bar THEN abap_true ELSE abap_false ).`,\n goodExample: `DATA(has_entries) = xsdbool( line IS NOT INITIAL ).\r\n\r\nDATA(fsdf) = xsdbool( foo <> bar ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n const issues = [];\n const stru = file.getStructure();\n const version = this.reg.getConfig().getVersion();\n if (stru === undefined || (version < version_1.Version.v702 && version !== version_1.Version.Cloud)) {\n return [];\n }\n for (const i of stru.findAllStructures(Structures.If)) {\n if (i.findDirectStructure(Structures.ElseIf) !== undefined) {\n continue;\n }\n const bodyNodes = (_a = i.findDirectStructure(Structures.Body)) === null || _a === void 0 ? void 0 : _a.findAllStatementNodes();\n if (bodyNodes === undefined || bodyNodes.length !== 1) {\n continue;\n }\n const bodyStatement = bodyNodes[0];\n if (!(bodyStatement.get() instanceof Statements.Move)) {\n continue;\n }\n const elseNodes = (_c = (_b = i.findDirectStructure(Structures.Else)) === null || _b === void 0 ? void 0 : _b.findDirectStructure(Structures.Body)) === null || _c === void 0 ? void 0 : _c.findAllStatementNodes();\n if (elseNodes === undefined || elseNodes.length !== 1) {\n continue;\n }\n const elseStatement = elseNodes[0];\n if (!(elseStatement.get() instanceof Statements.Move)) {\n continue;\n }\n let bodyTarget = (_d = bodyStatement.findFirstExpression(Expressions.Target)) === null || _d === void 0 ? void 0 : _d.concatTokens();\n if (bodyTarget === null || bodyTarget === void 0 ? void 0 : bodyTarget.startsWith(\"DATA(\")) {\n bodyTarget = bodyTarget.substr(5, bodyTarget.length - 6);\n }\n const elseTarget = (_e = elseStatement.findFirstExpression(Expressions.Target)) === null || _e === void 0 ? void 0 : _e.concatTokens();\n if (bodyTarget === undefined\n || elseTarget === undefined\n || bodyTarget.toUpperCase() !== elseTarget.toUpperCase()) {\n continue;\n }\n const bodySource = (_f = bodyStatement.findFirstExpression(Expressions.Source)) === null || _f === void 0 ? void 0 : _f.concatTokens().toUpperCase();\n const elseSource = (_g = elseStatement.findFirstExpression(Expressions.Source)) === null || _g === void 0 ? void 0 : _g.concatTokens().toUpperCase();\n if ((bodySource === \"ABAP_TRUE\" && elseSource === \"ABAP_FALSE\")\n || (bodySource === \"ABAP_FALSE\" && elseSource === \"ABAP_TRUE\")) {\n const func = (this.reg.getConfig().getVersion() >= version_1.Version.v740sp08\n || this.reg.getConfig().getVersion() === version_1.Version.Cloud) ? \"xsdbool\" : \"boolc\";\n const negate = bodySource === \"ABAP_FALSE\";\n const message = `Use ${func} instead of IF` + (negate ? \", negate expression\" : \"\");\n const start = i.getFirstToken().getStart();\n const end = i.getLastToken().getEnd();\n const statement = bodyTarget + \" = \" + func + \"( \" +\n (negate ? \"NOT ( \" : \"\") +\n ((_j = (_h = i.findFirstStatement(Statements.If)) === null || _h === void 0 ? void 0 : _h.findFirstExpression(Expressions.Cond)) === null || _j === void 0 ? void 0 : _j.concatTokens()) +\n (negate ? \" )\" : \"\") +\n \" ).\";\n const fix = edit_helper_1.EditHelper.replaceRange(file, start, end, statement);\n issues.push(issue_1.Issue.atRange(file, start, end, message, this.getMetadata().key, this.conf.severity, fix));\n }\n }\n if (version >= version_1.Version.v740sp08 || version === version_1.Version.Cloud) {\n for (const b of stru.findAllExpressions(Expressions.CondBody)) {\n const concat = b.concatTokens().toUpperCase();\n if (concat.endsWith(\" THEN ABAP_TRUE ELSE ABAP_FALSE\")\n || concat.endsWith(\" THEN ABAP_TRUE\")\n || concat.endsWith(\" THEN ABAP_FALSE ELSE ABAP_TRUE\")) {\n const message = \"Use xsdbool\";\n // eslint-disable-next-line max-len\n issues.push(issue_1.Issue.atRange(file, b.getFirstToken().getStart(), b.getLastToken().getEnd(), message, this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n}\nexports.UseBoolExpression = UseBoolExpression;\n//# sourceMappingURL=use_bool_expression.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_bool_expression.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_class_based_exceptions.js": +/*!***********************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_class_based_exceptions.js ***! + \***********************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UseClassBasedExceptions = exports.UseClassBasedExceptionsConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nclass UseClassBasedExceptionsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UseClassBasedExceptionsConf = UseClassBasedExceptionsConf;\nclass UseClassBasedExceptions extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UseClassBasedExceptionsConf();\n }\n getMetadata() {\n return {\n key: \"use_class_based_exceptions\",\n title: \"Use class based exceptions\",\n shortDescription: `Use class based exceptions, checks interface and class definitions`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-class-based-exceptions`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Use class based exceptions\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n for (const s of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllStatements(Statements.MethodDef)) || []) {\n if (s.findDirectExpression(Expressions.MethodDefExceptions)) {\n issues.push(issue_1.Issue.atStatement(file, s, this.getMessage(), this.getMetadata().key));\n }\n }\n return issues;\n }\n}\nexports.UseClassBasedExceptions = UseClassBasedExceptions;\n//# sourceMappingURL=use_class_based_exceptions.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_class_based_exceptions.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_line_exists.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_line_exists.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UseLineExists = exports.UseLineExistsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass UseLineExistsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UseLineExistsConf = UseLineExistsConf;\nclass UseLineExists extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UseLineExistsConf();\n }\n getMetadata() {\n return {\n key: \"use_line_exists\",\n title: \"Use line_exists\",\n shortDescription: `Use line_exists, from 740sp02 and up`,\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-line_exists-to-read-table-or-loop-at\r\n\r\nNot reported if the READ TABLE statement contains BINARY SEARCH.`,\n tags: [_irule_1.RuleTag.Upport, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: `READ TABLE my_table TRANSPORTING NO FIELDS WITH KEY key = 'A'.\r\nIF sy-subrc = 0.\r\nENDIF.`,\n goodExample: `IF line_exists( my_table[ key = 'A' ] ).\r\nENDIF.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n const vers = this.reg.getConfig().getVersion();\n if (vers === version_1.Version.OpenABAP) {\n return [];\n }\n else if (vers < version_1.Version.v740sp02 && vers !== version_1.Version.Cloud) {\n return [];\n }\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const statement = statements[i];\n if (!(statement.get() instanceof Statements.ReadTable)) {\n continue;\n }\n const concat = statement.concatTokens().toUpperCase();\n if (concat.includes(\" TRANSPORTING NO FIELDS\") === true\n && concat.includes(\" BINARY SEARCH\") === false\n && this.checksSubrc(i, statements) === true\n && this.usesTabix(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, \"Use line_exists\", this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n ///////////////////////\n checksSubrc(index, statements) {\n for (let i = index + 1; i < statements.length; i++) {\n const statement = statements[i];\n if (statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n for (const c of statement.findAllExpressions(Expressions.Cond)) {\n for (const s of c.findAllExpressions(Expressions.Source)) {\n if (s.concatTokens().toUpperCase() === \"SY-SUBRC\") {\n return true;\n }\n }\n }\n return false;\n }\n return false;\n }\n // this is a heuristic, data flow analysis is required to get the correct result\n usesTabix(index, statements) {\n for (let i = index + 1; i < index + 5; i++) {\n const statement = statements[i];\n if (statement === undefined) {\n break;\n }\n else if (statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n else if (statement.concatTokens().toUpperCase().includes(\" SY-TABIX\")) {\n return true;\n }\n }\n return false;\n }\n}\nexports.UseLineExists = UseLineExists;\n//# sourceMappingURL=use_line_exists.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_line_exists.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_new.js": +/*!****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_new.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UseNew = exports.UseNewConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass UseNewConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UseNewConf = UseNewConf;\nclass UseNew extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UseNewConf();\n }\n getMetadata() {\n return {\n key: \"use_new\",\n title: \"Use NEW\",\n shortDescription: `Checks for deprecated CREATE OBJECT statements.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-new-to-create-object\r\n\r\nIf the target variable is referenced in the CREATE OBJECT statement, no errors are issued\r\n\r\nApplicable from v740sp02 and up`,\n badExample: `CREATE OBJECT ref.`,\n goodExample: `ref = NEW #( ).`,\n tags: [_irule_1.RuleTag.Upport, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Use NEW #( ) to instantiate object.\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a;\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp02 && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof Statements.CreateObject) {\n if (statement.findFirstExpression(expressions_1.Dynamic)) {\n continue;\n }\n else if (statement.findDirectExpression(expressions_1.ParameterListExceptions)) {\n continue;\n }\n else if (statement.findDirectTokenByText(\"AREA\")) {\n continue;\n }\n const target = ((_a = statement.findDirectExpression(expressions_1.Target)) === null || _a === void 0 ? void 0 : _a.concatTokens()) + \"->\";\n if (statement.concatTokens().includes(target)) {\n continue;\n }\n const fix = this.buildFix(file, statement);\n const issue = issue_1.Issue.atPosition(file, statement.getStart(), this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n buildFix(file, statement) {\n var _a, _b;\n const target = (_a = statement.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (target === undefined) {\n return undefined;\n }\n const parameters = statement.findDirectExpression(Expressions.ParameterListS);\n const param = parameters ? parameters.concatTokens() + \" \" : \"\";\n let type = (_b = statement.findDirectExpression(Expressions.ClassName)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();\n if (type === undefined) {\n type = \"#\";\n }\n const string = `${target} = NEW ${type}( ${param}).`;\n return edit_helper_1.EditHelper.replaceRange(file, statement.getStart(), statement.getEnd(), string);\n }\n}\nexports.UseNew = UseNew;\n//# sourceMappingURL=use_new.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/use_new.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/when_others_last.js": +/*!*************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/when_others_last.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhenOthersLast = exports.WhenOthersLastConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass WhenOthersLastConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.WhenOthersLastConf = WhenOthersLastConf;\nclass WhenOthersLast extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new WhenOthersLastConf();\n }\n getMetadata() {\n return {\n key: \"when_others_last\",\n title: \"WHEN OTHERS last\",\n shortDescription: `Checks that WHEN OTHERS is placed the last within a CASE statement.`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `CASE bar.\r\n WHEN OTHERS.\r\n WHEN 2.\r\nENDCASE.`,\n goodExample: `CASE bar.\r\n WHEN 2.\r\n WHEN OTHERS.\r\nENDCASE.`,\n };\n }\n getMessage() {\n return \"WHEN OTHERS should be the last branch in a CASE statement.\";\n }\n runParsed(file) {\n const issues = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const cases = struc.findAllStructures(Structures.Case);\n for (const c of cases) {\n const whentop = c.findDirectStructures(Structures.When);\n for (let i = 0; i < whentop.length - 1; i++) {\n const whens = whentop[i].findDirectStatements(Statements.When).concat(whentop[i].findDirectStatements(Statements.WhenOthers));\n for (const when of whens) {\n if (when.get() instanceof Statements.WhenOthers) {\n const start = when.getFirstToken().getStart();\n const issue = issue_1.Issue.atPosition(file, start, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n }\n return issues;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n}\nexports.WhenOthersLast = WhenOthersLast;\n//# sourceMappingURL=when_others_last.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/when_others_last.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/whitespace_end.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/whitespace_end.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhitespaceEnd = exports.WhitespaceEndConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass WhitespaceEndConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.WhitespaceEndConf = WhitespaceEndConf;\nclass WhitespaceEnd extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new WhitespaceEndConf();\n }\n getMetadata() {\n return {\n key: \"whitespace_end\",\n title: \"Whitespace at end of line\",\n shortDescription: `Checks for redundant whitespace at the end of each line.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Remove whitespace at end of line\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const rows = file.getRawRows();\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].endsWith(\" \") || rows[i].endsWith(\" \\r\")) {\n const match = / +\\r?$/.exec(rows[i]);\n const start = new position_1.Position(i + 1, match.index + 1);\n const end = new position_1.Position(i + 1, rows[i].length + 1);\n const fix = edit_helper_1.EditHelper.deleteRange(file, start, end);\n const issue = issue_1.Issue.atRange(file, start, end, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.WhitespaceEnd = WhitespaceEnd;\n//# sourceMappingURL=whitespace_end.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/whitespace_end.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/xml_consistency.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/xml_consistency.js ***! + \************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.XMLConsistency = exports.XMLConsistencyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst fast_xml_parser_1 = __webpack_require__(/*! fast-xml-parser */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/fxp.js\");\nclass XMLConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.XMLConsistencyConf = XMLConsistencyConf;\nclass XMLConsistency {\n constructor() {\n this.conf = new XMLConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"xml_consistency\",\n title: \"XML consistency\",\n shortDescription: `Checks the consistency of main XML files, eg. naming for CLAS and INTF objects`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n var _a, _b;\n const issues = [];\n const file = obj.getXMLFile();\n if (file === undefined) {\n return issues;\n }\n const xml = obj.getXML();\n if (xml) {\n const res = fast_xml_parser_1.XMLValidator.validate(xml);\n if (res !== true) {\n issues.push(issue_1.Issue.atRow(file, 1, \"XML parser error: \" + res.err.msg, this.getMetadata().key, this.conf.severity));\n }\n }\n // todo, have some XML validation in each object?\n if (obj instanceof Objects.Class) {\n const name = obj.getNameFromXML();\n if (name === undefined) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Name undefined in XML\", this.getMetadata().key, this.conf.severity));\n }\n else if (obj.getDescription() && obj.getDescription().length > 60) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Description too long\", this.getMetadata().key, this.conf.severity));\n }\n else if (name !== obj.getName().toUpperCase()) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Name in XML does not match object\", this.getMetadata().key, this.conf.severity));\n }\n else if (((_a = obj.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getStructure()) !== undefined && obj.getClassDefinition() === undefined) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Class matching XML name not found in ABAP file\", this.getMetadata().key, this.conf.severity));\n }\n }\n if (obj instanceof Objects.Interface) {\n const name = obj.getNameFromXML();\n if (name === undefined) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Name undefined in XML\", this.getMetadata().key, this.conf.severity));\n }\n else if (obj.getDescription() && obj.getDescription().length > 60) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Description too long\", this.getMetadata().key, this.conf.severity));\n }\n else if (name !== obj.getName().toUpperCase()) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Name in XML does not match object\", this.getMetadata().key, this.conf.severity));\n }\n else if (obj.getDefinition() !== undefined && ((_b = obj.getDefinition()) === null || _b === void 0 ? void 0 : _b.getName().toUpperCase()) !== name.toUpperCase()) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Interface matching XML name not found in ABAP file\", this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.XMLConsistency = XMLConsistency;\n//# sourceMappingURL=xml_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/xml_consistency.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/rules_runner.js": +/*!***************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/rules_runner.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RulesRunner = void 0;\nconst syntax_1 = __webpack_require__(/*! ./abap/5_syntax/syntax */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst artifacts_rules_1 = __webpack_require__(/*! ./artifacts_rules */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/artifacts_rules.js\");\nconst _abap_object_1 = __webpack_require__(/*! ./objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst skip_logic_1 = __webpack_require__(/*! ./skip_logic */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/skip_logic.js\");\nconst excludeHelper_1 = __webpack_require__(/*! ./utils/excludeHelper */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/excludeHelper.js\");\nclass RulesRunner {\n constructor(reg) {\n this.reg = reg;\n }\n objectsToCheck(objects) {\n const check = [];\n const skipLogic = new skip_logic_1.SkipLogic(this.reg);\n for (const obj of objects) {\n if (skipLogic.skip(obj) || this.reg.isDependency(obj)) {\n continue;\n }\n check.push(obj);\n }\n return check;\n }\n runRules(objects, input) {\n var _a, _b, _c, _d, _e, _f;\n const rulePerformance = {};\n const issues = [];\n const rules = this.reg.getConfig().getEnabledRules();\n const check = this.objectsToCheck(objects);\n // note: SyntaxLogic is cached, logic is run as first step in order\n // not to penalize the performance of the first rule using SyntaxLogic information\n (_a = input === null || input === void 0 ? void 0 : input.progress) === null || _a === void 0 ? void 0 : _a.set(check.length, \"Run Syntax\");\n for (const obj of check) {\n (_b = input === null || input === void 0 ? void 0 : input.progress) === null || _b === void 0 ? void 0 : _b.tick(\"Run Syntax - \" + obj.getName());\n if (obj instanceof _abap_object_1.ABAPObject) {\n new syntax_1.SyntaxLogic(this.reg, obj).run();\n }\n }\n (_c = input === null || input === void 0 ? void 0 : input.progress) === null || _c === void 0 ? void 0 : _c.set(rules.length, \"Initialize Rules\");\n for (const rule of rules) {\n (_d = input === null || input === void 0 ? void 0 : input.progress) === null || _d === void 0 ? void 0 : _d.tick(\"Initialize Rules - \" + rule.getMetadata().key);\n if (rule.initialize === undefined) {\n throw new Error(rule.getMetadata().key + \" missing initialize method\");\n }\n rule.initialize(this.reg);\n rulePerformance[rule.getMetadata().key] = 0;\n }\n (_e = input === null || input === void 0 ? void 0 : input.progress) === null || _e === void 0 ? void 0 : _e.set(check.length, \"Finding Issues\");\n for (const obj of check) {\n (_f = input === null || input === void 0 ? void 0 : input.progress) === null || _f === void 0 ? void 0 : _f.tick(\"Finding Issues - \" + obj.getType() + \" \" + obj.getName());\n for (const rule of rules) {\n const before = Date.now();\n issues.push(...rule.run(obj));\n const runtime = Date.now() - before;\n rulePerformance[rule.getMetadata().key] = rulePerformance[rule.getMetadata().key] + runtime;\n }\n }\n if ((input === null || input === void 0 ? void 0 : input.outputPerformance) === true) {\n const perf = [];\n for (const p in rulePerformance) {\n if (rulePerformance[p] > 100) { // ignore rules if it takes less than 100ms\n perf.push({ name: p, time: rulePerformance[p] });\n }\n }\n perf.sort((a, b) => { return b.time - a.time; });\n for (const p of perf) {\n process.stderr.write(\"\\t\" + p.time + \"ms\\t\" + p.name + \"\\n\");\n }\n }\n return this.excludeIssues(issues);\n }\n excludeIssues(issues) {\n var _a;\n const ret = issues;\n const globalNoIssues = this.reg.getConfig().getGlobal().noIssues || [];\n const globalNoIssuesPatterns = globalNoIssues.map(x => new RegExp(x, \"i\"));\n if (globalNoIssuesPatterns.length > 0) {\n for (let i = ret.length - 1; i >= 0; i--) {\n const filename = ret[i].getFilename();\n if (excludeHelper_1.ExcludeHelper.isExcluded(filename, globalNoIssuesPatterns)) {\n ret.splice(i, 1);\n }\n }\n }\n // exclude issues, as now we know both the filename and issue key\n for (const rule of artifacts_rules_1.ArtifactsRules.getRules()) {\n const key = rule.getMetadata().key;\n const ruleExclude = (_a = this.reg.getConfig().readByKey(key, \"exclude\")) !== null && _a !== void 0 ? _a : [];\n if (ruleExclude.length === 0) {\n continue;\n }\n const ruleExcludePatterns = ruleExclude.map(x => new RegExp(x, \"i\"));\n for (let i = ret.length - 1; i >= 0; i--) {\n if (ret[i].getKey() !== key) {\n continue;\n }\n const filename = ret[i].getFilename();\n if (excludeHelper_1.ExcludeHelper.isExcluded(filename, ruleExcludePatterns)) {\n ret.splice(i, 1);\n }\n }\n }\n return ret;\n }\n}\nexports.RulesRunner = RulesRunner;\n//# sourceMappingURL=rules_runner.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/rules_runner.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/severity.js": +/*!***********************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/severity.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Severity = void 0;\nvar Severity;\n(function (Severity) {\n Severity[\"Error\"] = \"Error\";\n Severity[\"Warning\"] = \"Warning\";\n Severity[\"Info\"] = \"Info\";\n})(Severity || (exports.Severity = Severity = {}));\n//# sourceMappingURL=severity.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/severity.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/skip_logic.js": +/*!*************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/skip_logic.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SkipLogic = void 0;\nconst objects_1 = __webpack_require__(/*! ./objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst include_graph_1 = __webpack_require__(/*! ./utils/include_graph */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/include_graph.js\");\nclass SkipLogic {\n constructor(reg) {\n this.reg = reg;\n this.tobj = undefined;\n }\n skip(obj) {\n const global = this.reg.getConfig().getGlobal();\n if (global.skipGeneratedGatewayClasses === true\n && obj instanceof objects_1.Class\n && this.isGeneratedGatewayClass(obj)) {\n return true;\n }\n else if (global.skipIncludesWithoutMain === true\n && obj instanceof objects_1.Program\n && obj.isInclude() === true) {\n const ig = new include_graph_1.IncludeGraph(this.reg);\n const file = obj.getMainABAPFile();\n if (file && ig.listMainForInclude(file.getFilename()).length === 0) {\n return true;\n }\n }\n else if (global.skipGeneratedPersistentClasses === true\n && obj instanceof objects_1.Class\n && this.isGeneratedPersistentClass(obj)) {\n return true;\n }\n else if (global.skipGeneratedFunctionGroups === true\n && obj instanceof objects_1.FunctionGroup\n && this.isGeneratedFunctionGroup(obj)) {\n return true;\n }\n else if (global.skipGeneratedProxyClasses === true\n && obj instanceof objects_1.Class\n && this.isGeneratedProxyClass(obj)) {\n return true;\n }\n else if (global.skipGeneratedProxyInterfaces === true\n && obj instanceof objects_1.Interface\n && this.isGeneratedProxyInterface(obj)) {\n return true;\n }\n else if (global.skipGeneratedBOPFInterfaces === true\n && obj instanceof objects_1.Interface\n && this.isGeneratedBOPFInterface(obj)) {\n return true;\n }\n return false;\n }\n ///////////////////////////\n isGeneratedBOPFInterface(obj) {\n var _a;\n const implementing = (_a = obj.getDefinition()) === null || _a === void 0 ? void 0 : _a.getImplementing();\n if (implementing === undefined) {\n return false;\n }\n for (const i of implementing) {\n if (i.name.toUpperCase() === \"/BOBF/IF_LIB_CONSTANTS\") {\n return true;\n }\n }\n return false;\n }\n isGeneratedProxyInterface(obj) {\n const xml = obj.getXML();\n if (!xml) {\n return false;\n }\n const result = xml.match(/(.)<\\/CLSPROXY>/);\n if (result) {\n return true;\n }\n else {\n return false;\n }\n }\n isGeneratedProxyClass(obj) {\n const xml = obj.getXML();\n if (!xml) {\n return false;\n }\n const result = xml.match(/(.)<\\/CLSPROXY>/);\n if (result) {\n return true;\n }\n else {\n return false;\n }\n }\n isGeneratedFunctionGroup(group) {\n var _a;\n if (this.tobj === undefined) {\n this.tobj = {};\n for (const obj of this.reg.getObjects()) {\n if (obj.getType() !== \"TOBJ\") {\n continue;\n }\n const tobj = obj;\n const area = (_a = tobj.getArea()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (area) {\n this.tobj[area] = true;\n }\n }\n }\n return this.tobj[group.getName().toUpperCase()];\n }\n isGeneratedGatewayClass(obj) {\n var _a;\n let sup = undefined;\n const definition = obj.getClassDefinition();\n if (definition) {\n sup = (_a = definition.superClassName) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n }\n if (obj.getName().match(/_MPC$/i) && sup === \"/IWBEP/CL_MGW_PUSH_ABS_MODEL\") {\n return true;\n }\n else if (obj.getName().match(/_DPC$/i) && sup === \"/IWBEP/CL_MGW_PUSH_ABS_DATA\") {\n return true;\n }\n else if (sup === \"CL_SADL_GTK_EXPOSURE_MPC\") {\n return true;\n }\n return false;\n }\n isGeneratedPersistentClass(obj) {\n if (obj.getCategory() === objects_1.ClassCategory.Persistent) {\n return true;\n }\n else if (obj.getCategory() === objects_1.ClassCategory.PersistentFactory) {\n return true;\n }\n const main = obj.getClassDefinition();\n if (main) {\n const sup = main.superClassName;\n if (sup) {\n const sclass = this.reg.getObject(\"CLAS\", sup.toUpperCase());\n if (sclass && sclass.getCategory() === objects_1.ClassCategory.PersistentFactory) {\n return true;\n }\n }\n }\n return false;\n }\n}\nexports.SkipLogic = SkipLogic;\n//# sourceMappingURL=skip_logic.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/skip_logic.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/cyclomatic_complexity_stats.js": +/*!************************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/cyclomatic_complexity_stats.js ***! + \************************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CyclomaticComplexityStats = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass CyclomaticComplexityStats {\n static run(obj) {\n var _a, _b, _c;\n const res = [];\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const m of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllStructures(Structures.Method)) || []) {\n let count = 0;\n for (const s of m.findAllStatementNodes()) {\n const type = s.get();\n if (type instanceof Statements.Assert\n || type instanceof Statements.Check\n || type instanceof Statements.ElseIf\n || type instanceof Statements.If\n || type instanceof Statements.While\n || type instanceof Statements.Case\n || type instanceof Statements.SelectLoop\n || type instanceof Statements.Catch\n || type instanceof Statements.Cleanup\n || type instanceof Statements.EndAt\n || type instanceof Statements.Loop) {\n count += 1;\n }\n }\n const name = (_c = (_b = m.findDirectStatement(Statements.MethodImplementation)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.MethodName)) === null || _c === void 0 ? void 0 : _c.getFirstToken().getStr();\n res.push({\n file,\n pos: m.getFirstToken().getStart(),\n name: name ? name : \"Error!\",\n count,\n });\n }\n }\n return res;\n }\n}\nexports.CyclomaticComplexityStats = CyclomaticComplexityStats;\n//# sourceMappingURL=cyclomatic_complexity_stats.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/cyclomatic_complexity_stats.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/excludeHelper.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/excludeHelper.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExcludeHelper = void 0;\nclass ExcludeHelper {\n static isExcluded(filename, excludePatterns) {\n for (const exclude of excludePatterns) {\n if (exclude.exec(filename)) {\n return true;\n }\n }\n return false;\n }\n}\nexports.ExcludeHelper = ExcludeHelper;\n//# sourceMappingURL=excludeHelper.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/excludeHelper.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/form_length_stats.js": +/*!**************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/form_length_stats.js ***! + \**************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormLengthStats = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass FormLengthStats {\n static run(obj) {\n const res = [];\n let pos = undefined;\n let name = \"\";\n let count = 0;\n let form = false;\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const stat of file.getStatements()) {\n const type = stat.get();\n if (type instanceof Statements.Form) {\n pos = stat.getFirstToken().getStart();\n name = this.findName(stat);\n form = true;\n count = 0;\n }\n else if (type instanceof Statements.EndForm) {\n if (pos) {\n res.push({ name, count, file, pos });\n }\n else {\n continue;\n }\n form = false;\n }\n else if (form === true\n && !(type instanceof _statement_1.Comment)\n && !(type instanceof _statement_1.Empty)) {\n count = count + 1;\n }\n }\n }\n return res;\n }\n static findName(stat) {\n let name = \"\";\n const nameExpr = stat.findFirstExpression(expressions_1.FormName);\n if (nameExpr) {\n name = nameExpr.getFirstToken().getStr();\n }\n else {\n throw new Error(\"FormLength, findName, expected FormName\");\n }\n return name;\n }\n}\nexports.FormLengthStats = FormLengthStats;\n//# sourceMappingURL=form_length_stats.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/form_length_stats.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/include_graph.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/include_graph.js ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IncludeGraph = void 0;\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/index.js\");\nconst check_include_1 = __webpack_require__(/*! ../rules/check_include */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/rules/check_include.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/position.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst severity_1 = __webpack_require__(/*! ../severity */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/severity.js\");\n// todo, check for cycles/circular dependencies, method findTop\n// todo, add configurable error for multiple use includes\nfunction getABAPObjects(reg) {\n const ret = [];\n for (const o of reg.getObjects()) {\n if (o instanceof _abap_object_1.ABAPObject) {\n ret.push(o);\n }\n }\n return ret;\n}\nclass Graph {\n constructor() {\n this.vertices = [];\n this.edges = [];\n }\n addVertex(vertex) {\n this.vertices.push(vertex);\n }\n findInclude(includeName) {\n for (const v of this.vertices) {\n if (v.includeName.toUpperCase() === includeName.toUpperCase()) {\n return v;\n }\n }\n return undefined;\n }\n findVertex(filename) {\n for (const v of this.vertices) {\n if (v.filename.toUpperCase() === filename.toUpperCase()) {\n return v;\n }\n }\n return undefined;\n }\n addEdge(from, toFilename) {\n this.edges.push({ from: from.filename, to: toFilename });\n }\n findTop(filename) {\n const ret = [];\n for (const e of this.edges) {\n if (e.from === filename) {\n ret.push(...this.findTop(e.to));\n }\n }\n if (ret.length === 0) {\n const found = this.findVertex(filename);\n if (found !== undefined) {\n ret.push(found);\n }\n }\n return ret;\n }\n}\nclass IncludeGraph {\n constructor(reg) {\n this.reg = reg;\n this.issues = [];\n this.graph = new Graph();\n this.build();\n }\n getIssues() {\n return this.issues;\n }\n listMainForInclude(filename) {\n const ret = [];\n if (filename === undefined) {\n return [];\n }\n for (const f of this.graph.findTop(filename)) {\n if (f.include === false) {\n ret.push(f.filename);\n }\n }\n return ret;\n }\n getIssuesFile(file) {\n const ret = [];\n for (const i of this.issues) {\n if (i.getFilename() === file.getFilename()) {\n ret.push(i);\n }\n }\n return ret;\n }\n ///////////////////////////////\n build() {\n this.addVertices();\n for (const o of getABAPObjects(this.reg)) {\n for (const f of o.getABAPFiles()) {\n for (const s of f.getStatements()) {\n if (s.get() instanceof statements_1.Include) {\n const ifFound = s.concatTokens().toUpperCase().includes(\"IF FOUND\");\n const iexp = s.findFirstExpression(expressions_1.IncludeName);\n if (iexp === undefined) {\n throw new Error(\"unexpected Include node\");\n }\n const name = iexp.getFirstToken().getStr().toUpperCase();\n if (name.match(/^(\\/\\w+\\/)?L.+XX$/)) { // function module XX includes, possibily namespaced\n continue;\n }\n const found = this.graph.findInclude(name);\n if (found === undefined) {\n if (ifFound === false) {\n const issue = issue_1.Issue.atStatement(f, s, \"Include \" + name + \" not found\", new check_include_1.CheckInclude().getMetadata().key, severity_1.Severity.Error);\n this.issues.push(issue);\n }\n }\n else if (found.include === false) {\n const issue = issue_1.Issue.atStatement(f, s, \"Not possible to INCLUDE a main program\", new check_include_1.CheckInclude().getMetadata().key, severity_1.Severity.Error);\n this.issues.push(issue);\n }\n else {\n this.graph.addEdge(found, f.getFilename());\n }\n }\n }\n }\n }\n this.findUnusedIncludes();\n }\n findUnusedIncludes() {\n for (const v of this.graph.vertices) {\n if (v.include === true) {\n if (this.listMainForInclude(v.filename).length === 0) {\n const f = this.reg.getFileByName(v.filename);\n if (f === undefined) {\n throw new Error(\"findUnusedIncludes internal error\");\n }\n const issue = issue_1.Issue.atPosition(f, new position_1.Position(1, 1), \"INCLUDE not used anywhere\", new check_include_1.CheckInclude().getMetadata().key, severity_1.Severity.Error);\n this.issues.push(issue);\n }\n }\n }\n }\n addVertices() {\n for (const o of getABAPObjects(this.reg)) {\n if (o instanceof objects_1.Program) {\n const file = o.getMainABAPFile();\n if (file) {\n this.graph.addVertex({\n filename: file.getFilename(),\n includeName: o.getName(),\n include: o.isInclude()\n });\n }\n }\n else if (o instanceof objects_1.TypePool) {\n const file = o.getMainABAPFile();\n if (file) {\n this.graph.addVertex({\n filename: file.getFilename(),\n includeName: o.getName(),\n include: false\n });\n }\n }\n else if (o instanceof objects_1.Class) {\n for (const f of o.getSequencedFiles()) {\n this.graph.addVertex({\n filename: f.getFilename(),\n includeName: o.getName(),\n include: false\n });\n }\n }\n else if (o instanceof objects_1.FunctionGroup) {\n for (const i of o.getIncludeFiles()) {\n this.graph.addVertex({\n filename: i.file.getFilename(),\n includeName: i.name,\n include: true\n });\n }\n const file = o.getMainABAPFile();\n if (file) {\n this.graph.addVertex({\n filename: file.getFilename(),\n includeName: o.getName(),\n include: false\n });\n }\n }\n }\n }\n}\nexports.IncludeGraph = IncludeGraph;\n//# sourceMappingURL=include_graph.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/include_graph.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/method_length_stats.js": +/*!****************************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/method_length_stats.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodLengthStats = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"../../packages/transpiler/node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass MethodLengthStats {\n static run(obj) {\n const res = [];\n let pos = undefined;\n let name = \"\";\n let count = 0;\n let method = false;\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const stat of file.getStatements()) {\n const type = stat.get();\n if (type instanceof Statements.MethodImplementation) {\n pos = stat.getFirstToken().getStart();\n name = this.findName(stat);\n method = true;\n count = 0;\n }\n else if (type instanceof Statements.EndMethod) {\n if (pos) {\n res.push({ name, count, file, pos });\n }\n else {\n continue;\n }\n method = false;\n }\n else if (method === true\n && !(type instanceof _statement_1.Comment)\n && !(type instanceof _statement_1.Empty)) {\n count = count + 1;\n }\n }\n }\n return res;\n }\n static findName(stat) {\n let name = \"\";\n const nameExpr = stat.findFirstExpression(expressions_1.MethodName);\n if (nameExpr) {\n name = nameExpr.getFirstToken().getStr();\n }\n else {\n throw new Error(\"MethodLength, findName, expected MethodName\");\n }\n return name;\n }\n}\nexports.MethodLengthStats = MethodLengthStats;\n//# sourceMappingURL=method_length_stats.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/method_length_stats.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/name_validator.js": +/*!***********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/name_validator.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NameValidator = void 0;\nclass NameValidator {\n static violatesRule(name, pattern, params) {\n if (params.ignoreNames && params.ignoreNames.indexOf(name.toUpperCase()) >= 0) {\n return false;\n }\n for (const ignored of params.ignorePatterns || []) {\n if (new RegExp(ignored, \"i\").test(name)) {\n return false;\n }\n }\n return !params.patternKind || params.patternKind === \"required\" ?\n pattern.test(name) === false :\n pattern.test(name) === true;\n }\n}\nexports.NameValidator = NameValidator;\n//# sourceMappingURL=name_validator.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/utils/name_validator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js": +/*!**********************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getPreviousVersion = exports.defaultVersion = exports.Version = void 0;\nvar Version;\n(function (Version) {\n Version[\"OpenABAP\"] = \"open-abap\";\n Version[\"v700\"] = \"v700\";\n Version[\"v702\"] = \"v702\";\n Version[\"v740sp02\"] = \"v740sp02\";\n Version[\"v740sp05\"] = \"v740sp05\";\n Version[\"v740sp08\"] = \"v740sp08\";\n Version[\"v750\"] = \"v750\";\n Version[\"v751\"] = \"v751\";\n Version[\"v752\"] = \"v752\";\n Version[\"v753\"] = \"v753\";\n Version[\"v754\"] = \"v754\";\n Version[\"v755\"] = \"v755\";\n Version[\"v756\"] = \"v756\";\n Version[\"v757\"] = \"v757\";\n Version[\"Cloud\"] = \"Cloud\";\n})(Version || (exports.Version = Version = {}));\nexports.defaultVersion = Version.v757;\nfunction getPreviousVersion(v) {\n if (v === Version.OpenABAP) {\n return Version.v702;\n }\n const all = Object.values(Version);\n const found = all.indexOf(v);\n if (found < 0) {\n throw \"Unknown version: \" + v;\n }\n else if (found === 0) {\n throw \"Nothing lower: \" + v;\n }\n return all[found - 1];\n}\nexports.getPreviousVersion = getPreviousVersion;\n//# sourceMappingURL=version.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/version.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js": +/*!************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.unescape = exports.xmlToArray = void 0;\nfunction xmlToArray(data) {\n if (data === undefined) {\n return [];\n }\n else if (data.length) { // input data is an Array\n return data;\n }\n else {\n return [data];\n }\n}\nexports.xmlToArray = xmlToArray;\nfunction unescape(str) {\n if (str === undefined) {\n return \"\";\n }\n str = str.replace(/&/g, \"&\");\n str = str.replace(/>/g, \">\");\n str = str.replace(/</g, \"<\");\n str = str.replace(/"/g, \"\\\"\");\n str = str.replace(/'/g, \"'\");\n return str;\n}\nexports.unescape = unescape;\n//# sourceMappingURL=xml_utils.js.map\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/@abaplint/core/build/src/xml_utils.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/fast-xml-parser/src/fxp.js": +/*!*************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/fast-xml-parser/src/fxp.js ***! + \*************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst validator = __webpack_require__(/*! ./validator */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/validator.js\");\nconst XMLParser = __webpack_require__(/*! ./xmlparser/XMLParser */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js\");\nconst XMLBuilder = __webpack_require__(/*! ./xmlbuilder/json2xml */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/fast-xml-parser/src/fxp.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/fast-xml-parser/src/util.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/fast-xml-parser/src/util.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/fast-xml-parser/src/validator.js": +/*!*******************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/fast-xml-parser/src/validator.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\n\nconst util = __webpack_require__(/*! ./util */ \"../../packages/transpiler/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 {\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://web-transpiler/../../packages/transpiler/node_modules/fast-xml-parser/src/validator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.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 || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\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) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === 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 (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) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\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 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 listTagVal += this.j2x(item, level + 1).val;\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level)\n }\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, '', 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)\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) {\n const result = this.j2x(object, level + 1);\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 = '' + 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 = `>` + 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 ' 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 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}`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"`;\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 (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 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://web-transpiler/../../packages/transpiler/node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js": +/*!*********************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js ***! + \*********************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("const util = __webpack_require__(/*! ../util */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js": +/*!**********************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js": +/*!************************************************************************************************!*\ + !*** ../../packages/transpiler/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 */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/util.js\");\nconst xmlNode = __webpack_require__(/*! ./xmlNode */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js\");\nconst readDocType = __webpack_require__(/*! ./DocTypeReader */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js\");\nconst toNumber = __webpack_require__(/*! strnum */ \"../../packages/transpiler/node_modules/strnum/strnum.js\");\n\nconst 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 };\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 }\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 && 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 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: `);\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 //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n // let val = this.parseTextData(tagExp, this.options.cdataPropName, jPath + \".\" + this.options.cdataPropName, true, false, true);\n // if(!val) val = \"\";\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true);\n if(val == undefined) val = \"\";\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 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)) { //TODO: namespace\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, tagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${tagName}`);\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.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\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 }\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://web-transpiler/../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js ***! + \*****************************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("const { buildOptions} = __webpack_require__(/*! ./OptionsBuilder */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js\");\nconst OrderedObjParser = __webpack_require__(/*! ./OrderedObjParser */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js\");\nconst { prettify} = __webpack_require__(/*! ./node2json */ \"../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/node2json.js\");\nconst validator = __webpack_require__(/*! ../validator */ \"../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/node2json.js": +/*!*****************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/node2json.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js": +/*!***************************************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/json5/dist/index.js": +/*!******************************************************************!*\ + !*** ../../packages/transpiler/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://web-transpiler/../../packages/transpiler/node_modules/json5/dist/index.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/array-set.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/array-set.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nclass ArraySet {\n constructor() {\n this._array = [];\n this._set = new Map();\n }\n\n /**\n * Static method for creating ArraySet instances from an existing array.\n */\n static fromArray(aArray, aAllowDuplicates) {\n const set = new ArraySet();\n for (let i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n }\n\n /**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\n size() {\n return this._set.size;\n }\n\n /**\n * Add the given string to this set.\n *\n * @param String aStr\n */\n add(aStr, aAllowDuplicates) {\n const isDuplicate = this.has(aStr);\n const idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n this._set.set(aStr, idx);\n }\n }\n\n /**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\n has(aStr) {\n return this._set.has(aStr);\n }\n\n /**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\n indexOf(aStr) {\n const idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n throw new Error('\"' + aStr + '\" is not in the set.');\n }\n\n /**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\n at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error(\"No element indexed by \" + aIdx);\n }\n\n /**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\n toArray() {\n return this._array.slice();\n }\n}\nexports.ArraySet = ArraySet;\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/array-set.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/base64-vlq.js": +/*!***************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/base64-vlq.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nconst base64 = __webpack_require__(/*! ./base64 */ \"../../packages/transpiler/node_modules/source-map/lib/base64.js\");\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nconst VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nconst VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nconst VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nconst VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\n// eslint-disable-next-line no-unused-vars\nfunction fromVLQSigned(aValue) {\n const isNegative = (aValue & 1) === 1;\n const shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n let encoded = \"\";\n let digit;\n\n let vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/base64-vlq.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/base64.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/base64.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nconst intToCharMap = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function(number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/base64.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/binary-search.js": +/*!******************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/binary-search.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n const mid = Math.floor((aHigh - aLow) / 2) + aLow;\n const cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n } else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n }\n return mid;\n }\n\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n }\n return aLow < 0 ? -1 : aLow;\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n let index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/binary-search.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/mapping-list.js": +/*!*****************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/mapping-list.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nconst util = __webpack_require__(/*! ./util */ \"../../packages/transpiler/node_modules/source-map/lib/util.js\");\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n const lineA = mappingA.generatedLine;\n const lineB = mappingB.generatedLine;\n const columnA = mappingA.generatedColumn;\n const columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a negligible overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nclass MappingList {\n constructor() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n }\n\n /**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\n unsortedForEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n }\n\n /**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\n add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n }\n\n /**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\n toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n }\n}\n\nexports.MappingList = MappingList;\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/mapping-list.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/read-wasm.js": +/*!**************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/read-wasm.js ***! + \**************************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var __dirname = \"/\";\n/* Determine browser vs node environment by testing the default top level context. Solution courtesy of: https://stackoverflow.com/questions/17575790/environment-detection-node-js-or-browser */\nconst isBrowserEnvironment = (function() {\n // eslint-disable-next-line no-undef\n return (typeof window !== \"undefined\") && (this === window);\n}).call();\n\nif (isBrowserEnvironment) {\n // Web version of reading a wasm file into an array buffer.\n\n let mappingsWasm = null;\n\n module.exports = function readWasm() {\n if (typeof mappingsWasm === \"string\") {\n return fetch(mappingsWasm)\n .then(response => response.arrayBuffer());\n }\n if (mappingsWasm instanceof ArrayBuffer) {\n return Promise.resolve(mappingsWasm);\n }\n throw new Error(\"You must provide the string URL or ArrayBuffer contents \" +\n \"of lib/mappings.wasm by calling \" +\n \"SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) \" +\n \"before using SourceMapConsumer\");\n };\n\n module.exports.initialize = input => mappingsWasm = input;\n} else {\n // Node version of reading a wasm file into an array buffer.\n const fs = __webpack_require__(/*! fs */ \"?d414\");\n const path = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\n\n module.exports = function readWasm() {\n return new Promise((resolve, reject) => {\n const wasmPath = path.join(__dirname, \"mappings.wasm\");\n fs.readFile(wasmPath, null, (error, data) => {\n if (error) {\n reject(error);\n return;\n }\n\n resolve(data.buffer);\n });\n });\n };\n\n module.exports.initialize = _ => {\n console.debug(\"SourceMapConsumer.initialize is a no-op when running in node.js\");\n };\n}\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/read-wasm.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/source-map-consumer.js": +/*!************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/source-map-consumer.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nconst util = __webpack_require__(/*! ./util */ \"../../packages/transpiler/node_modules/source-map/lib/util.js\");\nconst binarySearch = __webpack_require__(/*! ./binary-search */ \"../../packages/transpiler/node_modules/source-map/lib/binary-search.js\");\nconst ArraySet = (__webpack_require__(/*! ./array-set */ \"../../packages/transpiler/node_modules/source-map/lib/array-set.js\").ArraySet);\nconst base64VLQ = __webpack_require__(/*! ./base64-vlq */ \"../../packages/transpiler/node_modules/source-map/lib/base64-vlq.js\"); // eslint-disable-line no-unused-vars\nconst readWasm = __webpack_require__(/*! ../lib/read-wasm */ \"../../packages/transpiler/node_modules/source-map/lib/read-wasm.js\");\nconst wasm = __webpack_require__(/*! ./wasm */ \"../../packages/transpiler/node_modules/source-map/lib/wasm.js\");\n\nconst INTERNAL = Symbol(\"smcInternal\");\n\nclass SourceMapConsumer {\n constructor(aSourceMap, aSourceMapURL) {\n // If the constructor was called by super(), just return Promise.\n // Yes, this is a hack to retain the pre-existing API of the base-class\n // constructor also being an async factory function.\n if (aSourceMap == INTERNAL) {\n return Promise.resolve(this);\n }\n\n return _factory(aSourceMap, aSourceMapURL);\n }\n\n static initialize(opts) {\n readWasm.initialize(opts[\"lib/mappings.wasm\"]);\n }\n\n static fromSourceMap(aSourceMap, aSourceMapURL) {\n return _factoryBSM(aSourceMap, aSourceMapURL);\n }\n\n /**\n * Construct a new `SourceMapConsumer` from `rawSourceMap` and `sourceMapUrl`\n * (see the `SourceMapConsumer` constructor for details. Then, invoke the `async\n * function f(SourceMapConsumer) -> T` with the newly constructed consumer, wait\n * for `f` to complete, call `destroy` on the consumer, and return `f`'s return\n * value.\n *\n * You must not use the consumer after `f` completes!\n *\n * By using `with`, you do not have to remember to manually call `destroy` on\n * the consumer, since it will be called automatically once `f` completes.\n *\n * ```js\n * const xSquared = await SourceMapConsumer.with(\n * myRawSourceMap,\n * null,\n * async function (consumer) {\n * // Use `consumer` inside here and don't worry about remembering\n * // to call `destroy`.\n *\n * const x = await whatever(consumer);\n * return x * x;\n * }\n * );\n *\n * // You may not use that `consumer` anymore out here; it has\n * // been destroyed. But you can use `xSquared`.\n * console.log(xSquared);\n * ```\n */\n static async with(rawSourceMap, sourceMapUrl, f) {\n const consumer = await new SourceMapConsumer(rawSourceMap, sourceMapUrl);\n try {\n return await f(consumer);\n } finally {\n consumer.destroy();\n }\n }\n\n /**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\n _parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n }\n\n /**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\n eachMapping(aCallback, aContext, aOrder) {\n throw new Error(\"Subclasses must implement eachMapping\");\n }\n\n /**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\n allGeneratedPositionsFor(aArgs) {\n throw new Error(\"Subclasses must implement allGeneratedPositionsFor\");\n }\n\n destroy() {\n throw new Error(\"Subclasses must implement destroy\");\n }\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nclass BasicSourceMapConsumer extends SourceMapConsumer {\n constructor(aSourceMap, aSourceMapURL) {\n return super(INTERNAL).then(that => {\n let sourceMap = aSourceMap;\n if (typeof aSourceMap === \"string\") {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n const version = util.getArg(sourceMap, \"version\");\n let sources = util.getArg(sourceMap, \"sources\");\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n const names = util.getArg(sourceMap, \"names\", []);\n let sourceRoot = util.getArg(sourceMap, \"sourceRoot\", null);\n const sourcesContent = util.getArg(sourceMap, \"sourcesContent\", null);\n const mappings = util.getArg(sourceMap, \"mappings\");\n const file = util.getArg(sourceMap, \"file\", null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != that._version) {\n throw new Error(\"Unsupported version: \" + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function(source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n that._names = ArraySet.fromArray(names.map(String), true);\n that._sources = ArraySet.fromArray(sources, true);\n\n that._absoluteSources = that._sources.toArray().map(function(s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n that.sourceRoot = sourceRoot;\n that.sourcesContent = sourcesContent;\n that._mappings = mappings;\n that._sourceMapURL = aSourceMapURL;\n that.file = file;\n\n that._computedColumnSpans = false;\n that._mappingsPtr = 0;\n that._wasm = null;\n\n return wasm().then(w => {\n that._wasm = w;\n return that;\n });\n });\n }\n\n /**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\n _findSourceIndex(aSource) {\n let relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n for (let i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n }\n\n /**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\n static fromSourceMap(aSourceMap, aSourceMapURL) {\n return new BasicSourceMapConsumer(aSourceMap.toString());\n }\n\n get sources() {\n return this._absoluteSources.slice();\n }\n\n _getMappingsPtr() {\n if (this._mappingsPtr === 0) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this._mappingsPtr;\n }\n\n /**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\n _parseMappings(aStr, aSourceRoot) {\n const size = aStr.length;\n\n const mappingsBufPtr = this._wasm.exports.allocate_mappings(size);\n const mappingsBuf = new Uint8Array(this._wasm.exports.memory.buffer, mappingsBufPtr, size);\n for (let i = 0; i < size; i++) {\n mappingsBuf[i] = aStr.charCodeAt(i);\n }\n\n const mappingsPtr = this._wasm.exports.parse_mappings(mappingsBufPtr);\n\n if (!mappingsPtr) {\n const error = this._wasm.exports.get_last_error();\n let msg = `Error parsing mappings (code ${error}): `;\n\n // XXX: keep these error codes in sync with `fitzgen/source-map-mappings`.\n switch (error) {\n case 1:\n msg += \"the mappings contained a negative line, column, source index, or name index\";\n break;\n case 2:\n msg += \"the mappings contained a number larger than 2**32\";\n break;\n case 3:\n msg += \"reached EOF while in the middle of parsing a VLQ\";\n break;\n case 4:\n msg += \"invalid base 64 character while parsing a VLQ\";\n break;\n default:\n msg += \"unknown error code\";\n break;\n }\n\n throw new Error(msg);\n }\n\n this._mappingsPtr = mappingsPtr;\n }\n\n eachMapping(aCallback, aContext, aOrder) {\n const context = aContext || null;\n const order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n const sourceRoot = this.sourceRoot;\n\n this._wasm.withMappingCallback(\n mapping => {\n if (mapping.source !== null) {\n mapping.source = this._sources.at(mapping.source);\n mapping.source = util.computeSourceURL(sourceRoot, mapping.source, this._sourceMapURL);\n\n if (mapping.name !== null) {\n mapping.name = this._names.at(mapping.name);\n }\n }\n\n aCallback.call(context, mapping);\n },\n () => {\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n this._wasm.exports.by_generated_location(this._getMappingsPtr());\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n this._wasm.exports.by_original_location(this._getMappingsPtr());\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n }\n );\n }\n\n allGeneratedPositionsFor(aArgs) {\n let source = util.getArg(aArgs, \"source\");\n const originalLine = util.getArg(aArgs, \"line\");\n const originalColumn = aArgs.column || 0;\n\n source = this._findSourceIndex(source);\n if (source < 0) {\n return [];\n }\n\n if (originalLine < 1) {\n throw new Error(\"Line numbers must be >= 1\");\n }\n\n if (originalColumn < 0) {\n throw new Error(\"Column numbers must be >= 0\");\n }\n\n const mappings = [];\n\n this._wasm.withMappingCallback(\n m => {\n let lastColumn = m.lastGeneratedColumn;\n if (this._computedColumnSpans && lastColumn === null) {\n lastColumn = Infinity;\n }\n mappings.push({\n line: m.generatedLine,\n column: m.generatedColumn,\n lastColumn,\n });\n }, () => {\n this._wasm.exports.all_generated_locations_for(\n this._getMappingsPtr(),\n source,\n originalLine - 1,\n \"column\" in aArgs,\n originalColumn\n );\n }\n );\n\n return mappings;\n }\n\n destroy() {\n if (this._mappingsPtr !== 0) {\n this._wasm.exports.free_mappings(this._mappingsPtr);\n this._mappingsPtr = 0;\n }\n }\n\n /**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\n computeColumnSpans() {\n if (this._computedColumnSpans) {\n return;\n }\n\n this._wasm.exports.compute_column_spans(this._getMappingsPtr());\n this._computedColumnSpans = true;\n }\n\n /**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\n originalPositionFor(aArgs) {\n const needle = {\n generatedLine: util.getArg(aArgs, \"line\"),\n generatedColumn: util.getArg(aArgs, \"column\")\n };\n\n if (needle.generatedLine < 1) {\n throw new Error(\"Line numbers must be >= 1\");\n }\n\n if (needle.generatedColumn < 0) {\n throw new Error(\"Column numbers must be >= 0\");\n }\n\n let bias = util.getArg(aArgs, \"bias\", SourceMapConsumer.GREATEST_LOWER_BOUND);\n if (bias == null) {\n bias = SourceMapConsumer.GREATEST_LOWER_BOUND;\n }\n\n let mapping;\n this._wasm.withMappingCallback(m => mapping = m, () => {\n this._wasm.exports.original_location_for(\n this._getMappingsPtr(),\n needle.generatedLine - 1,\n needle.generatedColumn,\n bias\n );\n });\n\n if (mapping) {\n if (mapping.generatedLine === needle.generatedLine) {\n let source = util.getArg(mapping, \"source\", null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n\n let name = util.getArg(mapping, \"name\", null);\n if (name !== null) {\n name = this._names.at(name);\n }\n\n return {\n source,\n line: util.getArg(mapping, \"originalLine\", null),\n column: util.getArg(mapping, \"originalColumn\", null),\n name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n /**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\n hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function(sc) { return sc == null; });\n }\n\n /**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\n sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n const index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n let relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n let url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n const fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)];\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n\n /**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\n generatedPositionFor(aArgs) {\n let source = util.getArg(aArgs, \"source\");\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n const needle = {\n source,\n originalLine: util.getArg(aArgs, \"line\"),\n originalColumn: util.getArg(aArgs, \"column\")\n };\n\n if (needle.originalLine < 1) {\n throw new Error(\"Line numbers must be >= 1\");\n }\n\n if (needle.originalColumn < 0) {\n throw new Error(\"Column numbers must be >= 0\");\n }\n\n let bias = util.getArg(aArgs, \"bias\", SourceMapConsumer.GREATEST_LOWER_BOUND);\n if (bias == null) {\n bias = SourceMapConsumer.GREATEST_LOWER_BOUND;\n }\n\n let mapping;\n this._wasm.withMappingCallback(m => mapping = m, () => {\n this._wasm.exports.generated_location_for(\n this._getMappingsPtr(),\n needle.source,\n needle.originalLine - 1,\n needle.originalColumn,\n bias\n );\n });\n\n if (mapping) {\n if (mapping.source === needle.source) {\n let lastColumn = mapping.lastGeneratedColumn;\n if (this._computedColumnSpans && lastColumn === null) {\n lastColumn = Infinity;\n }\n return {\n line: util.getArg(mapping, \"generatedLine\", null),\n column: util.getArg(mapping, \"generatedColumn\", null),\n lastColumn,\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n}\n\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nclass IndexedSourceMapConsumer extends SourceMapConsumer {\n constructor(aSourceMap, aSourceMapURL) {\n return super(INTERNAL).then(that => {\n let sourceMap = aSourceMap;\n if (typeof aSourceMap === \"string\") {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n const version = util.getArg(sourceMap, \"version\");\n const sections = util.getArg(sourceMap, \"sections\");\n\n if (version != that._version) {\n throw new Error(\"Unsupported version: \" + version);\n }\n\n that._sources = new ArraySet();\n that._names = new ArraySet();\n that.__generatedMappings = null;\n that.__originalMappings = null;\n that.__generatedMappingsUnsorted = null;\n that.__originalMappingsUnsorted = null;\n\n let lastOffset = {\n line: -1,\n column: 0\n };\n return Promise.all(sections.map(s => {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error(\"Support for url field in sections not implemented.\");\n }\n const offset = util.getArg(s, \"offset\");\n const offsetLine = util.getArg(offset, \"line\");\n const offsetColumn = util.getArg(offset, \"column\");\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error(\"Section offsets must be ordered and non-overlapping.\");\n }\n lastOffset = offset;\n\n const cons = new SourceMapConsumer(util.getArg(s, \"map\"), aSourceMapURL);\n return cons.then(consumer => {\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer\n };\n });\n })).then(s => {\n that._sections = s;\n return that;\n });\n });\n }\n\n // `__generatedMappings` and `__originalMappings` are arrays that hold the\n // parsed mapping coordinates from the source map's \"mappings\" attribute. They\n // are lazily instantiated, accessed via the `_generatedMappings` and\n // `_originalMappings` getters respectively, and we only parse the mappings\n // and create these arrays once queried for a source location. We jump through\n // these hoops because there can be many thousands of mappings, and parsing\n // them is expensive, so we only want to do it if we must.\n //\n // Each object in the arrays is of the form:\n //\n // {\n // generatedLine: The line number in the generated code,\n // generatedColumn: The column number in the generated code,\n // source: The path to the original source file that generated this\n // chunk of code,\n // originalLine: The line number in the original source that\n // corresponds to this chunk of generated code,\n // originalColumn: The column number in the original source that\n // corresponds to this chunk of generated code,\n // name: The name of the original symbol which generated this chunk of\n // code.\n // }\n //\n // All properties except for `generatedLine` and `generatedColumn` can be\n // `null`.\n //\n // `_generatedMappings` is ordered by the generated positions.\n //\n // `_originalMappings` is ordered by the original positions.\n get _generatedMappings() {\n if (!this.__generatedMappings) {\n this._sortGeneratedMappings();\n }\n\n return this.__generatedMappings;\n }\n\n get _originalMappings() {\n if (!this.__originalMappings) {\n this._sortOriginalMappings();\n }\n\n return this.__originalMappings;\n }\n\n get _generatedMappingsUnsorted() {\n if (!this.__generatedMappingsUnsorted) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappingsUnsorted;\n }\n\n get _originalMappingsUnsorted() {\n if (!this.__originalMappingsUnsorted) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappingsUnsorted;\n }\n\n _sortGeneratedMappings() {\n const mappings = this._generatedMappingsUnsorted;\n mappings.sort(util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = mappings;\n }\n\n _sortOriginalMappings() {\n const mappings = this._originalMappingsUnsorted;\n mappings.sort(util.compareByOriginalPositions);\n this.__originalMappings = mappings;\n }\n\n /**\n * The list of original sources.\n */\n get sources() {\n const sources = [];\n for (let i = 0; i < this._sections.length; i++) {\n for (let j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n\n /**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\n originalPositionFor(aArgs) {\n const needle = {\n generatedLine: util.getArg(aArgs, \"line\"),\n generatedColumn: util.getArg(aArgs, \"column\")\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n const sectionIndex = binarySearch.search(needle, this._sections,\n function(aNeedle, section) {\n const cmp = aNeedle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (aNeedle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n const section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n }\n\n /**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\n hasContentsOfAllSources() {\n return this._sections.every(function(s) {\n return s.consumer.hasContentsOfAllSources();\n });\n }\n\n /**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\n sourceContentFor(aSource, nullOnMissing) {\n for (let i = 0; i < this._sections.length; i++) {\n const section = this._sections[i];\n\n const content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n\n /**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\n generatedPositionFor(aArgs) {\n for (let i = 0; i < this._sections.length; i++) {\n const section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, \"source\")) === -1) {\n continue;\n }\n const generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n const ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n }\n\n /**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\n _parseMappings(aStr, aSourceRoot) {\n const generatedMappings = this.__generatedMappingsUnsorted = [];\n const originalMappings = this.__originalMappingsUnsorted = [];\n for (let i = 0; i < this._sections.length; i++) {\n const section = this._sections[i];\n\n const sectionMappings = [];\n section.consumer.eachMapping(m => sectionMappings.push(m));\n\n for (let j = 0; j < sectionMappings.length; j++) {\n const mapping = sectionMappings[j];\n\n // TODO: test if null is correct here. The original code used\n // `source`, which would actually have gotten used as null because\n // var's get hoisted.\n // See: https://github.com/mozilla/source-map/issues/333\n let source = util.computeSourceURL(section.consumer.sourceRoot, null, this._sourceMapURL);\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n let name = null;\n if (mapping.name) {\n this._names.add(mapping.name);\n name = this._names.indexOf(mapping.name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n const adjustedMapping = {\n source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name\n };\n\n generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === \"number\") {\n originalMappings.push(adjustedMapping);\n }\n }\n }\n }\n\n eachMapping(aCallback, aContext, aOrder) {\n const context = aContext || null;\n const order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n let mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n const sourceRoot = this.sourceRoot;\n mappings.map(function(mapping) {\n let source = null;\n if (mapping.source !== null) {\n source = this._sources.at(mapping.source);\n source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n }\n return {\n source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n }\n\n /**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\n _findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError(\"Line must be greater than or equal to 1, got \"\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError(\"Column must be greater than or equal to 0, got \"\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n }\n\n allGeneratedPositionsFor(aArgs) {\n const line = util.getArg(aArgs, \"line\");\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n const needle = {\n source: util.getArg(aArgs, \"source\"),\n originalLine: line,\n originalColumn: util.getArg(aArgs, \"column\", 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n if (needle.originalLine < 1) {\n throw new Error(\"Line numbers must be >= 1\");\n }\n\n if (needle.originalColumn < 0) {\n throw new Error(\"Column numbers must be >= 0\");\n }\n\n const mappings = [];\n\n let index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n let mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n const originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n let lastColumn = mapping.lastGeneratedColumn;\n if (this._computedColumnSpans && lastColumn === null) {\n lastColumn = Infinity;\n }\n mappings.push({\n line: util.getArg(mapping, \"generatedLine\", null),\n column: util.getArg(mapping, \"generatedColumn\", null),\n lastColumn,\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n const originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n let lastColumn = mapping.lastGeneratedColumn;\n if (this._computedColumnSpans && lastColumn === null) {\n lastColumn = Infinity;\n }\n mappings.push({\n line: util.getArg(mapping, \"generatedLine\", null),\n column: util.getArg(mapping, \"generatedColumn\", null),\n lastColumn,\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n }\n\n destroy() {\n for (let i = 0; i < this._sections.length; i++) {\n this._sections[i].consumer.destroy();\n }\n }\n}\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n\n/*\n * Cheat to get around inter-twingled classes. `factory()` can be at the end\n * where it has access to non-hoisted classes, but it gets hoisted itself.\n */\nfunction _factory(aSourceMap, aSourceMapURL) {\n let sourceMap = aSourceMap;\n if (typeof aSourceMap === \"string\") {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n const consumer = sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n return Promise.resolve(consumer);\n}\n\nfunction _factoryBSM(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/source-map-consumer.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/source-map-generator.js": +/*!*************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/source-map-generator.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nconst base64VLQ = __webpack_require__(/*! ./base64-vlq */ \"../../packages/transpiler/node_modules/source-map/lib/base64-vlq.js\");\nconst util = __webpack_require__(/*! ./util */ \"../../packages/transpiler/node_modules/source-map/lib/util.js\");\nconst ArraySet = (__webpack_require__(/*! ./array-set */ \"../../packages/transpiler/node_modules/source-map/lib/array-set.js\").ArraySet);\nconst MappingList = (__webpack_require__(/*! ./mapping-list */ \"../../packages/transpiler/node_modules/source-map/lib/mapping-list.js\").MappingList);\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nclass SourceMapGenerator {\n constructor(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, \"file\", null);\n this._sourceRoot = util.getArg(aArgs, \"sourceRoot\", null);\n this._skipValidation = util.getArg(aArgs, \"skipValidation\", false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n }\n\n /**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\n static fromSourceMap(aSourceMapConsumer) {\n const sourceRoot = aSourceMapConsumer.sourceRoot;\n const generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot\n });\n aSourceMapConsumer.eachMapping(function(mapping) {\n const newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function(sourceFile) {\n let sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n const content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n }\n\n /**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\n addMapping(aArgs) {\n const generated = util.getArg(aArgs, \"generated\");\n const original = util.getArg(aArgs, \"original\", null);\n let source = util.getArg(aArgs, \"source\", null);\n let name = util.getArg(aArgs, \"name\", null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source,\n name\n });\n }\n\n /**\n * Set the source content for a source file.\n */\n setSourceContent(aSourceFile, aSourceContent) {\n let source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n }\n\n /**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\n applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n let sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n \"SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, \" +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n const sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n const newSources = this._mappings.toArray().length > 0\n ? new ArraySet()\n : this._sources;\n const newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function(mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n const original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source);\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n const source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n const name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function(srcFile) {\n const content = aSourceMapConsumer.sourceContentFor(srcFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n srcFile = util.join(aSourceMapPath, srcFile);\n }\n if (sourceRoot != null) {\n srcFile = util.relative(sourceRoot, srcFile);\n }\n this.setSourceContent(srcFile, content);\n }\n }, this);\n }\n\n /**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\n _validateMapping(aGenerated, aOriginal, aSource, aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== \"number\" && typeof aOriginal.column !== \"number\") {\n throw new Error(\n \"original.line and original.column are not numbers -- you probably meant to omit \" +\n \"the original mapping entirely and only map the generated position. If so, pass \" +\n \"null for the original mapping instead of an object with empty or null values.\"\n );\n }\n\n if (aGenerated && \"line\" in aGenerated && \"column\" in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n\n } else if (aGenerated && \"line\" in aGenerated && \"column\" in aGenerated\n && aOriginal && \"line\" in aOriginal && \"column\" in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n\n } else {\n throw new Error(\"Invalid mapping: \" + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n }\n\n /**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\n _serializeMappings() {\n let previousGeneratedColumn = 0;\n let previousGeneratedLine = 1;\n let previousOriginalColumn = 0;\n let previousOriginalLine = 0;\n let previousName = 0;\n let previousSource = 0;\n let result = \"\";\n let next;\n let mapping;\n let nameIdx;\n let sourceIdx;\n\n const mappings = this._mappings.toArray();\n for (let i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = \"\";\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += \";\";\n previousGeneratedLine++;\n }\n } else if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += \",\";\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n }\n\n _generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function(source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n const key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n }\n\n /**\n * Externalize the source map.\n */\n toJSON() {\n const map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n }\n\n /**\n * Render the source map being generated to a string.\n */\n toString() {\n return JSON.stringify(this.toJSON());\n }\n}\n\nSourceMapGenerator.prototype._version = 3;\nexports.SourceMapGenerator = SourceMapGenerator;\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/source-map-generator.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/source-node.js": +/*!****************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/source-node.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nconst SourceMapGenerator = (__webpack_require__(/*! ./source-map-generator */ \"../../packages/transpiler/node_modules/source-map/lib/source-map-generator.js\").SourceMapGenerator);\nconst util = __webpack_require__(/*! ./util */ \"../../packages/transpiler/node_modules/source-map/lib/util.js\");\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nconst REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nconst NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nconst isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nclass SourceNode {\n constructor(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n }\n\n /**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\n static fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n const node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n const remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n let remainingLinesIndex = 0;\n const shiftNextLine = function() {\n const lineContents = getNextLine();\n // The last line of a file might not have a newline.\n const newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n let lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n let lastMapping = null;\n let nextLine;\n\n aSourceMapConsumer.eachMapping(function(mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n nextLine = remainingLines[remainingLinesIndex] || \"\";\n const code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n nextLine = remainingLines[remainingLinesIndex] || \"\";\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function(sourceFile) {\n const content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n const source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n }\n\n /**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\n add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function(chunk) {\n this.add(chunk);\n }, this);\n } else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n } else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n }\n\n /**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\n prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (let i = aChunk.length - 1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n } else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n } else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n }\n\n /**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\n walk(aFn) {\n let chunk;\n for (let i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n } else if (chunk !== \"\") {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n\n /**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\n join(aSep) {\n let newChildren;\n let i;\n const len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len - 1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n }\n\n /**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\n replaceRight(aPattern, aReplacement) {\n const lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n } else if (typeof lastChild === \"string\") {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n } else {\n this.children.push(\"\".replace(aPattern, aReplacement));\n }\n return this;\n }\n\n /**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\n setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n }\n\n /**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\n walkSourceContents(aFn) {\n for (let i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n const sources = Object.keys(this.sourceContents);\n for (let i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n }\n\n /**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\n toString() {\n let str = \"\";\n this.walk(function(chunk) {\n str += chunk;\n });\n return str;\n }\n\n /**\n * Returns the string representation of this source node along with a source\n * map.\n */\n toStringWithSourceMap(aArgs) {\n const generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n const map = new SourceMapGenerator(aArgs);\n let sourceMappingActive = false;\n let lastOriginalSource = null;\n let lastOriginalLine = null;\n let lastOriginalColumn = null;\n let lastOriginalName = null;\n this.walk(function(chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if (lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (let idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function(sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map };\n }\n}\n\nexports.SourceNode = SourceNode;\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/source-node.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/util.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/util.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +eval("/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n }\n throw new Error('\"' + aName + '\" is a required argument.');\n\n}\nexports.getArg = getArg;\n\nconst urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nconst dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n const match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n let url = \"\";\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + \":\";\n }\n url += \"//\";\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + \"@\";\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port;\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\nconst MAX_CACHED_INPUTS = 32;\n\n/**\n * Takes some function `f(input) -> result` and returns a memoized version of\n * `f`.\n *\n * We keep at most `MAX_CACHED_INPUTS` memoized results of `f` alive. The\n * memoization is a dumb-simple, linear least-recently-used cache.\n */\nfunction lruMemoize(f) {\n const cache = [];\n\n return function(input) {\n for (let i = 0; i < cache.length; i++) {\n if (cache[i].input === input) {\n const temp = cache[0];\n cache[0] = cache[i];\n cache[i] = temp;\n return cache[0].result;\n }\n }\n\n const result = f(input);\n\n cache.unshift({\n input,\n result,\n });\n\n if (cache.length > MAX_CACHED_INPUTS) {\n cache.pop();\n }\n\n return result;\n };\n}\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nconst normalize = lruMemoize(function normalize(aPath) {\n let path = aPath;\n const url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n const isAbsolute = exports.isAbsolute(path);\n\n // Split the path into parts between `/` characters. This is much faster than\n // using `.split(/\\/+/g)`.\n const parts = [];\n let start = 0;\n let i = 0;\n while (true) {\n start = i;\n i = path.indexOf(\"/\", start);\n if (i === -1) {\n parts.push(path.slice(start));\n break;\n } else {\n parts.push(path.slice(start, i));\n while (i < path.length && path[i] === \"/\") {\n i++;\n }\n }\n }\n\n let up = 0;\n for (i = parts.length - 1; i >= 0; i--) {\n const part = parts[i];\n if (part === \".\") {\n parts.splice(i, 1);\n } else if (part === \"..\") {\n up++;\n } else if (up > 0) {\n if (part === \"\") {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join(\"/\");\n\n if (path === \"\") {\n path = isAbsolute ? \"/\" : \".\";\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n});\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n const aPathUrl = urlParse(aPath);\n const aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || \"/\";\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n const joined = aPath.charAt(0) === \"/\"\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, \"\") + \"/\" + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function(aPath) {\n return aPath.charAt(0) === \"/\" || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, \"\");\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n let level = 0;\n while (aPath.indexOf(aRoot + \"/\") !== 0) {\n const index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nconst supportsNullProto = (function() {\n const obj = Object.create(null);\n return !(\"__proto__\" in obj);\n}());\n\nfunction identity(s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return \"$\" + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n const length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n /* eslint-disable no-multi-spaces */\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n /* eslint-enable no-multi-spaces */\n\n for (let i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n let cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n let cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n let cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, \"\"));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || \"\";\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== \"/\" && sourceURL[0] !== \"/\") {\n sourceRoot += \"/\";\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n const parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n const index = parsed.path.lastIndexOf(\"/\");\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/util.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/lib/wasm.js": +/*!*********************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/lib/wasm.js ***! + \*********************************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("const readWasm = __webpack_require__(/*! ../lib/read-wasm */ \"../../packages/transpiler/node_modules/source-map/lib/read-wasm.js\");\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.lastGeneratedColumn = null;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\nlet cachedWasm = null;\n\nmodule.exports = function wasm() {\n if (cachedWasm) {\n return cachedWasm;\n }\n\n const callbackStack = [];\n\n cachedWasm = readWasm().then(buffer => {\n return WebAssembly.instantiate(buffer, {\n env: {\n mapping_callback(\n generatedLine,\n generatedColumn,\n\n hasLastGeneratedColumn,\n lastGeneratedColumn,\n\n hasOriginal,\n source,\n originalLine,\n originalColumn,\n\n hasName,\n name\n ) {\n const mapping = new Mapping();\n // JS uses 1-based line numbers, wasm uses 0-based.\n mapping.generatedLine = generatedLine + 1;\n mapping.generatedColumn = generatedColumn;\n\n if (hasLastGeneratedColumn) {\n // JS uses inclusive last generated column, wasm uses exclusive.\n mapping.lastGeneratedColumn = lastGeneratedColumn - 1;\n }\n\n if (hasOriginal) {\n mapping.source = source;\n // JS uses 1-based line numbers, wasm uses 0-based.\n mapping.originalLine = originalLine + 1;\n mapping.originalColumn = originalColumn;\n\n if (hasName) {\n mapping.name = name;\n }\n }\n\n callbackStack[callbackStack.length - 1](mapping);\n },\n\n start_all_generated_locations_for() { console.time(\"all_generated_locations_for\"); },\n end_all_generated_locations_for() { console.timeEnd(\"all_generated_locations_for\"); },\n\n start_compute_column_spans() { console.time(\"compute_column_spans\"); },\n end_compute_column_spans() { console.timeEnd(\"compute_column_spans\"); },\n\n start_generated_location_for() { console.time(\"generated_location_for\"); },\n end_generated_location_for() { console.timeEnd(\"generated_location_for\"); },\n\n start_original_location_for() { console.time(\"original_location_for\"); },\n end_original_location_for() { console.timeEnd(\"original_location_for\"); },\n\n start_parse_mappings() { console.time(\"parse_mappings\"); },\n end_parse_mappings() { console.timeEnd(\"parse_mappings\"); },\n\n start_sort_by_generated_location() { console.time(\"sort_by_generated_location\"); },\n end_sort_by_generated_location() { console.timeEnd(\"sort_by_generated_location\"); },\n\n start_sort_by_original_location() { console.time(\"sort_by_original_location\"); },\n end_sort_by_original_location() { console.timeEnd(\"sort_by_original_location\"); },\n }\n });\n }).then(Wasm => {\n return {\n exports: Wasm.instance.exports,\n withMappingCallback: (mappingCallback, f) => {\n callbackStack.push(mappingCallback);\n try {\n f();\n } finally {\n callbackStack.pop();\n }\n }\n };\n }).then(null, e => {\n cachedWasm = null;\n throw e;\n });\n\n return cachedWasm;\n};\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/lib/wasm.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/source-map/source-map.js": +/*!***********************************************************************!*\ + !*** ../../packages/transpiler/node_modules/source-map/source-map.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +eval("/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = __webpack_require__(/*! ./lib/source-map-generator */ \"../../packages/transpiler/node_modules/source-map/lib/source-map-generator.js\").SourceMapGenerator;\nexports.SourceMapConsumer = __webpack_require__(/*! ./lib/source-map-consumer */ \"../../packages/transpiler/node_modules/source-map/lib/source-map-consumer.js\").SourceMapConsumer;\nexports.SourceNode = __webpack_require__(/*! ./lib/source-node */ \"../../packages/transpiler/node_modules/source-map/lib/source-node.js\").SourceNode;\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/source-map/source-map.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/strnum/strnum.js": +/*!***************************************************************!*\ + !*** ../../packages/transpiler/node_modules/strnum/strnum.js ***! + \***************************************************************/ +/***/ ((module) => { + +eval("const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/strnum/strnum.js?"); + +/***/ }), + +/***/ "../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js": +/*!******************************************************************************************!*\ + !*** ../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.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 */ AnnotatedTextEdit: () => (/* binding */ AnnotatedTextEdit),\n/* harmony export */ ChangeAnnotation: () => (/* binding */ ChangeAnnotation),\n/* harmony export */ ChangeAnnotationIdentifier: () => (/* binding */ ChangeAnnotationIdentifier),\n/* harmony export */ CodeAction: () => (/* binding */ CodeAction),\n/* harmony export */ CodeActionContext: () => (/* binding */ CodeActionContext),\n/* harmony export */ CodeActionKind: () => (/* binding */ CodeActionKind),\n/* harmony export */ CodeActionTriggerKind: () => (/* binding */ CodeActionTriggerKind),\n/* harmony export */ CodeDescription: () => (/* binding */ CodeDescription),\n/* harmony export */ CodeLens: () => (/* binding */ CodeLens),\n/* harmony export */ Color: () => (/* binding */ Color),\n/* harmony export */ ColorInformation: () => (/* binding */ ColorInformation),\n/* harmony export */ ColorPresentation: () => (/* binding */ ColorPresentation),\n/* harmony export */ Command: () => (/* binding */ Command),\n/* harmony export */ CompletionItem: () => (/* binding */ CompletionItem),\n/* harmony export */ CompletionItemKind: () => (/* binding */ CompletionItemKind),\n/* harmony export */ CompletionItemLabelDetails: () => (/* binding */ CompletionItemLabelDetails),\n/* harmony export */ CompletionItemTag: () => (/* binding */ CompletionItemTag),\n/* harmony export */ CompletionList: () => (/* binding */ CompletionList),\n/* harmony export */ CreateFile: () => (/* binding */ CreateFile),\n/* harmony export */ DeleteFile: () => (/* binding */ DeleteFile),\n/* harmony export */ Diagnostic: () => (/* binding */ Diagnostic),\n/* harmony export */ DiagnosticRelatedInformation: () => (/* binding */ DiagnosticRelatedInformation),\n/* harmony export */ DiagnosticSeverity: () => (/* binding */ DiagnosticSeverity),\n/* harmony export */ DiagnosticTag: () => (/* binding */ DiagnosticTag),\n/* harmony export */ DocumentHighlight: () => (/* binding */ DocumentHighlight),\n/* harmony export */ DocumentHighlightKind: () => (/* binding */ DocumentHighlightKind),\n/* harmony export */ DocumentLink: () => (/* binding */ DocumentLink),\n/* harmony export */ DocumentSymbol: () => (/* binding */ DocumentSymbol),\n/* harmony export */ DocumentUri: () => (/* binding */ DocumentUri),\n/* harmony export */ EOL: () => (/* binding */ EOL),\n/* harmony export */ FoldingRange: () => (/* binding */ FoldingRange),\n/* harmony export */ FoldingRangeKind: () => (/* binding */ FoldingRangeKind),\n/* harmony export */ FormattingOptions: () => (/* binding */ FormattingOptions),\n/* harmony export */ Hover: () => (/* binding */ Hover),\n/* harmony export */ InlayHint: () => (/* binding */ InlayHint),\n/* harmony export */ InlayHintKind: () => (/* binding */ InlayHintKind),\n/* harmony export */ InlayHintLabelPart: () => (/* binding */ InlayHintLabelPart),\n/* harmony export */ InlineValueContext: () => (/* binding */ InlineValueContext),\n/* harmony export */ InlineValueEvaluatableExpression: () => (/* binding */ InlineValueEvaluatableExpression),\n/* harmony export */ InlineValueText: () => (/* binding */ InlineValueText),\n/* harmony export */ InlineValueVariableLookup: () => (/* binding */ InlineValueVariableLookup),\n/* harmony export */ InsertReplaceEdit: () => (/* binding */ InsertReplaceEdit),\n/* harmony export */ InsertTextFormat: () => (/* binding */ InsertTextFormat),\n/* harmony export */ InsertTextMode: () => (/* binding */ InsertTextMode),\n/* harmony export */ Location: () => (/* binding */ Location),\n/* harmony export */ LocationLink: () => (/* binding */ LocationLink),\n/* harmony export */ MarkedString: () => (/* binding */ MarkedString),\n/* harmony export */ MarkupContent: () => (/* binding */ MarkupContent),\n/* harmony export */ MarkupKind: () => (/* binding */ MarkupKind),\n/* harmony export */ OptionalVersionedTextDocumentIdentifier: () => (/* binding */ OptionalVersionedTextDocumentIdentifier),\n/* harmony export */ ParameterInformation: () => (/* binding */ ParameterInformation),\n/* harmony export */ Position: () => (/* binding */ Position),\n/* harmony export */ Range: () => (/* binding */ Range),\n/* harmony export */ RenameFile: () => (/* binding */ RenameFile),\n/* harmony export */ SelectionRange: () => (/* binding */ SelectionRange),\n/* harmony export */ SemanticTokenModifiers: () => (/* binding */ SemanticTokenModifiers),\n/* harmony export */ SemanticTokenTypes: () => (/* binding */ SemanticTokenTypes),\n/* harmony export */ SemanticTokens: () => (/* binding */ SemanticTokens),\n/* harmony export */ SignatureInformation: () => (/* binding */ SignatureInformation),\n/* harmony export */ SymbolInformation: () => (/* binding */ SymbolInformation),\n/* harmony export */ SymbolKind: () => (/* binding */ SymbolKind),\n/* harmony export */ SymbolTag: () => (/* binding */ SymbolTag),\n/* harmony export */ TextDocument: () => (/* binding */ TextDocument),\n/* harmony export */ TextDocumentEdit: () => (/* binding */ TextDocumentEdit),\n/* harmony export */ TextDocumentIdentifier: () => (/* binding */ TextDocumentIdentifier),\n/* harmony export */ TextDocumentItem: () => (/* binding */ TextDocumentItem),\n/* harmony export */ TextEdit: () => (/* binding */ TextEdit),\n/* harmony export */ URI: () => (/* binding */ URI),\n/* harmony export */ VersionedTextDocumentIdentifier: () => (/* binding */ VersionedTextDocumentIdentifier),\n/* harmony export */ WorkspaceChange: () => (/* binding */ WorkspaceChange),\n/* harmony export */ WorkspaceEdit: () => (/* binding */ WorkspaceEdit),\n/* harmony export */ WorkspaceFolder: () => (/* binding */ WorkspaceFolder),\n/* harmony export */ WorkspaceSymbol: () => (/* binding */ WorkspaceSymbol),\n/* harmony export */ integer: () => (/* binding */ integer),\n/* harmony export */ uinteger: () => (/* binding */ uinteger)\n/* harmony export */ });\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\nvar DocumentUri;\n(function (DocumentUri) {\n function is(value) {\n return typeof value === 'string';\n }\n DocumentUri.is = is;\n})(DocumentUri || (DocumentUri = {}));\nvar URI;\n(function (URI) {\n function is(value) {\n return typeof value === 'string';\n }\n URI.is = is;\n})(URI || (URI = {}));\nvar integer;\n(function (integer) {\n integer.MIN_VALUE = -2147483648;\n integer.MAX_VALUE = 2147483647;\n function is(value) {\n return typeof value === 'number' && integer.MIN_VALUE <= value && value <= integer.MAX_VALUE;\n }\n integer.is = is;\n})(integer || (integer = {}));\nvar uinteger;\n(function (uinteger) {\n uinteger.MIN_VALUE = 0;\n uinteger.MAX_VALUE = 2147483647;\n function is(value) {\n return typeof value === 'number' && uinteger.MIN_VALUE <= value && value <= uinteger.MAX_VALUE;\n }\n uinteger.is = is;\n})(uinteger || (uinteger = {}));\n/**\n * The Position namespace provides helper functions to work with\n * {@link Position} literals.\n */\nvar Position;\n(function (Position) {\n /**\n * Creates a new Position literal from the given line and character.\n * @param line The position's line.\n * @param character The position's character.\n */\n function create(line, character) {\n if (line === Number.MAX_VALUE) {\n line = uinteger.MAX_VALUE;\n }\n if (character === Number.MAX_VALUE) {\n character = uinteger.MAX_VALUE;\n }\n return { line: line, character: character };\n }\n Position.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Position} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character);\n }\n Position.is = is;\n})(Position || (Position = {}));\n/**\n * The Range namespace provides helper functions to work with\n * {@link Range} literals.\n */\nvar Range;\n(function (Range) {\n function create(one, two, three, four) {\n if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) {\n return { start: Position.create(one, two), end: Position.create(three, four) };\n }\n else if (Position.is(one) && Position.is(two)) {\n return { start: one, end: two };\n }\n else {\n throw new Error(\"Range#create called with invalid arguments[\".concat(one, \", \").concat(two, \", \").concat(three, \", \").concat(four, \"]\"));\n }\n }\n Range.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Range} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\n }\n Range.is = is;\n})(Range || (Range = {}));\n/**\n * The Location namespace provides helper functions to work with\n * {@link Location} literals.\n */\nvar Location;\n(function (Location) {\n /**\n * Creates a Location literal.\n * @param uri The location's uri.\n * @param range The location's range.\n */\n function create(uri, range) {\n return { uri: uri, range: range };\n }\n Location.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Location} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\n }\n Location.is = is;\n})(Location || (Location = {}));\n/**\n * The LocationLink namespace provides helper functions to work with\n * {@link LocationLink} literals.\n */\nvar LocationLink;\n(function (LocationLink) {\n /**\n * Creates a LocationLink literal.\n * @param targetUri The definition's uri.\n * @param targetRange The full range of the definition.\n * @param targetSelectionRange The span of the symbol definition at the target.\n * @param originSelectionRange The span of the symbol being defined in the originating source file.\n */\n function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\n return { targetUri: targetUri, targetRange: targetRange, targetSelectionRange: targetSelectionRange, originSelectionRange: originSelectionRange };\n }\n LocationLink.create = create;\n /**\n * Checks whether the given literal conforms to the {@link LocationLink} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri)\n && Range.is(candidate.targetSelectionRange)\n && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\n }\n LocationLink.is = is;\n})(LocationLink || (LocationLink = {}));\n/**\n * The Color namespace provides helper functions to work with\n * {@link Color} literals.\n */\nvar Color;\n(function (Color) {\n /**\n * Creates a new Color literal.\n */\n function create(red, green, blue, alpha) {\n return {\n red: red,\n green: green,\n blue: blue,\n alpha: alpha,\n };\n }\n Color.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Color} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.numberRange(candidate.red, 0, 1)\n && Is.numberRange(candidate.green, 0, 1)\n && Is.numberRange(candidate.blue, 0, 1)\n && Is.numberRange(candidate.alpha, 0, 1);\n }\n Color.is = is;\n})(Color || (Color = {}));\n/**\n * The ColorInformation namespace provides helper functions to work with\n * {@link ColorInformation} literals.\n */\nvar ColorInformation;\n(function (ColorInformation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(range, color) {\n return {\n range: range,\n color: color,\n };\n }\n ColorInformation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ColorInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && Color.is(candidate.color);\n }\n ColorInformation.is = is;\n})(ColorInformation || (ColorInformation = {}));\n/**\n * The Color namespace provides helper functions to work with\n * {@link ColorPresentation} literals.\n */\nvar ColorPresentation;\n(function (ColorPresentation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(label, textEdit, additionalTextEdits) {\n return {\n label: label,\n textEdit: textEdit,\n additionalTextEdits: additionalTextEdits,\n };\n }\n ColorPresentation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ColorInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.label)\n && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate))\n && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\n }\n ColorPresentation.is = is;\n})(ColorPresentation || (ColorPresentation = {}));\n/**\n * A set of predefined range kinds.\n */\nvar FoldingRangeKind;\n(function (FoldingRangeKind) {\n /**\n * Folding range for a comment\n */\n FoldingRangeKind.Comment = 'comment';\n /**\n * Folding range for an import or include\n */\n FoldingRangeKind.Imports = 'imports';\n /**\n * Folding range for a region (e.g. `#region`)\n */\n FoldingRangeKind.Region = 'region';\n})(FoldingRangeKind || (FoldingRangeKind = {}));\n/**\n * The folding range namespace provides helper functions to work with\n * {@link FoldingRange} literals.\n */\nvar FoldingRange;\n(function (FoldingRange) {\n /**\n * Creates a new FoldingRange literal.\n */\n function create(startLine, endLine, startCharacter, endCharacter, kind, collapsedText) {\n var result = {\n startLine: startLine,\n endLine: endLine\n };\n if (Is.defined(startCharacter)) {\n result.startCharacter = startCharacter;\n }\n if (Is.defined(endCharacter)) {\n result.endCharacter = endCharacter;\n }\n if (Is.defined(kind)) {\n result.kind = kind;\n }\n if (Is.defined(collapsedText)) {\n result.collapsedText = collapsedText;\n }\n return result;\n }\n FoldingRange.create = create;\n /**\n * Checks whether the given literal conforms to the {@link FoldingRange} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine)\n && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter))\n && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter))\n && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\n }\n FoldingRange.is = is;\n})(FoldingRange || (FoldingRange = {}));\n/**\n * The DiagnosticRelatedInformation namespace provides helper functions to work with\n * {@link DiagnosticRelatedInformation} literals.\n */\nvar DiagnosticRelatedInformation;\n(function (DiagnosticRelatedInformation) {\n /**\n * Creates a new DiagnosticRelatedInformation literal.\n */\n function create(location, message) {\n return {\n location: location,\n message: message\n };\n }\n DiagnosticRelatedInformation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DiagnosticRelatedInformation} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\n }\n DiagnosticRelatedInformation.is = is;\n})(DiagnosticRelatedInformation || (DiagnosticRelatedInformation = {}));\n/**\n * The diagnostic's severity.\n */\nvar DiagnosticSeverity;\n(function (DiagnosticSeverity) {\n /**\n * Reports an error.\n */\n DiagnosticSeverity.Error = 1;\n /**\n * Reports a warning.\n */\n DiagnosticSeverity.Warning = 2;\n /**\n * Reports an information.\n */\n DiagnosticSeverity.Information = 3;\n /**\n * Reports a hint.\n */\n DiagnosticSeverity.Hint = 4;\n})(DiagnosticSeverity || (DiagnosticSeverity = {}));\n/**\n * The diagnostic tags.\n *\n * @since 3.15.0\n */\nvar DiagnosticTag;\n(function (DiagnosticTag) {\n /**\n * Unused or unnecessary code.\n *\n * Clients are allowed to render diagnostics with this tag faded out instead of having\n * an error squiggle.\n */\n DiagnosticTag.Unnecessary = 1;\n /**\n * Deprecated or obsolete code.\n *\n * Clients are allowed to rendered diagnostics with this tag strike through.\n */\n DiagnosticTag.Deprecated = 2;\n})(DiagnosticTag || (DiagnosticTag = {}));\n/**\n * The CodeDescription namespace provides functions to deal with descriptions for diagnostic codes.\n *\n * @since 3.16.0\n */\nvar CodeDescription;\n(function (CodeDescription) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.href);\n }\n CodeDescription.is = is;\n})(CodeDescription || (CodeDescription = {}));\n/**\n * The Diagnostic namespace provides helper functions to work with\n * {@link Diagnostic} literals.\n */\nvar Diagnostic;\n(function (Diagnostic) {\n /**\n * Creates a new Diagnostic literal.\n */\n function create(range, message, severity, code, source, relatedInformation) {\n var result = { range: range, message: message };\n if (Is.defined(severity)) {\n result.severity = severity;\n }\n if (Is.defined(code)) {\n result.code = code;\n }\n if (Is.defined(source)) {\n result.source = source;\n }\n if (Is.defined(relatedInformation)) {\n result.relatedInformation = relatedInformation;\n }\n return result;\n }\n Diagnostic.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Diagnostic} interface.\n */\n function is(value) {\n var _a;\n var candidate = value;\n return Is.defined(candidate)\n && Range.is(candidate.range)\n && Is.string(candidate.message)\n && (Is.number(candidate.severity) || Is.undefined(candidate.severity))\n && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code))\n && (Is.undefined(candidate.codeDescription) || (Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)))\n && (Is.string(candidate.source) || Is.undefined(candidate.source))\n && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\n }\n Diagnostic.is = is;\n})(Diagnostic || (Diagnostic = {}));\n/**\n * The Command namespace provides helper functions to work with\n * {@link Command} literals.\n */\nvar Command;\n(function (Command) {\n /**\n * Creates a new Command literal.\n */\n function create(title, command) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var result = { title: title, command: command };\n if (Is.defined(args) && args.length > 0) {\n result.arguments = args;\n }\n return result;\n }\n Command.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Command} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\n }\n Command.is = is;\n})(Command || (Command = {}));\n/**\n * The TextEdit namespace provides helper function to create replace,\n * insert and delete edits more easily.\n */\nvar TextEdit;\n(function (TextEdit) {\n /**\n * Creates a replace text edit.\n * @param range The range of text to be replaced.\n * @param newText The new text.\n */\n function replace(range, newText) {\n return { range: range, newText: newText };\n }\n TextEdit.replace = replace;\n /**\n * Creates an insert text edit.\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n */\n function insert(position, newText) {\n return { range: { start: position, end: position }, newText: newText };\n }\n TextEdit.insert = insert;\n /**\n * Creates a delete text edit.\n * @param range The range of text to be deleted.\n */\n function del(range) {\n return { range: range, newText: '' };\n }\n TextEdit.del = del;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate)\n && Is.string(candidate.newText)\n && Range.is(candidate.range);\n }\n TextEdit.is = is;\n})(TextEdit || (TextEdit = {}));\nvar ChangeAnnotation;\n(function (ChangeAnnotation) {\n function create(label, needsConfirmation, description) {\n var result = { label: label };\n if (needsConfirmation !== undefined) {\n result.needsConfirmation = needsConfirmation;\n }\n if (description !== undefined) {\n result.description = description;\n }\n return result;\n }\n ChangeAnnotation.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.label) &&\n (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n ChangeAnnotation.is = is;\n})(ChangeAnnotation || (ChangeAnnotation = {}));\nvar ChangeAnnotationIdentifier;\n(function (ChangeAnnotationIdentifier) {\n function is(value) {\n var candidate = value;\n return Is.string(candidate);\n }\n ChangeAnnotationIdentifier.is = is;\n})(ChangeAnnotationIdentifier || (ChangeAnnotationIdentifier = {}));\nvar AnnotatedTextEdit;\n(function (AnnotatedTextEdit) {\n /**\n * Creates an annotated replace text edit.\n *\n * @param range The range of text to be replaced.\n * @param newText The new text.\n * @param annotation The annotation.\n */\n function replace(range, newText, annotation) {\n return { range: range, newText: newText, annotationId: annotation };\n }\n AnnotatedTextEdit.replace = replace;\n /**\n * Creates an annotated insert text edit.\n *\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n * @param annotation The annotation.\n */\n function insert(position, newText, annotation) {\n return { range: { start: position, end: position }, newText: newText, annotationId: annotation };\n }\n AnnotatedTextEdit.insert = insert;\n /**\n * Creates an annotated delete text edit.\n *\n * @param range The range of text to be deleted.\n * @param annotation The annotation.\n */\n function del(range, annotation) {\n return { range: range, newText: '', annotationId: annotation };\n }\n AnnotatedTextEdit.del = del;\n function is(value) {\n var candidate = value;\n return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n AnnotatedTextEdit.is = is;\n})(AnnotatedTextEdit || (AnnotatedTextEdit = {}));\n/**\n * The TextDocumentEdit namespace provides helper function to create\n * an edit that manipulates a text document.\n */\nvar TextDocumentEdit;\n(function (TextDocumentEdit) {\n /**\n * Creates a new `TextDocumentEdit`\n */\n function create(textDocument, edits) {\n return { textDocument: textDocument, edits: edits };\n }\n TextDocumentEdit.create = create;\n function is(value) {\n var candidate = value;\n return Is.defined(candidate)\n && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)\n && Array.isArray(candidate.edits);\n }\n TextDocumentEdit.is = is;\n})(TextDocumentEdit || (TextDocumentEdit = {}));\nvar CreateFile;\n(function (CreateFile) {\n function create(uri, options, annotation) {\n var result = {\n kind: 'create',\n uri: uri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n CreateFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'create' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n CreateFile.is = is;\n})(CreateFile || (CreateFile = {}));\nvar RenameFile;\n(function (RenameFile) {\n function create(oldUri, newUri, options, annotation) {\n var result = {\n kind: 'rename',\n oldUri: oldUri,\n newUri: newUri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n RenameFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n RenameFile.is = is;\n})(RenameFile || (RenameFile = {}));\nvar DeleteFile;\n(function (DeleteFile) {\n function create(uri, options, annotation) {\n var result = {\n kind: 'delete',\n uri: uri\n };\n if (options !== undefined && (options.recursive !== undefined || options.ignoreIfNotExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n DeleteFile.create = create;\n function is(value) {\n var candidate = value;\n return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.recursive === undefined || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === undefined || Is.boolean(candidate.options.ignoreIfNotExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n DeleteFile.is = is;\n})(DeleteFile || (DeleteFile = {}));\nvar WorkspaceEdit;\n(function (WorkspaceEdit) {\n function is(value) {\n var candidate = value;\n return candidate &&\n (candidate.changes !== undefined || candidate.documentChanges !== undefined) &&\n (candidate.documentChanges === undefined || candidate.documentChanges.every(function (change) {\n if (Is.string(change.kind)) {\n return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\n }\n else {\n return TextDocumentEdit.is(change);\n }\n }));\n }\n WorkspaceEdit.is = is;\n})(WorkspaceEdit || (WorkspaceEdit = {}));\nvar TextEditChangeImpl = /** @class */ (function () {\n function TextEditChangeImpl(edits, changeAnnotations) {\n this.edits = edits;\n this.changeAnnotations = changeAnnotations;\n }\n TextEditChangeImpl.prototype.insert = function (position, newText, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.insert(position, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.insert(position, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.insert(position, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.replace = function (range, newText, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.replace(range, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.replace(range, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.replace(range, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.delete = function (range, annotation) {\n var edit;\n var id;\n if (annotation === undefined) {\n edit = TextEdit.del(range);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.del(range, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.del(range, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n };\n TextEditChangeImpl.prototype.add = function (edit) {\n this.edits.push(edit);\n };\n TextEditChangeImpl.prototype.all = function () {\n return this.edits;\n };\n TextEditChangeImpl.prototype.clear = function () {\n this.edits.splice(0, this.edits.length);\n };\n TextEditChangeImpl.prototype.assertChangeAnnotations = function (value) {\n if (value === undefined) {\n throw new Error(\"Text edit change is not configured to manage change annotations.\");\n }\n };\n return TextEditChangeImpl;\n}());\n/**\n * A helper class\n */\nvar ChangeAnnotations = /** @class */ (function () {\n function ChangeAnnotations(annotations) {\n this._annotations = annotations === undefined ? Object.create(null) : annotations;\n this._counter = 0;\n this._size = 0;\n }\n ChangeAnnotations.prototype.all = function () {\n return this._annotations;\n };\n Object.defineProperty(ChangeAnnotations.prototype, \"size\", {\n get: function () {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n ChangeAnnotations.prototype.manage = function (idOrAnnotation, annotation) {\n var id;\n if (ChangeAnnotationIdentifier.is(idOrAnnotation)) {\n id = idOrAnnotation;\n }\n else {\n id = this.nextId();\n annotation = idOrAnnotation;\n }\n if (this._annotations[id] !== undefined) {\n throw new Error(\"Id \".concat(id, \" is already in use.\"));\n }\n if (annotation === undefined) {\n throw new Error(\"No annotation provided for id \".concat(id));\n }\n this._annotations[id] = annotation;\n this._size++;\n return id;\n };\n ChangeAnnotations.prototype.nextId = function () {\n this._counter++;\n return this._counter.toString();\n };\n return ChangeAnnotations;\n}());\n/**\n * A workspace change helps constructing changes to a workspace.\n */\nvar WorkspaceChange = /** @class */ (function () {\n function WorkspaceChange(workspaceEdit) {\n var _this = this;\n this._textEditChanges = Object.create(null);\n if (workspaceEdit !== undefined) {\n this._workspaceEdit = workspaceEdit;\n if (workspaceEdit.documentChanges) {\n this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations);\n workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n workspaceEdit.documentChanges.forEach(function (change) {\n if (TextDocumentEdit.is(change)) {\n var textEditChange = new TextEditChangeImpl(change.edits, _this._changeAnnotations);\n _this._textEditChanges[change.textDocument.uri] = textEditChange;\n }\n });\n }\n else if (workspaceEdit.changes) {\n Object.keys(workspaceEdit.changes).forEach(function (key) {\n var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\n _this._textEditChanges[key] = textEditChange;\n });\n }\n }\n else {\n this._workspaceEdit = {};\n }\n }\n Object.defineProperty(WorkspaceChange.prototype, \"edit\", {\n /**\n * Returns the underlying {@link WorkspaceEdit} literal\n * use to be returned from a workspace edit operation like rename.\n */\n get: function () {\n this.initDocumentChanges();\n if (this._changeAnnotations !== undefined) {\n if (this._changeAnnotations.size === 0) {\n this._workspaceEdit.changeAnnotations = undefined;\n }\n else {\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n }\n return this._workspaceEdit;\n },\n enumerable: false,\n configurable: true\n });\n WorkspaceChange.prototype.getTextEditChange = function (key) {\n if (OptionalVersionedTextDocumentIdentifier.is(key)) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var textDocument = { uri: key.uri, version: key.version };\n var result = this._textEditChanges[textDocument.uri];\n if (!result) {\n var edits = [];\n var textDocumentEdit = {\n textDocument: textDocument,\n edits: edits\n };\n this._workspaceEdit.documentChanges.push(textDocumentEdit);\n result = new TextEditChangeImpl(edits, this._changeAnnotations);\n this._textEditChanges[textDocument.uri] = result;\n }\n return result;\n }\n else {\n this.initChanges();\n if (this._workspaceEdit.changes === undefined) {\n throw new Error('Workspace edit is not configured for normal text edit changes.');\n }\n var result = this._textEditChanges[key];\n if (!result) {\n var edits = [];\n this._workspaceEdit.changes[key] = edits;\n result = new TextEditChangeImpl(edits);\n this._textEditChanges[key] = result;\n }\n return result;\n }\n };\n WorkspaceChange.prototype.initDocumentChanges = function () {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._changeAnnotations = new ChangeAnnotations();\n this._workspaceEdit.documentChanges = [];\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n };\n WorkspaceChange.prototype.initChanges = function () {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._workspaceEdit.changes = Object.create(null);\n }\n };\n WorkspaceChange.prototype.createFile = function (uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = CreateFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = CreateFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n WorkspaceChange.prototype.renameFile = function (oldUri, newUri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = RenameFile.create(oldUri, newUri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = RenameFile.create(oldUri, newUri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n WorkspaceChange.prototype.deleteFile = function (uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n var annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n var operation;\n var id;\n if (annotation === undefined) {\n operation = DeleteFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = DeleteFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n };\n return WorkspaceChange;\n}());\n\n/**\n * The TextDocumentIdentifier namespace provides helper functions to work with\n * {@link TextDocumentIdentifier} literals.\n */\nvar TextDocumentIdentifier;\n(function (TextDocumentIdentifier) {\n /**\n * Creates a new TextDocumentIdentifier literal.\n * @param uri The document's uri.\n */\n function create(uri) {\n return { uri: uri };\n }\n TextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link TextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri);\n }\n TextDocumentIdentifier.is = is;\n})(TextDocumentIdentifier || (TextDocumentIdentifier = {}));\n/**\n * The VersionedTextDocumentIdentifier namespace provides helper functions to work with\n * {@link VersionedTextDocumentIdentifier} literals.\n */\nvar VersionedTextDocumentIdentifier;\n(function (VersionedTextDocumentIdentifier) {\n /**\n * Creates a new VersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param version The document's version.\n */\n function create(uri, version) {\n return { uri: uri, version: version };\n }\n VersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link VersionedTextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version);\n }\n VersionedTextDocumentIdentifier.is = is;\n})(VersionedTextDocumentIdentifier || (VersionedTextDocumentIdentifier = {}));\n/**\n * The OptionalVersionedTextDocumentIdentifier namespace provides helper functions to work with\n * {@link OptionalVersionedTextDocumentIdentifier} literals.\n */\nvar OptionalVersionedTextDocumentIdentifier;\n(function (OptionalVersionedTextDocumentIdentifier) {\n /**\n * Creates a new OptionalVersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param version The document's version.\n */\n function create(uri, version) {\n return { uri: uri, version: version };\n }\n OptionalVersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link OptionalVersionedTextDocumentIdentifier} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version));\n }\n OptionalVersionedTextDocumentIdentifier.is = is;\n})(OptionalVersionedTextDocumentIdentifier || (OptionalVersionedTextDocumentIdentifier = {}));\n/**\n * The TextDocumentItem namespace provides helper functions to work with\n * {@link TextDocumentItem} literals.\n */\nvar TextDocumentItem;\n(function (TextDocumentItem) {\n /**\n * Creates a new TextDocumentItem literal.\n * @param uri The document's uri.\n * @param languageId The document's language identifier.\n * @param version The document's version number.\n * @param text The document's text.\n */\n function create(uri, languageId, version, text) {\n return { uri: uri, languageId: languageId, version: version, text: text };\n }\n TextDocumentItem.create = create;\n /**\n * Checks whether the given literal conforms to the {@link TextDocumentItem} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text);\n }\n TextDocumentItem.is = is;\n})(TextDocumentItem || (TextDocumentItem = {}));\n/**\n * Describes the content type that a client supports in various\n * result literals like `Hover`, `ParameterInfo` or `CompletionItem`.\n *\n * Please note that `MarkupKinds` must not start with a `$`. This kinds\n * are reserved for internal usage.\n */\nvar MarkupKind;\n(function (MarkupKind) {\n /**\n * Plain text is supported as a content format\n */\n MarkupKind.PlainText = 'plaintext';\n /**\n * Markdown is supported as a content format\n */\n MarkupKind.Markdown = 'markdown';\n /**\n * Checks whether the given value is a value of the {@link MarkupKind} type.\n */\n function is(value) {\n var candidate = value;\n return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown;\n }\n MarkupKind.is = is;\n})(MarkupKind || (MarkupKind = {}));\nvar MarkupContent;\n(function (MarkupContent) {\n /**\n * Checks whether the given value conforms to the {@link MarkupContent} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\n }\n MarkupContent.is = is;\n})(MarkupContent || (MarkupContent = {}));\n/**\n * The kind of a completion entry.\n */\nvar CompletionItemKind;\n(function (CompletionItemKind) {\n CompletionItemKind.Text = 1;\n CompletionItemKind.Method = 2;\n CompletionItemKind.Function = 3;\n CompletionItemKind.Constructor = 4;\n CompletionItemKind.Field = 5;\n CompletionItemKind.Variable = 6;\n CompletionItemKind.Class = 7;\n CompletionItemKind.Interface = 8;\n CompletionItemKind.Module = 9;\n CompletionItemKind.Property = 10;\n CompletionItemKind.Unit = 11;\n CompletionItemKind.Value = 12;\n CompletionItemKind.Enum = 13;\n CompletionItemKind.Keyword = 14;\n CompletionItemKind.Snippet = 15;\n CompletionItemKind.Color = 16;\n CompletionItemKind.File = 17;\n CompletionItemKind.Reference = 18;\n CompletionItemKind.Folder = 19;\n CompletionItemKind.EnumMember = 20;\n CompletionItemKind.Constant = 21;\n CompletionItemKind.Struct = 22;\n CompletionItemKind.Event = 23;\n CompletionItemKind.Operator = 24;\n CompletionItemKind.TypeParameter = 25;\n})(CompletionItemKind || (CompletionItemKind = {}));\n/**\n * Defines whether the insert text in a completion item should be interpreted as\n * plain text or a snippet.\n */\nvar InsertTextFormat;\n(function (InsertTextFormat) {\n /**\n * The primary text to be inserted is treated as a plain string.\n */\n InsertTextFormat.PlainText = 1;\n /**\n * The primary text to be inserted is treated as a snippet.\n *\n * A snippet can define tab stops and placeholders with `$1`, `$2`\n * and `${3:foo}`. `$0` defines the final tab stop, it defaults to\n * the end of the snippet. Placeholders with equal identifiers are linked,\n * that is typing in one will update others too.\n *\n * See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax\n */\n InsertTextFormat.Snippet = 2;\n})(InsertTextFormat || (InsertTextFormat = {}));\n/**\n * Completion item tags are extra annotations that tweak the rendering of a completion\n * item.\n *\n * @since 3.15.0\n */\nvar CompletionItemTag;\n(function (CompletionItemTag) {\n /**\n * Render a completion as obsolete, usually using a strike-out.\n */\n CompletionItemTag.Deprecated = 1;\n})(CompletionItemTag || (CompletionItemTag = {}));\n/**\n * The InsertReplaceEdit namespace provides functions to deal with insert / replace edits.\n *\n * @since 3.16.0\n */\nvar InsertReplaceEdit;\n(function (InsertReplaceEdit) {\n /**\n * Creates a new insert / replace edit\n */\n function create(newText, insert, replace) {\n return { newText: newText, insert: insert, replace: replace };\n }\n InsertReplaceEdit.create = create;\n /**\n * Checks whether the given literal conforms to the {@link InsertReplaceEdit} interface.\n */\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace);\n }\n InsertReplaceEdit.is = is;\n})(InsertReplaceEdit || (InsertReplaceEdit = {}));\n/**\n * How whitespace and indentation is handled during completion\n * item insertion.\n *\n * @since 3.16.0\n */\nvar InsertTextMode;\n(function (InsertTextMode) {\n /**\n * The insertion or replace strings is taken as it is. If the\n * value is multi line the lines below the cursor will be\n * inserted using the indentation defined in the string value.\n * The client will not apply any kind of adjustments to the\n * string.\n */\n InsertTextMode.asIs = 1;\n /**\n * The editor adjusts leading whitespace of new lines so that\n * they match the indentation up to the cursor of the line for\n * which the item is accepted.\n *\n * Consider a line like this: <2tabs><3tabs>foo. Accepting a\n * multi line completion item is indented using 2 tabs and all\n * following lines inserted will be indented using 2 tabs as well.\n */\n InsertTextMode.adjustIndentation = 2;\n})(InsertTextMode || (InsertTextMode = {}));\nvar CompletionItemLabelDetails;\n(function (CompletionItemLabelDetails) {\n function is(value) {\n var candidate = value;\n return candidate && (Is.string(candidate.detail) || candidate.detail === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n CompletionItemLabelDetails.is = is;\n})(CompletionItemLabelDetails || (CompletionItemLabelDetails = {}));\n/**\n * The CompletionItem namespace provides functions to deal with\n * completion items.\n */\nvar CompletionItem;\n(function (CompletionItem) {\n /**\n * Create a completion item and seed it with a label.\n * @param label The completion item's label\n */\n function create(label) {\n return { label: label };\n }\n CompletionItem.create = create;\n})(CompletionItem || (CompletionItem = {}));\n/**\n * The CompletionList namespace provides functions to deal with\n * completion lists.\n */\nvar CompletionList;\n(function (CompletionList) {\n /**\n * Creates a new completion list.\n *\n * @param items The completion items.\n * @param isIncomplete The list is not complete.\n */\n function create(items, isIncomplete) {\n return { items: items ? items : [], isIncomplete: !!isIncomplete };\n }\n CompletionList.create = create;\n})(CompletionList || (CompletionList = {}));\nvar MarkedString;\n(function (MarkedString) {\n /**\n * Creates a marked string from plain text.\n *\n * @param plainText The plain text.\n */\n function fromPlainText(plainText) {\n return plainText.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, '\\\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\n }\n MarkedString.fromPlainText = fromPlainText;\n /**\n * Checks whether the given value conforms to the {@link MarkedString} type.\n */\n function is(value) {\n var candidate = value;\n return Is.string(candidate) || (Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value));\n }\n MarkedString.is = is;\n})(MarkedString || (MarkedString = {}));\nvar Hover;\n(function (Hover) {\n /**\n * Checks whether the given value conforms to the {@link Hover} interface.\n */\n function is(value) {\n var candidate = value;\n return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) ||\n MarkedString.is(candidate.contents) ||\n Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === undefined || Range.is(value.range));\n }\n Hover.is = is;\n})(Hover || (Hover = {}));\n/**\n * The ParameterInformation namespace provides helper functions to work with\n * {@link ParameterInformation} literals.\n */\nvar ParameterInformation;\n(function (ParameterInformation) {\n /**\n * Creates a new parameter information literal.\n *\n * @param label A label string.\n * @param documentation A doc string.\n */\n function create(label, documentation) {\n return documentation ? { label: label, documentation: documentation } : { label: label };\n }\n ParameterInformation.create = create;\n})(ParameterInformation || (ParameterInformation = {}));\n/**\n * The SignatureInformation namespace provides helper functions to work with\n * {@link SignatureInformation} literals.\n */\nvar SignatureInformation;\n(function (SignatureInformation) {\n function create(label, documentation) {\n var parameters = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n parameters[_i - 2] = arguments[_i];\n }\n var result = { label: label };\n if (Is.defined(documentation)) {\n result.documentation = documentation;\n }\n if (Is.defined(parameters)) {\n result.parameters = parameters;\n }\n else {\n result.parameters = [];\n }\n return result;\n }\n SignatureInformation.create = create;\n})(SignatureInformation || (SignatureInformation = {}));\n/**\n * A document highlight kind.\n */\nvar DocumentHighlightKind;\n(function (DocumentHighlightKind) {\n /**\n * A textual occurrence.\n */\n DocumentHighlightKind.Text = 1;\n /**\n * Read-access of a symbol, like reading a variable.\n */\n DocumentHighlightKind.Read = 2;\n /**\n * Write-access of a symbol, like writing to a variable.\n */\n DocumentHighlightKind.Write = 3;\n})(DocumentHighlightKind || (DocumentHighlightKind = {}));\n/**\n * DocumentHighlight namespace to provide helper functions to work with\n * {@link DocumentHighlight} literals.\n */\nvar DocumentHighlight;\n(function (DocumentHighlight) {\n /**\n * Create a DocumentHighlight object.\n * @param range The range the highlight applies to.\n * @param kind The highlight kind\n */\n function create(range, kind) {\n var result = { range: range };\n if (Is.number(kind)) {\n result.kind = kind;\n }\n return result;\n }\n DocumentHighlight.create = create;\n})(DocumentHighlight || (DocumentHighlight = {}));\n/**\n * A symbol kind.\n */\nvar SymbolKind;\n(function (SymbolKind) {\n SymbolKind.File = 1;\n SymbolKind.Module = 2;\n SymbolKind.Namespace = 3;\n SymbolKind.Package = 4;\n SymbolKind.Class = 5;\n SymbolKind.Method = 6;\n SymbolKind.Property = 7;\n SymbolKind.Field = 8;\n SymbolKind.Constructor = 9;\n SymbolKind.Enum = 10;\n SymbolKind.Interface = 11;\n SymbolKind.Function = 12;\n SymbolKind.Variable = 13;\n SymbolKind.Constant = 14;\n SymbolKind.String = 15;\n SymbolKind.Number = 16;\n SymbolKind.Boolean = 17;\n SymbolKind.Array = 18;\n SymbolKind.Object = 19;\n SymbolKind.Key = 20;\n SymbolKind.Null = 21;\n SymbolKind.EnumMember = 22;\n SymbolKind.Struct = 23;\n SymbolKind.Event = 24;\n SymbolKind.Operator = 25;\n SymbolKind.TypeParameter = 26;\n})(SymbolKind || (SymbolKind = {}));\n/**\n * Symbol tags are extra annotations that tweak the rendering of a symbol.\n *\n * @since 3.16\n */\nvar SymbolTag;\n(function (SymbolTag) {\n /**\n * Render a symbol as obsolete, usually using a strike-out.\n */\n SymbolTag.Deprecated = 1;\n})(SymbolTag || (SymbolTag = {}));\nvar SymbolInformation;\n(function (SymbolInformation) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the location of the symbol.\n * @param uri The resource of the location of symbol.\n * @param containerName The name of the symbol containing the symbol.\n */\n function create(name, kind, range, uri, containerName) {\n var result = {\n name: name,\n kind: kind,\n location: { uri: uri, range: range }\n };\n if (containerName) {\n result.containerName = containerName;\n }\n return result;\n }\n SymbolInformation.create = create;\n})(SymbolInformation || (SymbolInformation = {}));\nvar WorkspaceSymbol;\n(function (WorkspaceSymbol) {\n /**\n * Create a new workspace symbol.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param uri The resource of the location of the symbol.\n * @param range An options range of the location.\n * @returns A WorkspaceSymbol.\n */\n function create(name, kind, uri, range) {\n return range !== undefined\n ? { name: name, kind: kind, location: { uri: uri, range: range } }\n : { name: name, kind: kind, location: { uri: uri } };\n }\n WorkspaceSymbol.create = create;\n})(WorkspaceSymbol || (WorkspaceSymbol = {}));\nvar DocumentSymbol;\n(function (DocumentSymbol) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param detail The detail of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the symbol.\n * @param selectionRange The selectionRange of the symbol.\n * @param children Children of the symbol.\n */\n function create(name, detail, kind, range, selectionRange, children) {\n var result = {\n name: name,\n detail: detail,\n kind: kind,\n range: range,\n selectionRange: selectionRange\n };\n if (children !== undefined) {\n result.children = children;\n }\n return result;\n }\n DocumentSymbol.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DocumentSymbol} interface.\n */\n function is(value) {\n var candidate = value;\n return candidate &&\n Is.string(candidate.name) && Is.number(candidate.kind) &&\n Range.is(candidate.range) && Range.is(candidate.selectionRange) &&\n (candidate.detail === undefined || Is.string(candidate.detail)) &&\n (candidate.deprecated === undefined || Is.boolean(candidate.deprecated)) &&\n (candidate.children === undefined || Array.isArray(candidate.children)) &&\n (candidate.tags === undefined || Array.isArray(candidate.tags));\n }\n DocumentSymbol.is = is;\n})(DocumentSymbol || (DocumentSymbol = {}));\n/**\n * A set of predefined code action kinds\n */\nvar CodeActionKind;\n(function (CodeActionKind) {\n /**\n * Empty kind.\n */\n CodeActionKind.Empty = '';\n /**\n * Base kind for quickfix actions: 'quickfix'\n */\n CodeActionKind.QuickFix = 'quickfix';\n /**\n * Base kind for refactoring actions: 'refactor'\n */\n CodeActionKind.Refactor = 'refactor';\n /**\n * Base kind for refactoring extraction actions: 'refactor.extract'\n *\n * Example extract actions:\n *\n * - Extract method\n * - Extract function\n * - Extract variable\n * - Extract interface from class\n * - ...\n */\n CodeActionKind.RefactorExtract = 'refactor.extract';\n /**\n * Base kind for refactoring inline actions: 'refactor.inline'\n *\n * Example inline actions:\n *\n * - Inline function\n * - Inline variable\n * - Inline constant\n * - ...\n */\n CodeActionKind.RefactorInline = 'refactor.inline';\n /**\n * Base kind for refactoring rewrite actions: 'refactor.rewrite'\n *\n * Example rewrite actions:\n *\n * - Convert JavaScript function to class\n * - Add or remove parameter\n * - Encapsulate field\n * - Make method static\n * - Move method to base class\n * - ...\n */\n CodeActionKind.RefactorRewrite = 'refactor.rewrite';\n /**\n * Base kind for source actions: `source`\n *\n * Source code actions apply to the entire file.\n */\n CodeActionKind.Source = 'source';\n /**\n * Base kind for an organize imports source action: `source.organizeImports`\n */\n CodeActionKind.SourceOrganizeImports = 'source.organizeImports';\n /**\n * Base kind for auto-fix source actions: `source.fixAll`.\n *\n * Fix all actions automatically fix errors that have a clear fix that do not require user input.\n * They should not suppress errors or perform unsafe fixes such as generating new types or classes.\n *\n * @since 3.15.0\n */\n CodeActionKind.SourceFixAll = 'source.fixAll';\n})(CodeActionKind || (CodeActionKind = {}));\n/**\n * The reason why code actions were requested.\n *\n * @since 3.17.0\n */\nvar CodeActionTriggerKind;\n(function (CodeActionTriggerKind) {\n /**\n * Code actions were explicitly requested by the user or by an extension.\n */\n CodeActionTriggerKind.Invoked = 1;\n /**\n * Code actions were requested automatically.\n *\n * This typically happens when current selection in a file changes, but can\n * also be triggered when file content changes.\n */\n CodeActionTriggerKind.Automatic = 2;\n})(CodeActionTriggerKind || (CodeActionTriggerKind = {}));\n/**\n * The CodeActionContext namespace provides helper functions to work with\n * {@link CodeActionContext} literals.\n */\nvar CodeActionContext;\n(function (CodeActionContext) {\n /**\n * Creates a new CodeActionContext literal.\n */\n function create(diagnostics, only, triggerKind) {\n var result = { diagnostics: diagnostics };\n if (only !== undefined && only !== null) {\n result.only = only;\n }\n if (triggerKind !== undefined && triggerKind !== null) {\n result.triggerKind = triggerKind;\n }\n return result;\n }\n CodeActionContext.create = create;\n /**\n * Checks whether the given literal conforms to the {@link CodeActionContext} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is)\n && (candidate.only === undefined || Is.typedArray(candidate.only, Is.string))\n && (candidate.triggerKind === undefined || candidate.triggerKind === CodeActionTriggerKind.Invoked || candidate.triggerKind === CodeActionTriggerKind.Automatic);\n }\n CodeActionContext.is = is;\n})(CodeActionContext || (CodeActionContext = {}));\nvar CodeAction;\n(function (CodeAction) {\n function create(title, kindOrCommandOrEdit, kind) {\n var result = { title: title };\n var checkKind = true;\n if (typeof kindOrCommandOrEdit === 'string') {\n checkKind = false;\n result.kind = kindOrCommandOrEdit;\n }\n else if (Command.is(kindOrCommandOrEdit)) {\n result.command = kindOrCommandOrEdit;\n }\n else {\n result.edit = kindOrCommandOrEdit;\n }\n if (checkKind && kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n CodeAction.create = create;\n function is(value) {\n var candidate = value;\n return candidate && Is.string(candidate.title) &&\n (candidate.diagnostics === undefined || Is.typedArray(candidate.diagnostics, Diagnostic.is)) &&\n (candidate.kind === undefined || Is.string(candidate.kind)) &&\n (candidate.edit !== undefined || candidate.command !== undefined) &&\n (candidate.command === undefined || Command.is(candidate.command)) &&\n (candidate.isPreferred === undefined || Is.boolean(candidate.isPreferred)) &&\n (candidate.edit === undefined || WorkspaceEdit.is(candidate.edit));\n }\n CodeAction.is = is;\n})(CodeAction || (CodeAction = {}));\n/**\n * The CodeLens namespace provides helper functions to work with\n * {@link CodeLens} literals.\n */\nvar CodeLens;\n(function (CodeLens) {\n /**\n * Creates a new CodeLens literal.\n */\n function create(range, data) {\n var result = { range: range };\n if (Is.defined(data)) {\n result.data = data;\n }\n return result;\n }\n CodeLens.create = create;\n /**\n * Checks whether the given literal conforms to the {@link CodeLens} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\n }\n CodeLens.is = is;\n})(CodeLens || (CodeLens = {}));\n/**\n * The FormattingOptions namespace provides helper functions to work with\n * {@link FormattingOptions} literals.\n */\nvar FormattingOptions;\n(function (FormattingOptions) {\n /**\n * Creates a new FormattingOptions literal.\n */\n function create(tabSize, insertSpaces) {\n return { tabSize: tabSize, insertSpaces: insertSpaces };\n }\n FormattingOptions.create = create;\n /**\n * Checks whether the given literal conforms to the {@link FormattingOptions} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\n }\n FormattingOptions.is = is;\n})(FormattingOptions || (FormattingOptions = {}));\n/**\n * The DocumentLink namespace provides helper functions to work with\n * {@link DocumentLink} literals.\n */\nvar DocumentLink;\n(function (DocumentLink) {\n /**\n * Creates a new DocumentLink literal.\n */\n function create(range, target, data) {\n return { range: range, target: target, data: data };\n }\n DocumentLink.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DocumentLink} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\n }\n DocumentLink.is = is;\n})(DocumentLink || (DocumentLink = {}));\n/**\n * The SelectionRange namespace provides helper function to work with\n * SelectionRange literals.\n */\nvar SelectionRange;\n(function (SelectionRange) {\n /**\n * Creates a new SelectionRange\n * @param range the range.\n * @param parent an optional parent.\n */\n function create(range, parent) {\n return { range: range, parent: parent };\n }\n SelectionRange.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent));\n }\n SelectionRange.is = is;\n})(SelectionRange || (SelectionRange = {}));\n/**\n * A set of predefined token types. This set is not fixed\n * an clients can specify additional token types via the\n * corresponding client capabilities.\n *\n * @since 3.16.0\n */\nvar SemanticTokenTypes;\n(function (SemanticTokenTypes) {\n SemanticTokenTypes[\"namespace\"] = \"namespace\";\n /**\n * Represents a generic type. Acts as a fallback for types which can't be mapped to\n * a specific type like class or enum.\n */\n SemanticTokenTypes[\"type\"] = \"type\";\n SemanticTokenTypes[\"class\"] = \"class\";\n SemanticTokenTypes[\"enum\"] = \"enum\";\n SemanticTokenTypes[\"interface\"] = \"interface\";\n SemanticTokenTypes[\"struct\"] = \"struct\";\n SemanticTokenTypes[\"typeParameter\"] = \"typeParameter\";\n SemanticTokenTypes[\"parameter\"] = \"parameter\";\n SemanticTokenTypes[\"variable\"] = \"variable\";\n SemanticTokenTypes[\"property\"] = \"property\";\n SemanticTokenTypes[\"enumMember\"] = \"enumMember\";\n SemanticTokenTypes[\"event\"] = \"event\";\n SemanticTokenTypes[\"function\"] = \"function\";\n SemanticTokenTypes[\"method\"] = \"method\";\n SemanticTokenTypes[\"macro\"] = \"macro\";\n SemanticTokenTypes[\"keyword\"] = \"keyword\";\n SemanticTokenTypes[\"modifier\"] = \"modifier\";\n SemanticTokenTypes[\"comment\"] = \"comment\";\n SemanticTokenTypes[\"string\"] = \"string\";\n SemanticTokenTypes[\"number\"] = \"number\";\n SemanticTokenTypes[\"regexp\"] = \"regexp\";\n SemanticTokenTypes[\"operator\"] = \"operator\";\n /**\n * @since 3.17.0\n */\n SemanticTokenTypes[\"decorator\"] = \"decorator\";\n})(SemanticTokenTypes || (SemanticTokenTypes = {}));\n/**\n * A set of predefined token modifiers. This set is not fixed\n * an clients can specify additional token types via the\n * corresponding client capabilities.\n *\n * @since 3.16.0\n */\nvar SemanticTokenModifiers;\n(function (SemanticTokenModifiers) {\n SemanticTokenModifiers[\"declaration\"] = \"declaration\";\n SemanticTokenModifiers[\"definition\"] = \"definition\";\n SemanticTokenModifiers[\"readonly\"] = \"readonly\";\n SemanticTokenModifiers[\"static\"] = \"static\";\n SemanticTokenModifiers[\"deprecated\"] = \"deprecated\";\n SemanticTokenModifiers[\"abstract\"] = \"abstract\";\n SemanticTokenModifiers[\"async\"] = \"async\";\n SemanticTokenModifiers[\"modification\"] = \"modification\";\n SemanticTokenModifiers[\"documentation\"] = \"documentation\";\n SemanticTokenModifiers[\"defaultLibrary\"] = \"defaultLibrary\";\n})(SemanticTokenModifiers || (SemanticTokenModifiers = {}));\n/**\n * @since 3.16.0\n */\nvar SemanticTokens;\n(function (SemanticTokens) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && (candidate.resultId === undefined || typeof candidate.resultId === 'string') &&\n Array.isArray(candidate.data) && (candidate.data.length === 0 || typeof candidate.data[0] === 'number');\n }\n SemanticTokens.is = is;\n})(SemanticTokens || (SemanticTokens = {}));\n/**\n * The InlineValueText namespace provides functions to deal with InlineValueTexts.\n *\n * @since 3.17.0\n */\nvar InlineValueText;\n(function (InlineValueText) {\n /**\n * Creates a new InlineValueText literal.\n */\n function create(range, text) {\n return { range: range, text: text };\n }\n InlineValueText.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.string(candidate.text);\n }\n InlineValueText.is = is;\n})(InlineValueText || (InlineValueText = {}));\n/**\n * The InlineValueVariableLookup namespace provides functions to deal with InlineValueVariableLookups.\n *\n * @since 3.17.0\n */\nvar InlineValueVariableLookup;\n(function (InlineValueVariableLookup) {\n /**\n * Creates a new InlineValueText literal.\n */\n function create(range, variableName, caseSensitiveLookup) {\n return { range: range, variableName: variableName, caseSensitiveLookup: caseSensitiveLookup };\n }\n InlineValueVariableLookup.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.boolean(candidate.caseSensitiveLookup)\n && (Is.string(candidate.variableName) || candidate.variableName === undefined);\n }\n InlineValueVariableLookup.is = is;\n})(InlineValueVariableLookup || (InlineValueVariableLookup = {}));\n/**\n * The InlineValueEvaluatableExpression namespace provides functions to deal with InlineValueEvaluatableExpression.\n *\n * @since 3.17.0\n */\nvar InlineValueEvaluatableExpression;\n(function (InlineValueEvaluatableExpression) {\n /**\n * Creates a new InlineValueEvaluatableExpression literal.\n */\n function create(range, expression) {\n return { range: range, expression: expression };\n }\n InlineValueEvaluatableExpression.create = create;\n function is(value) {\n var candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range)\n && (Is.string(candidate.expression) || candidate.expression === undefined);\n }\n InlineValueEvaluatableExpression.is = is;\n})(InlineValueEvaluatableExpression || (InlineValueEvaluatableExpression = {}));\n/**\n * The InlineValueContext namespace provides helper functions to work with\n * {@link InlineValueContext} literals.\n *\n * @since 3.17.0\n */\nvar InlineValueContext;\n(function (InlineValueContext) {\n /**\n * Creates a new InlineValueContext literal.\n */\n function create(frameId, stoppedLocation) {\n return { frameId: frameId, stoppedLocation: stoppedLocation };\n }\n InlineValueContext.create = create;\n /**\n * Checks whether the given literal conforms to the {@link InlineValueContext} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Range.is(value.stoppedLocation);\n }\n InlineValueContext.is = is;\n})(InlineValueContext || (InlineValueContext = {}));\n/**\n * Inlay hint kinds.\n *\n * @since 3.17.0\n */\nvar InlayHintKind;\n(function (InlayHintKind) {\n /**\n * An inlay hint that for a type annotation.\n */\n InlayHintKind.Type = 1;\n /**\n * An inlay hint that is for a parameter.\n */\n InlayHintKind.Parameter = 2;\n function is(value) {\n return value === 1 || value === 2;\n }\n InlayHintKind.is = is;\n})(InlayHintKind || (InlayHintKind = {}));\nvar InlayHintLabelPart;\n(function (InlayHintLabelPart) {\n function create(value) {\n return { value: value };\n }\n InlayHintLabelPart.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate)\n && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip))\n && (candidate.location === undefined || Location.is(candidate.location))\n && (candidate.command === undefined || Command.is(candidate.command));\n }\n InlayHintLabelPart.is = is;\n})(InlayHintLabelPart || (InlayHintLabelPart = {}));\nvar InlayHint;\n(function (InlayHint) {\n function create(position, label, kind) {\n var result = { position: position, label: label };\n if (kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n InlayHint.create = create;\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.position)\n && (Is.string(candidate.label) || Is.typedArray(candidate.label, InlayHintLabelPart.is))\n && (candidate.kind === undefined || InlayHintKind.is(candidate.kind))\n && (candidate.textEdits === undefined) || Is.typedArray(candidate.textEdits, TextEdit.is)\n && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip))\n && (candidate.paddingLeft === undefined || Is.boolean(candidate.paddingLeft))\n && (candidate.paddingRight === undefined || Is.boolean(candidate.paddingRight));\n }\n InlayHint.is = is;\n})(InlayHint || (InlayHint = {}));\nvar WorkspaceFolder;\n(function (WorkspaceFolder) {\n function is(value) {\n var candidate = value;\n return Is.objectLiteral(candidate) && URI.is(candidate.uri) && Is.string(candidate.name);\n }\n WorkspaceFolder.is = is;\n})(WorkspaceFolder || (WorkspaceFolder = {}));\nvar EOL = ['\\n', '\\r\\n', '\\r'];\n/**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\nvar TextDocument;\n(function (TextDocument) {\n /**\n * Creates a new ITextDocument literal from the given uri and content.\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's version.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ITextDocument} interface.\n */\n function is(value) {\n var candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount)\n && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\n }\n TextDocument.is = is;\n function applyEdits(document, edits) {\n var text = document.getText();\n var sortedEdits = mergeSort(edits, function (a, b) {\n var diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n var lastModifiedOffset = text.length;\n for (var i = sortedEdits.length - 1; i >= 0; i--) {\n var e = sortedEdits[i];\n var startOffset = document.offsetAt(e.range.start);\n var endOffset = document.offsetAt(e.range.end);\n if (endOffset <= lastModifiedOffset) {\n text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\n }\n else {\n throw new Error('Overlapping edit');\n }\n lastModifiedOffset = startOffset;\n }\n return text;\n }\n TextDocument.applyEdits = applyEdits;\n function mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n var p = (data.length / 2) | 0;\n var left = data.slice(0, p);\n var right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n var leftIdx = 0;\n var rightIdx = 0;\n var i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n var ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n }\n})(TextDocument || (TextDocument = {}));\n/**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\nvar FullTextDocument = /** @class */ (function () {\n function FullTextDocument(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n Object.defineProperty(FullTextDocument.prototype, \"uri\", {\n get: function () {\n return this._uri;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"languageId\", {\n get: function () {\n return this._languageId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FullTextDocument.prototype, \"version\", {\n get: function () {\n return this._version;\n },\n enumerable: false,\n configurable: true\n });\n FullTextDocument.prototype.getText = function (range) {\n if (range) {\n var start = this.offsetAt(range.start);\n var end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n };\n FullTextDocument.prototype.update = function (event, version) {\n this._content = event.text;\n this._version = version;\n this._lineOffsets = undefined;\n };\n FullTextDocument.prototype.getLineOffsets = function () {\n if (this._lineOffsets === undefined) {\n var lineOffsets = [];\n var text = this._content;\n var isLineStart = true;\n for (var i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n var ch = text.charAt(i);\n isLineStart = (ch === '\\r' || ch === '\\n');\n if (ch === '\\r' && i + 1 < text.length && text.charAt(i + 1) === '\\n') {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n this._lineOffsets = lineOffsets;\n }\n return this._lineOffsets;\n };\n FullTextDocument.prototype.positionAt = function (offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n var lineOffsets = this.getLineOffsets();\n var low = 0, high = lineOffsets.length;\n if (high === 0) {\n return Position.create(0, offset);\n }\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n var line = low - 1;\n return Position.create(line, offset - lineOffsets[line]);\n };\n FullTextDocument.prototype.offsetAt = function (position) {\n var lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n var lineOffset = lineOffsets[position.line];\n var nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n };\n Object.defineProperty(FullTextDocument.prototype, \"lineCount\", {\n get: function () {\n return this.getLineOffsets().length;\n },\n enumerable: false,\n configurable: true\n });\n return FullTextDocument;\n}());\nvar Is;\n(function (Is) {\n var toString = Object.prototype.toString;\n function defined(value) {\n return typeof value !== 'undefined';\n }\n Is.defined = defined;\n function undefined(value) {\n return typeof value === 'undefined';\n }\n Is.undefined = undefined;\n function boolean(value) {\n return value === true || value === false;\n }\n Is.boolean = boolean;\n function string(value) {\n return toString.call(value) === '[object String]';\n }\n Is.string = string;\n function number(value) {\n return toString.call(value) === '[object Number]';\n }\n Is.number = number;\n function numberRange(value, min, max) {\n return toString.call(value) === '[object Number]' && min <= value && value <= max;\n }\n Is.numberRange = numberRange;\n function integer(value) {\n return toString.call(value) === '[object Number]' && -2147483648 <= value && value <= 2147483647;\n }\n Is.integer = integer;\n function uinteger(value) {\n return toString.call(value) === '[object Number]' && 0 <= value && value <= 2147483647;\n }\n Is.uinteger = uinteger;\n function func(value) {\n return toString.call(value) === '[object Function]';\n }\n Is.func = func;\n function objectLiteral(value) {\n // Strictly speaking class instances pass this check as well. Since the LSP\n // doesn't use classes we ignore this for now. If we do we need to add something\n // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\n return value !== null && typeof value === 'object';\n }\n Is.objectLiteral = objectLiteral;\n function typedArray(value, check) {\n return Array.isArray(value) && value.every(check);\n }\n Is.typedArray = typedArray;\n})(Is || (Is = {}));\n\n\n//# sourceURL=webpack://web-transpiler/../../packages/transpiler/node_modules/vscode-languageserver-types/lib/esm/main.js?"); + +/***/ }), + +/***/ "./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 tokens_1 = __webpack_require__(/*! ./tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass Buffer {\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}\nclass Stream {\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 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}\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 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 Stream(raw.replace(/\\r/g, \"\"));\n this.buffer = new Buffer();\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.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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Token = void 0;\nconst position_1 = __webpack_require__(/*! ../../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass Token {\n constructor(start, str) {\n this.start = start;\n this.str = 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.Token = Token;\n//# sourceMappingURL=_token.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_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.WAtW = exports.AtW = exports.WAt = exports.At = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass At extends _token_1.Token {\n static railroad() {\n return \"@\";\n }\n}\nexports.At = At;\nclass WAt extends _token_1.Token {\n static railroad() {\n return \" @\";\n }\n}\nexports.WAt = WAt;\nclass AtW extends _token_1.Token {\n static railroad() {\n return \"@ \";\n }\n}\nexports.AtW = AtW;\nclass WAtW extends _token_1.Token {\n static railroad() {\n return \" @ \";\n }\n}\nexports.WAtW = WAtW;\n//# sourceMappingURL=at.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.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.WBracketLeftW = exports.BracketLeftW = exports.WBracketLeft = exports.BracketLeft = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass BracketLeft extends _token_1.Token {\n static railroad() {\n return \"[\";\n }\n}\nexports.BracketLeft = BracketLeft;\nclass WBracketLeft extends _token_1.Token {\n static railroad() {\n return \" [\";\n }\n}\nexports.WBracketLeft = WBracketLeft;\nclass BracketLeftW extends _token_1.Token {\n static railroad() {\n return \"[ \";\n }\n}\nexports.BracketLeftW = BracketLeftW;\nclass WBracketLeftW extends _token_1.Token {\n static railroad() {\n return \" [ \";\n }\n}\nexports.WBracketLeftW = WBracketLeftW;\n//# sourceMappingURL=bracket_left.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.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.WBracketRightW = exports.BracketRightW = exports.WBracketRight = exports.BracketRight = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass BracketRight extends _token_1.Token {\n static railroad() {\n return \"]\";\n }\n}\nexports.BracketRight = BracketRight;\nclass WBracketRight extends _token_1.Token {\n static railroad() {\n return \" ]\";\n }\n}\nexports.WBracketRight = WBracketRight;\nclass BracketRightW extends _token_1.Token {\n static railroad() {\n return \"] \";\n }\n}\nexports.BracketRightW = BracketRightW;\nclass WBracketRightW extends _token_1.Token {\n static railroad() {\n return \" ] \";\n }\n}\nexports.WBracketRightW = WBracketRightW;\n//# sourceMappingURL=bracket_right.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.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 _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Colon extends _token_1.Token {\n}\nexports.Colon = Colon;\n//# sourceMappingURL=colon.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Comment extends _token_1.Token {\n}\nexports.Comment = Comment;\n//# sourceMappingURL=comment.js.map\n\n//# sourceURL=webpack://web-transpiler/./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.WDashW = exports.DashW = exports.WDash = exports.Dash = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Dash extends _token_1.Token {\n static railroad() {\n return \"-\";\n }\n}\nexports.Dash = Dash;\nclass WDash extends _token_1.Token {\n static railroad() {\n return \" -\";\n }\n}\nexports.WDash = WDash;\nclass DashW extends _token_1.Token {\n static railroad() {\n return \"- \";\n }\n}\nexports.DashW = DashW;\nclass WDashW extends _token_1.Token {\n static railroad() {\n return \" - \";\n }\n}\nexports.WDashW = WDashW;\n//# sourceMappingURL=dash.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.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 _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Identifier extends _token_1.Token {\n}\nexports.Identifier = Identifier;\n//# sourceMappingURL=identifier.js.map\n\n//# sourceURL=webpack://web-transpiler/./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__(/*! ./bracket_left */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.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__(/*! ./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__(/*! ./dash */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identifier */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.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__(/*! ./paren_left */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.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__(/*! ./plus */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.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__exportStar(__webpack_require__(/*! ./static_arrow */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js\"), exports);\n__exportStar(__webpack_require__(/*! ./string */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/./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.WInstanceArrowW = exports.InstanceArrowW = exports.WInstanceArrow = exports.InstanceArrow = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass InstanceArrow extends _token_1.Token {\n static railroad() {\n return \"->\";\n }\n}\nexports.InstanceArrow = InstanceArrow;\nclass WInstanceArrow extends _token_1.Token {\n static railroad() {\n return \" ->\";\n }\n}\nexports.WInstanceArrow = WInstanceArrow;\nclass InstanceArrowW extends _token_1.Token {\n static railroad() {\n return \"-> \";\n }\n}\nexports.InstanceArrowW = InstanceArrowW;\nclass WInstanceArrowW extends _token_1.Token {\n static railroad() {\n return \" -> \";\n }\n}\nexports.WInstanceArrowW = WInstanceArrowW;\n//# sourceMappingURL=instance_arrow.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.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.WParenLeftW = exports.ParenLeftW = exports.WParenLeft = exports.ParenLeft = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass ParenLeft extends _token_1.Token {\n static railroad() {\n return \"(\";\n }\n}\nexports.ParenLeft = ParenLeft;\nclass WParenLeft extends _token_1.Token {\n static railroad() {\n return \" (\";\n }\n}\nexports.WParenLeft = WParenLeft;\nclass ParenLeftW extends _token_1.Token {\n static railroad() {\n return \"( \";\n }\n}\nexports.ParenLeftW = ParenLeftW;\nclass WParenLeftW extends _token_1.Token {\n static railroad() {\n return \" ( \";\n }\n}\nexports.WParenLeftW = WParenLeftW;\n//# sourceMappingURL=paren_left.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.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.WParenRightW = exports.ParenRightW = exports.WParenRight = exports.ParenRight = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass ParenRight extends _token_1.Token {\n static railroad() {\n return \")\";\n }\n}\nexports.ParenRight = ParenRight;\nclass WParenRight extends _token_1.Token {\n static railroad() {\n return \" )\";\n }\n}\nexports.WParenRight = WParenRight;\nclass ParenRightW extends _token_1.Token {\n static railroad() {\n return \") \";\n }\n}\nexports.ParenRightW = ParenRightW;\nclass WParenRightW extends _token_1.Token {\n static railroad() {\n return \" ) \";\n }\n}\nexports.WParenRightW = WParenRightW;\n//# sourceMappingURL=paren_right.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.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.WPlusW = exports.PlusW = exports.WPlus = exports.Plus = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Plus extends _token_1.Token {\n static railroad() {\n return \"+\";\n }\n}\nexports.Plus = Plus;\nclass WPlus extends _token_1.Token {\n static railroad() {\n return \" +\";\n }\n}\nexports.WPlus = WPlus;\nclass PlusW extends _token_1.Token {\n static railroad() {\n return \"+ \";\n }\n}\nexports.PlusW = PlusW;\nclass WPlusW extends _token_1.Token {\n static railroad() {\n return \" + \";\n }\n}\nexports.WPlusW = WPlusW;\n//# sourceMappingURL=plus.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.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 _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Pragma extends _token_1.Token {\n}\nexports.Pragma = Pragma;\n//# sourceMappingURL=pragma.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass Punctuation extends _token_1.Token {\n}\nexports.Punctuation = Punctuation;\n//# sourceMappingURL=punctuation.js.map\n\n//# sourceURL=webpack://web-transpiler/./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.WStaticArrowW = exports.StaticArrowW = exports.WStaticArrow = exports.StaticArrow = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass StaticArrow extends _token_1.Token {\n static railroad() {\n return \"=>\";\n }\n}\nexports.StaticArrow = StaticArrow;\nclass WStaticArrow extends _token_1.Token {\n static railroad() {\n return \" =>\";\n }\n}\nexports.WStaticArrow = WStaticArrow;\nclass StaticArrowW extends _token_1.Token {\n static railroad() {\n return \"=> \";\n }\n}\nexports.StaticArrowW = StaticArrowW;\nclass WStaticArrowW extends _token_1.Token {\n static railroad() {\n return \" => \";\n }\n}\nexports.WStaticArrowW = WStaticArrowW;\n//# sourceMappingURL=static_arrow.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.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.StringTemplateMiddle = exports.StringTemplateEnd = exports.StringTemplateBegin = exports.StringTemplate = exports.StringToken = void 0;\nconst _token_1 = __webpack_require__(/*! ./_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nclass StringToken extends _token_1.Token {\n}\nexports.StringToken = StringToken;\nclass StringTemplate extends _token_1.Token {\n}\nexports.StringTemplate = StringTemplate;\nclass StringTemplateBegin extends _token_1.Token {\n}\nexports.StringTemplateBegin = StringTemplateBegin;\nclass StringTemplateEnd extends _token_1.Token {\n}\nexports.StringTemplateEnd = StringTemplateEnd;\nclass StringTemplateMiddle extends _token_1.Token {\n}\nexports.StringTemplateMiddle = StringTemplateMiddle;\n//# sourceMappingURL=string.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.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.failStar = exports.failCombinator = exports.verNot = exports.ver = exports.plusPrio = exports.plus = exports.starPrio = exports.star = exports.per = exports.optPrio = exports.opt = exports.altPrio = exports.alt = exports.seq = exports.tok = exports.regex = exports.str = exports.Combi = exports.Expression = void 0;\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 const 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 result.push(...res);\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 const 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 result.push(...temp);\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}\nexports.str = str;\nfunction regex(r) {\n return new Regex(r);\n}\nexports.regex = regex;\nfunction tok(t) {\n return new Token(t.name);\n}\nexports.tok = tok;\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}\nexports.seq = seq;\nfunction alt(first, second, ...rest) {\n const list = [map(first), map(second)];\n list.push(...rest.map(map));\n return new Alternative(list);\n}\nexports.alt = alt;\nfunction altPrio(first, second, ...rest) {\n const list = [map(first), map(second)];\n list.push(...rest.map(map));\n return new AlternativePriority(list);\n}\nexports.altPrio = altPrio;\nfunction opt(first) {\n return new Optional(map(first));\n}\nexports.opt = opt;\nfunction optPrio(first) {\n return new OptionalPriority(map(first));\n}\nexports.optPrio = optPrio;\nfunction per(first, second, ...rest) {\n const list = [map(first), map(second)];\n list.push(...rest.map(map));\n return new Permutation(list);\n}\nexports.per = per;\nfunction star(first) {\n return new Star(map(first));\n}\nexports.star = star;\nfunction starPrio(first) {\n return new StarPriority(map(first));\n}\nexports.starPrio = starPrio;\nfunction plus(first) {\n return new Plus(map(first));\n}\nexports.plus = plus;\nfunction plusPrio(first) {\n return new PlusPriority(map(first));\n}\nexports.plusPrio = plusPrio;\nfunction ver(version, first, or) {\n return new Vers(version, map(first), or);\n}\nexports.ver = ver;\nfunction verNot(version, first) {\n return new VersNot(version, map(first));\n}\nexports.verNot = verNot;\nfunction failCombinator() {\n return new FailCombinator();\n}\nexports.failCombinator = failCombinator;\nfunction failStar() {\n return new FailStar();\n}\nexports.failStar = failStar;\n//# sourceMappingURL=combi.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 position_1 = __webpack_require__(/*! ../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass Macros {\n constructor(globalMacros) {\n this.macros = {};\n for (const m of globalMacros) {\n this.macros[m.toUpperCase()] = [];\n }\n }\n addMacro(name, contents) {\n if (this.isMacro(name)) {\n return;\n }\n this.macros[name.toUpperCase()] = contents;\n }\n getContents(name) {\n return this.macros[name.toUpperCase()];\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}\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) {\n var _a, _b;\n let name = undefined;\n let contents = [];\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 name = statement.getTokens()[1].getStr();\n contents = [];\n }\n else if (type instanceof Statements.Include) {\n const includeName = (_a = statement.findDirectExpression(Expressions.IncludeName)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n // todo, this does not take function module includes into account\n const prog = (_b = this.reg) === null || _b === void 0 ? void 0 : _b.getObject(\"PROG\", includeName);\n if (prog) {\n prog.parse(this.version, this.globalMacros, this.reg);\n const main = prog.getMainABAPFile();\n if (main) {\n // slow, this copies everything,\n this.find([...main.getStatements()]);\n }\n }\n }\n else if (name) {\n if (type instanceof Statements.EndOfDefinition) {\n this.macros.addMacro(name, contents);\n name = 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) {\n const result = [];\n let containsUnknown = false;\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 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);\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 position_1.VirtualPosition) {\n end = new 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\nclass AssignSource extends combi_1.Expression {\n getRunnable() {\n const component = (0, combi_1.seq)(\"COMPONENT\", 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/attribute_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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.SourceFieldSymbol, \"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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.alt)(_1.Cond, _1.Source), \"THEN\", (0, combi_1.alt)(_1.Source, _1.Throw));\n const elsee = (0, combi_1.seq)(\"ELSE\", (0, combi_1.alt)(_1.Source, _1.Throw));\n return (0, combi_1.seq)((0, combi_1.opt)(_1.Let), (0, combi_1.plus)(when), (0, combi_1.opt)(elsee));\n }\n}\nexports.CondBody = CondBody;\n//# sourceMappingURL=cond_body.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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));\n }\n}\nexports.DataDefinition = DataDefinition;\n//# sourceMappingURL=data_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\")));\n }\n}\nexports.FindType = FindType;\n//# sourceMappingURL=find_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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)(/^?$/), (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://web-transpiler/./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__(/*! ./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__(/*! ./sql_fields */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields.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__(/*! ./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 */ \"./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_arithmetics */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_arithmetics.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_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_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 */ \"./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_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_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__(/*! ./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_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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 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)(index));\n }\n}\nexports.InlineLoopDefinition = InlineLoopDefinition;\n//# sourceMappingURL=inline_loop_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/let.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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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+\\/)?\\w+#?@?\\/?!?&?>?\\$?$/);\n }\n}\nexports.MessageClass = MessageClass;\n//# sourceMappingURL=message_class.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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, \"=\", _1.SimpleName, (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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.Source, (0, combi_1.opt)(_1.Source), (0, combi_1.opt)(_1.Source), (0, combi_1.opt)(_1.Source));\n return wit;\n }\n}\nexports.RaiseWith = RaiseWith;\n//# sourceMappingURL=raise_with.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.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_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);\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 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);\n const permSingle = (0, combi_1.per)(_1.SQLFrom, sql_into_structure_1.SQLIntoStructure, where, _1.SQLClient, bypass, fields, _1.DatabaseConnection);\n const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), sql_field_name_1.SQLFieldName, (0, combi_1.tok)(tokens_1.WParenRightW));\n const fieldList = (0, combi_1.optPrio)((0, combi_1.altPrio)(_1.SQLFieldList, paren));\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), (0, combi_1.optPrio)(_1.SQLHints));\n return ret;\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\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 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, sql_into_structure_1.SQLIntoStructure, packTab));\n const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields), where, sql_into_structure_1.SQLIntoStructure, 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 return (0, combi_1.seq)(start, something, fields);\n }\n}\nexports.SimpleTarget = SimpleTarget;\n//# sourceMappingURL=simple_target.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 method = (0, combi_1.seq)(_1.MethodCallChain, (0, combi_1.optPrio)((0, combi_1.altPrio)(attr, comp)), (0, combi_1.optPrio)(dereference_1.Dereference));\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 // 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, (0, combi_1.optPrio)(dereference_1.Dereference)), 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, (0, combi_1.tok)(tokens_1.ParenLeftW), _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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/source_field_symbol.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));\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 when = (0, combi_1.seq)(\"WHEN\", (0, combi_1.alt)(constant_1.Constant, sql_cond_1.SQLCond), \"THEN\", (0, combi_1.altPrio)(_1.SQLAggregation, _1.SQLFunction, sql_source_1.SQLSource), (0, combi_1.starPrio)(sub));\n const els = (0, combi_1.seq)(\"ELSE\", sql_source_1.SQLSource);\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.plus)(when), (0, combi_1.optPrio)(els), \"END\"));\n }\n}\nexports.SQLCase = SQLCase;\n//# sourceMappingURL=sql_case.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\nclass SQLCompare extends combi_1.Expression {\n getRunnable() {\n const subSelect = (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\")), subSelect);\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 rett = (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLFunction, (0, combi_1.seq)(_1.SQLFieldName, (0, combi_1.optPrio)(arith))), (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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\nclass SQLFieldList extends combi_1.Expression {\n getRunnable() {\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)));\n }\n}\nexports.SQLFieldList = SQLFieldList;\n//# sourceMappingURL=sql_field_list.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\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 fieldList = (0, combi_1.seq)((0, combi_1.star)(someField), (0, combi_1.alt)(_1.SQLFieldName, 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://web-transpiler/./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://web-transpiler/./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\", _1.SQLFieldList);\n }\n}\nexports.SQLFields = SQLFields;\n//# sourceMappingURL=sql_fields.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_fields.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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 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 integer_1 = __webpack_require__(/*! ./integer */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/integer.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\");\nclass SQLFunction 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.alt)(simple_source3_1.SimpleSource3, paren)));\n const param = (0, combi_1.alt)(sql_field_name_1.SQLFieldName, sql_alias_field_1.SQLAliasField, SQLFunction, constant_1.Constant, sql_aggregation_1.SQLAggregation, at);\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 abs = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"abs\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const cast = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"cast\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \"AS\", castTypes, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const ceil = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"ceil\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const coalesce = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"coalesce\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const concat = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"concat\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const div = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"div\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const floor = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"floor\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const length = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"length\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const lower = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"lower\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const mod = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(\"mod\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const replace = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"replace\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const round = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)(\"round\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, \",\", param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const upper = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)(\"upper\", (0, combi_1.tok)(tokens_1.ParenLeftW), param, (0, combi_1.tok)(tokens_1.WParenRightW)));\n const uuid = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)(\"uuid\", (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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.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://web-transpiler/./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\");\nclass SQLHaving extends combi_1.Expression {\n getRunnable() {\n const having = (0, combi_1.seq)(\"HAVING\", dynamic_1.Dynamic);\n return having;\n }\n}\nexports.SQLHaving = SQLHaving;\n//# sourceMappingURL=sql_having.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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 = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.At), _1.SimpleSource3);\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://web-transpiler/./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_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\");\nconst paren_left_1 = __webpack_require__(/*! ../../1_lexer/tokens/paren_left */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js\");\nclass SQLIntoStructure extends combi_1.Expression {\n getRunnable() {\n const intoList = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.tok)(paren_left_1.WParenLeft), (0, combi_1.tok)(paren_left_1.WParenLeftW)), (0, combi_1.starPrio)((0, combi_1.seq)(_1.SQLTarget, \",\")), _1.SQLTarget, \")\");\n const intoSimple = (0, combi_1.seq)((0, combi_1.optPrio)(\"CORRESPONDING FIELDS OF\"), _1.SQLTarget);\n return (0, combi_1.seq)(\"INTO\", (0, combi_1.altPrio)(intoList, intoSimple));\n }\n}\nexports.SQLIntoStructure = SQLIntoStructure;\n//# sourceMappingURL=sql_into_structure.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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\")), \"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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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_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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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);\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 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.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://web-transpiler/./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://web-transpiler/./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 new _1.FieldSymbol();\n }\n}\nexports.TargetFieldSymbol = TargetFieldSymbol;\n//# sourceMappingURL=target_field_symbol.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 // todo, MESSAGE\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)), (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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/throw.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), typeType);\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/type_param.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.opt)(\"REF TO\"), (0, combi_1.opt)(_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.opt)(header), (0, combi_1.opt)(initial));\n const rangeLike = (0, combi_1.seq)(\"RANGE OF\", _1.SimpleFieldChain, (0, combi_1.opt)(header), (0, combi_1.opt)(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\", \"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 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, derived)));\n return ret;\n }\n}\nexports.TypeTable = TypeTable;\n//# sourceMappingURL=type_table.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 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)(\"READ-ONLY\"));\n return key;\n }\n}\nexports.TypeTableKey = TypeTableKey;\n//# sourceMappingURL=type_table_key.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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);\n }\n for (const w of wa) {\n const res = macros.handleMacros(w.statements);\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)) {\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 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\", expressions_1.FieldSub));\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.MethodName, \"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 dynamic = (0, combi_1.seq)(\"PARAMETER-TABLE\", expressions_1.Source, (0, combi_1.opt)((0, combi_1.seq)(\"EXCEPTION-TABLE\", expressions_1.Source)));\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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));\n }\n}\nexports.CaseType = CaseType;\n//# sourceMappingURL=case_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.NamespaceSimpleName)), 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.SQLSource);\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.Source);\n const options = (0, combi_1.per)(mode, blanks, sep);\n const sourc = (0, combi_1.seq)(expressions_1.Source, (0, combi_1.plus)(expressions_1.Source));\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 structure = (0, combi_1.seq)(\"BEGIN OF\", (0, combi_1.opt)(\"COMMON PART\"), 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 shared = (0, combi_1.seq)(\"SHARED MEMORY\", expressions_1.Field, \"(\", expressions_1.Field, \")\", 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.Source);\n const options = (0, combi_1.per)(\"DISPLAY-MODE\", title);\n const ret = (0, combi_1.seq)(\"EDITOR-CALL FOR\", (0, combi_1.opt)(\"REPORT\"), expressions_1.Source, (0, combi_1.opt)(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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\nclass EndTestSeam {\n getMatcher() {\n return (0, combi_1.str)(\"END-TEST-SEAM\");\n }\n}\nexports.EndTestSeam = EndTestSeam;\n//# sourceMappingURL=end_test_seam.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.SQLSource);\n const ret = (0, combi_1.seq)(\"FETCH NEXT CURSOR\", expressions_1.SQLSource, (0, combi_1.alt)(sql_into_structure_1.SQLIntoStructure, expressions_1.SQLIntoTable), (0, combi_1.opt)(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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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__(/*! ./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 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);\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 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, \"FOR READ\", (0, combi_1.alt)(expressions_1.TypeName, expressions_1.EntityAssociation), (0, combi_1.optPrio)(full), result, (0, combi_1.optPrio)(link)), (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));\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), 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\", expressions_1.Target, (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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 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, name, layout, destination, 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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, (0, combi_1.optPrio)(expressions_1.SQLHints));\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.optPrio)(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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/2_statements/statements/raise.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://web-transpiler/./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.FieldSub, (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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\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 fields = (0, combi_1.plus)((0, combi_1.alt)((0, combi_1.seq)(\"INTO\", (0, combi_1.failStar)()), expressions_1.FieldSub));\n const perm = (0, combi_1.per)((0, combi_1.alt)(index, key, from), expressions_1.ReadTableTarget, using, comparing, \"CASTING\", \"TRANSPORTING ALL FIELDS\", (0, combi_1.seq)(\"TRANSPORTING\", (0, combi_1.altPrio)(expressions_1.Dynamic, fields)), \"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://web-transpiler/./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.Target);\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\nclass Return {\n getMatcher() {\n return (0, combi_1.str)(\"RETURN\");\n }\n}\nexports.Return = Return;\n//# sourceMappingURL=return.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\"), 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.Field), 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.InlineField, \"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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\nclass TestSeam {\n getMatcher() {\n return (0, combi_1.seq)(\"TEST-SEAM\", expressions_1.TestSeamName);\n }\n}\nexports.TestSeam = TestSeam;\n//# sourceMappingURL=test_seam.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\nclass TruncateDataset {\n getMatcher() {\n return (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://web-transpiler/./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://web-transpiler/./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)));\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\", 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.InlineData);\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));\n }\n}\nexports.WhenType = WhenType;\n//# sourceMappingURL=when_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.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://web-transpiler/./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://web-transpiler/./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.sub = exports.sta = exports.star = exports.opt = exports.beginEnd = exports.alt = exports.seq = void 0;\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 const 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 out.push(...match.matched);\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 const 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 out.push(...match.matched);\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}\nexports.seq = seq;\nfunction alt(first, ...rest) {\n return new Alternative([first].concat(rest));\n}\nexports.alt = alt;\nfunction beginEnd(begin, body, end) {\n return new Sequence([begin, body, end]);\n}\nexports.beginEnd = beginEnd;\nfunction opt(o) {\n return new Optional(o);\n}\nexports.opt = opt;\nfunction star(s) {\n return new Star(s);\n}\nexports.star = star;\nfunction sta(s) {\n return new SubStatement(s);\n}\nexports.sta = sta;\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}\nexports.sub = sub;\n//# sourceMappingURL=_combi.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.sub)(when_type_1.WhenType)), (0, _combi_1.sta)(Statements.EndCase));\n }\n}\nexports.CaseType = CaseType;\n//# sourceMappingURL=case_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\nconst statements_1 = __webpack_require__(/*! ../../2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nclass ClassDefinition {\n getMatcher() {\n const body = (0, _combi_1.seq)((0, _combi_1.opt)((0, _combi_1.sta)(statements_1.SetExtendedCheck)), (0, _combi_1.star)((0, _combi_1.sta)(statements_1.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_1.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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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://web-transpiler/./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_section_1 = __webpack_require__(/*! ./section_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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_section_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://web-transpiler/./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://web-transpiler/./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 const body = (0, _combi_1.alt)((0, _combi_1.sub)(_1.Body), (0, _combi_1.sub)(_1.OnChange));\n return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Loop), (0, _combi_1.star)(body), (0, _combi_1.sta)(Statements.EndLoop));\n }\n}\nexports.Loop = Loop;\n//# sourceMappingURL=loop.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.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.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://web-transpiler/./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://web-transpiler/./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_section_1 = __webpack_require__(/*! ./section_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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_section_1.SectionContents)));\n }\n}\nexports.PrivateSection = PrivateSection;\n//# sourceMappingURL=private_section.js.map\n\n//# sourceURL=webpack://web-transpiler/./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_section_1 = __webpack_require__(/*! ./section_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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_section_1.SectionContents)));\n }\n}\nexports.ProtectedSection = ProtectedSection;\n//# sourceMappingURL=protected_section.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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_section_1 = __webpack_require__(/*! ./section_section */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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_section_1.SectionContents)));\n }\n}\nexports.PublicSection = PublicSection;\n//# sourceMappingURL=public_section.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/public_section.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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.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_section.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/3_structures/structures/section_section.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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 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://web-transpiler/./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://web-transpiler/./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("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BuiltIn = exports.BuiltInMethod = void 0;\n/* eslint-disable max-len */\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 return [];\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, row) {\n const token = new tokens_1.Identifier(new position_1.Position(row, 1), method.name);\n return new BuiltInMethod(token, BuiltIn.filename, method, row);\n }\n searchBuiltin(name) {\n if (name === undefined) {\n return undefined;\n }\n // todo, optimize, use hash map\n const index = BuiltIn.methods.findIndex(a => a.name === name.toUpperCase());\n if (index < 0) {\n return undefined;\n }\n return this.buildDefinition(BuiltIn.methods[index], index);\n }\n isPredicate(name) {\n if (name === undefined) {\n return undefined;\n }\n // todo, optimize, use hash map\n const index = BuiltIn.methods.findIndex(a => a.name === name.toUpperCase());\n if (index < 0) {\n return undefined;\n }\n return BuiltIn.methods[index].predicate;\n }\n getTypes() {\n const ret = this.buildSY();\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 return ret;\n }\n get(extras) {\n const ret = this.buildSY();\n ret.push(this.buildVariable(\"screen\")); // todo, add structure, or alternatively make native Statements\n ret.push(this.buildConstant(\"%_BACKSPACE\"));\n ret.push(this.buildConstant(\"%_CHARSIZE\"));\n ret.push(this.buildConstant(\"%_CR_LF\"));\n ret.push(this.buildConstant(\"%_ENDIAN\"));\n ret.push(this.buildConstant(\"%_FORMFEED\"));\n ret.push(this.buildConstant(\"%_HORIZONTAL_TAB\"));\n ret.push(this.buildConstant(\"%_MAXCHAR\"));\n ret.push(this.buildConstant(\"%_MINCHAR\"));\n ret.push(this.buildConstant(\"%_NEWLINE\"));\n ret.push(this.buildConstant(\"%_VERTICAL_TAB\"));\n ret.push(this.buildConstant(\"abap_false\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"' '\"));\n ret.push(this.buildConstant(\"abap_true\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"'X'\"));\n ret.push(this.buildConstant(\"abap_undefined\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"'-'\"));\n ret.push(this.buildConstant(\"abap_off\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"' '\"));\n ret.push(this.buildConstant(\"abap_on\", new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" }), \"'X'\"));\n ret.push(this.buildConstant(\"col_background\", basic_1.IntegerType.get(), \"0\"));\n ret.push(this.buildConstant(\"col_heading\", basic_1.IntegerType.get(), \"1\"));\n ret.push(this.buildConstant(\"col_key\", basic_1.IntegerType.get(), \"4\"));\n ret.push(this.buildConstant(\"col_negative\", basic_1.IntegerType.get(), \"6\"));\n ret.push(this.buildConstant(\"col_group\", basic_1.IntegerType.get(), \"7\"));\n ret.push(this.buildConstant(\"col_normal\", basic_1.IntegerType.get(), \"2\"));\n ret.push(this.buildConstant(\"col_positive\", basic_1.IntegerType.get(), \"5\"));\n ret.push(this.buildConstant(\"col_total\", basic_1.IntegerType.get(), \"3\"));\n ret.push(this.buildConstant(\"space\", new basic_1.CharacterType(1, { derivedFromConstant: true }), \"' '\"));\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 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 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}\nexports.BuiltIn = BuiltIn;\nBuiltIn.filename = \"_builtin.prog.abap\";\n// todo: \"pcre\" vs \"regex\", only one of these parameters are allowed\n// todo: \"pcre\", only possible from 755\nBuiltIn.methods = [\n {\n name: \"ABS\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"ACOS\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"ASIN\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"ATAN\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"BIT-SET\",\n mandatory: {\n \"val\": basic_1.IntegerType.get(),\n },\n return: new basic_1.XStringType(),\n version: version_1.Version.v702,\n },\n {\n name: \"BOOLC\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"BOOLX\",\n mandatory: {\n \"bool\": new basic_1.CLikeType(),\n },\n optional: {\n \"bit\": basic_1.IntegerType.get(),\n },\n return: new basic_1.XStringType(),\n version: version_1.Version.v702,\n },\n {\n name: \"CEIL\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"CHAR_OFF\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\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 {\n name: \"CHARLEN\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"CMAX\",\n mandatory: {\n \"val1\": new basic_1.CLikeType(),\n \"val2\": new basic_1.CLikeType(),\n },\n optional: {\n \"val3\": new basic_1.CLikeType(),\n \"val4\": new basic_1.CLikeType(),\n \"val5\": new basic_1.CLikeType(),\n \"val6\": new basic_1.CLikeType(),\n \"val7\": new basic_1.CLikeType(),\n \"val9\": new basic_1.CLikeType(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"CMIN\",\n mandatory: {\n \"val1\": new basic_1.CLikeType(),\n \"val2\": new basic_1.CLikeType(),\n },\n optional: {\n \"val3\": new basic_1.CLikeType(),\n \"val4\": new basic_1.CLikeType(),\n \"val5\": new basic_1.CLikeType(),\n \"val6\": new basic_1.CLikeType(),\n \"val7\": new basic_1.CLikeType(),\n \"val9\": new basic_1.CLikeType(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"CONCAT_LINES_OF\",\n mandatory: {\n \"table\": new basic_1.TableType(new basic_1.AnyType(), { withHeader: false, keyType: basic_1.TableKeyType.default }),\n },\n optional: {\n \"sep\": new basic_1.CLikeType(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"CONDENSE\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"del\": new basic_1.CLikeType(),\n \"from\": new basic_1.CLikeType(),\n \"to\": new basic_1.CLikeType(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"CONTAINS\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"start\": new basic_1.CLikeType(),\n \"end\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"CONTAINS_ANY_NOT_OF\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"start\": new basic_1.CLikeType(),\n \"end\": new basic_1.CLikeType(),\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 {\n name: \"CONTAINS_ANY_OF\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"start\": new basic_1.CLikeType(),\n \"end\": new basic_1.CLikeType(),\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 {\n name: \"COS\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"COSH\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"COUNT\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"COUNT_ANY_NOT_OF\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"COUNT_ANY_OF\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"DBMAXLEN\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"DISTANCE\",\n mandatory: {\n \"val1\": new basic_1.CLikeType(),\n \"val2\": new basic_1.CLikeType(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"ESCAPE\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n \"format\": new basic_1.CLikeType(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"EXP\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"FIND\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"FIND_ANY_NOT_OF\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\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 {\n name: \"FIND_ANY_OF\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\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 {\n name: \"FIND_END\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"FLOOR\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"FRAC\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"FROM_MIXED\",\n mandatory: {\n \"val\": new basic_1.CLikeType()\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 {\n name: \"INSERT\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n \"sub\": new basic_1.CLikeType(),\n },\n optional: {\n \"off\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"IPOW\",\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 {\n name: \"LINE_EXISTS\",\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 {\n name: \"LINE_INDEX\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v740sp02,\n },\n {\n name: \"LINES\",\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 {\n name: \"LOG\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"LOG10\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"MATCH\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n }, optional: {\n \"case\": new basic_1.CharacterType(1),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"MATCHES\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"case\": new basic_1.CharacterType(1),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"NMAX\",\n mandatory: {\n \"val1\": new basic_1.CLikeType(),\n \"val2\": new basic_1.CLikeType(),\n },\n optional: {\n \"val3\": new basic_1.CLikeType(),\n \"val4\": new basic_1.CLikeType(),\n \"val5\": new basic_1.CLikeType(),\n \"val6\": new basic_1.CLikeType(),\n \"val7\": new basic_1.CLikeType(),\n \"val8\": new basic_1.CLikeType(),\n \"val9\": new basic_1.CLikeType(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"NMIN\",\n mandatory: {\n \"val1\": new basic_1.CLikeType(),\n \"val2\": new basic_1.CLikeType(),\n },\n optional: {\n \"val3\": new basic_1.CLikeType(),\n \"val4\": new basic_1.CLikeType(),\n \"val5\": new basic_1.CLikeType(),\n \"val6\": new basic_1.CLikeType(),\n \"val7\": new basic_1.CLikeType(),\n \"val8\": new basic_1.CLikeType(),\n \"val9\": new basic_1.CLikeType(),\n },\n return: basic_1.IntegerType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"NUMOFCHAR\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"REPEAT\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n \"occ\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"REPLACE\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n \"with\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"RESCALE\",\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 {\n name: \"REVERSE\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"ROUND\",\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 {\n name: \"SEGMENT\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n \"index\": basic_1.IntegerType.get(),\n },\n optional: {\n \"sep\": new basic_1.CLikeType(),\n \"space\": new basic_1.CLikeType(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"SHIFT_LEFT\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\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 {\n name: \"SHIFT_RIGHT\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\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 {\n name: \"SIGN\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"SIN\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"SINH\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"SQRT\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"STRLEN\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"SUBSTRING\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\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 {\n name: \"SUBSTRING_AFTER\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"SUBSTRING_BEFORE\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"SUBSTRING_FROM\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"SUBSTRING_TO\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"sub\": new basic_1.CLikeType(),\n \"regex\": new basic_1.CLikeType(),\n \"pcre\": new basic_1.CLikeType(),\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 {\n name: \"TAN\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"TANH\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: new basic_1.FloatType(),\n },\n {\n name: \"TO_LOWER\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"TO_MIXED\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n optional: {\n \"case\": new basic_1.CharacterType(1),\n \"sep\": new basic_1.CLikeType(),\n \"min\": basic_1.IntegerType.get(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"TO_UPPER\",\n mandatory: { \"val\": new basic_1.CLikeType() },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"TRANSLATE\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n \"from\": new basic_1.CLikeType(),\n \"to\": new basic_1.CLikeType(),\n },\n return: basic_1.StringType.get(),\n version: version_1.Version.v702,\n },\n {\n name: \"TRUNC\",\n mandatory: {\n \"val\": new basic_1.FloatType(),\n },\n return: basic_1.IntegerType.get(),\n },\n {\n name: \"UTCLONG_ADD\",\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 {\n name: \"UTCLONG_CURRENT\",\n return: new basic_1.UTCLongType(),\n version: version_1.Version.v754,\n },\n {\n name: \"UTCLONG_DIFF\",\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 {\n name: \"XSDBOOL\",\n mandatory: {\n \"val\": new basic_1.CLikeType(),\n },\n return: new basic_1.CharacterType(1),\n version: version_1.Version.v740sp08,\n },\n {\n name: \"XSTRLEN\",\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://web-transpiler/./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 _reference_1 = __webpack_require__(/*! ./_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.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 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 var _a;\n (_a = this.current) === null || _a === void 0 ? void 0 : _a.getData().idefs.push(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 throw new Error(`Variable name \"${name}\" already defined`);\n }\n this.current.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) {\n var _a;\n if (token === undefined) {\n return;\n }\n (_a = this.current) === null || _a === void 0 ? void 0 : _a.getData().deferred.push(token);\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 // todo, found + type can be removed from method output?\n existsObject(name) {\n var _a, _b, _c;\n if (name === undefined) {\n return { found: false };\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 { found: true, id: findLocalClass, type: _reference_1.ReferenceType.ObjectOrientedReference, ooType: \"CLAS\", RTTIName: prefixRTTI + \"\\\\CLASS=\" + findLocalClass.getName() };\n }\n const globalClas = this.reg.getObject(\"CLAS\", name);\n if (globalClas) {\n return { found: true, id: globalClas.getIdentifier(), type: _reference_1.ReferenceType.ObjectOrientedReference, 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 { found: true, id: findLocalInterface, type: _reference_1.ReferenceType.ObjectOrientedReference, ooType: \"INTF\", RTTIName: prefixRTTI + \"\\\\INTERFACE=\" + findLocalInterface.getName() };\n }\n const globalIntf = this.reg.getObject(\"INTF\", name);\n if (globalIntf) {\n return { found: true, id: globalIntf.getIdentifier(), type: _reference_1.ReferenceType.ObjectOrientedReference, 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 return { found: true, id: def };\n }\n return { found: false };\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 <= 2 || typePoolName.length > 5) {\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 (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 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 === _scope_type_1.ScopeType.ClassImplementation\n || stype === _scope_type_1.ScopeType.Interface) {\n return true;\n }\n curr = curr.getParent();\n }\n return false;\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 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://web-transpiler/./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\");\n// todo, think some of the public methods can be made private\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().getAll()) {\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 addAliasedTypes(aliases) {\n for (const alias of aliases.getAll()) {\n const comp = alias.getComponent();\n const idef = this.scope.findInterfaceDefinition(comp.split(\"~\")[0]);\n if (idef) {\n const found = idef.getTypeDefinitions().getByName(comp.split(\"~\")[1]);\n if (found) {\n this.scope.addTypeNamed(alias.getName(), found);\n }\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().getAll()) {\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 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 var _a;\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 ((_a = def.getAliases()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {\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 var _a;\n if (def === undefined || name === undefined) {\n return undefined;\n }\n const upper = name.toUpperCase();\n for (const a of def.getAttributes().getAll()) {\n if (a.getName().toUpperCase() === upper) {\n return a;\n }\n }\n for (const a of ((_a = def.getAliases()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {\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 (def.getImplementing().some((a) => a.name.toUpperCase() === 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().getAll()) {\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 for (const method of def.getMethodDefinitions().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\n fromInterfaces(classDefinition, skip) {\n const ignore = [];\n for (const i of classDefinition.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://web-transpiler/./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\");\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 dummy = _current_scope_1.CurrentScope.buildDefault(this.reg, obj);\n for (const found of structure.findAllStructures(Structures.Form)) {\n this.scope.addFormDefinitions([new types_1.FormDefinition(found, file.getFilename(), dummy)]);\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 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 {\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 const type = new _typed_identifier_1.TypedIdentifier(nameToken, filename, found);\n this.scope.addNamedIdentifier(param.name, type);\n }\n }\n}\nexports.Procedural = Procedural;\n//# sourceMappingURL=_procedural.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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[\"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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.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\");\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.StringType\n || type instanceof basic_1.AnyType\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.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.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 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;\n /*\n console.dir(source);\n console.dir(target);\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) {\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 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 && 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 (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.FloatType) {\n if (target instanceof basic_1.IntegerType) {\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.ObjectReferenceType\n || target instanceof basic_1.HexType) {\n return false;\n }\n }\n return this.isAssignable(source, target);\n }\n isAssignable(source, target) {\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.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.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.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.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.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.StringType) {\n if (source instanceof basic_1.TableType && source.isWithHeader() === false) {\n return false;\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 return true;\n }\n}\nexports.TypeUtils = TypeUtils;\n//# sourceMappingURL=_type_utils.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.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;\n/* eslint-disable default-case */\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(filename, scope) {\n this.filename = filename;\n this.scope = scope;\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.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.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.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.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.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.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.scope, this.filename, _reference_1.ReferenceType.TypeReference);\n }\n else {\n const name = children.shift().getFirstToken().getStr();\n let found = this.scope.findVariable(name);\n const full = this.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.scope.findExtraLikeType(name);\n type = found === null || found === void 0 ? void 0 : found.getType();\n }\n if (found) {\n this.scope.addReference(chain === null || chain === void 0 ? void 0 : chain.getFirstToken(), found, _reference_1.ReferenceType.TypeReference, this.filename);\n }\n if (type === undefined) {\n type = (_a = this.scope.getDDIC().lookupNoVoid(name)) === null || _a === void 0 ? void 0 : _a.type;\n }\n if (type === undefined && this.scope.isOO() === false && this.scope.getDDIC().inErrorNamespace(name) === false) {\n this.scope.addReference(chain.getChildren()[0].getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.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 let sub = undefined;\n if (type instanceof Types.TableType) {\n type = type.getRowType();\n }\n if (type instanceof Types.StructureType) {\n sub = type.getComponentByName(child.getFirstToken().getStr());\n }\n if (sub === undefined) {\n return new Types.UnknownType(\"Type error, field not part of structure \" + fullName);\n }\n type = sub;\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.scope.getDDIC().lookupBuiltinType(chainText, length, decimals, qualifiedName);\n if (f !== undefined) {\n return f;\n }\n const typ = this.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.scope.findInterfaceDefinition(name);\n if (idef) {\n this.scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, this.filename, { ooType: \"INTF\", ooName: name });\n }\n }\n this.scope.addReference(token, typ, _reference_1.ReferenceType.TypeReference, this.filename);\n return typ.getType();\n }\n const type = (_a = this.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.scope.getDDIC().lookup(chainText);\n if (ddic) {\n this.scope.getDDICReferences().addUsing(this.scope.getParentObj(), { object: ddic.object, token: typeName.getFirstToken(), filename: this.filename });\n if (ddic.type instanceof _typed_identifier_1.TypedIdentifier) {\n this.scope.addReference(typeName.getFirstToken(), ddic.type, _reference_1.ReferenceType.TypeReference, this.filename);\n }\n else if (ddic.type instanceof basic_1.VoidType) {\n this.scope.addReference(typeName.getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.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.scope.isTypePool() === true) {\n qualifiedName = name.getStr();\n }\n else {\n qualifiedName = (qualifiedNamePrefix || \"\") + name.getStr();\n if (this.scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || this.scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = this.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.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.SimpleFieldChain);\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.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.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;\n const chainText = expr.concatTokens().toUpperCase();\n if (chainText.includes(\"-\")) {\n // workaround for stuff like \"sy-repid\"\n const built = this.scope.findType(chainText);\n if (built) {\n this.scope.addReference(expr.getFirstToken(), built, _reference_1.ReferenceType.TypeReference, this.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.scope.getType() === _scope_type_1.ScopeType.Interface\n || this.scope.getType() === _scope_type_1.ScopeType.ClassDefinition)\n && this.scope.getName().toUpperCase() === className.toUpperCase()) {\n const foundId = this.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 this.scope.addReference(expr.getTokens()[2], foundId, _reference_1.ReferenceType.TypeReference, this.filename);\n }\n else {\n // lookup in local and global scope\n const obj = this.scope.findObjectDefinition(className);\n if (obj === undefined && this.scope.getDDIC().inErrorNamespace(className) === false) {\n this.scope.addReference(expr.getFirstToken(), undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, this.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.scope.addReference(expr.getFirstToken(), obj, _reference_1.ReferenceType.ObjectOrientedReference, this.filename, { ooType: type, ooName: className });\n const byName = new _object_oriented_1.ObjectOriented(this.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 this.scope.addReference(expr.getTokens()[2], byName, _reference_1.ReferenceType.TypeReference, this.filename);\n }\n }\n else if (className && chainText.includes(\"->\")) {\n const varVar = this.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.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.scope.addReference(expr.getFirstToken(), id, _reference_1.ReferenceType.ObjectOrientedReference, this.filename, { ooType: type, ooName: id.getName() });\n const byName = new _object_oriented_1.ObjectOriented(this.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 this.scope.addReference(expr.getTokens()[2], byName, _reference_1.ReferenceType.TypeReference, this.filename);\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.scope.findType(subs[0]);\n foundType = found === null || found === void 0 ? void 0 : found.getType();\n if (foundType === undefined) {\n const typePoolType = (_a = this.scope.findTypePoolType(subs[0])) === null || _a === void 0 ? void 0 : _a.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.scope.getDDIC().lookupTableOrView(subs[0]);\n this.scope.getDDICReferences().addUsing(this.scope.getParentObj(), { object: f.object, filename: this.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.scope.addReference(expr.getFirstToken(), found, _reference_1.ReferenceType.TypeReference, this.filename);\n }\n if (foundType === undefined && this.scope.getDDIC().inErrorNamespace(subs[0]) === false) {\n this.scope.addReference(expr.getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.filename);\n return new Types.VoidType(subs[0]);\n }\n else if (foundType instanceof Types.VoidType) {\n this.scope.addReference(expr.getFirstToken(), undefined, _reference_1.ReferenceType.VoidType, this.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.scope.findVariable(firstName);\n const val = found === null || found === void 0 ? void 0 : found.getValue();\n if (typeof val === \"string\") {\n this.scope.addReference(firstToken, found, _reference_1.ReferenceType.DataReadReference, this.filename);\n return val;\n }\n else if ((found === null || found === void 0 ? void 0 : found.getType()) instanceof basic_1.StructureType) {\n this.scope.addReference(firstToken, found, _reference_1.ReferenceType.DataReadReference, this.filename);\n }\n return undefined;\n }\n else if (firstNode.get() instanceof Expressions.ClassName\n && firstName.toLowerCase() === this.scope.getName().toLowerCase()\n && (this.scope.getType() === _scope_type_1.ScopeType.Interface\n || this.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.scope.findVariable(token.getStr());\n const val = found === null || found === void 0 ? void 0 : found.getValue();\n if (typeof val === \"string\") {\n this.scope.addReference(firstToken, found, _reference_1.ReferenceType.DataReadReference, this.filename);\n return val;\n }\n return undefined;\n }\n else if (firstNode.get() instanceof Expressions.ClassName) {\n const obj = this.scope.findObjectDefinition(firstName);\n if (obj === undefined) {\n if (this.scope.existsObject(firstName).found === true) {\n return undefined;\n }\n else if (this.scope.getDDIC().inErrorNamespace(firstName) === true) {\n throw new Error(\"resolveConstantValue, not found: \" + firstName);\n }\n else {\n this.scope.addReference(firstNode.getFirstToken(), undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, this.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.scope).searchConstantName(obj, attr);\n if (c instanceof class_constant_1.ClassConstant) {\n this.scope.addReference(token, c, _reference_1.ReferenceType.DataReadReference, this.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.getAllTokens().length === 1) {\n if (name.toUpperCase() === \"OBJECT\") {\n return new Types.GenericObjectReferenceType();\n }\n const search = this.scope.existsObject(name);\n if (search.found === true && search.id) {\n this.scope.addReference(chain.getFirstToken(), search.id, _reference_1.ReferenceType.ObjectOrientedReference, this.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.AnyType());\n }\n if (this.scope.isBadiDef(name) === true) {\n return new Types.VoidType(name);\n }\n if (((_a = this.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://web-transpiler/./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\");\nclass AttributeChain {\n runSyntax(inputContext, node, scope, filename, type) {\n if (inputContext instanceof void_type_1.VoidType) {\n return inputContext;\n }\n else if (!(inputContext instanceof object_reference_type_1.ObjectReferenceType)) {\n throw new Error(\"Not an object reference(AttributeChain)\");\n }\n const children = node.getChildren().slice();\n const first = children[0];\n if (!(first.get() instanceof expressions_1.AttributeName)) {\n throw new Error(\"AttributeChain, unexpected first child\");\n }\n const def = scope.findObjectDefinition(inputContext.getIdentifierName());\n if (def === undefined) {\n throw new Error(\"Definition for \\\"\" + inputContext.getIdentifierName() + \"\\\" not found in scope(AttributeChain)\");\n }\n const nameToken = first.getFirstToken();\n const name = nameToken.getStr();\n const helper = new _object_oriented_1.ObjectOriented(scope);\n let context = helper.searchAttributeName(def, name);\n if (context === undefined) {\n context = helper.searchConstantName(def, name);\n }\n if (context === undefined) {\n throw new Error(\"Attribute or constant \\\"\" + name + \"\\\" not found in \\\"\" + def.getName() + \"\\\"\");\n }\n for (const t of type) {\n scope.addReference(nameToken, context, t, 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://web-transpiler/./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\");\nclass AttributeName {\n runSyntax(context, node, scope, filename, type) {\n if (context instanceof void_type_1.VoidType) {\n return context;\n }\n const helper = new _object_oriented_1.ObjectOriented(scope);\n let ret = undefined;\n if (context instanceof object_reference_type_1.ObjectReferenceType) {\n const def = scope.findObjectDefinition(context.getIdentifierName());\n if (def === undefined) {\n throw new Error(\"Definition for \\\"\" + context.getIdentifierName() + \"\\\" not found in scope(AttributeName)\");\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 throw new Error(\"Attribute or constant \\\"\" + name + \"\\\" not found in \\\"\" + def.getName() + \"\\\"\");\n }\n if (type) {\n scope.addReference(token, found, type, filename);\n }\n if (found && name.includes(\"~\")) {\n const idef = scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, 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 throw new Error(\"Data reference not structured\");\n }\n ret = sub.getComponentByName(name);\n if (ret === undefined) {\n throw new Error(\"Component \\\"\" + name + \"\\\" not found in data reference structure\");\n }\n }\n else {\n throw new Error(\"Not an object reference, attribute name\");\n }\n return ret;\n }\n}\nexports.AttributeName = AttributeName;\n//# sourceMappingURL=attribute_name.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Cast {\n runSyntax(node, scope, targetType, filename) {\n const sourceNode = node.findDirectExpression(Expressions.Source);\n if (sourceNode === undefined) {\n throw new Error(\"Cast, source node not found\");\n }\n const sourceType = new source_1.Source().runSyntax(sourceNode, scope, filename);\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 throw new Error(\"Cast, child TypeNameOrInfer not found\");\n }\n else if (typeName === \"#\" && targetType) {\n tt = targetType;\n }\n else if (typeName === \"#\") {\n throw new Error(\"Cast, todo, infer type\");\n }\n if (tt === undefined && typeExpression) {\n const basic = new basic_types_1.BasicTypes(filename, scope);\n tt = basic.parseType(typeExpression);\n if (tt === undefined || tt instanceof basic_1.VoidType || tt instanceof basic_1.UnknownType) {\n const found = scope.findObjectDefinition(typeName);\n if (found) {\n tt = new basic_1.ObjectReferenceType(found, { qualifiedName: typeName });\n }\n }\n else {\n tt = new basic_1.DataReference(tt, typeName);\n }\n if (tt === undefined && 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 throw new Error(\"Type \\\"\" + typeName + \"\\\" not found in scope, Cast\");\n }\n }\n new source_1.Source().addIfInferred(node, scope, filename, tt);\n if (new _type_utils_1.TypeUtils(scope).isCastable(sourceType, tt) === false) {\n throw new Error(\"Cast, incompatible types\");\n }\n return tt;\n }\n}\nexports.Cast = Cast;\n//# sourceMappingURL=cast.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const t of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(t, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.SourceFieldSymbol)) {\n new source_field_symbol_1.SourceFieldSymbol().runSyntax(t, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.MethodCallChain)) {\n new method_call_chain_1.MethodCallChain().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Compare = Compare;\n//# sourceMappingURL=compare.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass ComponentChain {\n runSyntax(context, node, scope, filename) {\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 throw new Error(\"ComponentChain, not a structure\");\n }\n }\n else if (concat === \"=>\") {\n if (!(context instanceof basic_1.ObjectReferenceType)) {\n throw new Error(\"ComponentChain, not a reference\");\n }\n }\n else if (concat === \"->\") {\n if (!(context instanceof basic_1.ObjectReferenceType) && !(context instanceof basic_1.DataReference)) {\n throw new Error(\"ComponentChain, not a reference\");\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 throw new Error(\"Component \\\"\" + name + \"\\\" not found in structure\");\n }\n }\n else if (context instanceof basic_1.ObjectReferenceType) {\n const id = context.getIdentifier();\n const def = scope.findObjectDefinition(id.getName());\n if (def === undefined) {\n throw new Error(id.getName() + \" not found in scope\");\n }\n const helper = new _object_oriented_1.ObjectOriented(scope);\n const found = helper.searchAttributeName(def, name);\n context = found === null || found === void 0 ? void 0 : found.getType();\n if (context === undefined) {\n throw new Error(\"Attribute \\\"\" + name + \"\\\" not found\");\n }\n else {\n const extra = {\n ooName: id.getName(),\n ooType: id instanceof types_1.ClassDefinition ? \"CLAS\" : \"INTF\"\n };\n scope.addReference(child.getFirstToken(), found, _reference_1.ReferenceType.DataWriteReference, filename, extra);\n }\n }\n else {\n throw new Error(\"ComponentChain, not a structure, \" + (context === null || context === void 0 ? void 0 : context.constructor.name));\n }\n }\n }\n return context;\n }\n}\nexports.ComponentChain = ComponentChain;\n//# sourceMappingURL=component_chain.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 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, scope, filename, type) {\n const chain = node.findDirectExpression(Expressions.ComponentChainSimple);\n if (chain === undefined) {\n throw new Error(\"ComponentCompare, chain not found\");\n }\n new component_chain_1.ComponentChain().runSyntax(type, chain, scope, filename);\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.ComponentCompare = ComponentCompare;\n//# sourceMappingURL=component_compare.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 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, scope, filename, 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, scope, filename);\n }\n else if (c.get() instanceof Expressions.Dynamic) {\n targetType = undefined;\n }\n else if (c.get() instanceof Expressions.Source) {\n new source_1.Source().runSyntax(c, scope, filename, targetType);\n }\n else {\n throw \"ComponentCompareSimple, unexpected node\";\n }\n }\n }\n }\n}\nexports.ComponentCompareSimple = ComponentCompareSimple;\n//# sourceMappingURL=component_compare_simple.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename, 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, scope, filename, type);\n }\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCompare)) {\n new component_compare_1.ComponentCompare().runSyntax(t, scope, filename, type);\n }\n }\n}\nexports.ComponentCond = ComponentCond;\n//# sourceMappingURL=component_cond.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass ComponentName {\n runSyntax(context, node) {\n if (context instanceof Basic.VoidType) {\n return context;\n }\n const name = node.getFirstToken().getStr();\n if (context instanceof Basic.StructureType) {\n const ret = context.getComponentByName(name);\n if (ret === undefined) {\n throw new Error(\"Component \\\"\" + name + \"\\\" not found in structure\");\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 throw new Error(\"Component \\\"\" + name + \"\\\" not found in structure\");\n }\n return ret;\n }\n }\n throw new Error(\"Not a structure, ComponentName, \\\"\" + name + \"\\\"\");\n }\n}\nexports.ComponentName = ComponentName;\n//# sourceMappingURL=component_name.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n if (node === undefined) {\n throw new Error(\"Cond, expected node input\");\n }\n for (const t of node.findDirectExpressions(Expressions.CondSub)) {\n const c = t.findDirectExpression(Expressions.Cond);\n if (c) {\n new Cond().runSyntax(c, scope, filename);\n }\n }\n for (const t of node.findDirectExpressions(Expressions.Compare)) {\n new compare_1.Compare().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Cond = Cond;\n//# sourceMappingURL=cond.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\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, scope, filename);\n }\n else {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n if (scoped === true) {\n scope.pop(node.getLastToken().getEnd());\n }\n return type;\n }\n}\nexports.CondBody = CondBody;\n//# sourceMappingURL=cond_body.js.map\n\n//# sourceURL=webpack://web-transpiler/./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();\n }\n else if (node.getFirstToken().getStr().startsWith(\"'\")) {\n let len = node.getFirstToken().getStr().length - 2;\n if (len <= 0) {\n len = 1;\n }\n return new basic_1.CharacterType(len, { derivedFromConstant: true });\n }\n else if (node.getFirstToken().getStr().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://web-transpiler/./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\");\nclass ConvBody {\n runSyntax(node, scope, filename) {\n if (node === undefined) {\n return;\n }\n let scoped = false;\n const l = node.findDirectExpression(Expressions.Let);\n if (l) {\n scoped = new let_1.Let().runSyntax(l, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n if (scoped === true) {\n scope.pop(node.getLastToken().getEnd());\n }\n }\n}\nexports.ConvBody = ConvBody;\n//# sourceMappingURL=conv_body.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename, 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, scope, filename);\n }\n else {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n return targetType ? targetType : type;\n }\n}\nexports.CorrespondingBody = CorrespondingBody;\n//# sourceMappingURL=corresponding_body.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n const tt = node.findFirstExpression(Expressions.TypeTable);\n if (tt) {\n return new type_table_1.TypeTable().runSyntax(node, scope, filename);\n }\n const valueNode = node.findFirstExpression(Expressions.Value);\n let value = undefined;\n if (valueNode) {\n value = new basic_types_1.BasicTypes(filename, scope).findValue(node);\n }\n const bfound = new basic_types_1.BasicTypes(filename, scope).simpleType(node);\n if (bfound) {\n if (value) {\n return new _typed_identifier_1.TypedIdentifier(bfound.getToken(), filename, bfound.getType(), bfound.getMeta(), value);\n }\n else {\n return bfound;\n }\n }\n const name = node.findFirstExpression(Expressions.DefinitionName);\n if (name) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), 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://web-transpiler/./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\");\nclass DatabaseTable {\n runSyntax(node, scope, filename) {\n const token = node.getFirstToken();\n const name = token.getStr();\n if (name === \"(\") {\n // dynamic\n return undefined;\n }\n const found = scope.getDDIC().lookupTableOrView2(name);\n if (found === undefined && scope.getDDIC().inErrorNamespace(name) === true) {\n throw new Error(\"Database table or view \\\"\" + name + \"\\\" not found\");\n }\n else if (found === undefined) {\n scope.addReference(token, undefined, _reference_1.ReferenceType.TableVoidReference, filename);\n }\n else {\n scope.addReference(token, found.getIdentifier(), _reference_1.ReferenceType.TableReference, filename);\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: found, token: token, filename: filename });\n }\n return found;\n }\n}\nexports.DatabaseTable = DatabaseTable;\n//# sourceMappingURL=database_table.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Default {\n runSyntax(node, scope, filename) {\n const chain = node.findDirectExpression(Expressions.FieldChain);\n if (chain) {\n new field_chain_1.FieldChain().runSyntax(chain, scope, filename, _reference_1.ReferenceType.DataReadReference);\n }\n }\n}\nexports.Default = Default;\n//# sourceMappingURL=default.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Dereference {\n runSyntax(type) {\n if (type instanceof basic_1.VoidType\n || type instanceof basic_1.AnyType\n || type === undefined\n || type instanceof basic_1.UnknownType) {\n return type;\n }\n if (!(type instanceof basic_1.DataReference)) {\n throw new Error(\"Not a data reference, cannot be dereferenced\");\n }\n return type.getType();\n }\n}\nexports.Dereference = Dereference;\n//# sourceMappingURL=dereference.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n const chain = node.findDirectExpression(Expressions.FieldChain);\n if (chain) {\n new field_chain_1.FieldChain().runSyntax(chain, scope, filename, _reference_1.ReferenceType.DataReadReference);\n }\n }\n}\nexports.Dynamic = Dynamic;\n//# sourceMappingURL=dynamic.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 source_1 = __webpack_require__(/*! ./source */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js\");\nclass FieldAssignment {\n runSyntax(node, scope, filename, targetType) {\n const fieldSub = node.findDirectExpression(Expressions.FieldSub);\n if (fieldSub === undefined) {\n throw new Error(\"FieldAssignment, FieldSub node not found\");\n }\n const s = node.findDirectExpression(Expressions.Source);\n if (s === undefined) {\n throw new Error(\"FieldAssignment, Source node not found\");\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 throw new Error(`field ${text} does not exist in structure`);\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, scope, filename, type);\n }\n}\nexports.FieldAssignment = FieldAssignment;\n//# sourceMappingURL=field_assignment.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass FieldChain {\n runSyntax(node, scope, filename, refType) {\n const concat = node.concatTokens();\n if (concat.includes(\"-\")) {\n // workaround for names with dashes\n const found = scope.findVariable(concat);\n if (found) {\n if (refType) {\n scope.addReference(node.getFirstToken(), found, refType, filename);\n }\n return found.getType();\n }\n }\n const children = node.getChildren().slice();\n let contextName = children[0].concatTokens();\n let context = this.findTop(children.shift(), scope, filename, refType);\n while (children.length > 0) {\n contextName += children[0].concatTokens();\n const current = children.shift();\n if (current === undefined) {\n break;\n }\n if (current.get() instanceof tokens_1.DashW) {\n throw new Error(\"Ending with dash\");\n }\n else if (current.get() instanceof tokens_1.Dash) {\n if (context instanceof basic_1.UnknownType) {\n throw new Error(\"Not a structure, type unknown, FieldChain\");\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 if (scope.isAllowHeaderUse(contextName.substring(0, contextName.length - 1))) {\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 throw new Error(\"Table without header, cannot access fields, \" + contextName);\n }\n }\n else {\n throw new Error(\"Not a structure, FieldChain\");\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 throw new Error(\"Not an object reference, field chain\");\n }\n }\n else if (current.get() instanceof expressions_1.Dereference) {\n context = new dereference_1.Dereference().runSyntax(context);\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);\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 throw new Error(\"Table expression, expected table\");\n }\n new table_expression_1.TableExpression().runSyntax(current, scope, filename);\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, scope, filename, 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, scope, filename);\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, scope, filename);\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, scope, filename, 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, scope, filename);\n }\n else if (node instanceof nodes_1.ExpressionNode\n && node.get() instanceof Expressions.SourceField) {\n return new source_field_1.SourceField().runSyntax(node, scope, filename, 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 = scope.existsObject(classNam);\n if (found.found === true && found.id) {\n scope.addReference(classTok, found.id, found.type, filename);\n return new basic_1.ObjectReferenceType(found.id);\n }\n else if (scope.getDDIC().inErrorNamespace(classNam) === false) {\n scope.addReference(classTok, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, { ooName: classNam.toUpperCase() });\n return new basic_1.VoidType(classNam);\n }\n else {\n throw new Error(\"Unknown class \" + classNam);\n }\n }\n return undefined;\n }\n}\nexports.FieldChain = FieldChain;\n//# sourceMappingURL=field_chain.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n const field = node.findDirectExpression(Expressions.SimpleFieldChain2);\n if (field) {\n new field_chain_1.FieldChain().runSyntax(field, scope, filename, _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://web-transpiler/./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, scope, filename) {\n const field = node.findDirectExpression(Expressions.SimpleFieldChain2);\n if (field) {\n new field_chain_1.FieldChain().runSyntax(field, scope, filename, _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://web-transpiler/./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, scope, filename, 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, scope, filename);\n }\n else {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n return type ? type : targetType;\n }\n}\nexports.FilterBody = FilterBody;\n//# sourceMappingURL=filter_body.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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 scope.push(_scope_type_1.ScopeType.For, \"FOR\", node.getFirstToken().getStart(), filename);\n scoped = true;\n }\n for (const s of inlineLoop) {\n new inline_loop_definition_1.InlineLoopDefinition().runSyntax(s, scope, filename);\n }\n for (const f of inlineField) {\n new inline_field_definition_1.InlineFieldDefinition().runSyntax(f, scope, filename);\n }\n if (groupsToken !== undefined) {\n const type = new basic_1.VoidType(\"todoGroupBy\");\n const identifier = new _typed_identifier_1.TypedIdentifier(groupsToken, filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(groupsToken, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n if (lett) {\n new let_1.Let().runSyntax(lett, scope, filename, true);\n }\n return scoped;\n }\n}\nexports.For = For;\n//# sourceMappingURL=for.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass FormParam {\n runSyntax(node, scope, filename) {\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 = scope.findType(typeName)) === null || _c === void 0 ? void 0 : _c.getType();\n if (type === undefined) {\n type = 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, 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, filename, new basic_1.AnyType(), [\"form_parameter\" /* IdentifierMeta.FormParameter */]);\n }\n const bfound = new basic_types_1.BasicTypes(filename, scope).parseType(node);\n if (nameToken && bfound) {\n return new _typed_identifier_1.TypedIdentifier(nameToken, filename, bfound, [\"form_parameter\" /* IdentifierMeta.FormParameter */]);\n }\n if (nameToken) {\n return new _typed_identifier_1.TypedIdentifier(nameToken, filename, new basic_1.UnknownType(\"FormParam, todo\"), [\"form_parameter\" /* IdentifierMeta.FormParameter */]);\n }\n throw new Error(\"FormParam, unexpected node\");\n }\n}\nexports.FormParam = FormParam;\n//# sourceMappingURL=form_param.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass FSTarget {\n runSyntax(node, scope, filename, 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, scope, filename, 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 = scope.findVariable(token.getStr());\n if (found === undefined) {\n throw new Error(`\"${token.getStr()}\" not found, FSTarget`);\n }\n scope.addReference(token, found, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n }\n}\nexports.FSTarget = FSTarget;\n//# sourceMappingURL=fstarget.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass InlineData {\n runSyntax(node, scope, filename, 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 const identifier = new _typed_identifier_1.TypedIdentifier(token, filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, 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, filename, new basic_1.UnknownType(message), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n }\n}\nexports.InlineData = InlineData;\n//# sourceMappingURL=inline_data.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass InlineFieldDefinition {\n runSyntax(node, scope, filename, 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, scope, filename);\n }\n const typeName = node.findDirectExpression(Expressions.TypeName);\n if (typeName) {\n type = new basic_types_1.BasicTypes(filename, scope).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 (scope.findVariable(name) !== undefined) {\n throw new Error(`Variable ${name} already defined`);\n }\n const identifier = new _typed_identifier_1.TypedIdentifier(field, filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addReference(field, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n scope.addIdentifier(identifier);\n return type;\n }\n}\nexports.InlineFieldDefinition = InlineFieldDefinition;\n//# sourceMappingURL=inline_field_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename, 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, filename, type, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, 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, filename, new basic_1.UnknownType(message), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n }\n}\nexports.InlineFS = InlineFS;\n//# sourceMappingURL=inline_fs.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass InlineLoopDefinition {\n runSyntax(node, scope, filename) {\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, scope, filename);\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 throw new Error(\"Unknown type, \" + sourceType.getError());\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 throw new Error(\"InlineLoopDefinition, not a table type\");\n }\n const identifier = new _typed_identifier_1.TypedIdentifier(target.getFirstToken(), filename, rowType, [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addReference(target.getFirstToken(), identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n scope.addReference(target.getFirstToken(), identifier, _reference_1.ReferenceType.DataReadReference, filename);\n 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(), filename, basic_1.IntegerType.get(), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addReference(index.getFirstToken(), identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n scope.addIdentifier(identifier);\n }\n }\n}\nexports.InlineLoopDefinition = InlineLoopDefinition;\n//# sourceMappingURL=inline_loop_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename, skipScope = false) {\n if (node === undefined) {\n return false;\n }\n if (skipScope !== true) {\n scope.push(_scope_type_1.ScopeType.Let, \"LET\", node.getFirstToken().getStart(), filename);\n }\n for (const f of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {\n new inline_field_definition_1.InlineFieldDefinition().runSyntax(f, scope, filename);\n }\n return true;\n }\n}\nexports.Let = Let;\n//# sourceMappingURL=let.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename, new basic_1.VoidType(\"todoGroupBy\"));\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n for (const t of node.findAllExpressions(Expressions.FSTarget)) {\n new fstarget_1.FSTarget().runSyntax(t, scope, filename, new basic_1.VoidType(\"todoGroupBy\"));\n }\n /*\n const components: IStructureComponent[] = [];\n for (const c of node.findDirectExpressions(Expressions.LoopGroupByComponent)) {\n components.push({name: c.getFirstToken().getStr(), type: new VoidType(\"todoGroupBy\")});\n }\n if (components.length === 0) {\n return;\n }\n */\n // const sourceType = new StructureType(components);\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, scope, filename);\n }\n }\n }\n}\nexports.LoopGroupBy = LoopGroupBy;\n//# sourceMappingURL=loop_group_by.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n var _a, _b, _c, _d;\n for (const f of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(f, scope, filename);\n }\n if (node.getFirstToken().getStr().toUpperCase() === \"ID\") {\n const id = (_a = node.findExpressionAfterToken(\"ID\")) === null || _a === void 0 ? void 0 : _a.concatTokens();\n const number = (_b = node.findDirectExpression(Expressions.MessageNumber)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if ((id === null || id === void 0 ? void 0 : id.startsWith(\"'\")) && number) {\n const messageClass = id.substring(1, id.length - 1).toUpperCase();\n scope.getMSAGReferences().addUsing(filename, node.getFirstToken(), messageClass, number);\n }\n }\n else {\n const typeAndNumber = (_c = node.findDirectExpression(Expressions.MessageTypeAndNumber)) === null || _c === void 0 ? void 0 : _c.concatTokens();\n const messageNumber = typeAndNumber === null || typeAndNumber === void 0 ? void 0 : typeAndNumber.substring(1);\n const messageClass = (_d = node.findDirectExpression(Expressions.MessageClass)) === null || _d === void 0 ? void 0 : _d.concatTokens().toUpperCase();\n if (messageNumber && messageClass) {\n scope.getMSAGReferences().addUsing(filename, node.getFirstToken(), messageClass, messageNumber);\n }\n }\n }\n}\nexports.MessageSource = MessageSource;\n//# sourceMappingURL=message_source.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename, method) {\n const parameters = node.findDirectExpression(Expressions.MethodParameters);\n if (parameters) {\n new method_parameters_1.MethodParameters().runSyntax(parameters, scope, method, filename);\n }\n const param = node.findDirectExpression(Expressions.MethodCallParam);\n if (param) {\n new method_call_param_1.MethodCallParam().runSyntax(param, scope, method, filename);\n }\n // for PARAMETER-TABLE and EXCEPTION-TABLE\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.MethodCallBody = MethodCallBody;\n//# sourceMappingURL=method_call_body.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 class_definition_1 = __webpack_require__(/*! ../../types/class_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/class_definition.js\");\nclass MethodCallChain {\n runSyntax(node, scope, filename, targetType) {\n var _a, _b;\n const helper = new _object_oriented_1.ObjectOriented(scope);\n const children = node.getChildren().slice();\n const first = children.shift();\n if (first === undefined) {\n throw new Error(\"MethodCallChain, first child expected\");\n }\n let context = this.findTop(first, scope, targetType, filename);\n if (first.get() instanceof Expressions.MethodCall) {\n children.unshift(first);\n }\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 = 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 scope.addReference(methodToken, method, _reference_1.ReferenceType.BuiltinMethodReference, filename);\n }\n }\n else {\n const extra = {\n ooName: foundDef === null || foundDef === void 0 ? void 0 : foundDef.getName(),\n ooType: foundDef instanceof class_definition_1.ClassDefinition ? \"CLAS\" : \"INTF\"\n };\n scope.addReference(methodToken, method, _reference_1.ReferenceType.MethodReference, filename, extra);\n }\n if (methodName === null || methodName === void 0 ? void 0 : methodName.includes(\"~\")) {\n const name = methodName.split(\"~\")[0];\n const idef = scope.findInterfaceDefinition(name);\n if (idef) {\n scope.addReference(methodToken, idef, _reference_1.ReferenceType.ObjectOrientedReference, 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 throw new Error(\"Method \\\"\" + methodName + \"\\\" not found, methodCallChain\");\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, scope, method, filename);\n }\n else if (param && context instanceof basic_1.VoidType) {\n new method_call_param_1.MethodCallParam().runSyntax(param, scope, context, filename);\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);\n }\n else if (current instanceof nodes_1.ExpressionNode && current.get() instanceof Expressions.AttributeName) {\n context = new attribute_name_1.AttributeName().runSyntax(context, current, scope, filename);\n }\n }\n return context;\n }\n //////////////////////////////////////\n findTop(first, scope, targetType, filename) {\n var _a;\n if (first.get() instanceof Expressions.ClassName) {\n const token = first.getFirstToken();\n const className = token.getStr();\n const classDefinition = scope.findObjectDefinition(className);\n if (classDefinition === undefined && scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, extra);\n return new basic_1.VoidType(className);\n }\n else if (classDefinition === undefined) {\n throw new Error(\"Class \" + className + \" not found\");\n }\n scope.addReference(first.getFirstToken(), classDefinition, _reference_1.ReferenceType.ObjectOrientedReference, 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, scope, filename, _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, scope, targetType, filename);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Cast) {\n return new cast_1.Cast().runSyntax(first, scope, targetType, filename);\n }\n else {\n const meType = (_a = 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://web-transpiler/./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\");\nclass MethodCallParam {\n runSyntax(node, scope, method, filename) {\n if (!(node.get() instanceof Expressions.MethodCallParam)) {\n throw new Error(\"MethodCallParam, unexpected input\");\n }\n const children = node.getChildren();\n if (children.length < 2 || children.length > 3) {\n throw new Error(\"MethodCallParam, unexpected child length\");\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 throw new Error(\"Parameter \\\"\" + required[0].getName() + \"\\\" must be supplied\");\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) && method.getParameters().getImporting().length === 0) {\n throw new Error(\"Method \\\"\" + method.getName() + \"\\\" has no importing parameters\");\n }\n let targetType = undefined;\n if (!(method instanceof basic_1.VoidType)) {\n const name = method.getParameters().getDefaultImporting();\n if (name === undefined) {\n throw new Error(\"No default importing parameter\");\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, scope, filename, targetType);\n }\n const calculated = child.findFirstExpression(Expressions.MethodCallChain) !== undefined\n || child.findFirstExpression(Expressions.ArithOperator) !== undefined;\n if (sourceType === undefined) {\n throw new Error(\"No source type determined, method source\");\n }\n else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(sourceType, targetType, calculated) === false) {\n throw new Error(\"Method parameter type not compatible\");\n }\n }\n else if (child instanceof nodes_1.ExpressionNode && child.get() instanceof Expressions.ParameterListS) {\n new method_parameters_1.MethodParameters().checkExporting(child, scope, method, filename);\n }\n else if (child.get() instanceof Expressions.MethodParameters) {\n new method_parameters_1.MethodParameters().runSyntax(child, scope, method, filename);\n }\n else {\n // console.dir(child);\n throw new Error(\"MethodCallParam, unexpected child\");\n }\n }\n}\nexports.MethodCallParam = MethodCallParam;\n//# sourceMappingURL=method_call_param.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass MethodDefReturning {\n runSyntax(node, scope, filename, meta) {\n const name = node.findDirectExpression(Expressions.MethodParamName);\n if (name === undefined) {\n throw new Error(\"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 Error(\"method_parameter.ts, unexpected structure\");\n }\n let found = new basic_types_1.BasicTypes(filename, scope).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(), filename, found, meta);\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), 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://web-transpiler/./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\");\nclass MethodParam {\n runSyntax(node, scope, filename, meta) {\n const name = node.findDirectExpression(Expressions.MethodParamName);\n if (name === undefined) {\n throw new Error(\"MethodParam, todo, handle pass by value and reference\");\n }\n const type = node.findDirectExpression(Expressions.TypeParam);\n if (type === undefined) {\n throw new Error(\"MethodParam, unexpected structure\");\n }\n const def = type.findDirectExpression(Expressions.Default);\n if (def) {\n try {\n new default_1.Default().runSyntax(def, scope, filename);\n }\n catch (e) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), 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(), 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(), filename, new basic_1.XGenericType(), meta);\n }\n const found = new basic_types_1.BasicTypes(filename, scope).parseType(type);\n if (found) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), filename, found, meta);\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), 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://web-transpiler/./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\");\nclass MethodParameters {\n constructor() {\n this.requiredParameters = undefined;\n }\n runSyntax(node, scope, method, filename) {\n var _a;\n if (!(node.get() instanceof Expressions.MethodParameters)) {\n throw new Error(\"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(), scope, method, filename, false);\n break;\n case \"IMPORTING\":\n this.checkImporting(children.shift(), scope, method, filename);\n break;\n case \"CHANGING\":\n this.checkChanging(children.shift(), scope, method, filename);\n break;\n case \"RECEIVING\":\n this.checkReceiving(children.shift(), scope, method, filename);\n break;\n case \"EXCEPTIONS\":\n children.shift(); // todo, old style exceptions\n break;\n default:\n throw new Error(\"MethodParameters, unexpected token, \" + name);\n }\n }\n this.reportErrors();\n }\n ///////////////////////\n checkReceiving(node, scope, method, filename) {\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 throw new Error(\"Method does not have a returning parameter\");\n }\n else if (!(node instanceof nodes_1.ExpressionNode)) {\n throw new Error(\"checkReceiving, not an expression node\");\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, scope, filename, type);\n }\n else if (target) {\n const targetType = new target_1.Target().runSyntax(target, scope, filename);\n if (targetType && new _type_utils_1.TypeUtils(scope).isAssignable(type, targetType) === false) {\n throw new Error(\"Method returning value not type compatible\");\n }\n }\n }\n checkImporting(node, scope, method, filename) {\n for (const item of this.parameterListT(node, scope, filename)) {\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 throw new Error(\"Method exporting parameter \\\"\" + item.name + \"\\\" does not exist\");\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, scope, filename, parameterType);\n }\n else if (item.targetType === undefined) {\n throw new Error(\"Could not determine target type\");\n }\n else if (item.targetType && new _type_utils_1.TypeUtils(scope).isAssignable(parameterType, item.targetType) === false) {\n throw new Error(\"Method parameter type not compatible, \" + item.name);\n }\n }\n }\n checkChanging(node, scope, method, filename) {\n var _a;\n for (const item of this.parameterListT(node, scope, filename)) {\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 throw new Error(\"Method changing parameter \\\"\" + item.name + \"\\\" does not exist\");\n }\n parameterType = parameter.getType();\n }\n if (item.targetType && new _type_utils_1.TypeUtils(scope).isAssignable(parameterType, item.targetType) === false) {\n throw new Error(\"Method parameter type not compatible, \" + item.name);\n }\n (_a = this.requiredParameters) === null || _a === void 0 ? void 0 : _a.delete(item.name);\n }\n }\n checkExporting(node, scope, method, filename, errors = true) {\n const items = this.parameterListS(node, scope, filename, 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 if (parameter === undefined) {\n throw new Error(\"Method importing parameter \\\"\" + item.name + \"\\\" does not exist\");\n }\n else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(item.sourceType, parameter.getType()) === false) {\n throw new Error(\"Method parameter type not compatible, \" + item.name);\n }\n this.requiredParameters.delete(item.name);\n }\n if (errors === true) {\n this.reportErrors();\n }\n }\n reportErrors() {\n var _a;\n for (const r of ((_a = this.requiredParameters) === null || _a === void 0 ? void 0 : _a.values()) || []) {\n throw new Error(`method parameter \"${r}\" must be supplied`);\n }\n }\n parameterListS(node, scope, filename, method) {\n var _a;\n if (node === undefined) {\n return [];\n }\n else if (!(node.get() instanceof Expressions.ParameterListS)) {\n throw new Error(\"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 Error(\"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 Error(\"parameterListS, no name determined\");\n }\n const source = c.findDirectExpression(Expressions.Source);\n if (source === undefined) {\n throw new Error(\"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, scope, filename, targetType);\n if (sourceType === undefined) {\n if (method instanceof basic_1.VoidType) {\n sourceType = method;\n }\n else {\n throw new Error(\"No source type determined for parameter \" + name + \" input\");\n }\n }\n ret.push({ name, source, sourceType });\n }\n return ret;\n }\n parameterListT(node, scope, filename) {\n var _a;\n if (node === undefined) {\n return [];\n }\n else if (!(node.get() instanceof Expressions.ParameterListT)) {\n throw new Error(\"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 Error(\"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 Error(\"parameterListT, no name determined\");\n }\n const target = c.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n throw new Error(\"parameterListT, no target found\");\n }\n const targetType = new target_1.Target().runSyntax(target, scope, filename);\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://web-transpiler/./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 types_1 = __webpack_require__(/*! ../../types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst version_1 = __webpack_require__(/*! ../../../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass MethodSource {\n runSyntax(node, scope, filename) {\n var _a, _b, _c;\n const helper = new _object_oriented_1.ObjectOriented(scope);\n const children = node.getChildren().slice();\n const first = children.shift();\n if (first === undefined) {\n throw new Error(\"MethodSource, first child expected\");\n }\n let context = this.findTop(first, scope, filename);\n if (context === undefined) {\n context = (_a = scope.findVariable(\"me\")) === null || _a === void 0 ? void 0 : _a.getType();\n children.unshift(first);\n }\n if (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, \"\");\n if (name !== undefined && scope.findClassDefinition(name) === undefined) {\n throw new Error(`Class \"${name}\" not found/released`);\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 throw new Error(\"Not a structure, type unknown, MethodSource\");\n }\n else if (!(context instanceof basic_1.StructureType)) {\n throw new Error(\"Not a structure, MethodSource\");\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 try {\n if (context instanceof _abstract_type_1.AbstractType) {\n const attr = new attribute_name_1.AttributeName().runSyntax(context, current, scope, filename, _reference_1.ReferenceType.DataReadReference);\n context = attr;\n continue;\n }\n }\n catch (_d) {\n // ignore\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 = 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 throw new Error(\"Method or attribute \\\"\" + methodName + \"\\\" not found, MethodSource\");\n }\n else if (method) {\n const extra = {\n ooName: foundDef === null || foundDef === void 0 ? void 0 : foundDef.getName(),\n ooType: foundDef instanceof types_1.ClassDefinition ? \"CLAS\" : \"INTF\"\n };\n scope.addReference(methodToken, method, _reference_1.ReferenceType.MethodReference, 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);\n }\n else if (current instanceof nodes_1.ExpressionNode && current.get() instanceof Expressions.Dynamic) {\n new dynamic_1.Dynamic().runSyntax(current, scope, filename);\n context = new basic_1.VoidType(\"Dynamic\");\n }\n }\n if (context instanceof _abstract_type_1.AbstractType && !(context instanceof basic_1.VoidType)) {\n throw new Error(\"Not a method, MethodSource\");\n }\n else if (context === undefined) {\n throw new Error(\"Not found, MethodSource\");\n }\n return context;\n }\n //////////////////////////////////////\n findTop(first, scope, filename) {\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 = scope.findObjectDefinition(className);\n if (classDefinition === undefined && scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, extra);\n return new basic_1.VoidType(className);\n }\n else if (classDefinition === undefined) {\n throw new Error(\"Class \" + className + \" not found\");\n }\n scope.addReference(first.getFirstToken(), classDefinition, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n return new basic_1.ObjectReferenceType(classDefinition);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.SourceField) {\n try {\n return new source_field_1.SourceField().runSyntax(first, scope, filename, _reference_1.ReferenceType.DataReadReference);\n }\n catch (_a) {\n return undefined;\n }\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.SourceFieldSymbol) {\n return new source_field_symbol_1.SourceFieldSymbol().runSyntax(first, scope, filename);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Dynamic) {\n new dynamic_1.Dynamic().runSyntax(first, scope, filename);\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://web-transpiler/./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\");\nclass NewObject {\n runSyntax(node, scope, targetType, filename) {\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 Error(\"NewObject, child TypeNameOrInfer not found\");\n }\n else if (typeName === \"#\" && targetType && targetType instanceof basic_1.ObjectReferenceType) {\n const clas = scope.findClassDefinition(targetType.getIdentifierName());\n if (clas) {\n scope.addReference(typeToken, clas, _reference_1.ReferenceType.InferredType, filename);\n }\n ret = targetType;\n if ((clas === null || clas === void 0 ? void 0 : clas.isAbstract()) === true) {\n throw new Error(clas.getName() + \" is abstract, cannot be instantiated\");\n }\n }\n else if (typeName === \"#\" && targetType) {\n ret = targetType;\n }\n else if (typeName === \"#\") {\n throw new Error(\"NewObject, todo, infer type\");\n }\n if (ret === undefined) {\n const objDefinition = scope.findObjectDefinition(typeName);\n if (objDefinition) {\n scope.addReference(typeToken, objDefinition, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n const objref = new basic_1.ObjectReferenceType(objDefinition);\n const clas = scope.findClassDefinition(objref.getIdentifierName());\n if ((clas === null || clas === void 0 ? void 0 : clas.isAbstract()) === true) {\n throw new Error(clas.getName() + \" is abstract, cannot be instantiated\");\n }\n ret = objref;\n }\n }\n if (ret === undefined) {\n const basic = new basic_types_1.BasicTypes(filename, scope);\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 throw new Error(\"Type \\\"\" + typeName + \"\\\" not found in scope, NewObject\");\n }\n }\n if (ret instanceof basic_1.ObjectReferenceType) {\n this.parameters(node, ret, scope, filename);\n }\n else {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename, ret);\n }\n }\n if (ret instanceof basic_1.UnknownType && scope.getDDIC().inErrorNamespace(typeName) === true) {\n throw new Error(\"Class or type \\\"\" + typeName + \"\\\" not found\");\n }\n return ret;\n }\n parameters(node, obj, scope, filename) {\n const name = obj.getIdentifier().getName();\n const def = scope.findObjectDefinition(name);\n const helper = new _object_oriented_1.ObjectOriented(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 throw new Error(\"NewObject, no default importing parameter found for constructor, \" + name);\n }\n new source_1.Source().runSyntax(source, scope, filename, type);\n }\n else if (parameters) {\n // parameters with names\n if (method === undefined) {\n throw new Error(\"NewObject, no parameters for constructor found, \" + name);\n }\n new method_parameters_1.MethodParameters().checkExporting(parameters, scope, method, filename);\n }\n else if (requiredParameters.length > 0) {\n throw new Error(`constructor parameter \"${requiredParameters[0].getName()}\" must be supplied` + name);\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://web-transpiler/./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, scope, filename) {\n for (const f of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(f, scope, filename);\n }\n }\n}\nexports.RaiseWith = RaiseWith;\n//# sourceMappingURL=raise_with.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename, 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, scope, filename);\n }\n let first = undefined;\n for (const i of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {\n if (scoped === false) {\n scope.push(_scope_type_1.ScopeType.Let, \"LET\", node.getFirstToken().getStart(), filename);\n scoped = true;\n }\n const found = new inline_field_definition_1.InlineFieldDefinition().runSyntax(i, scope, filename, targetType);\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, scope, filename);\n if (scoped === true) {\n forScopes++;\n }\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.ReduceNext)) {\n new reduce_next_1.ReduceNext().runSyntax(s, scope, filename);\n }\n if (scoped === true) {\n scope.pop(node.getLastToken().getEnd());\n }\n for (let i = 0; i < forScopes; i++) {\n 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://web-transpiler/./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, scope, filename) {\n if (node === undefined) {\n return;\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleTarget)) {\n new target_1.Target().runSyntax(s, scope, filename);\n }\n }\n}\nexports.ReduceNext = ReduceNext;\n//# sourceMappingURL=reduce_next.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Select {\n runSyntax(node, scope, filename, skipImplicitInto = false) {\n var _a, _b;\n const token = node.getFirstToken();\n const from = node.findDirectExpression(Expressions.SQLFrom);\n const dbSources = from ? new sql_from_1.SQLFrom().runSyntax(from, scope, filename) : [];\n for (const inline of node.findAllExpressions(Expressions.InlineData)) {\n // todo, for now these are voided\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, new basic_1.VoidType(\"SELECT_todo\"));\n }\n const fae = node.findDirectExpression(Expressions.SQLForAllEntries);\n if (fae) {\n scope.push(_scope_type_1.ScopeType.OpenSQL, \"SELECT\", token.getStart(), filename);\n new sql_for_all_entries_1.SQLForAllEntries().runSyntax(fae, scope, filename);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\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.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 name = (_b = from === null || from === void 0 ? void 0 : from.findDirectExpression(Expressions.SQLFromSource)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (name && scope.findVariable(name) === undefined) {\n throw new Error(`Target variable ${name} not found in scope`);\n }\n }\n }\n // OFFSET\n for (const s of node.findDirectExpressions(Expressions.SQLSource)) {\n new sql_source_1.SQLSource().runSyntax(s, scope, filename);\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, scope, filename);\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, scope, filename);\n }\n }\n for (const s of node.findAllExpressions(Expressions.SQLCompare)) {\n new sql_compare_1.SQLCompare().runSyntax(s, scope, filename, dbSources);\n }\n if (scope.getType() === _scope_type_1.ScopeType.OpenSQL) {\n scope.pop(node.getLastToken().getEnd());\n }\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n // try using the other Select, they should look very much the same\n new select_1.Select().runSyntax(node, scope, filename);\n }\n}\nexports.SelectLoop = SelectLoop;\n//# sourceMappingURL=select_loop.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\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, scope, filename, 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 scope.addReference(token, method, _reference_1.ReferenceType.BuiltinMethodReference, filename);\n new cond_1.Cond().runSyntax(node.findDirectExpression(Expressions.Cond), scope, filename);\n return basic_1.StringType.get();\n }\n case \"XSDBOOL\":\n {\n const method = new _builtin_1.BuiltIn().searchBuiltin(tok);\n scope.addReference(token, method, _reference_1.ReferenceType.BuiltinMethodReference, filename);\n new cond_1.Cond().runSyntax(node.findDirectExpression(Expressions.Cond), scope, filename);\n return new basic_1.CharacterType(1, { qualifiedName: \"ABAP_BOOL\", ddicName: \"ABAP_BOOL\" });\n }\n case \"REDUCE\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n const bodyType = new reduce_body_1.ReduceBody().runSyntax(node.findDirectExpression(Expressions.ReduceBody), scope, filename, foundType);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, scope, filename, bodyType);\n }\n else {\n this.addIfInferred(node, scope, filename, foundType);\n }\n return foundType ? foundType : bodyType;\n }\n case \"SWITCH\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n const bodyType = new switch_body_1.SwitchBody().runSyntax(node.findDirectExpression(Expressions.SwitchBody), scope, filename);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, scope, filename, bodyType);\n }\n else {\n this.addIfInferred(node, scope, filename, foundType);\n }\n return foundType ? foundType : bodyType;\n }\n case \"COND\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n const bodyType = new cond_body_1.CondBody().runSyntax(node.findDirectExpression(Expressions.CondBody), scope, filename);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, scope, filename, bodyType);\n }\n else {\n this.addIfInferred(node, scope, filename, foundType);\n }\n return foundType ? foundType : bodyType;\n }\n case \"CONV\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n new conv_body_1.ConvBody().runSyntax(node.findDirectExpression(Expressions.ConvBody), scope, filename);\n this.addIfInferred(node, scope, filename, foundType);\n return foundType;\n }\n case \"REF\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n const s = new Source().runSyntax(node.findDirectExpression(Expressions.Source), scope, filename);\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, scope, filename, targetType);\n const bodyType = new filter_body_1.FilterBody().runSyntax(node.findDirectExpression(Expressions.FilterBody), scope, filename, foundType);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, scope, filename, bodyType);\n }\n else {\n this.addIfInferred(node, scope, filename, 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, scope, filename, targetType);\n new corresponding_body_1.CorrespondingBody().runSyntax(node.findDirectExpression(Expressions.CorrespondingBody), scope, filename, foundType);\n this.addIfInferred(node, scope, filename, foundType);\n return foundType;\n }\n case \"EXACT\":\n return this.determineType(node, scope, filename, targetType);\n case \"VALUE\":\n {\n const foundType = this.determineType(node, scope, filename, targetType);\n const bodyType = new value_body_1.ValueBody().runSyntax(node.findDirectExpression(Expressions.ValueBody), scope, filename, foundType);\n if (foundType === undefined || foundType.isGeneric()) {\n this.addIfInferred(node, scope, filename, bodyType);\n }\n else {\n this.addIfInferred(node, scope, filename, 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 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, scope, filename, targetType);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.FieldChain) {\n context = new field_chain_1.FieldChain().runSyntax(first, scope, filename, type);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.StringTemplate) {\n context = new string_template_1.StringTemplate().runSyntax(first, scope, filename);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.Source) {\n const found = new Source().runSyntax(first, scope, filename);\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(context);\n }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.ComponentChain) {\n context = new component_chain_1.ComponentChain().runSyntax(context, first, scope, filename);\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 }\n else if (first instanceof nodes_1.ExpressionNode && first.get() instanceof Expressions.AttributeChain) {\n context = new attribute_chain_1.AttributeChain().runSyntax(context, first, scope, filename, type);\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 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, scope, filename, inferredType) {\n const basic = new basic_types_1.BasicTypes(filename, scope);\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 scope.addReference(typeToken, found, _reference_1.ReferenceType.InferredType, filename);\n }\n else if (inferredType instanceof basic_1.ObjectReferenceType) {\n const def = scope.findObjectDefinition(inferredType.getQualifiedName());\n if (def) {\n const tid = new _typed_identifier_1.TypedIdentifier(typeToken, filename, inferredType);\n scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, 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, filename, inferredType);\n scope.addReference(typeToken, tid, _reference_1.ReferenceType.InferredType, filename);\n }\n }\n }\n determineType(node, scope, filename, targetType) {\n const basic = new basic_types_1.BasicTypes(filename, scope);\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 Error(\"determineType, child TypeNameOrInfer not found\");\n }\n else if (typeName === \"#\" && targetType) {\n // const found = basic.lookupQualifiedName(targetType.getQualifiedName());\n /*\n if (found) {\n scope.addReference(typeToken, found, ReferenceType.InferredType, filename);\n }\n */\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 (scope.getDDIC().inErrorNamespace(typeName) === false) {\n scope.addReference(typeToken, undefined, _reference_1.ReferenceType.VoidType, filename);\n return new basic_1.VoidType(typeName);\n }\n else {\n const tid = new _typed_identifier_1.TypedIdentifier(typeToken, filename, found);\n scope.addReference(typeToken, tid, _reference_1.ReferenceType.TypeReference, filename);\n return found;\n }\n }\n else if (found === undefined) {\n throw new Error(\"Type \\\"\" + typeName + \"\\\" not found in scope, VALUE\");\n }\n return found;\n }\n return targetType;\n }\n}\nexports.Source = Source;\n//# sourceMappingURL=source.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass SourceField {\n runSyntax(node, scope, filename, type) {\n const token = node.getFirstToken();\n const name = token.getStr();\n const found = scope.findVariable(name);\n if (found === undefined) {\n throw new Error(\"\\\"\" + name + \"\\\" not found, findTop\");\n }\n if (type) {\n scope.addReference(token, found, type, filename);\n }\n if (name.includes(\"~\")) {\n const idef = scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n }\n }\n return found.getType();\n }\n}\nexports.SourceField = SourceField;\n//# sourceMappingURL=source_field.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 _reference_1 = __webpack_require__(/*! ../_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass SourceFieldSymbol {\n runSyntax(node, scope, filename) {\n const token = node.getFirstToken();\n const found = scope.findVariable(token.getStr());\n if (found === undefined) {\n throw new Error(\"\\\"\" + node.getFirstToken().getStr() + \"\\\" not found, SourceFieldSymbol\");\n }\n scope.addReference(token, found, _reference_1.ReferenceType.DataReadReference, filename);\n return found.getType();\n }\n}\nexports.SourceFieldSymbol = SourceFieldSymbol;\n//# sourceMappingURL=source_field_symbol.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 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, scope, filename, tables) {\n var _a;\n let sourceType;\n let token;\n for (const s of node.findAllExpressions(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, scope, filename);\n }\n const fieldName = (_a = node.findDirectExpression(Expressions.SQLFieldName)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (fieldName && sourceType && token) {\n // check compatibility for rule sql_value_conversion\n const targetType = this.findType(fieldName, tables, 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 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://web-transpiler/./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\");\nclass SQLForAllEntries {\n runSyntax(node, scope, filename) {\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, scope, filename);\n if (type instanceof basic_1.VoidType) {\n return;\n }\n if (!(type instanceof basic_1.TableType)) {\n throw new Error(\"FAE parameter must be table type\");\n }\n const name = s.concatTokens().replace(\"[]\", \"\");\n scope.setAllowHeaderUse(name);\n }\n }\n}\nexports.SQLForAllEntries = SQLForAllEntries;\n//# sourceMappingURL=sql_for_all_entries.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename);\n }\n const dbtab = from.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n ret.push(new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename));\n }\n }\n return ret;\n }\n}\nexports.SQLFrom = SQLFrom;\n//# sourceMappingURL=sql_from.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_from.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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n return new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n return new source_1.Source().runSyntax(s, scope, filename);\n }\n return undefined;\n }\n}\nexports.SQLSource = SQLSource;\n//# sourceMappingURL=sql_source.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass StringTemplate {\n runSyntax(node, scope, filename) {\n const typeUtils = new _type_utils_1.TypeUtils(scope);\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, scope, filename, basic_1.StringType.get());\n if (type === undefined) {\n throw new Error(\"No target type determined\");\n }\n else if (typeUtils.isCharLike(type) === false && typeUtils.isHexLike(type) === false) {\n throw new Error(\"Not character like, \" + type.constructor.name);\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, scope, filename);\n }\n if ((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 throw new Error(\"Cannot apply ALPHA to this type\");\n }\n }\n return basic_1.StringType.get();\n }\n}\nexports.StringTemplate = StringTemplate;\n//# sourceMappingURL=string_template.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass SwitchBody {\n runSyntax(node, scope, filename) {\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 throw new Error(\"SwitchBody, unexpected\");\n }\n const type = new source_1.Source().runSyntax(thenSource, scope, filename);\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n if (s === thenSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, scope, filename);\n }\n return type;\n }\n}\nexports.SwitchBody = SwitchBody;\n//# sourceMappingURL=switch_body.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n if (node === undefined) {\n return;\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.TableExpression = TableExpression;\n//# sourceMappingURL=table_expression.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Target {\n runSyntax(node, scope, filename) {\n const concat = node.concatTokens();\n if (concat.includes(\"-\")) {\n // workaround for names with dashes\n const found = scope.findVariable(concat);\n if (found) {\n scope.addReference(node.getFirstToken(), found, _reference_1.ReferenceType.DataWriteReference, 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, scope, filename);\n if (context === undefined) {\n throw new Error(`\"${first.getFirstToken().getStr()}\" not found, Target`);\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 throw new Error(\"Not a structure, type unknown, target\");\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 throw new Error(\"Not a structure, target\");\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 throw new Error(\"Not an object reference, target\");\n }\n }\n else if (current.get() instanceof expressions_1.Dereference) {\n if (!(context instanceof basic_1.DataReference) && !(context instanceof basic_1.VoidType)) {\n throw new Error(\"Not an object reference, target\");\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);\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 throw new Error(\"Not a internal table, \\\"[]\\\"\");\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 throw new Error(\"Table expression, expected table\");\n }\n new table_expression_1.TableExpression().runSyntax(current, scope, filename);\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, scope, filename, type);\n }\n }\n const offset = node.findDirectExpression(Expressions.FieldOffset);\n if (offset) {\n new field_offset_1.FieldOffset().runSyntax(offset, scope, filename);\n }\n return context;\n }\n /////////////////////////////////\n findTop(node, scope, filename) {\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 = scope.findVariable(name);\n if (found) {\n scope.addReference(token, found, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n if (name.includes(\"~\")) {\n const idef = scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, 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 = scope.findObjectDefinition(name);\n if (found) {\n scope.addReference(token, found, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n return new basic_1.ObjectReferenceType(found);\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, 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 return new unknown_type_1.UnknownType(\"unknown target type\");\n }\n}\nexports.Target = Target;\n//# sourceMappingURL=target.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename, 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 (scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = scope.getName() + \"=>\" + qualifiedName;\n }\n }\n let type = new basic_types_1.BasicTypes(filename, scope).parseTable(node, qualifiedName);\n if (type === undefined) {\n return new _typed_identifier_1.TypedIdentifier(name, 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, filename, type);\n }\n}\nexports.TypeTable = TypeTable;\n//# sourceMappingURL=type_table.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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\");\nclass ValueBody {\n runSyntax(node, scope, filename, targetType) {\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, scope, filename);\n }\n let forScopes = 0;\n for (const forNode of node.findDirectExpressions(Expressions.For) || []) {\n const scoped = new for_1.For().runSyntax(forNode, scope, filename);\n if (scoped === true) {\n forScopes++;\n }\n }\n for (const s of node.findDirectExpressions(Expressions.FieldAssignment)) {\n new field_assignment_1.FieldAssignment().runSyntax(s, scope, filename, targetType);\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, scope, filename);\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 throw new Error(\"Value, not a table type\");\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, scope, filename);\n }\n }\n for (const s of foo.findDirectExpressions(Expressions.FieldAssignment)) {\n new field_assignment_1.FieldAssignment().runSyntax(s, scope, filename, rowType);\n }\n for (const s of foo.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename, rowType);\n }\n }\n if (letScoped === true) {\n scope.pop(node.getLastToken().getEnd());\n }\n for (let i = 0; i < forScopes; i++) {\n 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://web-transpiler/./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 const struc = file === null || file === void 0 ? void 0 : file.getStructure();\n if (obj instanceof interface_1.Interface) {\n const found = struc === null || struc === void 0 ? void 0 : struc.findFirstStructure(Structures.Interface);\n if (struc && file && found) {\n try {\n const def = new interface_definition_1.InterfaceDefinition(found, file.getFilename(), _current_scope_1.CurrentScope.buildDefault(this.reg, obj));\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 === null || struc === void 0 ? void 0 : struc.findFirstStructure(Structures.ClassDefinition);\n if (struc && file && found) {\n try {\n const def = new class_definition_1.ClassDefinition(found, file.getFilename(), _current_scope_1.CurrentScope.buildDefault(this.reg, obj));\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://web-transpiler/./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\");\nclass ScopeData {\n constructor() {\n this.data = {\n vars: {},\n cdefs: {},\n idefs: [],\n forms: [],\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 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 Error(\"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 for (const d of search.getData().deferred) {\n if (d.getStr().toUpperCase() === name.toUpperCase()) {\n return new _identifier_1.Identifier(d, search.identifier.filename);\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 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 // todo, can be deleted, not called from anywhere?\n listFormDefinitions() {\n let search = this;\n const ret = [];\n while (search !== undefined) {\n for (const form of search.getData().forms) {\n ret.push(form);\n }\n search = search.getParent();\n }\n return ret;\n }\n // todo, optimize\n findInterfaceDefinition(name) {\n let search = this;\n while (search !== undefined) {\n for (const idef of search.getData().idefs) {\n if (idef.getName().toUpperCase() === name.toUpperCase()) {\n return idef;\n }\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 data = search.getData();\n if (data.types[upper]) {\n return data.types[upper];\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://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Add = Add;\n//# sourceMappingURL=add.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.AddCorresponding = AddCorresponding;\n//# sourceMappingURL=add_corresponding.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\n// todo: issue error for short APPEND if the source is without header line\nclass Append {\n runSyntax(node, scope, filename) {\n let targetType = undefined;\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n targetType = new target_1.Target().runSyntax(target, scope, filename);\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 throw new Error(\"APPEND to non table type\");\n }\n const rowType = targetType instanceof basic_1.TableType ? targetType.getRowType() : targetType;\n new fstarget_1.FSTarget().runSyntax(fsTarget, scope, filename, 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 throw new Error(\"APPEND to non table type\");\n }\n const rowType = targetType instanceof basic_1.TableType ? targetType.getRowType() : targetType;\n new inline_data_1.InlineData().runSyntax(dataTarget, scope, filename, 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 throw new Error(\"Append, target not a table type\");\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 new source_1.Source().runSyntax(source, scope, filename, rowType);\n }\n const from = node.findExpressionAfterToken(\"FROM\");\n if (from && from.get() instanceof Expressions.Source) {\n new source_1.Source().runSyntax(from, scope, filename);\n }\n const to = node.findExpressionAfterToken(\"TO\");\n if (to && to.get() instanceof Expressions.Source) {\n new source_1.Source().runSyntax(to, scope, filename);\n }\n }\n}\nexports.Append = Append;\n//# sourceMappingURL=append.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Assert = Assert;\n//# sourceMappingURL=assert.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 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\");\nclass Assign {\n runSyntax(node, scope, filename) {\n var _a, _b, _c;\n const sources = ((_a = node.findDirectExpression(Expressions.AssignSource)) === null || _a === void 0 ? void 0 : _a.findDirectExpressions(Expressions.Source)) || [];\n const theSource = sources[sources.length - 1];\n let sourceType = new source_1.Source().runSyntax(theSource, scope, filename);\n if (sourceType === undefined || ((_b = node.findDirectExpression(Expressions.AssignSource)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.Dynamic))) {\n sourceType = new basic_1.VoidType(\"DynamicAssign\");\n }\n for (const d of ((_c = node.findDirectExpression(Expressions.AssignSource)) === null || _c === void 0 ? void 0 : _c.findAllExpressions(Expressions.Dynamic)) || []) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.FSTarget);\n if (target) {\n new fstarget_1.FSTarget().runSyntax(target, scope, filename, sourceType);\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n if (s === theSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Assign = Assign;\n//# sourceMappingURL=assign.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.AuthorityCheck = AuthorityCheck;\n//# sourceMappingURL=authority_check.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 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__(/*! ../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\");\nclass Call {\n runSyntax(node, scope, filename) {\n const chain = node.findDirectExpression(Expressions.MethodCallChain);\n if (chain) {\n new method_call_chain_1.MethodCallChain().runSyntax(chain, scope, filename);\n return;\n }\n const methodSource = node.findDirectExpression(Expressions.MethodSource);\n if (methodSource === undefined) {\n throw new Error(\"Call, child MethodSource not found\");\n }\n const methodDef = new method_source_1.MethodSource().runSyntax(methodSource, scope, filename);\n const body = node.findDirectExpression(Expressions.MethodCallBody);\n if (body) {\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, scope, filename, methodDef || new void_type_1.VoidType(\"CallTODO\"));\n }\n }\n}\nexports.Call = Call;\n//# sourceMappingURL=call.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n }\n}\nexports.CallBadi = CallBadi;\n//# sourceMappingURL=call_badi.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass CallFunction {\n runSyntax(node, scope, filename) {\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, scope, filename, _reference_1.ReferenceType.DataReadReference);\n }\n else if (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 (scope.findFunctionModule(functionName) === undefined) {\n throw new Error(`Function module \"${functionName}\" not found/released`);\n }\n }\n // just recurse\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource2)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.CallFunction = CallFunction;\n//# sourceMappingURL=call_function.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.CallKernel = CallKernel;\n//# sourceMappingURL=call_kernel.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.CallTransaction = CallTransaction;\n//# sourceMappingURL=call_transaction.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\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, scope, filename, new basic_1.XStringType());\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n}\nexports.CallTransformation = CallTransformation;\n//# sourceMappingURL=call_transformation.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n // just recurse\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Case = Case;\n//# sourceMappingURL=case.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case.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\");\nclass Catch {\n runSyntax(node, scope, filename) {\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 = scope.existsObject(className);\n if (found.found === true && found.id) {\n scope.addReference(token, found.id, found.type, filename);\n }\n else if (scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, extra);\n }\n else {\n throw new Error(\"CATCH, unknown class \" + className);\n }\n if (names.has(className)) {\n throw new Error(\"Duplicate class name in CATCH: \" + className);\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 = scope.existsObject(firstClassName);\n if (token && found.found === true && firstClassName && found.id) {\n const identifier = new _typed_identifier_1.TypedIdentifier(token, filename, new basic_1.ObjectReferenceType(found.id), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n else if (token && scope.getDDIC().inErrorNamespace(firstClassName) === false) {\n const identifier = new _typed_identifier_1.TypedIdentifier(token, filename, new basic_1.VoidType(firstClassName), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, 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, filename, new unknown_type_1.UnknownType(message), [\"inline\" /* IdentifierMeta.InlineDefinition */]);\n scope.addIdentifier(identifier);\n scope.addReference(token, identifier, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n }\n else if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.Catch = Catch;\n//# sourceMappingURL=catch.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Check = Check;\n//# sourceMappingURL=check.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass ClassData {\n runSyntax(node, scope, filename) {\n const dd = node.findFirstExpression(Expressions.DataDefinition);\n if (dd) {\n const found = new data_definition_1.DataDefinition().runSyntax(dd, scope, filename);\n if (found === undefined) {\n return undefined;\n }\n const meta = [...found.getMeta(), \"static\" /* IdentifierMeta.Static */];\n return new _typed_identifier_1.TypedIdentifier(found.getToken(), 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(), 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://web-transpiler/./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, scope, _filename) {\n var _a;\n const name = (_a = node.findFirstExpression(Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n scope.addDeferred(name);\n }\n}\nexports.ClassDeferred = ClassDeferred;\n//# sourceMappingURL=class_deferred.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass ClassImplementation {\n runSyntax(node, scope, filename) {\n const helper = new _object_oriented_1.ObjectOriented(scope);\n const className = helper.findClassName(node);\n scope.push(_scope_type_1.ScopeType.ClassImplementation, className, node.getFirstToken().getStart(), filename);\n const classDefinition = scope.findClassDefinition(className);\n if (classDefinition === undefined) {\n throw new Error(\"Class definition for \\\"\" + className + \"\\\" not found\");\n }\n for (const t of classDefinition.getTypeDefinitions().getAll()) {\n scope.addType(t.type);\n }\n const sup = scope.findClassDefinition(classDefinition.getSuperClass());\n if (sup) {\n 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 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 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 scope.addList(classAttributes.getConstants());\n scope.addList(classAttributes.getStatic());\n for (const i of classAttributes.getInstance()) {\n scope.addExtraLikeType(i);\n }\n helper.fromSuperClassesAndInterfaces(classDefinition);\n }\n}\nexports.ClassImplementation = ClassImplementation;\n//# sourceMappingURL=class_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass ClassLocalFriends {\n runSyntax(node, scope, filename) {\n const found = node.findDirectExpression(Expressions.ClassName);\n if (found) {\n const token = found.getFirstToken();\n const name = token.getStr();\n const def = scope.findClassDefinition(name);\n if (def) {\n scope.addReference(token, def, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n }\n else {\n throw new Error(`Class ${name.toUpperCase()} not found`);\n }\n }\n }\n}\nexports.ClassLocalFriends = ClassLocalFriends;\n//# sourceMappingURL=class_local_friends.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Clear = Clear;\n//# sourceMappingURL=clear.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.CloseDataset = CloseDataset;\n//# sourceMappingURL=close_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n const source = node.findDirectExpression(Expressions.Source);\n if (source) {\n new source_1.Source().runSyntax(source, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n const fs = node.findDirectExpression(Expressions.FSTarget);\n if (fs) {\n new fstarget_1.FSTarget().runSyntax(fs, scope, filename, undefined);\n }\n }\n}\nexports.Collect = Collect;\n//# sourceMappingURL=collect.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, new basic_1.VoidType(\"CommitEntities\"));\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n}\nexports.CommitEntities = CommitEntities;\n//# sourceMappingURL=commit_entities.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Concatenate {\n runSyntax(node, scope, filename) {\n const byteMode = node.findDirectTokenByText(\"BYTE\") !== undefined;\n let 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, scope, filename, new basic_1.XStringType());\n }\n else {\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, basic_1.StringType.get());\n }\n }\n else if (target) {\n const type = new target_1.Target().runSyntax(target, scope, filename);\n const compatible = byteMode ? new _type_utils_1.TypeUtils(scope).isHexLike(type) : new _type_utils_1.TypeUtils(scope).isCharLike(type);\n if (compatible === false) {\n throw new Error(\"Target type not compatible\");\n }\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n const type = new source_1.Source().runSyntax(s, scope, filename);\n if (linesMode) {\n if (!(type instanceof basic_1.UnknownType) && !(type instanceof basic_1.VoidType) && !(type instanceof basic_1.TableType)) {\n throw new Error(\"Source must be an internal table\");\n }\n linesMode = false;\n continue;\n }\n const compatible = byteMode ? new _type_utils_1.TypeUtils(scope).isHexLike(type) : new _type_utils_1.TypeUtils(scope).isCharLike(type);\n if (compatible === false) {\n throw new Error(\"Source type not compatible\");\n }\n }\n }\n}\nexports.Concatenate = Concatenate;\n//# sourceMappingURL=concatenate.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Condense = Condense;\n//# sourceMappingURL=condense.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Constant {\n runSyntax(node, scope, filename) {\n const basic = new basic_types_1.BasicTypes(filename, scope);\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(), 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(), filename, new basic_1.UnknownType(\"constant, fallback\"));\n }\n throw new Error(\"Statement Constant: unexpected structure\");\n }\n}\nexports.Constant = Constant;\n//# sourceMappingURL=constant.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, filename, type);\n 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) },\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, filename, type);\n scope.addIdentifier(id);\n }\n }\n}\nexports.Controls = Controls;\n//# sourceMappingURL=controls.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename);\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, scope, filename, new basic_1.TimeType());\n }\n else {\n new target_1.Target().runSyntax(timeTarget, scope, filename);\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, scope, filename, new basic_1.DateType());\n }\n else {\n new target_1.Target().runSyntax(dateTarget, scope, filename);\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, scope, filename, new basic_1.PackedType(8, 4));\n }\n else {\n new target_1.Target().runSyntax(stampTarget, scope, filename);\n }\n }\n }\n}\nexports.Convert = Convert;\n//# sourceMappingURL=convert.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass CreateData {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, scope, filename);\n }\n const type = node.findDirectExpression(Expressions.TypeName);\n if (type) {\n new basic_types_1.BasicTypes(filename, scope).resolveTypeName(type);\n }\n }\n}\nexports.CreateData = CreateData;\n//# sourceMappingURL=create_data.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass CreateObject {\n runSyntax(node, scope, filename) {\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 = scope.findClassDefinition(name);\n if (cdef) {\n scope.addReference(token, cdef, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n if (cdef.isAbstract() === true) {\n throw new Error(cdef.getName() + \" is abstract, cannot be instantiated\");\n }\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, { ooName: name, ooType: \"CLAS\" });\n }\n else {\n throw new Error(\"TYPE \\\"\" + name + \"\\\" not found\");\n }\n }\n // just recurse\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n let first = true;\n for (const t of node.findAllExpressions(Expressions.Target)) {\n const found = new target_1.Target().runSyntax(t, scope, filename);\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 throw new Error(\"Target type unknown, \" + t.concatTokens());\n }\n else if (!(found instanceof basic_1.ObjectReferenceType)\n && !(found instanceof basic_1.AnyType)\n && !(found instanceof basic_1.GenericObjectReferenceType)) {\n throw new Error(\"Target must be an object reference, \" + t.concatTokens());\n }\n else if (found instanceof basic_1.GenericObjectReferenceType && type === undefined) {\n throw new Error(\"Generic type, cannot be instantiated\");\n }\n else if (found instanceof basic_1.ObjectReferenceType) {\n const id = found.getIdentifier();\n if (id instanceof types_1.InterfaceDefinition && type === undefined) {\n throw new Error(\"Interface reference, cannot be instantiated\");\n }\n else if (found instanceof basic_1.ObjectReferenceType\n && type === undefined\n && scope.findInterfaceDefinition(found.getQualifiedName())) {\n throw new Error(\"Interface reference, cannot be instantiated\");\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 throw new Error(id.getName() + \" is abstract, cannot be instantiated\");\n }\n }\n }\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, scope, filename);\n }\n this.validateParameters(cdef, node, scope);\n }\n validateParameters(cdef, node, scope) {\n var _a, _b, _c;\n if (cdef === undefined) {\n return;\n }\n const methodDef = new _object_oriented_1.ObjectOriented(scope).searchMethodName(cdef, \"CONSTRUCTOR\");\n const methodParameters = (_a = methodDef.method) === null || _a === void 0 ? void 0 : _a.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 // todo, validate types\n for (const p of ((_b = node.findDirectExpression(Expressions.ParameterListS)) === null || _b === void 0 ? void 0 : _b.findAllExpressions(Expressions.ParameterS)) || []) {\n const name = (_c = p.findDirectExpression(Expressions.ParameterName)) === null || _c === void 0 ? void 0 : _c.concatTokens().toUpperCase();\n if (name === undefined) {\n continue;\n }\n if ((allImporting === null || allImporting === void 0 ? void 0 : allImporting.some(p => p.getName().toUpperCase() === name)) === false) {\n throw new Error(`constructor parameter \"${name}\" does not exist`);\n }\n requiredImporting.delete(name);\n }\n for (const r of requiredImporting.values()) {\n throw new Error(`constructor parameter \"${r}\" must be supplied`);\n }\n }\n}\nexports.CreateObject = CreateObject;\n//# sourceMappingURL=create_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Data {\n runSyntax(node, scope, filename) {\n const dd = node.findFirstExpression(Expressions.DataDefinition);\n if (dd) {\n const id = new data_definition_1.DataDefinition().runSyntax(dd, scope, filename);\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 throw new Error(\"DATA definition cannot be generic\");\n }\n return id;\n }\n const name = node.findFirstExpression(Expressions.DefinitionName);\n if (name) {\n return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), 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://web-transpiler/./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, scope, filename) {\n var _a;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n const databaseName = node.findExpressionAfterToken(\"DATABASE\");\n if (databaseName) {\n const found = (_a = scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(databaseName.concatTokens());\n if (found) {\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: found.object });\n }\n }\n }\n}\nexports.DeleteCluster = DeleteCluster;\n//# sourceMappingURL=delete_cluster.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename);\n }\n }\n}\nexports.DeleteDatabase = DeleteDatabase;\n//# sourceMappingURL=delete_database.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n var _a;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\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 = scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(target.concatTokens());\n if (tabl) {\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: tabl.object });\n }\n }\n if (tabl === undefined) {\n targetType = new target_1.Target().runSyntax(target, scope, filename);\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, scope, filename, targetType);\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(t, scope, filename, targetType);\n }\n }\n}\nexports.DeleteInternal = DeleteInternal;\n//# sourceMappingURL=delete_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.DeleteReport = DeleteReport;\n//# sourceMappingURL=delete_report.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.FieldChain)) {\n new field_chain_1.FieldChain().runSyntax(s, scope, filename, _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, scope, filename, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(linesTarget, scope, filename);\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, scope, filename, new basic_1.CharacterType(1));\n }\n else {\n new target_1.Target().runSyntax(typeTarget, scope, filename);\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, scope, filename, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(lengthTarget, scope, filename);\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, scope, filename, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(componentsTarget, scope, filename);\n }\n }\n }\n}\nexports.Describe = Describe;\n//# sourceMappingURL=describe.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Divide = Divide;\n//# sourceMappingURL=divide.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Do {\n runSyntax(node, scope, filename) {\n // just recurse\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Do = Do;\n//# sourceMappingURL=do.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/do.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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n }\n}\nexports.ElseIf = ElseIf;\n//# sourceMappingURL=else_if.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n var _a;\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n const databaseName = node.findExpressionAfterToken(\"DATABASE\");\n if (databaseName) {\n const found = (_a = scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(databaseName.concatTokens());\n if (found) {\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: found.object });\n }\n }\n }\n}\nexports.Export = Export;\n//# sourceMappingURL=export.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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(filename, scope).parseType(node);\n if (bfound && fsname) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(fsname, filename, bfound));\n return;\n }\n if (fsname) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(fsname, filename, new unknown_type_1.UnknownType(\"Fieldsymbol, fallback\")));\n }\n }\n}\nexports.FieldSymbol = FieldSymbol;\n//# sourceMappingURL=fieldsymbol.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, type);\n }\n else {\n this.inline(rfound, scope, filename, 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, scope, filename, basic_1.IntegerType.get());\n }\n }\n const lfound = node.findExpressionAfterToken(\"LINE\");\n if (lfound && lfound.get() instanceof Expressions.Target) {\n this.inline(lfound, scope, filename, basic_1.IntegerType.get());\n }\n const cfound = node.findExpressionAfterToken(\"COUNT\");\n if (cfound && cfound.get() instanceof Expressions.Target) {\n this.inline(cfound, scope, filename, basic_1.IntegerType.get());\n }\n const lnfound = node.findExpressionAfterToken(\"LENGTH\");\n if (lnfound && lnfound.get() instanceof Expressions.Target) {\n this.inline(lnfound, scope, filename, 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, scope, filename, basic_1.StringType.get());\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n }\n /////////////////////\n inline(node, scope, filename, type) {\n const inline = node.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, type);\n }\n else {\n new target_1.Target().runSyntax(node, scope, filename);\n }\n }\n}\nexports.Find = Find;\n//# sourceMappingURL=find.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Form {\n runSyntax(node, scope, filename) {\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 throw new Error(\"Form, could not find name\");\n }\n scope.push(_scope_type_1.ScopeType.Form, name, node.getFirstToken().getStart(), filename);\n const form = new form_definition_1.FormDefinition(node, filename, scope);\n scope.addList(form.getUsingParameters());\n scope.addList(form.getChangingParameters());\n scope.addList(form.getTablesParameters());\n }\n}\nexports.Form = Form;\n//# sourceMappingURL=form.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Format = Format;\n//# sourceMappingURL=format.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const d of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n }\n}\nexports.GetBadi = GetBadi;\n//# sourceMappingURL=get_badi.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass GetBit {\n runSyntax(node, scope, filename) {\n let lastType = undefined;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n lastType = new source_1.Source().runSyntax(s, scope, filename);\n }\n if (lastType && new _type_utils_1.TypeUtils(scope).isHexLike(lastType) === false) {\n throw new Error(\"Input must be byte-like\");\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, scope, filename, basic_1.IntegerType.get());\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n}\nexports.GetBit = GetBit;\n//# sourceMappingURL=get_bit.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.GetCursor = GetCursor;\n//# sourceMappingURL=get_cursor.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.GetLocale = GetLocale;\n//# sourceMappingURL=get_locale.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename, new basic_1.CharacterType(40));\n }\n else if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.GetParameter = GetParameter;\n//# sourceMappingURL=get_parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass GetReference {\n runSyntax(node, scope, filename) {\n const s = node.findDirectExpression(Expressions.Source);\n const type = new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, type ? new basic_1.DataReference(type) : undefined);\n }\n else if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.GetReference = GetReference;\n//# sourceMappingURL=get_reference.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename, basic_1.IntegerType.get());\n }\n else if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.GetRunTime = GetRunTime;\n//# sourceMappingURL=get_run_time.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename, new basic_1.PackedType(8, 0));\n }\n else if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.GetTime = GetTime;\n//# sourceMappingURL=get_time.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n }\n}\nexports.If = If;\n//# sourceMappingURL=if.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n var _a;\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n const databaseName = node.findExpressionAfterToken(\"DATABASE\");\n if (databaseName) {\n const found = (_a = scope.getDDIC()) === null || _a === void 0 ? void 0 : _a.lookupTableOrView(databaseName.concatTokens());\n if (found) {\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: found.object });\n }\n }\n }\n}\nexports.Import = Import;\n//# sourceMappingURL=import.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.ImportDynpro = ImportDynpro;\n//# sourceMappingURL=import_dynpro.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass IncludeType {\n runSyntax(node, scope, filename) {\n var _a, _b;\n const components = [];\n const iname = node.findFirstExpression(Expressions.TypeName);\n if (iname === undefined) {\n throw new Error(\"IncludeType, unexpected node structure\");\n }\n const name = iname.getFirstToken().getStr();\n let ityp = new basic_types_1.BasicTypes(filename, scope).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([{ name: as, type: ityp }]));\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(c);\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 (scope.getDDIC().inErrorNamespace(name) === false) {\n return new basic_1.VoidType(name);\n }\n else {\n throw new Error(\"IncludeType, type not found \\\"\" + iname.concatTokens() + \"\\\"\");\n }\n return components;\n }\n}\nexports.IncludeType = IncludeType;\n//# sourceMappingURL=include_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename);\n }\n }\n}\nexports.InsertDatabase = InsertDatabase;\n//# sourceMappingURL=insert_database.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource1)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.InsertFieldGroup = InsertFieldGroup;\n//# sourceMappingURL=insert_field_group.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass InsertInternal {\n runSyntax(node, scope, filename) {\n let targetType;\n const t = node.findDirectExpression(Expressions.Target);\n if (t) {\n targetType = new target_1.Target().runSyntax(t, scope, filename);\n }\n if (targetType instanceof basic_1.TableType) {\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, scope, filename, targetType) : targetType;\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, scope, filename, sourceType);\n }\n else {\n new fstarget_1.FSTarget().runSyntax(afterAssigning, scope, filename, sourceType);\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, scope, filename, new basic_1.DataReference(sourceType));\n }\n else {\n new target_1.Target().runSyntax(afterInto, scope, filename);\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, scope, filename, targetType);\n }\n }\n}\nexports.InsertInternal = InsertInternal;\n//# sourceMappingURL=insert_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.InsertReport = InsertReport;\n//# sourceMappingURL=insert_report.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.InsertTextpool = InsertTextpool;\n//# sourceMappingURL=insert_textpool.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, _filename) {\n var _a;\n const name = (_a = node.findFirstExpression(Expressions.InterfaceName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n scope.addDeferred(name);\n }\n}\nexports.InterfaceDeferred = InterfaceDeferred;\n//# sourceMappingURL=interface_deferred.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n // just recurse\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.LogPoint = LogPoint;\n//# sourceMappingURL=log_point.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Loop {\n runSyntax(node, scope, filename) {\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, scope, filename) : 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, scope, filename, targetType, write) : undefined;\n let rowType = undefined;\n const concat = node.concatTokens().toUpperCase();\n if (sourceType === undefined) {\n throw new Error(\"No source type determined\");\n }\n else if (sourceType instanceof basic_1.UnknownType) {\n throw new Error(\"Loop, not a table type, \" + sourceType.getError());\n }\n else if (sourceType instanceof basic_1.TableType\n && target === undefined\n && sourceType.isWithHeader() === false\n && node.getChildren().length === 4) {\n throw new Error(\"Loop, no header line\");\n }\n else if (!(sourceType instanceof basic_1.TableType)\n && !(sourceType instanceof basic_1.AnyType)\n && !(sourceType instanceof basic_1.VoidType)\n && concat.startsWith(\"LOOP AT GROUP \") === false) {\n throw new Error(\"Loop, not a table type\");\n }\n else if (loopTarget === undefined\n && sourceType instanceof basic_1.TableType\n && sourceType.isWithHeader() === false) {\n throw new Error(\"Loop, no header\");\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 throw new Error(\"Loop, TRANSPORTING NO FIELDS only with WHERE\");\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, scope, filename, sourceType);\n }\n for (const s of sources) {\n if (s === firstSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, 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, scope, filename, sourceType);\n }\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(t, scope, filename, rowType);\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, scope, filename);\n }\n const group = node.findDirectExpression(Expressions.LoopGroupBy);\n if (group) {\n new loop_group_by_1.LoopGroupBy().runSyntax(group, scope, filename);\n }\n }\n}\nexports.Loop = Loop;\n//# sourceMappingURL=loop.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\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, scope, filename, new basic_1.VoidType(\"SCREEN\"));\n }\n }\n}\nexports.LoopAtScreen = LoopAtScreen;\n//# sourceMappingURL=loop_at_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename, basic_1.StringType.get());\n }\n else if (found) {\n new target_1.Target().runSyntax(found, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.MessageSource)) {\n new message_source_1.MessageSource().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Message = Message;\n//# sourceMappingURL=message.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass MethodImplementation {\n runSyntax(node, scope, filename) {\n const helper = new _object_oriented_1.ObjectOriented(scope);\n const className = 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 = scope.findClassDefinition(className);\n if (classDefinition === undefined) {\n throw new Error(\"Class definition for \\\"\" + className + \"\\\" not found\");\n }\n const { method: methodDefinition } = helper.searchMethodName(classDefinition, methodName);\n if (methodDefinition === undefined) {\n throw new Error(\"Method definition \\\"\" + methodName + \"\\\" not found\");\n }\n if (methodDefinition.isStatic() === false) {\n scope.push(_scope_type_1.ScopeType.MethodInstance, methodName, node.getFirstToken().getStart(), filename);\n scope.addList(classDefinition.getAttributes().getInstance());\n }\n scope.push(_scope_type_1.ScopeType.Method, methodName, node.getFirstToken().getStart(), filename);\n scope.addReference(methodToken, methodDefinition, _reference_1.ReferenceType.MethodImplementationReference, filename);\n 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 = scope.findInterfaceDefinition(i.name);\n if (idef === undefined) {\n continue;\n }\n scope.addReference(methodToken, idef, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n }\n }\n}\nexports.MethodImplementation = MethodImplementation;\n//# sourceMappingURL=method_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n if (node.getChildren().length === 5) {\n const found = scope.findVariable(dbtab.concatTokens());\n if (found) {\n scope.addReference(dbtab.getFirstToken(), found, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n else {\n new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename);\n }\n }\n else {\n new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename);\n }\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.ModifyDatabase = ModifyDatabase;\n//# sourceMappingURL=modify_database.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, new basic_1.VoidType(\"ModifyEntities\"));\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n}\nexports.ModifyEntities = ModifyEntities;\n//# sourceMappingURL=modify_entities.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass ModifyInternal {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.FSTarget);\n if (target) {\n new fstarget_1.FSTarget().runSyntax(target, scope, filename, undefined);\n }\n for (const t of node.findDirectExpressions(Expressions.ComponentCond)) {\n new component_cond_1.ComponentCond().runSyntax(t, scope, filename);\n }\n }\n}\nexports.ModifyInternal = ModifyInternal;\n//# sourceMappingURL=modify_internal.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.ModifyScreen = ModifyScreen;\n//# sourceMappingURL=modify_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Move {\n runSyntax(node, scope, filename) {\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, scope, filename) : undefined;\n for (const t of targets) {\n if (t === firstTarget) {\n continue;\n }\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n const source = node.findDirectExpression(Expressions.Source);\n const sourceType = source ? new source_1.Source().runSyntax(source, scope, filename, targetType) : undefined;\n if (sourceType === undefined) {\n throw new Error(\"No source type determined\");\n }\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, sourceType);\n targetType = sourceType;\n }\n if (node.findDirectTokenByText(\"?=\")) {\n if (new _type_utils_1.TypeUtils(scope).isCastable(sourceType, targetType) === false) {\n throw new Error(\"Incompatible types\");\n }\n }\n else if (new _type_utils_1.TypeUtils(scope).isAssignable(sourceType, targetType) === false) {\n throw new Error(\"Incompatible types\");\n }\n }\n}\nexports.Move = Move;\n//# sourceMappingURL=move.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass MoveCorresponding {\n runSyntax(node, scope, filename) {\n const s = node.findDirectExpression(Expressions.Source);\n const t = node.findDirectExpression(Expressions.Target);\n if (s === undefined || t === undefined) {\n throw new Error(\"MoveCorresponding, source or target not found\");\n }\n const sourceType = new source_1.Source().runSyntax(s, scope, filename);\n const targetType = new target_1.Target().runSyntax(t, scope, filename);\n if (scope.getVersion() < version_1.Version.v740sp05 && scope.getVersion() !== version_1.Version.Cloud) {\n if (sourceType instanceof basic_1.TableType && sourceType.isWithHeader() === false) {\n throw new Error(\"MOVE-CORRESPONDING with tables possible from v740sp05\");\n }\n else if (targetType instanceof basic_1.TableType && targetType.isWithHeader() === false) {\n throw new Error(\"MOVE-CORRESPONDING with tables possible from v740sp05\");\n }\n }\n }\n}\nexports.MoveCorresponding = MoveCorresponding;\n//# sourceMappingURL=move_corresponding.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Multiply = Multiply;\n//# sourceMappingURL=multiply.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.OpenDataset = OpenDataset;\n//# sourceMappingURL=open_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Pack = Pack;\n//# sourceMappingURL=pack.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Parameter {\n runSyntax(node, scope, filename) {\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 throw new Error(\"Parameter name too long, \" + nameToken.getStr());\n }\n const bfound = new basic_types_1.BasicTypes(filename, scope).parseType(node);\n if (nameToken && bfound) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, bfound));\n return;\n }\n if (nameToken) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, new basic_1.UnknownType(\"Parameter, fallback\")));\n }\n }\n}\nexports.Parameter = Parameter;\n//# sourceMappingURL=parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Perform {\n runSyntax(node, scope, filename) {\n if (!(node.get() instanceof Statements.Perform)) {\n throw new Error(\"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, scope, filename);\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, scope, filename);\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, scope, filename);\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 = scope.findFormDefinition(name);\n if (found === undefined) {\n throw new Error(\"FORM definition \\\"\" + name + \"\\\" not found\");\n }\n scope.addReference(expr.getFirstToken(), found, _reference_1.ReferenceType.FormReference, filename);\n // todo, also check parameters match\n }\n}\nexports.Perform = Perform;\n//# sourceMappingURL=perform.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Raise {\n runSyntax(node, scope, filename) {\n // todo\n var _a, _b, _c, _d, _e;\n const helper = new _object_oriented_1.ObjectOriented(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 (className) {\n const found = scope.existsObject(className);\n if (found.found === true && found.id) {\n scope.addReference(classTok, found.id, found.type, filename);\n const def = scope.findObjectDefinition(className);\n method = (_b = helper.searchMethodName(def, \"CONSTRUCTOR\")) === null || _b === void 0 ? void 0 : _b.method;\n }\n else if (scope.getDDIC().inErrorNamespace(className) === false) {\n const extra = { ooName: className, ooType: \"Void\" };\n scope.addReference(classTok, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, extra);\n method = new basic_1.VoidType(className);\n }\n else {\n throw new Error(\"RAISE, unknown class \" + className);\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, scope, filename);\n if (type instanceof basic_1.VoidType) {\n method = type;\n }\n else if (type instanceof basic_1.ObjectReferenceType) {\n const def = 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 throw new Error(\"RAISE EXCEPTION, must be object reference, got \" + type.constructor.name);\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, scope, method, filename, true);\n }\n for (const s of node.findDirectExpressions(Expressions.RaiseWith)) {\n new raise_with_1.RaiseWith().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.SimpleSource2)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.MessageSource)) {\n new message_source_1.MessageSource().runSyntax(s, scope, filename);\n }\n const id = (_d = node.findExpressionAfterToken(\"ID\")) === null || _d === void 0 ? void 0 : _d.concatTokens();\n const number = (_e = node.findDirectExpression(Expressions.MessageNumber)) === null || _e === void 0 ? void 0 : _e.concatTokens();\n if ((id === null || id === void 0 ? void 0 : id.startsWith(\"'\")) && number) {\n const messageClass = id.substring(1, id.length - 1).toUpperCase();\n scope.getMSAGReferences().addUsing(filename, node.getFirstToken(), messageClass, number);\n }\n }\n}\nexports.Raise = Raise;\n//# sourceMappingURL=raise.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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 = scope.findInterfaceDefinition(name);\n if (idef) {\n scope.addReference(f.getFirstToken(), idef, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n }\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.RaiseEvent = RaiseEvent;\n//# sourceMappingURL=raise_event.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Ranges {\n runSyntax(node, scope, filename) {\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.FieldSub);\n if (typeExpression === undefined) {\n throw new Error(\"Ranges, unexpected node\");\n }\n const found = new basic_types_1.BasicTypes(filename, scope).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, filename, type);\n scope.addIdentifier(id);\n }\n }\n}\nexports.Ranges = Ranges;\n//# sourceMappingURL=ranges.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\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, scope, filename, new basic_1.VoidType(\"ReadEntities\"));\n }\n else {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n }\n}\nexports.ReadEntities = ReadEntities;\n//# sourceMappingURL=read_entities.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.ReadReport = ReadReport;\n//# sourceMappingURL=read_report.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass ReadTable {\n runSyntax(node, scope, filename) {\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, scope, filename) : undefined;\n if (sourceType === undefined) {\n throw new Error(\"No source type determined, read table\");\n }\n else if (!(sourceType instanceof basic_1.TableType) && !(sourceType instanceof basic_1.VoidType)) {\n throw new Error(\"Read table, not a table type\");\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, scope, filename, rowType);\n }\n const indexSource = node.findExpressionAfterToken(\"INDEX\");\n if (indexSource) {\n const indexType = new source_1.Source().runSyntax(indexSource, scope, filename);\n if (new _type_utils_1.TypeUtils(scope).isAssignable(indexType, basic_1.IntegerType.get()) === false) {\n throw new Error(\"READ TABLE, INDEX must be simple\");\n }\n }\n const fromSource = node.findExpressionAfterToken(\"FROM\");\n if (fromSource) {\n const fromType = new source_1.Source().runSyntax(fromSource, scope, filename);\n if (new _type_utils_1.TypeUtils(scope).isAssignable(fromType, basic_1.IntegerType.get()) === false) {\n throw new Error(\"READ TABLE, FROM must be simple\");\n }\n }\n for (const s of sources) {\n if (s === firstSource || s === indexSource || s === fromSource) {\n continue;\n }\n new source_1.Source().runSyntax(s, scope, filename);\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 if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, rowType);\n return;\n }\n const fst = target.findDirectExpression(Expressions.FSTarget);\n if (fst) {\n new fstarget_1.FSTarget().runSyntax(fst, scope, filename, rowType);\n return;\n }\n /*\n const inlinefs = target.findFirstExpression(Expressions.InlineFS);\n if (inlinefs) {\n new InlineFS().runSyntax(inlinefs, scope, filename, sourceType);\n return;\n }\n */\n const t = target.findFirstExpression(Expressions.Target);\n if (t) {\n const targetType = new target_1.Target().runSyntax(t, scope, filename);\n if (new _type_utils_1.TypeUtils(scope).isAssignable(rowType, targetType) === false) {\n throw new Error(\"Incompatible types\");\n }\n return;\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 throw new Error(\"READ TABLE, define INTO or TRANSPORTING NO FIELDS\");\n }\n }\n }\n}\nexports.ReadTable = ReadTable;\n//# sourceMappingURL=read_table.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.ReadTextpool = ReadTextpool;\n//# sourceMappingURL=read_textpool.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename);\n }\n for (const t of node.findAllExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Receive = Receive;\n//# sourceMappingURL=receive.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Replace = Replace;\n//# sourceMappingURL=replace.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Scan = Scan;\n//# sourceMappingURL=scan.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Search = Search;\n//# sourceMappingURL=search.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename, last === false);\n }\n }\n}\nexports.Select = Select;\n//# sourceMappingURL=select.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n const s = node.findDirectExpression(Expressions.SelectLoop);\n if (s) {\n new select_loop_1.SelectLoop().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SelectLoop = SelectLoop;\n//# sourceMappingURL=select_loop.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass SelectionScreen {\n runSyntax(node, scope, filename) {\n const field = node.findFirstExpression(Expressions.InlineField);\n if (field === undefined) {\n return;\n }\n const name = field.getFirstToken();\n const concat = node.concatTokens().toUpperCase();\n if (concat.includes(\"BEGIN OF TABBED BLOCK\")) {\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 scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(name, filename, type, [\"selection_screen_tab\" /* IdentifierMeta.SelectionScreenTab */]));\n }\n else if (concat.startsWith(\"SELECTION-SCREEN TAB\")) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(name, filename, new basic_1.CharacterType(83), [\"selection_screen_tab\" /* IdentifierMeta.SelectionScreenTab */]));\n }\n else {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(name, filename, new basic_1.CharacterType(83)));\n }\n }\n}\nexports.SelectionScreen = SelectionScreen;\n//# sourceMappingURL=selection_screen.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass SelectOption {\n runSyntax(node, scope, filename) {\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 throw new Error(\"Select-option name too long, \" + nameToken.getStr());\n }\n for (const d of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n const nameExpression = node.findFirstExpression(Expressions.FieldChain);\n let found = new basic_types_1.BasicTypes(filename, scope).resolveLikeName(nameExpression);\n if (found && nameToken) {\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 scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, new basic_1.TableType(stru, { withHeader: true, keyType: basic_1.TableKeyType.default })));\n return;\n }\n if (nameToken) {\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, new basic_1.UnknownType(\"Select option, fallback\")));\n }\n }\n}\nexports.SelectOption = SelectOption;\n//# sourceMappingURL=selectoption.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass SetBit {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n const typ = new target_1.Target().runSyntax(t, scope, filename);\n if (typ && new _type_utils_1.TypeUtils(scope).isHexLike(typ) === false) {\n throw new Error(\"Input must be byte-like\");\n }\n }\n }\n}\nexports.SetBit = SetBit;\n//# sourceMappingURL=set_bit.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.MethodSource)) {\n new method_source_1.MethodSource().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SetHandler = SetHandler;\n//# sourceMappingURL=set_handler.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.SetLocale = SetLocale;\n//# sourceMappingURL=set_locale.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SetParameter = SetParameter;\n//# sourceMappingURL=set_parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SetPFStatus = SetPFStatus;\n//# sourceMappingURL=set_pf_status.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SetTitlebar = SetTitlebar;\n//# sourceMappingURL=set_titlebar.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Shift {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n throw new Error(\"Shift, Target not found\");\n }\n const targetType = new target_1.Target().runSyntax(target, scope, filename);\n if (node.concatTokens().toUpperCase().includes(\" IN BYTE MODE\")) {\n if (new _type_utils_1.TypeUtils(scope).isHexLike(targetType) === false) {\n throw new Error(\"Shift, Target not hex like\");\n }\n }\n else {\n if (new _type_utils_1.TypeUtils(scope).isCharLike(targetType) === false) {\n throw new Error(\"Shift, Target not char like\");\n }\n }\n }\n}\nexports.Shift = Shift;\n//# sourceMappingURL=shift.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Sort {\n runSyntax(node, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(s, scope, filename);\n }\n const tnode = node.findDirectExpression(Expressions.Target);\n if (tnode) {\n const ttype = new target_1.Target().runSyntax(tnode, scope, filename);\n if (ttype instanceof basic_1.TableType) {\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 throw new Error(\"SORT, table row is not structured\");\n }\n else if (rowType.getComponentByName(cname) === undefined) {\n throw new Error(`Field ${cname} does not exist in table row structure`);\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 throw new Error(\"SORT, must be a internal table\");\n }\n }\n }\n}\nexports.Sort = Sort;\n//# sourceMappingURL=sort.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Split {\n runSyntax(node, scope, filename) {\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, scope, filename, type);\n }\n else {\n let targetType = new target_1.Target().runSyntax(target, scope, filename);\n if (intoTable) {\n if (!(targetType instanceof basic_1.TableType)\n && !(targetType instanceof basic_1.UnknownType)\n && !(targetType instanceof basic_1.VoidType)) {\n throw new Error(\"Into must be table typed\");\n }\n if (targetType instanceof basic_1.TableType) {\n targetType = targetType.getRowType();\n }\n }\n if (new _type_utils_1.TypeUtils(scope).isCharLikeStrict(targetType) === false) {\n throw new Error(\"Incompatible, target not character like\");\n }\n }\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.Split = Split;\n//# sourceMappingURL=split.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n const tt = node.findFirstExpression(Expressions.TypeTable);\n if (tt) {\n const ttfound = new type_table_1.TypeTable().runSyntax(node, scope, filename);\n if (ttfound) {\n return ttfound;\n }\n }\n const found = new basic_types_1.BasicTypes(filename, scope).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(), 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://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Submit = Submit;\n//# sourceMappingURL=submit.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Subtract = Subtract;\n//# sourceMappingURL=subtract.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.SubtractCorresponding = SubtractCorresponding;\n//# sourceMappingURL=subtract_corresponding.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.SyntaxCheck = SyntaxCheck;\n//# sourceMappingURL=syntax_check.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.SystemCall = SystemCall;\n//# sourceMappingURL=system_call.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Tables {\n runSyntax(node, scope, filename) {\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.substr(1);\n }\n // lookupTableOrView will also give Unknown and Void\n const found = (_b = scope.getDDIC()) === null || _b === void 0 ? void 0 : _b.lookupTableOrView(name);\n if (found) {\n scope.getDDICReferences().addUsing(scope.getParentObj(), { object: found.object, filename: filename, token: nameToken });\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, found.type));\n return;\n }\n // this should never happen,\n scope.addIdentifier(new _typed_identifier_1.TypedIdentifier(nameToken, filename, new unknown_type_1.UnknownType(\"Tables, fallback\")));\n }\n}\nexports.Tables = Tables;\n//# sourceMappingURL=tables.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const source of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(source, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.Transfer = Transfer;\n//# sourceMappingURL=transfer.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Translate = Translate;\n//# sourceMappingURL=translate.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.TruncateDataset = TruncateDataset;\n//# sourceMappingURL=truncate_dataset.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Type {\n runSyntax(node, scope, filename, qualifiedNamePrefix) {\n const tt = node.findFirstExpression(Expressions.TypeTable);\n if (tt) {\n return new type_table_1.TypeTable().runSyntax(node, scope, filename, qualifiedNamePrefix);\n }\n const found = new basic_types_1.BasicTypes(filename, scope).simpleType(node, qualifiedNamePrefix);\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(), 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://web-transpiler/./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\");\nclass Unassign {\n runSyntax(node, scope, filename) {\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 = scope.findVariable(token.getStr());\n if (found === undefined) {\n throw new Error(`\"${token.getStr()}\" not found, Unassign`);\n }\n scope.addReference(token, found, _reference_1.ReferenceType.DataWriteReference, filename);\n }\n }\n}\nexports.Unassign = Unassign;\n//# sourceMappingURL=unassign.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Unpack = Unpack;\n//# sourceMappingURL=unpack.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n const dbtab = node.findFirstExpression(Expressions.DatabaseTable);\n if (dbtab !== undefined) {\n new database_table_1.DatabaseTable().runSyntax(dbtab, scope, filename);\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 = scope.getDDIC().lookupTable(tokenName.getStr());\n if (found instanceof basic_1.StructureType) {\n scope.push(_scope_type_1.ScopeType.OpenSQL, \"UPDATE\", tokenName.getStart(), 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, filename, field.type);\n scope.addIdentifier(id);\n }\n }\n }\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const d of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(d, scope, filename);\n }\n if (scope.getType() === _scope_type_1.ScopeType.OpenSQL) {\n scope.pop(node.getLastToken().getEnd());\n }\n }\n}\nexports.UpdateDatabase = UpdateDatabase;\n//# sourceMappingURL=update_database.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const t of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(t, scope, filename);\n }\n }\n}\nexports.Wait = Wait;\n//# sourceMappingURL=wait.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n }\n}\nexports.When = When;\n//# sourceMappingURL=when.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass WhenType {\n runSyntax(node, scope, filename) {\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 = scope.findObjectDefinition(className);\n if (found === undefined && scope.getDDIC().inErrorNamespace(className) === false) {\n type = new basic_1.VoidType(className);\n }\n else if (found === undefined) {\n throw new Error(\"Class \" + className + \" not found\");\n }\n else {\n type = new basic_1.ObjectReferenceType(found);\n }\n const inline = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.InlineData);\n if (inline) {\n new inline_data_1.InlineData().runSyntax(inline, scope, filename, type);\n }\n }\n}\nexports.WhenType = WhenType;\n//# sourceMappingURL=when_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findDirectExpressions(Expressions.Cond)) {\n new cond_1.Cond().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Source)) {\n new source_1.Source().runSyntax(s, scope, filename);\n }\n for (const s of node.findDirectExpressions(Expressions.Target)) {\n new target_1.Target().runSyntax(s, scope, filename);\n }\n }\n}\nexports.While = While;\n//# sourceMappingURL=while.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Select)) {\n new select_1.Select().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SelectLoop)) {\n new select_loop_1.SelectLoop().runSyntax(s, scope, filename);\n }\n }\n}\nexports.With = With;\n//# sourceMappingURL=with.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\n for (const s of node.findAllExpressions(Expressions.Select)) {\n new select_1.Select().runSyntax(s, scope, filename);\n }\n for (const s of node.findAllExpressions(Expressions.SelectLoop)) {\n new select_loop_1.SelectLoop().runSyntax(s, scope, filename);\n }\n }\n}\nexports.WithLoop = WithLoop;\n//# sourceMappingURL=with_loop.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Write {\n runSyntax(node, scope, filename) {\n // todo, more\n const second = node.getChildren()[1];\n for (const s of node.findAllExpressions(Expressions.Source)) {\n const type = new source_1.Source().runSyntax(s, scope, filename);\n if (s === second\n && new _type_utils_1.TypeUtils(scope).isCharLike(type) === false\n && new _type_utils_1.TypeUtils(scope).isHexLike(type) === false) {\n throw new Error(\"Source not character like\");\n }\n }\n for (const s of node.findAllExpressions(Expressions.SimpleFieldChain2)) {\n new field_chain_1.FieldChain().runSyntax(s, scope, filename, _reference_1.ReferenceType.DataReadReference);\n }\n for (const s of node.findAllExpressions(Expressions.Dynamic)) {\n new dynamic_1.Dynamic().runSyntax(s, scope, filename);\n }\n const target = node.findDirectExpression(Expressions.Target);\n if (target) {\n new target_1.Target().runSyntax(target, scope, filename);\n }\n }\n}\nexports.Write = Write;\n//# sourceMappingURL=write.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, scope, filename) {\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, scope, filename);\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, filename, new Basic.StructureType(components), [\"static\" /* IdentifierMeta.Static */], values);\n }\n}\nexports.ClassData = ClassData;\n//# sourceMappingURL=class_data.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass Constants {\n runSyntax(node, scope, filename) {\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 Error(\"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, scope, filename);\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, scope, filename);\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, 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://web-transpiler/./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\");\nclass Data {\n runSyntax(node, scope, filename) {\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, scope, filename);\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, scope, filename);\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 const foundId = scope.findType(typeName);\n let found = foundId === null || foundId === void 0 ? void 0 : foundId.getType();\n if (found === undefined) {\n const f = 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 scope.addReference(typeToken, foundId, _reference_1.ReferenceType.TypeReference, filename);\n }\n if (found instanceof Basic.VoidType) {\n if (table === true) {\n return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.TableType(found, { withHeader: true, keyType: Basic.TableKeyType.default }));\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name, filename, found);\n }\n }\n if (found instanceof Basic.UnknownType) {\n return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.UnknownType(\"unknown type, \" + typeName));\n }\n if (!(found instanceof Basic.StructureType)) {\n throw new Error(\"not structured, \" + typeName);\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, 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, filename, new Basic.StructureType(components), undefined, val);\n }\n }\n}\nexports.Data = Data;\n//# sourceMappingURL=data.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\n// todo, this is much like DATA, refactor?\nclass Statics {\n runSyntax(node, scope, filename) {\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, scope, filename);\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, scope, filename);\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 = scope.findType(typeName)) === null || _b === void 0 ? void 0 : _b.getType();\n if (found === undefined) {\n const f = 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 return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.TableType(found, { withHeader: true, keyType: Basic.TableKeyType.default }));\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name, filename, found);\n }\n }\n if (found instanceof Basic.UnknownType) {\n return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.UnknownType(\"unknown type, \" + typeName));\n }\n if (!(found instanceof Basic.StructureType)) {\n throw new Error(\"not structured, \" + typeName);\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, filename, new Basic.TableType(new Basic.StructureType(components), { withHeader: true, keyType: Basic.TableKeyType.default }));\n }\n else {\n return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.StructureType(components));\n }\n }\n}\nexports.Statics = Statics;\n//# sourceMappingURL=statics.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\nclass TypeEnum {\n runSyntax(node, scope, filename) {\n var _a;\n let values = [];\n const types = [];\n if (!(node.get() instanceof Structures.TypeEnum)) {\n throw new Error(\"TypeEnum, unexpected type\");\n }\n const begin = node.findDirectStatement(Statements.TypeEnumBegin);\n if (begin === undefined) {\n throw new Error(\"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, 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, 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 = scope.findType(baseName);\n if (found) {\n scope.addReference(baseType, found, _reference_1.ReferenceType.TypeReference, filename);\n }\n }\n const name = begin.findFirstExpression(Expressions.NamespaceSimpleName);\n if (name) {\n let qualifiedName = name.concatTokens();\n if (scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = scope.getName() + \"=>\" + qualifiedName;\n }\n const id = new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), filename, new enum_type_1.EnumType({ qualifiedName: qualifiedName }), [\"enum\" /* IdentifierMeta.Enum */]);\n 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(), 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://web-transpiler/./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, scope, filename, 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, scope, filename, 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, scope, filename);\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, scope, filename, 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, 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 (scope.getType() === _scope_type_1.ScopeType.ClassDefinition\n || scope.getType() === _scope_type_1.ScopeType.Interface) {\n qualifiedName = scope.getName() + \"=>\" + qualifiedName;\n }\n return new _typed_identifier_1.TypedIdentifier(name, filename, new Basic.StructureType(components, qualifiedName));\n }\n}\nexports.Types = Types;\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 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 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\");\n// -----------------------------------\nconst map = {};\nfunction addToMap(handler) {\n if (map[handler.constructor.name] !== undefined) {\n throw new Error(\"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 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}\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, \"check_syntax\", 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 // if this returns true, then the traversal should continue with next child\n updateScopeStructure(node) {\n const filename = this.currentFile.getFilename();\n const stru = node.get();\n if (stru instanceof Structures.ClassDefinition) {\n new class_definition_1.ClassDefinition(node, filename, this.scope);\n return true;\n }\n else if (stru instanceof Structures.Interface) {\n new interface_definition_1.InterfaceDefinition(node, filename, this.scope);\n return true;\n }\n else if (stru instanceof Structures.Types) {\n this.scope.addType(new types_1.Types().runSyntax(node, this.scope, filename));\n return true;\n }\n else if (stru instanceof Structures.Constants) {\n this.scope.addIdentifier(new constants_1.Constants().runSyntax(node, this.scope, filename).type);\n return true;\n }\n else if (stru instanceof Structures.Data) {\n this.scope.addIdentifier(new data_1.Data().runSyntax(node, this.scope, filename));\n return true;\n }\n else if (stru instanceof Structures.Statics) {\n this.scope.addIdentifier(new statics_1.Statics().runSyntax(node, this.scope, filename));\n return true;\n }\n else if (stru instanceof Structures.TypeEnum) {\n const values = new type_enum_1.TypeEnum().runSyntax(node, this.scope, filename).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 // todo, refactor\n if (s instanceof Statements.Type) {\n this.scope.addType(new type_1.Type().runSyntax(node, this.scope, filename));\n return;\n }\n else if (s instanceof Statements.Constant) {\n this.scope.addIdentifier(new constant_1.Constant().runSyntax(node, this.scope, filename));\n return;\n }\n else if (s instanceof Statements.Static) {\n this.scope.addIdentifier(new static_1.Static().runSyntax(node, this.scope, filename));\n return;\n }\n else if (s instanceof Statements.Data) {\n this.scope.addIdentifier(new data_2.Data().runSyntax(node, this.scope, filename));\n return;\n }\n const name = s.constructor.name;\n if (map[name]) {\n map[name].runSyntax(node, this.scope, filename);\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 this.scope.pop(node.getLastToken().getEnd());\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 = void 0;\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 getEnd() {\n return this.endNode;\n }\n addEdge(from, to) {\n if (this.edges[from] === undefined) {\n this.edges[from] = {};\n }\n this.edges[from][to] = true;\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 });\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) {\n if (to.hasEdges() === false) {\n return from;\n }\n this.addEdge(from, to.getStart());\n to.listEdges().forEach(e => this.addEdge(e.from, e.to));\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 graph += `\"${l.from}\" -> \"${l.to}\";\\n`;\n }\n return graph.trim();\n }\n setLabel(label) {\n this.label = label;\n }\n toDigraph() {\n return `digraph G {\r\nlabelloc=\"t\";\r\nlabel=\"${this.label}\";\r\ngraph [fontname = \"helvetica\"];\r\nnode [fontname = \"helvetica\", shape=\"box\"];\r\nedge [fontname = \"helvetica\"];\r\n${this.toTextEdges()}\r\n}`;\n }\n listSources(node) {\n const set = new Set();\n for (const l of this.listEdges()) {\n if (node === l.to) {\n set.add(l.from);\n }\n }\n return Array.from(set.values());\n }\n listTargets(node) {\n const set = new Set();\n for (const l of this.listEdges()) {\n if (node === l.from) {\n set.add(l.to);\n }\n }\n return Array.from(set.values());\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, node);\n }\n for (const t of targets) {\n this.removeEdge(node, t);\n }\n for (const s of sources) {\n for (const t of targets) {\n this.addEdge(s, t);\n }\n }\n }\n if (node.startsWith(\"end#\") && sources.length === 0) {\n for (const t of targets) {\n this.removeEdge(node, t);\n }\n }\n }\n return this;\n }\n}\nexports.FlowGraph = FlowGraph;\n//# sourceMappingURL=flow_graph.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/flow/flow_graph.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\");\nclass StatementFlow {\n constructor() {\n this.counter = 0;\n }\n build(stru) {\n var _a, _b;\n const ret = [];\n const forms = stru.findAllStructures(Structures.Form);\n for (const f of forms) {\n const formName = \"FORM \" + ((_a = f.findFirstExpression(Expressions.FormName)) === null || _a === void 0 ? void 0 : _a.concatTokens());\n this.counter = 1;\n const graph = this.traverseBody(this.findBody(f), { procedureEnd: \"end#1\" });\n graph.setLabel(formName);\n ret.push(graph);\n }\n const methods = stru.findAllStructures(Structures.Method);\n for (const f of methods) {\n const methodName = \"METHOD \" + ((_b = f.findFirstExpression(Expressions.MethodName)) === null || _b === void 0 ? void 0 : _b.concatTokens());\n this.counter = 1;\n const graph = this.traverseBody(this.findBody(f), { procedureEnd: \"end#1\" });\n graph.setLabel(methodName);\n ret.push(graph);\n }\n return ret.map(f => f.reduce());\n }\n ////////////////////\n findBody(f) {\n var _a;\n return ((_a = f.findDirectStructure(Structures.Body)) === null || _a === void 0 ? void 0 : _a.getChildren()) || [];\n }\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 if (token === undefined) {\n return \"tokenError\";\n }\n return statement.get().constructor.name +\n \":\" + token.getRow() +\n \",\" + token.getCol();\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());\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);\n current = name;\n if (firstChild.get() instanceof Statements.Check) {\n if (context.loopStart) {\n graph.addEdge(name, context.loopStart);\n }\n else {\n graph.addEdge(name, context.procedureEnd);\n }\n }\n else if (firstChild.get() instanceof Statements.Assert) {\n graph.addEdge(name, context.procedureEnd);\n }\n else if (firstChild.get() instanceof Statements.Continue && context.loopStart) {\n graph.addEdge(name, context.loopStart);\n return graph;\n }\n else if (firstChild.get() instanceof Statements.Exit) {\n if (context.loopEnd) {\n graph.addEdge(name, context.loopEnd);\n }\n else {\n graph.addEdge(name, context.procedureEnd);\n }\n return graph;\n }\n else if (firstChild.get() instanceof Statements.Return) {\n graph.addEdge(name, context.procedureEnd);\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);\n }\n }\n }\n graph.addEdge(current, graph.getEnd());\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);\n graph.addGraph(ifName, sub);\n graph.addEdge(sub.getEnd(), graph.getEnd());\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);\n graph.addGraph(elseIfName, sub);\n graph.addEdge(sub.getEnd(), graph.getEnd());\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);\n graph.addGraph(elseName, sub);\n graph.addEdge(sub.getEnd(), graph.getEnd());\n }\n else {\n graph.addEdge(ifName, graph.getEnd());\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.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);\n graph.addGraph(loopName, sub);\n graph.addEdge(sub.getEnd(), loopName);\n graph.addEdge(loopName, graph.getEnd());\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);\n graph.addGraph(tryName, body);\n graph.addEdge(body.getEnd(), graph.getEnd());\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);\n graph.addGraph(catchName, catchBody);\n graph.addEdge(catchBody.getEnd(), graph.getEnd());\n }\n // TODO, handle CLEANUP\n }\n else if (type instanceof Structures.Case) {\n const caseName = this.buildName(n.getFirstStatement());\n graph.addEdge(current, caseName);\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);\n graph.addGraph(firstName, sub);\n graph.addEdge(sub.getEnd(), graph.getEnd());\n }\n if (othersFound === false) {\n graph.addEdge(caseName, graph.getEnd());\n }\n }\n else if (type instanceof Structures.CaseType) {\n const caseName = this.buildName(n.getFirstStatement());\n graph.addEdge(current, caseName);\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);\n graph.addGraph(firstName, sub);\n graph.addEdge(sub.getEnd(), graph.getEnd());\n }\n if (othersFound === false) {\n graph.addEdge(caseName, graph.getEnd());\n }\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://web-transpiler/./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://web-transpiler/./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 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 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 findDirectTokenByText(text) {\n for (const child of this.getChildren()) {\n if (child instanceof token_node_1.TokenNode && child.get().getStr().toUpperCase() === text.toUpperCase()) {\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://web-transpiler/./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//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/./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\");\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_1.StringTemplate\n || token instanceof string_1.StringTemplateBegin\n || token instanceof string_1.StringTemplateMiddle\n || token instanceof string_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_1.StringTemplate\n || token instanceof string_1.StringTemplateBegin\n || token instanceof string_1.StringTemplateMiddle\n || token instanceof string_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://web-transpiler/./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://web-transpiler/./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.TokenNodeRegex = exports.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;\nclass TokenNodeRegex extends TokenNode {\n}\nexports.TokenNodeRegex = TokenNodeRegex;\n//# sourceMappingURL=token_node.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/nodes/token_node.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 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://web-transpiler/./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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/types/alias.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/abap/types/aliases.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/abap/types/aliases.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Aliases = void 0;\nconst alias_1 = __webpack_require__(/*! ./alias */ \"./node_modules/@abaplint/core/build/src/abap/types/alias.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 visibility_1 = __webpack_require__(/*! ../4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass Aliases {\n constructor(node, filename, scope) {\n this.aliases = [];\n this.filename = filename;\n this.parse(node, scope, filename);\n }\n getAll() {\n return this.aliases;\n }\n getByName(name) {\n for (const a of this.aliases) {\n if (a.getName().toLowerCase() === name.toLowerCase()) {\n return a;\n }\n }\n return undefined;\n }\n /////////////////////////\n parse(node, scope, filename) {\n const cdef = node.findFirstStructure(Structures.ClassDefinition);\n if (cdef) {\n this.parseSection(cdef.findFirstStructure(Structures.PublicSection), visibility_1.Visibility.Public, scope, filename);\n this.parseSection(cdef.findFirstStructure(Structures.PrivateSection), visibility_1.Visibility.Private, scope, filename);\n this.parseSection(cdef.findFirstStructure(Structures.ProtectedSection), visibility_1.Visibility.Protected, scope, filename);\n }\n const idef = node.findFirstStructure(Structures.Interface);\n if (idef) {\n this.parseSection(idef, visibility_1.Visibility.Public, scope, filename);\n }\n }\n parseSection(node, visibility, scope, filename) {\n if (!node) {\n return;\n }\n const list = node.findAllStatements(Statements.Aliases);\n for (const a of list) {\n const name = a.findFirstExpression(Expressions.SimpleName).getFirstToken();\n const compToken = a.findFirstExpression(Expressions.Field).getFirstToken();\n const compName = compToken.getStr();\n this.aliases.push(new alias_1.Alias(name, visibility, compName, this.filename));\n if (compName.includes(\"~\")) {\n const name = compName.split(\"~\")[0];\n const idef = scope.findInterfaceDefinition(name);\n if (idef) {\n scope.addReference(compToken, idef, _reference_1.ReferenceType.ObjectOrientedReference, filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n }\n }\n }\n}\nexports.Aliases = Aliases;\n//# sourceMappingURL=aliases.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/abap/types/aliases.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 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 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;\n//# sourceMappingURL=clike_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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\");\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 // a DATA definition can be \"REF TO data\", so its not generic\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://web-transpiler/./node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 \"```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.fltp\";\n }\n}\nexports.FloatingPointType = FloatingPointType;\n//# sourceMappingURL=floating_point_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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__(/*! ./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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) {\n super({\n qualifiedName: qualifiedName,\n ddicName: ddicName,\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://web-transpiler/./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) {\n var _a;\n super({ qualifiedName: qualifiedName });\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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, name) {\n super({ qualifiedName: name });\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 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\");\nclass Attributes {\n constructor(node, filename, scope) {\n this.static = [];\n this.instance = [];\n this.constants = [];\n this.filename = filename;\n this.tlist = [];\n this.parse(node, scope);\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 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, scope) {\n const cdef = node.findDirectStructure(Structures.ClassDefinition);\n if (cdef) {\n this.parseSection(cdef.findDirectStructure(Structures.PublicSection), visibility_1.Visibility.Public, scope);\n this.parseSection(cdef.findDirectStructure(Structures.ProtectedSection), visibility_1.Visibility.Protected, scope);\n this.parseSection(cdef.findDirectStructure(Structures.PrivateSection), visibility_1.Visibility.Private, scope);\n return;\n }\n const idef = node.findDirectStructure(Structures.Interface);\n if (idef) {\n this.parseSection(idef.findDirectStructure(Structures.SectionContents), visibility_1.Visibility.Public, scope);\n return;\n }\n throw new Error(\"MethodDefinition, expected ClassDefinition or InterfaceDefinition\");\n }\n parseSection(node, visibility, scope) {\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, scope, this.filename);\n if (found !== undefined) {\n const attr = new class_attribute_1.ClassAttribute(found, visibility, found.getMeta(), found.getValue());\n this.instance.push(attr);\n scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Structures.ClassData) {\n const found = new class_data_2.ClassData().runSyntax(c, scope, this.filename);\n if (found !== undefined) {\n const attr = new class_attribute_1.ClassAttribute(found, visibility, found.getMeta(), found.getValue());\n this.static.push(attr);\n scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Structures.Constants) {\n const { type: found, values } = new constants_1.Constants().runSyntax(c, scope, this.filename);\n if (found !== undefined) {\n const attr = new class_constant_1.ClassConstant(found, visibility, values);\n this.constants.push(attr);\n scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Structures.TypeEnum) {\n const { values, types } = new type_enum_1.TypeEnum().runSyntax(c, scope, this.filename);\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 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, scope, this.filename);\n if (res) {\n scope.addType(res);\n this.tlist.push({ type: res, visibility });\n }\n }\n else {\n // begin recursion\n this.parseSection(c, visibility, scope);\n }\n }\n else if (c instanceof nodes_1.StatementNode) {\n if (ctyp instanceof Statements.Data) {\n this.instance.push(this.parseAttribute(c, visibility, scope));\n }\n else if (ctyp instanceof Statements.ClassData) {\n this.static.push(this.parseAttribute(c, visibility, scope));\n }\n else if (ctyp instanceof Statements.Constant) {\n const found = new constant_1.Constant().runSyntax(c, scope, this.filename);\n if (found) {\n const attr = new class_constant_1.ClassConstant(found, visibility, found.getValue());\n this.constants.push(attr);\n scope.addIdentifier(attr);\n }\n }\n else if (ctyp instanceof Statements.Type) {\n const res = new type_1.Type().runSyntax(c, scope, this.filename);\n if (res) {\n scope.addType(res);\n this.tlist.push({ type: res, visibility });\n }\n }\n }\n }\n }\n parseAttribute(node, visibility, scope) {\n let found = undefined;\n const s = node.get();\n if (s instanceof Statements.Data) {\n found = new data_1.Data().runSyntax(node, scope, this.filename);\n }\n else if (s instanceof Statements.ClassData) {\n found = new class_data_1.ClassData().runSyntax(node, scope, this.filename);\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 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://web-transpiler/./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://web-transpiler/./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 aliases_1 = __webpack_require__(/*! ./aliases */ \"./node_modules/@abaplint/core/build/src/abap/types/aliases.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, filename, scope) {\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, filename);\n scope.addClassDefinition(this);\n this.node = node;\n this.events = [];\n this.implementing = [];\n scope.push(_scope_type_1.ScopeType.ClassDefinition, name.getStr(), name.getStart(), filename);\n this.superClass = this.findSuper(def, filename, scope);\n this.friends = this.findFriends(def, filename, scope);\n this.parse(filename, scope);\n const helper = new _object_oriented_1.ObjectOriented(scope);\n helper.fromSuperClassesAndInterfaces(this);\n helper.addAliasedTypes(this.aliases);\n this.attributes = new class_attributes_1.Attributes(this.node, this.filename, scope);\n this.types = this.attributes.getTypes();\n const events = this.node.findAllStatements(Statements.Events);\n for (const e of events) {\n this.events.push(new event_definition_1.EventDefinition(e, visibility_1.Visibility.Public, this.filename, scope)); // todo, all these are not Public\n }\n this.methodDefs = new method_definitions_1.MethodDefinitions(this.node, this.filename, scope);\n scope.pop(node.getLastToken().getEnd());\n const cdef = this.node.findFirstStatement(Statements.ClassDefinition);\n const concat = cdef.concatTokens().toUpperCase();\n this.testing = concat.includes(\" FOR TESTING\");\n this.sharedMemory = concat.includes(\" SHARED MEMORY ENABLED\");\n this.abstract = (cdef === null || cdef === void 0 ? void 0 : cdef.findDirectTokenByText(\"ABSTRACT\")) !== undefined;\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.node.findFirstExpression(Expressions.ClassGlobal) !== undefined;\n }\n isFinal() {\n return this.node.findFirstExpression(Expressions.ClassFinal) !== undefined;\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, filename, scope) {\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, filename, scope);\n const name = token === null || token === void 0 ? void 0 : token.getStr();\n return name;\n }\n findFriends(def, filename, scope) {\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, filename, scope);\n const name = token.getStr();\n result.push(name);\n }\n return result;\n }\n addReference(token, filename, scope) {\n const name = token === null || token === void 0 ? void 0 : token.getStr();\n if (name) {\n const s = scope.findClassDefinition(name);\n if (s) {\n scope.addReference(token, s, _reference_1.ReferenceType.ObjectOrientedReference, filename, { ooName: name.toUpperCase(), ooType: \"CLAS\" });\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename);\n }\n }\n }\n parse(filename, scope) {\n var _a;\n for (const node of this.node.findAllStatements(Statements.InterfaceDef)) {\n const partial = node.concatTokens().toUpperCase().includes(\" PARTIALLY IMPLEMENTED\");\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 = scope.findInterfaceDefinition(name);\n if (intf) {\n scope.addReference(token, intf, _reference_1.ReferenceType.ObjectOrientedReference, filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n else {\n scope.addReference(token, undefined, _reference_1.ReferenceType.ObjectOrientedUnknownReference, filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n }\n this.aliases = new aliases_1.Aliases(this.node, this.filename, scope);\n }\n}\nexports.ClassDefinition = ClassDefinition;\n//# sourceMappingURL=class_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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, filename, scope) {\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(), filename);\n this.parameters = [];\n this.parse(node, filename, scope);\n }\n getParameters() {\n return this.parameters;\n }\n ///////////////\n parse(node, filename, scope) {\n for (const e of node.findAllExpressions(expressions_1.MethodParam)) {\n this.parameters.push(new method_param_1.MethodParam().runSyntax(e, scope, filename, []));\n }\n }\n}\nexports.EventDefinition = EventDefinition;\n//# sourceMappingURL=event_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, filename, scope) {\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, filename);\n this.node = st;\n this.tableParameters = this.findTables(scope, filename);\n this.usingParameters = this.findType(Expressions.FormUsing, scope);\n this.changingParameters = this.findType(Expressions.FormChanging, scope);\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(scope, filename) {\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(), filename, new basic_1.VoidType(\"FORM:UNTYPED\"), [\"form_parameter\" /* IdentifierMeta.FormParameter */]));\n }\n else {\n const p = new form_param_1.FormParam().runSyntax(param, scope, this.filename);\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(), filename, type, [\"form_parameter\" /* IdentifierMeta.FormParameter */]));\n }\n }\n return ret;\n }\n findType(type, scope) {\n const found = this.node.findFirstExpression(type);\n if (found === undefined) {\n return [];\n }\n return this.findParams(found, scope);\n }\n findParams(node, scope) {\n const res = [];\n for (const param of node.findAllExpressions(Expressions.FormParam)) {\n const p = new form_param_1.FormParam().runSyntax(param, scope, this.filename);\n res.push(p);\n }\n return res;\n }\n}\nexports.FormDefinition = FormDefinition;\n//# sourceMappingURL=form_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 aliases_1 = __webpack_require__(/*! ./aliases */ \"./node_modules/@abaplint/core/build/src/abap/types/aliases.js\");\nconst _reference_1 = __webpack_require__(/*! ../5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass InterfaceDefinition extends _identifier_1.Identifier {\n constructor(node, filename, scope) {\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, filename);\n scope.addInterfaceDefinition(this);\n this.node = node;\n this.events = [];\n this.implementing = [];\n scope.push(_scope_type_1.ScopeType.Interface, name.getStr(), node.getFirstToken().getStart(), filename);\n this.parse(scope);\n 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.isGlobal();\n }\n isGlobal() {\n return this.node.findFirstExpression(Expressions.ClassGlobal) !== undefined;\n }\n getMethodDefinitions() {\n return this.methodDefinitions;\n }\n /////////////////\n parse(scope) {\n var _a;\n // todo, proper sequencing, the statements should be processed line by line\n this.attributes = new class_attributes_1.Attributes(this.node, this.filename, scope);\n this.typeDefinitions = this.attributes.getTypes();\n this.aliases = new aliases_1.Aliases(this.node, this.filename, scope);\n // todo, cleanup aliases, vs \"object_oriented.ts\" vs \"class_implementation.ts\"\n for (const a of this.aliases.getAll()) {\n const [objName, fieldName] = a.getComponent().split(\"~\");\n const idef = scope.findInterfaceDefinition(objName);\n if (idef) {\n const found = idef.getTypeDefinitions().getByName(fieldName);\n if (found) {\n scope.addTypeNamed(a.getName(), found);\n }\n }\n }\n this.methodDefinitions = new method_definitions_1.MethodDefinitions(this.node, this.filename, scope);\n const events = this.node.findAllStatements(Statements.Events);\n for (const e of events) {\n this.events.push(new event_definition_1.EventDefinition(e, visibility_1.Visibility.Public, this.filename, scope));\n }\n for (const i of this.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 = scope.findInterfaceDefinition(name);\n if (idef) {\n scope.addReference(token, idef, _reference_1.ReferenceType.ObjectOrientedReference, this.filename, { ooName: name.toUpperCase(), ooType: \"INTF\" });\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n 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}\nexports.InterfaceDefinition = InterfaceDefinition;\n//# sourceMappingURL=interface_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 return (this.getMessage().match(/&/g) || []).length;\n }\n}\nexports.Message = Message;\n//# sourceMappingURL=message.js.map\n\n//# sourceURL=webpack://web-transpiler/./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, filename, scope) {\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(), 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 = scope.findInterfaceDefinition(name.split(\"~\")[0]);\n if (idef) {\n scope.addReference(found.getFirstToken(), idef, _reference_1.ReferenceType.ObjectOrientedReference, 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 = scope.findClassDefinition(name);\n if (clas) {\n scope.addReference(token, clas, _reference_1.ReferenceType.ObjectOrientedReference, filename, { ooName: name.toUpperCase(), ooType: \"CLAS\" });\n }\n else if (scope.getDDIC().inErrorNamespace(name) === false) {\n scope.addReference(token, clas, _reference_1.ReferenceType.ObjectOrientedVoidReference, filename, { ooName: name.toUpperCase(), ooType: \"CLAS\" });\n }\n else {\n scope.addReference(token, clas, _reference_1.ReferenceType.ObjectOrientedUnknownReference, 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, this.filename, scope);\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://web-transpiler/./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, filename, scope) {\n this.all = {};\n this.all = {};\n this.filename = filename;\n this.parse(node, scope);\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, scope) {\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, this.filename, scope);\n this.all[m.getName().toUpperCase()] = m;\n }\n }\n parse(node, scope) {\n const idef = node.findDirectStructure(Structures.Interface);\n if (idef) {\n return this.parseInterface(node, scope);\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, this.filename, scope);\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, this.filename, scope);\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, this.filename, scope);\n this.all[m.getName().toUpperCase()] = m;\n }\n }\n}\nexports.MethodDefinitions = MethodDefinitions;\n//# sourceMappingURL=method_definitions.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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\");\n// todo:\n// this.exceptions = [];\n// also consider RAISING vs EXCEPTIONS\nclass MethodParameters {\n constructor(node, filename, scope) {\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 = filename;\n this.parse(node, scope, filename);\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, scope, filename) {\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 = scope.findObjectDefinition(ooName);\n const doVoid = def ? false : !scope.getDDIC().inErrorNamespace(ooName);\n if (def) {\n scope.addReference(nameToken, def, _reference_1.ReferenceType.ObjectOrientedReference, filename);\n }\n else if (doVoid && ooName) {\n 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(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, scope, [\"importing\" /* IdentifierMeta.MethodImporting */]);\n if (importing.concatTokens().toUpperCase().includes(\" PREFERRED PARAMETER\")) {\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, scope, [\"exporting\" /* IdentifierMeta.MethodExporting */]);\n }\n const changing = node.findFirstExpression(Expressions.MethodDefChanging);\n if (changing) {\n this.add(this.changing, changing, scope, [\"changing\" /* IdentifierMeta.MethodChanging */]);\n }\n const returning = node.findFirstExpression(Expressions.MethodDefReturning);\n if (returning) {\n this.returning = new method_def_returning_1.MethodDefReturning().runSyntax(returning, scope, this.filename, [\"returning\" /* IdentifierMeta.MethodReturning */]);\n }\n this.workaroundRAP(node, scope, filename);\n }\n workaroundRAP(node, scope, filename) {\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(), filename, new basic_1.VoidType(\"RapMethodParameter\"), [\"importing\" /* IdentifierMeta.MethodImporting */]));\n }\n if (node.concatTokens().toUpperCase().includes(\" FOR VALIDATE \")\n || node.concatTokens().toUpperCase().includes(\" FOR BEHAVIOR \")\n || node.concatTokens().toUpperCase().includes(\" FOR FEATURES \")\n || node.concatTokens().toUpperCase().includes(\" FOR MODIFY \")) {\n const token = isRap.getFirstToken();\n this.exporting.push(new _typed_identifier_1.TypedIdentifier(new identifier_1.Identifier(token.getStart(), \"failed\"), 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\"), 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\"), 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, filename, new basic_1.VoidType(\"RapMethodParameter\"), [\"exporting\" /* IdentifierMeta.MethodExporting */]));\n }\n // its some kind of magic\n if (scope.getName().toUpperCase() === \"CL_ABAP_BEHAVIOR_SAVER\") {\n const tempChanging = this.changing.map(c => new _typed_identifier_1.TypedIdentifier(c.getToken(), 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(), 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, scope, meta) {\n var _a;\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 (opt.concatTokens().toUpperCase().startsWith(\"VALUE(\")) {\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 target.push(new method_param_1.MethodParam().runSyntax(p, scope, this.filename, [...meta, ...extraMeta]));\n if (opt.getLastToken().getStr().toUpperCase() === \"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 = (_a = opt.findFirstExpression(Expressions.Default)) === null || _a === void 0 ? void 0 : _a.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, scope, this.filename, meta));\n }\n }\n}\nexports.MethodParameters = MethodParameters;\n//# sourceMappingURL=method_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\nclass CDSDetermineTypes {\n parseType(_reg, parsedData) {\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 components.push({\n name: f.name,\n type: new basic_1.VoidType(\"DDLS:fieldname\"),\n });\n }\n return new basic_1.StructureType(components);\n }\n }\n}\nexports.CDSDetermineTypes = CDSDetermineTypes;\n//# sourceMappingURL=cds_determine_types.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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 return undefined;\n }\n return res[0];\n }\n}\nexports.CDSParser = CDSParser;\n//# sourceMappingURL=cds_parser.js.map\n\n//# sourceURL=webpack://web-transpiler/./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);\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 return (0, combi_1.seq)(val, operator, val);\n }\n}\nexports.CDSArithmetics = CDSArithmetics;\n//# sourceMappingURL=cds_arithmetics.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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, 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://web-transpiler/./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://web-transpiler/./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.opt)((0, combi_1.seq)(\".\", (0, combi_1.alt)(_1.CDSName, _1.CDSString))));\n const left = (0, combi_1.alt)(name, _1.CDSFunction);\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.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.star)((0, combi_1.seq)((0, combi_1.alt)(\"AND\", \"OR\"), (0, combi_1.alt)(condition, paren))));\n }\n}\nexports.CDSCondition = CDSCondition;\n//# sourceMappingURL=cds_condition.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.CDSFunction, _1.CDSArithmetics, 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), (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)(_1.CDSParameters), (0, combi_1.star)((0, combi_1.seq)(\".\", _1.CDSName, (0, combi_1.opt)(_1.CDSParameters)))), (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://web-transpiler/./node_modules/@abaplint/core/build/src/cds/expressions/cds_element.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 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, CDSFunction, _1.CDSArithmetics, _1.CDSCase, _1.CDSString, qualified, (0, combi_1.regex)(/^\\d+$/));\n const coalesce = (0, combi_1.seq)(\"COALESCE\", \"(\", input, \",\", input, \")\");\n const concat = (0, combi_1.seq)(\"CONCAT\", \"(\", input, \",\", input, \")\");\n const concat_with_space = (0, combi_1.seq)(\"CONCAT_WITH_SPACE\", \"(\", input, \",\", input, \",\", input, \")\");\n const dats_add_days = (0, combi_1.seq)(\"DATS_ADD_DAYS\", \"(\", input, \",\", input, \",\", input, \")\");\n const dats_add_months = (0, combi_1.seq)(\"DATS_ADD_MONTHS\", \"(\", input, \",\", input, \",\", input, \")\");\n const dats_days_between = (0, combi_1.seq)(\"DATS_DAYS_BETWEEN\", \"(\", input, \",\", input, \")\");\n const dats_is_valid = (0, combi_1.seq)(\"DATS_IS_VALID\", \"(\", input, \")\");\n const substring = (0, combi_1.seq)(\"SUBSTRING\", \"(\", input, \",\", input, \",\", input, \")\");\n const bintohex = (0, combi_1.seq)(\"BINTOHEX\", \"(\", input, \")\");\n const hextobin = (0, combi_1.seq)(\"HEXTOBIN\", \"(\", input, \")\");\n const tstmp_to_dats = (0, combi_1.seq)(\"TSTMP_TO_DATS\", \"(\", input, \",\", input, \",\", input, \",\", input, \")\");\n const tstmp_to_tims = (0, combi_1.seq)(\"TSTMP_TO_TIMS\", \"(\", input, \",\", input, \",\", input, \",\", input, \")\");\n const tstmp_to_dst = (0, combi_1.seq)(\"TSTMP_TO_DST\", \"(\", input, \",\", input, \",\", input, \",\", input, \")\");\n const dats_tims_to_tstmp = (0, combi_1.seq)(\"DATS_TIMS_TO_TSTMP\", \"(\", input, \",\", input, \",\", input, \",\", input, \",\", input, \")\");\n const tstmp_is_valid = (0, combi_1.seq)(\"TSTMP_IS_VALID\", \"(\", input, \")\");\n const tstmp_current_utctimestamp = (0, combi_1.seq)(\"TSTMP_CURRENT_UTCTIMESTAMP\", \"(\", \")\");\n const tstmp_seconds_between = (0, combi_1.seq)(\"TSTMP_SECONDS_BETWEEN\", \"(\", input, \",\", input, \",\", input, \")\");\n const tstmp_add_seconds = (0, combi_1.seq)(\"TSTMP_ADD_SECONDS\", \"(\", input, \",\", input, \",\", input, \")\");\n const abap_system_timezone = (0, combi_1.seq)(\"ABAP_SYSTEM_TIMEZONE\", \"(\", input, \",\", input, \")\");\n const abap_user_timezone = (0, combi_1.seq)(\"ABAP_USER_TIMEZONE\", \"(\", input, \",\", input, \",\", input, \")\");\n const mod = (0, combi_1.seq)(\"MOD\", \"(\", input, \",\", input, \")\");\n return (0, combi_1.altPrio)(substring, coalesce, tstmp_to_dats, concat, tstmp_to_tims, 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);\n }\n}\nexports.CDSFunction = CDSFunction;\n//# sourceMappingURL=cds_function.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/cds/expressions/cds_function.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://web-transpiler/./node_modules/@abaplint/core/build/src/cds/expressions/cds_group_by.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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./node_modules/@abaplint/core/build/src/cds/expressions/cds_parameters_select.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://web-transpiler/./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://web-transpiler/./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 return (0, combi_1.seq)(\"SELECT\", (0, combi_1.opt)(\"DISTINCT\"), \"FROM\", _1.CDSSource, (0, combi_1.opt)(_1.CDSParametersSelect), (0, combi_1.opt)(_1.CDSAs), (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.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)(_1.CDSGroupBy), (0, combi_1.opt)(_1.CDSWhere), (0, combi_1.opt)((0, combi_1.seq)(\"UNION\", (0, combi_1.opt)(\"ALL\"), CDSSelect)));\n }\n}\nexports.CDSSelect = CDSSelect;\n//# sourceMappingURL=cds_select.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 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.CDSSource = CDSSource;\n//# sourceMappingURL=cds_source.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 return (0, combi_1.regex)(/^'[\\w: -_]*'$/);\n }\n}\nexports.CDSString = CDSString;\n//# sourceMappingURL=cds_string.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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_function */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_function.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_provider_contract */ \"./node_modules/@abaplint/core/build/src/cds/expressions/cds_provider_contract.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_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://web-transpiler/./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 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 return this.config[\"rules\"][rule] ? this.config[\"rules\"][rule][key] : undefined;\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://web-transpiler/./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 new Types.CLikeType({ qualifiedName: qualifiedName });\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.AnyType({ 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) {\n const found = this.reg.getObject(\"DOMA\", name);\n if (found) {\n return { type: found.parseType(this.reg, dataElement), 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(text, length, decimals, infoText, qualifiedName, conversionExit, ddicName) {\n // todo: support short strings, and length of different integers, NUMC vs CHAR, min/max length\n switch (text) {\n case \"DEC\": // 1 <= len <= 31\n case \"D16F\": // 1 <= len <= 31\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 (length === undefined) {\n return new Types.UnknownType(text + \" unknown length, \" + infoText, infoText);\n }\n else if (decimals === undefined) {\n return new Types.PackedType(parseInt(length, 10), 0, { qualifiedName, conversionExit, ddicName });\n }\n return new Types.PackedType(parseInt(length, 10), parseInt(decimals, 10), { qualifiedName, conversionExit, ddicName });\n case \"ACCP\":\n return new Types.CharacterType(6, { qualifiedName, conversionExit, ddicName }); // YYYYMM\n case \"LANG\":\n return new Types.CharacterType(1, { qualifiedName, conversionExit, ddicName });\n case \"CLNT\":\n return new Types.CharacterType(3, { qualifiedName, conversionExit, ddicName });\n case \"CUKY\":\n return new Types.CharacterType(5, { qualifiedName, conversionExit, ddicName });\n case \"UNIT\": // 2 <= len <= 3\n return new Types.CharacterType(3, { qualifiedName, conversionExit, ddicName });\n case \"UTCLONG\":\n return new Types.CharacterType(27, { qualifiedName, conversionExit, ddicName });\n case \"NUMC\": // 1 <= len <= 255\n if (length === undefined) {\n return new Types.UnknownType(text + \" unknown length\", infoText);\n }\n return new Types.NumericType(parseInt(length, 10), qualifiedName);\n case \"CHAR\": // 1 <= len <= 30000 (1333 for table fields)\n case \"LCHR\": // 256 <= len <= 32000\n if (length === undefined) {\n return new Types.UnknownType(text + \" unknown length\", infoText);\n }\n return new Types.CharacterType(parseInt(length, 10), { qualifiedName, conversionExit, ddicName });\n case \"RAW\": // 1 <= len <= 32000\n case \"LRAW\": // 256 <= len <= 32000\n if (length === undefined) {\n return new Types.UnknownType(text + \" unknown length\", infoText);\n }\n return new Types.HexType(parseInt(length, 10), qualifiedName);\n case \"TIMN\": // Native HANA\n case \"TIMS\":\n return new Types.TimeType({ qualifiedName: 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 (length === undefined) {\n return new Types.UnknownType(text + \" unknown length\", infoText);\n }\n return new Types.FloatingPointType(parseInt(length, 10), qualifiedName);\n case \"DATN\": // Native HANA\n case \"DATS\":\n return new Types.DateType({ qualifiedName: qualifiedName }); //YYYYMMDD\n case \"INT1\":\n case \"INT2\":\n case \"INT4\":\n return Types.IntegerType.get({ qualifiedName: qualifiedName });\n case \"INT8\":\n return new Types.Integer8Type({ qualifiedName: 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: qualifiedName });\n case \"RSTR\": // 256 <= len\n case \"RAWSTRING\": // 256 <= len\n case \"GEOM_EWKB\":\n return new Types.XStringType({ qualifiedName: 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(text + \" is an obsolete data type\", infoText);\n default:\n return new Types.UnknownType(text + \" unknown\", infoText);\n }\n }\n}\nexports.DDIC = DDIC;\n//# sourceMappingURL=ddic.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.applyEditList = exports.applyEditSingle = exports.EditHelper = exports.EditDraft = void 0;\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}\nexports.applyEditSingle = applyEditSingle;\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}\nexports.applyEditList = applyEditList;\n//# sourceMappingURL=edit_helper.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 const first = this.getFilename().split(\"\\\\\");\n const base1 = first[first.length - 1];\n const base2 = base1.split(\"/\");\n return base2[base2.length - 1];\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 namespace\n return split[0].toUpperCase().replace(/#/g, \"/\");\n }\n}\nexports.AbstractFile = AbstractFile;\n//# sourceMappingURL=_abstract_file.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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.Severity = exports.Visibility = exports.Info = exports.Rename = exports.PrettyPrinter = exports.Position = exports.CurrentScope = exports.ABAPFile = exports.RulesRunner = exports.SpaghettiScope = exports.SyntaxLogic = exports.ABAPObject = exports.Tokens = exports.ExpressionsCDS = exports.CDSParser = exports.LanguageServerTypes = exports.DDLParser = 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.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.RuleTag = 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 _token_1 = __webpack_require__(/*! ./abap/1_lexer/tokens/_token */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/_token.js\");\nObject.defineProperty(exports, \"Token\", ({ enumerable: true, get: function () { return _token_1.Token; } }));\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; } }));\nObject.defineProperty(exports, \"VirtualPosition\", ({ enumerable: true, get: function () { return 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; } }));\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; } }));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 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) {\n return this.atRange(file, statement.getStart(), statement.getEnd(), message, key, severity, fix);\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 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 fix,\n severity,\n });\n }\n static atRange(file, start, end, 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,\n end,\n fix,\n severity,\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 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 fix,\n });\n }\n constructor(data) {\n this.data = data;\n if (this.data.start instanceof position_1.VirtualPosition) {\n // no quick fixes inside macros\n this.data.fix = 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 getFix() {\n return this.data.fix;\n }\n getSeverity() {\n return this.data.severity;\n }\n}\nexports.Issue = Issue;\n//# sourceMappingURL=issue.js.map\n\n//# sourceURL=webpack://web-transpiler/./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 /*\n public static mapEditsDocument(edit: IEdit): LServer.WorkspaceEdit {\n const workspace: LServer.WorkspaceEdit = {documentChanges: []};\n for (const filename in edit) {\n const doc: LServer.VersionedTextDocumentIdentifier = {uri: filename, version: 1};\n \n const e = LServer.TextDocumentEdit.create(doc, this.mapText(edit[filename]));\n workspace.documentChanges?.push(e);\n }\n // @ts-ignore\n console.dir(workspace.documentChanges![0].edits[0]);\n // @ts-ignore\n console.dir(workspace.documentChanges![0].edits[1]);\n return workspace;\n }\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://web-transpiler/./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://web-transpiler/./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;\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 types_1 = __webpack_require__(/*! ../abap/types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.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 const bottomScope = new syntax_1.SyntaxLogic(reg, obj).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);\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 for (const c of bottomScope.listClassDefinitions()) {\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(),\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 (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 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;\n if (scope.getIdentifier().stype !== _scope_type_1.ScopeType.ClassDefinition\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 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 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://web-transpiler/./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://web-transpiler/./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.getFix();\n if (fix === undefined) {\n continue;\n }\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) === false) {\n continue;\n }\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 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 const fix = i.getFix();\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://web-transpiler/./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\");\nclass CodeLens {\n constructor(reg) {\n this.reg = reg;\n }\n list(textDocument, settings = { messageText: 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 new syntax_1.SyntaxLogic(this.reg, obj).run();\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 return ret;\n }\n}\nexports.CodeLens = CodeLens;\n//# sourceMappingURL=code_lens.js.map\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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 _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.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 this.reg.parse();\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, textDocument.uri); // todo, this sould also run for xml files\n if (file === undefined) {\n return [];\n }\n const obj = this.reg.findObjectForFile(file);\n if (obj === undefined) {\n return [];\n }\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://web-transpiler/./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 = \"
Spaghetti Scope:

\\n\";\n ret = ret + this.traverseSpaghetti(spaghetti.getTop(), 0);\n return ret;\n }\n static traverseSpaghetti(node, indent) {\n const identifier = node.getIdentifier();\n const coverage = node.calcCoverage();\n const sident = \" \".repeat(indent * 2);\n let ret = sident + \"\" + identifier.stype + \", \" + identifier.sname + \"\";\n ret += \", (\" + coverage.start.getRow() + \", \" + coverage.start.getCol() + \")\";\n if (coverage.end.getRow() === Number.MAX_SAFE_INTEGER\n && coverage.end.getCol() === Number.MAX_SAFE_INTEGER) {\n ret += \", (max, max)\";\n }\n else {\n ret += \", (\" + coverage.end.getRow() + \", \" + coverage.end.getCol() + \")\";\n }\n ret += \"
\";\n if (node.getIdentifier().stype === _scope_type_1.ScopeType.BuiltIn) {\n ret += sident + node.getData().types.length + \" type definitions
\";\n ret += sident + node.getData().vars.length + \" data definitions
\";\n }\n else {\n ret = ret + this.dumpNode(node, indent);\n }\n ret = ret + \"
\";\n for (const c of node.getChildren()) {\n ret = ret + this.traverseSpaghetti(c, indent + 1);\n }\n return ret;\n }\n static dumpNode(node, indent) {\n let ret = \"\";\n const sident = \" \".repeat(indent * 2);\n const types = node.getData().types;\n if (Object.keys(types).length === 0) {\n ret = ret + sident + \"0 type definitions
\";\n }\n else {\n ret = ret + sident + \"Types:
\";\n }\n for (const name in types) {\n const identifier = types[name];\n ret = ret + sident + \"\" + this.escape(name) + \"\";\n const pos = identifier.getStart();\n ret = ret + \"(\" + pos.getRow().toString() + \", \" + pos.getCol().toString() + \") \";\n ret = ret + identifier.getType().toText(0);\n ret = ret + \"
\";\n }\n const vars = node.getData().vars;\n if (Object.keys(vars).length === 0) {\n ret = ret + sident + \"0 data definitions
\";\n }\n else {\n ret = ret + sident + \"Data:
\";\n }\n for (const name in vars) {\n const identifier = vars[name];\n ret = ret + sident + \"\" + this.escape(name.toLowerCase()) + \"\";\n const pos = identifier.getStart();\n ret = ret + \"(\" + pos.getRow().toString() + \", \" + pos.getCol().toString() + \") \";\n ret = ret + identifier.getType().toText(0);\n const meta = identifier.getMeta();\n if (meta) {\n ret = ret + \", \" + meta;\n }\n ret = ret + \"
\";\n }\n ret += sident + Object.keys(node.getData().cdefs).length + \" class definitions
\";\n ret += sident + node.getData().idefs.length + \" interface definitions
\";\n ret += sident + node.getData().forms.length + \" form definitions
\";\n ret += sident + node.getData().references.length + \" references
\";\n for (const r of node.getData().references) {\n ret += sident + \"  \" + r.referenceType + \", line \" + r.position.getStart().getRow() + \" \" + this.escape(r.position.getFilename()) + \" \" + this.escape(r.position.getName()) + \"
\";\n }\n return ret;\n }\n // todo, refactor, this method exists in multiple classes\n static escape(str) {\n str = str.replace(/&/g, \"&\");\n str = str.replace(/>/g, \">\");\n str = str.replace(/ { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Help = void 0;\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.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 dump_scope_1 = __webpack_require__(/*! ./dump_scope */ \"./node_modules/@abaplint/core/build/src/lsp/dump_scope.js\");\nclass Help {\n static find(reg, textDocument, position) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(reg, textDocument.uri);\n if (file === undefined) {\n return \"file not found\";\n }\n else {\n return this.dumpABAP(file, reg, textDocument, position);\n }\n }\n /////////////////////////////////////////////////\n static dumpABAP(file, reg, textDocument, position) {\n let content = \"\";\n content = `\r\n Tokens |\r\n Statements |\r\n Structure |\r\n Files |\r\n Info Dump\r\n
\r\n ` +\n \"\" + textDocument.uri + \" (\" +\n (position.line + 1) + \", \" +\n (position.character + 1) + \")\";\n content = content + \"
\";\n content = content + this.cursorInformation(reg, textDocument, position, file);\n content = content + this.fileInformation(file);\n content = content + \"
\";\n content = content + this.dumpFiles(reg);\n content = content + \"
\";\n content = content + this.dumpInfo(file);\n return content;\n }\n static dumpInfo(file) {\n const info = file.getInfo();\n const dump = {\n classDefinitions: info.listClassDefinitions(),\n classImplementations: info.listClassImplementations(),\n interfaceDefinitions: info.listInterfaceDefinitions(),\n forms: info.listFormDefinitions(),\n };\n const text = JSON.stringify(dump, null, 2);\n return `

Info Dump

` + 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()) + \"
\\n\" +\n \"Token: \" + found.token.constructor.name + \"
\\n\" +\n this.fullPath(file, found.token).value;\n }\n else {\n ret = \"No token found at cursor position\";\n }\n const obj = reg.getObject(file.getObjectType(), file.getObjectName());\n if (obj instanceof _abap_object_1.ABAPObject) {\n const spaghetti = new syntax_1.SyntaxLogic(reg, obj).run().spaghetti;\n ret = ret + dump_scope_1.DumpScope.dump(spaghetti);\n if (found !== undefined) {\n ret = ret + \"
Spaghetti Scope by Cursor Position:

\\n\";\n const lookup = spaghetti.lookupPosition(found.token.getStart(), textDocument.uri);\n if (lookup) {\n const identifier = lookup.getIdentifier();\n ret = ret + \"\" + identifier.stype + \", \" + identifier.sname + \", \" + identifier.filename;\n ret = ret + \", (\" + identifier.start.getRow() + \", \" + identifier.start.getCol() + \")
\";\n }\n else {\n ret = ret + \"Not found\";\n }\n }\n }\n return ret;\n }\n static fullPath(file, token) {\n const structure = file.getStructure();\n if (structure === undefined) {\n return { value: \"\", keyword: false };\n }\n const found = this.traverse(structure, \"\", token);\n if (found === undefined) {\n return { value: \"\", keyword: false };\n }\n return { value: \"\\n\\n\" + found.value, keyword: found.keyword };\n }\n static traverse(node, parents, search) {\n let local = parents;\n if (local !== \"\") {\n local = local + \" -> \";\n }\n if (node instanceof nodes_1.StructureNode) {\n local = local + \"Structure: \" + this.linkToStructure(node.get());\n }\n else if (node instanceof nodes_1.StatementNode) {\n local = local + \"Statement: \" + this.linkToStatement(node.get());\n }\n else if (node instanceof nodes_1.ExpressionNode) {\n local = local + \"Expression: \" + this.linkToExpression(node.get());\n }\n else if (node instanceof nodes_1.TokenNode) {\n local = local + \"Token: \" + node.get().constructor.name;\n const token = node.get();\n if (token.getStr() === search.getStr()\n && token.getCol() === search.getCol()\n && token.getRow() === search.getRow()) {\n const keyword = !(node instanceof nodes_1.TokenNodeRegex);\n return { value: local, keyword };\n }\n }\n else {\n throw new Error(\"hover, traverse, unexpected node type\");\n }\n for (const child of node.getChildren()) {\n const ret = this.traverse(child, local, search);\n if (ret) {\n return ret;\n }\n }\n return undefined;\n }\n static fileInformation(file) {\n let content = \"\";\n content = content + `

Tokens

\\n`;\n content = content + this.tokens(file);\n content = content + `

Statements

\\n`;\n content = content + this.buildStatements(file);\n content = content + `

Structure

\\n`;\n const structure = file.getStructure();\n if (structure !== undefined) {\n content = content + this.buildStructure([structure]);\n }\n else {\n content = content + \"structure undefined\";\n }\n return content;\n }\n static escape(str) {\n str = str.replace(/&/g, \"&\");\n str = str.replace(/>/g, \">\");\n str = str.replace(/${statement.constructor.name}\\n`;\n }\n static linkToStructure(structure) {\n return `${structure.constructor.name}\\n`;\n }\n static linkToExpression(expression) {\n return `${expression.constructor.name}\\n`;\n }\n static outputNodes(nodes) {\n let ret = \"
    \";\n for (const node of nodes) {\n let extra = \"\";\n switch (node.constructor.name) {\n case \"TokenNode\":\n case \"TokenNodeRegex\":\n extra = node.get().constructor.name + \", \\\"\" + node.get().getStr() + \"\\\"\";\n break;\n case \"ExpressionNode\":\n extra = this.linkToExpression(node.get()) + this.outputNodes(node.getChildren());\n break;\n default:\n break;\n }\n ret = ret + \"
  • \" + node.constructor.name + \", \" + extra + \"
  • \";\n }\n return ret + \"
\";\n }\n static tokens(file) {\n let inner = \"\";\n for (const token of file.getTokens()) {\n inner = inner + \"\";\n }\n inner = inner + \"
StringTypeRowColumn
\" +\n this.escape(token.getStr()) + \"\" +\n token.constructor.name + \"\" +\n token.getRow() + \"\" +\n token.getCol() + \"
\";\n return inner;\n }\n static buildStatements(file) {\n let output = \"\";\n for (const statement of file.getStatements()) {\n const row = statement.getStart().getRow();\n // getting the class name only works if uglify does not mangle names\n output = output +\n row + \": \" +\n this.linkToStatement(statement.get()) +\n \"\\n\" + this.outputNodes(statement.getChildren());\n }\n return output;\n }\n static buildStructure(nodes) {\n let output = \"
    \";\n for (const node of nodes) {\n if (node instanceof nodes_1.StructureNode) {\n output = output + \"
  • \" + this.linkToStructure(node.get()) + \", Structure \" + this.buildStructure(node.getChildren()) + \"
  • \";\n }\n else if (node instanceof nodes_1.StatementNode) {\n output = output + \"
  • \" + this.linkToStatement(node.get()) + \", Statement
  • \";\n }\n }\n return output + \"
\";\n }\n static dumpFiles(reg) {\n let output = `

Files

\\n`;\n for (const o of reg.getObjects()) {\n if (reg.isDependency(o) === true) {\n continue;\n }\n output = output + \"\\n\";\n }\n return output + \"
\" + o.getType() + \" \" + o.getName() + \"\";\n for (const f of o.getFiles()) {\n output = output + f.getFilename() + \"
\";\n }\n output = output + \"
\\n\";\n }\n}\nexports.Help = Help;\n//# sourceMappingURL=help.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/lsp/help.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/highlight.js": +/*!****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/highlight.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Highlight = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.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\");\nclass Highlight {\n constructor(reg) {\n this.reg = reg;\n }\n listDefinitionPositions(textDocument) {\n const spaghetti = this.runSyntax(textDocument);\n if (spaghetti === undefined) {\n return [];\n }\n const defs = spaghetti.listDefinitions(textDocument.uri);\n const ret = [];\n for (const d of defs) {\n ret.push(_lsp_utils_1.LSPUtils.tokenToRange(d.identifier.getToken()));\n }\n return ret;\n }\n listReadPositions(textDocument) {\n const spaghetti = this.runSyntax(textDocument);\n if (spaghetti === undefined) {\n return [];\n }\n const reads = spaghetti.listReadPositions(textDocument.uri);\n const ret = [];\n for (const d of reads) {\n ret.push(_lsp_utils_1.LSPUtils.tokenToRange(d.getToken()));\n }\n return ret;\n }\n listWritePositions(textDocument) {\n const spaghetti = this.runSyntax(textDocument);\n if (spaghetti === undefined) {\n return [];\n }\n const writes = spaghetti.listWritePositions(textDocument.uri);\n const ret = [];\n for (const d of writes) {\n ret.push(_lsp_utils_1.LSPUtils.tokenToRange(d.getToken()));\n }\n return ret;\n }\n ////////////////////////\n runSyntax(textDocument) {\n const obj = this.findObject(textDocument);\n if (obj === undefined) {\n return undefined;\n }\n return new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n }\n findObject(textDocument) {\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 obj;\n }\n else {\n return undefined;\n }\n }\n}\nexports.Highlight = Highlight;\n//# sourceMappingURL=highlight.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/lsp/highlight.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/hover.js": +/*!************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/hover.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Hover = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\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 Tokens = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst _lookup_1 = __webpack_require__(/*! ./_lookup */ \"./node_modules/@abaplint/core/build/src/lsp/_lookup.js\");\nclass Hover {\n constructor(reg) {\n this.reg = reg;\n }\n find(pos) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, pos.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, pos);\n if (found === undefined) {\n return undefined;\n }\n else if (found.token instanceof Tokens.StringTemplate\n || found.token instanceof Tokens.StringTemplateBegin\n || found.token instanceof Tokens.StringTemplateEnd\n || found.token instanceof Tokens.StringTemplateMiddle) {\n return { kind: LServer.MarkupKind.Markdown, value: \"String Template\" };\n }\n else if (found.token instanceof Tokens.Comment) {\n let type = \"Comment\";\n if (found.token.getStr().startsWith(`\"!`)) {\n type = \"ABAP Doc Comment\";\n }\n return { kind: LServer.MarkupKind.Markdown, value: type };\n }\n const lookup = _lookup_1.LSPLookup.lookup(found, this.reg, obj);\n if (lookup === null || lookup === void 0 ? void 0 : lookup.hover) {\n return { kind: LServer.MarkupKind.Markdown, value: lookup.hover };\n }\n if (found.token instanceof Tokens.StringToken) {\n return { kind: LServer.MarkupKind.Markdown, value: \"String\" };\n }\n return undefined;\n }\n}\nexports.Hover = Hover;\n//# sourceMappingURL=hover.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/lsp/hover.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/implementation.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/implementation.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Implementation = 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\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\n// note: finding implementations might be slow, ie finding method implementations currently searches the full registry\n// go to implementation\nclass Implementation {\n constructor(reg) {\n this.reg = reg;\n }\n find(textDocument, position) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, textDocument.uri);\n if (file === undefined) {\n return [];\n }\n const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const found = _lsp_utils_1.LSPUtils.findCursor(this.reg, { textDocument, position });\n if (found === undefined) {\n return [];\n }\n const lookup = _lookup_1.LSPLookup.lookup(found, this.reg, obj);\n if (lookup === null || lookup === void 0 ? void 0 : lookup.implementation) {\n return [lookup === null || lookup === void 0 ? void 0 : lookup.implementation];\n }\n if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) instanceof types_1.MethodDefinition) {\n return this.findMethodImplementations(lookup.definitionId);\n }\n return [];\n }\n findMethodImplementations(def) {\n const ret = [];\n // note that this searches _everything_\n for (const obj of this.reg.getObjects()) {\n if (this.reg.isDependency(obj) || !(obj instanceof _abap_object_1.ABAPObject)) {\n continue;\n }\n const found = this.searchReferences(new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop(), def);\n ret.push(...found);\n }\n return ret;\n }\n searchReferences(scope, id) {\n const ret = [];\n for (const r of scope.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.MethodImplementationReference\n && r.resolved\n && r.resolved.getFilename() === id.getFilename()\n && r.resolved.getStart().equals(id.getStart())) {\n ret.push(_lsp_utils_1.LSPUtils.identiferToLocation(r.position));\n }\n }\n for (const c of scope.getChildren()) {\n ret.push(...this.searchReferences(c, id));\n }\n return ret;\n }\n}\nexports.Implementation = Implementation;\n//# sourceMappingURL=implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/lsp/implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/inlay_hints.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/inlay_hints.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlayHints = 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 _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nclass InlayHints {\n constructor(reg) {\n this.reg = reg;\n }\n list(textDocument, settings = { inferredTypes: true }) {\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.inferredTypes === true) {\n const implicit = this.findImplicitReferences(top);\n for (const i of implicit) {\n let label = undefined;\n if (i.resolved instanceof _typed_identifier_1.TypedIdentifier) {\n label = \"TYPE \" + i.resolved.getType().toABAP();\n }\n else if (i.resolved instanceof types_1.ClassDefinition) {\n label = \"TYPE REF TO \" + i.resolved.getName();\n }\n if (label === undefined) {\n continue;\n }\n ret.push({\n label: label,\n tooltip: \"Inferred type\",\n kind: LServer.InlayHintKind.Type,\n paddingLeft: true,\n paddingRight: true,\n position: _lsp_utils_1.LSPUtils.positionToLS(i.position.getEnd()),\n });\n }\n }\n return ret;\n }\n findImplicitReferences(node) {\n const ret = [];\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.InferredType) {\n ret.push(r);\n }\n }\n for (const c of node.getChildren()) {\n ret.push(...this.findImplicitReferences(c));\n }\n return ret;\n }\n}\nexports.InlayHints = InlayHints;\n//# sourceMappingURL=inlay_hints.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/lsp/inlay_hints.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/language_server.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/language_server.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LanguageServer = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst symbols_1 = __webpack_require__(/*! ./symbols */ \"./node_modules/@abaplint/core/build/src/lsp/symbols.js\");\nconst hover_1 = __webpack_require__(/*! ./hover */ \"./node_modules/@abaplint/core/build/src/lsp/hover.js\");\nconst diagnostics_1 = __webpack_require__(/*! ./diagnostics */ \"./node_modules/@abaplint/core/build/src/lsp/diagnostics.js\");\nconst help_1 = __webpack_require__(/*! ./help */ \"./node_modules/@abaplint/core/build/src/lsp/help.js\");\nconst pretty_printer_1 = __webpack_require__(/*! ../pretty_printer/pretty_printer */ \"./node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js\");\nconst definition_1 = __webpack_require__(/*! ./definition */ \"./node_modules/@abaplint/core/build/src/lsp/definition.js\");\nconst rename_1 = __webpack_require__(/*! ./rename */ \"./node_modules/@abaplint/core/build/src/lsp/rename.js\");\nconst highlight_1 = __webpack_require__(/*! ./highlight */ \"./node_modules/@abaplint/core/build/src/lsp/highlight.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst code_actions_1 = __webpack_require__(/*! ./code_actions */ \"./node_modules/@abaplint/core/build/src/lsp/code_actions.js\");\nconst references_1 = __webpack_require__(/*! ./references */ \"./node_modules/@abaplint/core/build/src/lsp/references.js\");\nconst implementation_1 = __webpack_require__(/*! ./implementation */ \"./node_modules/@abaplint/core/build/src/lsp/implementation.js\");\nconst semantic_1 = __webpack_require__(/*! ./semantic */ \"./node_modules/@abaplint/core/build/src/lsp/semantic.js\");\nconst statement_flow_1 = __webpack_require__(/*! ../abap/flow/statement_flow */ \"./node_modules/@abaplint/core/build/src/abap/flow/statement_flow.js\");\nconst code_lens_1 = __webpack_require__(/*! ./code_lens */ \"./node_modules/@abaplint/core/build/src/lsp/code_lens.js\");\nconst inlay_hints_1 = __webpack_require__(/*! ./inlay_hints */ \"./node_modules/@abaplint/core/build/src/lsp/inlay_hints.js\");\n// note Ranges are zero based in LSP,\n// https://github.com/microsoft/language-server-protocol/blob/main/versions/protocol-2-x.md#range\n// but 1 based in abaplint\n// the types in this file are not completely correct\n// see https://github.com/microsoft/vscode-languageserver-node/issues/354\nclass LanguageServer {\n constructor(reg) {\n this.reg = reg;\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_documentSymbol\n documentSymbol(params) {\n return new symbols_1.Symbols(this.reg).find(params.textDocument.uri);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_hover\n hover(params) {\n const hover = new hover_1.Hover(this.reg).find(params);\n if (hover) {\n return { contents: hover };\n }\n return undefined;\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_definition\n gotoDefinition(params) {\n return new definition_1.Definition(this.reg).find(params.textDocument, params.position);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_formatting\n documentFormatting(params) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, params.textDocument.uri);\n if (file === undefined) {\n return [];\n }\n const text = new pretty_printer_1.PrettyPrinter(file, this.reg.getConfig()).run();\n const rows = file.getRawRows();\n if (text === file.getRaw()) {\n return [];\n }\n else {\n return [{\n range: LServer.Range.create(0, 0, rows.length, rows[rows.length - 1].length + 1),\n newText: text,\n }];\n }\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_publishDiagnostics\n diagnostics(textDocument) {\n return new diagnostics_1.Diagnostics(this.reg).find(textDocument);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_prepareRename\n prepareRename(params) {\n return new rename_1.Rename(this.reg).prepareRename(params);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_rename\n rename(params) {\n return new rename_1.Rename(this.reg).rename(params);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_codeAction\n codeActions(params) {\n return new code_actions_1.CodeActions(this.reg).find(params);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_documentHighlight\n documentHighlight(_params) {\n // todo, implement\n return [];\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_implementation\n implementation(params) {\n return new implementation_1.Implementation(this.reg).find(params.textDocument, params.position);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-14/#textDocument_references\n references(params) {\n return new references_1.References(this.reg).references(params);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#semanticTokensLegend\n static semanticTokensLegend() {\n return semantic_1.SemanticHighlighting.semanticTokensLegend();\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#semanticTokensRangeParams\n semanticTokensRange(range) {\n return new semantic_1.SemanticHighlighting(this.reg).semanticTokensRange(range);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeLens\n codeLens(textDocument, settings) {\n return new code_lens_1.CodeLens(this.reg).list(textDocument, settings);\n }\n // https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_inlayHint\n inlayHints(textDocument, settings) {\n return new inlay_hints_1.InlayHints(this.reg).list(textDocument, settings);\n }\n ////////////////////////////////////////\n // ______ _\n // | ____| | |\n // | |__ __ _| |_ _ __ __ ___\n // | __| \\ \\/ / __| '__/ _` / __|\n // | |____ > <| |_| | | (_| \\__ \\\n // |______/_/\\_\\\\__|_| \\__,_|___/\n // extras, abaplint specific\n ////////////////////////////////////////\n help(textDocument, position) {\n return help_1.Help.find(this.reg, textDocument, position);\n }\n listDefinitionPositions(textDocument) {\n return new highlight_1.Highlight(this.reg).listDefinitionPositions(textDocument);\n }\n listReadPositions(textDocument) {\n return new highlight_1.Highlight(this.reg).listReadPositions(textDocument);\n }\n listWritePositions(textDocument) {\n return new highlight_1.Highlight(this.reg).listWritePositions(textDocument);\n }\n dumpStatementFlows(textDocument) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, textDocument.uri);\n if (file === undefined) {\n return \"file not found\";\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return \"empty structure\";\n }\n const graphs = new statement_flow_1.StatementFlow().build(stru);\n const wiz = graphs.map(g => g.toDigraph());\n return JSON.stringify(wiz);\n }\n}\nexports.LanguageServer = LanguageServer;\n//# sourceMappingURL=language_server.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/lsp/language_server.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/references.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/references.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.References = 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 syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _lookup_1 = __webpack_require__(/*! ./_lookup */ \"./node_modules/@abaplint/core/build/src/lsp/_lookup.js\");\nconst _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nclass References {\n constructor(reg) {\n this.reg = reg;\n }\n references(pos) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, pos.textDocument.uri);\n if (file === undefined) {\n return [];\n }\n const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const found = _lsp_utils_1.LSPUtils.findCursor(this.reg, pos);\n if ((found === null || found === void 0 ? void 0 : found.identifier) === undefined) {\n return [];\n }\n const lookup = _lookup_1.LSPLookup.lookup(found, this.reg, obj);\n if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) === undefined || (lookup === null || lookup === void 0 ? void 0 : lookup.scope) === undefined) {\n return [];\n }\n const locs = this.search(lookup.definitionId, lookup.scope);\n return locs.map(_lsp_utils_1.LSPUtils.identiferToLocation);\n }\n // todo, cleanup this mehtod, some of the method parameters are not used anymore?\n search(identifier, node, exitAfterFound = false, removeDuplicates = true) {\n let ret = [];\n // todo, this first assumes that the identifier is a variable?\n const stype = node.getIdentifier().stype;\n if (stype === _scope_type_1.ScopeType.Method || stype === _scope_type_1.ScopeType.FunctionModule || stype === _scope_type_1.ScopeType.Form) {\n ret = this.findReferences(node, identifier);\n }\n if (ret.length > 1 && exitAfterFound === true) {\n return ret;\n }\n for (const o of this.reg.getObjects()) {\n if (o instanceof _abap_object_1.ABAPObject) {\n if (this.reg.isDependency(o)) {\n continue; // do not search in dependencies\n }\n ret.push(...this.findReferences(new syntax_1.SyntaxLogic(this.reg, o).run().spaghetti.getTop(), identifier));\n }\n }\n // remove duplicates, might be a changing(read and write) position\n if (removeDuplicates === true) {\n return this.removeDuplicates(ret);\n }\n else {\n return ret;\n }\n }\n ////////////////////////////////////////////\n removeDuplicates(arr) {\n const values = {};\n return arr.filter(item => {\n const val = item.getStart().getCol() + \"_\" + item.getStart().getRow() + \"_\" + item.getFilename();\n const exists = values[val];\n values[val] = true;\n return !exists;\n });\n }\n findReferences(node, identifier) {\n var _a;\n const ret = [];\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.BuiltIn) {\n const upper = identifier.getName().toUpperCase();\n // this is for finding the definitions\n const vars = node.getData().vars;\n const vid = vars[upper];\n if (vid === null || vid === void 0 ? void 0 : vid.equals(identifier)) {\n ret.push(vid);\n }\n // this is for finding the definitions\n const types = node.getData().types;\n const tid = types[upper];\n if (tid === null || tid === void 0 ? void 0 : tid.equals(identifier)) {\n ret.push(tid);\n }\n for (const r of node.getData().references) {\n if ((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.equals(identifier)) {\n ret.push(r.position);\n }\n }\n }\n for (const c of node.getChildren()) {\n ret.push(...this.findReferences(c, identifier));\n }\n return ret;\n }\n}\nexports.References = References;\n//# sourceMappingURL=references.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/lsp/references.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/rename.js": +/*!*************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/rename.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Rename = exports.RenameType = 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 _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _lookup_1 = __webpack_require__(/*! ./_lookup */ \"./node_modules/@abaplint/core/build/src/lsp/_lookup.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst references_1 = __webpack_require__(/*! ./references */ \"./node_modules/@abaplint/core/build/src/lsp/references.js\");\nconst renamer_1 = __webpack_require__(/*! ../objects/rename/renamer */ \"./node_modules/@abaplint/core/build/src/objects/rename/renamer.js\");\nconst definition_1 = __webpack_require__(/*! ./definition */ \"./node_modules/@abaplint/core/build/src/lsp/definition.js\");\nvar RenameType;\n(function (RenameType) {\n RenameType[RenameType[\"GlobalClass\"] = 1] = \"GlobalClass\";\n RenameType[RenameType[\"Variable\"] = 2] = \"Variable\";\n RenameType[RenameType[\"GlobalInterface\"] = 3] = \"GlobalInterface\";\n RenameType[RenameType[\"Method\"] = 4] = \"Method\";\n})(RenameType || (exports.RenameType = RenameType = {}));\nclass Rename {\n constructor(reg) {\n this.reg = reg;\n }\n prepareRename(params) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, params.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 cursor = _lsp_utils_1.LSPUtils.findCursor(this.reg, params);\n if (cursor === undefined) {\n return undefined;\n }\n const range = _lsp_utils_1.LSPUtils.tokenToRange(cursor.token);\n let placeholder = cursor.token.getStr();\n if (placeholder.startsWith(\"!\")) {\n placeholder = placeholder.substring(1);\n range.start.character += 1;\n }\n const lookup = _lookup_1.LSPLookup.lookup(cursor, this.reg, obj);\n if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) instanceof _typed_identifier_1.TypedIdentifier) {\n return { range, placeholder, type: RenameType.Variable, file };\n }\n else if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) instanceof types_1.ClassDefinition) {\n return { range, placeholder, type: RenameType.GlobalClass, file };\n }\n else if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) instanceof types_1.InterfaceDefinition) {\n return { range, placeholder, type: RenameType.GlobalInterface, file };\n }\n else if ((lookup === null || lookup === void 0 ? void 0 : lookup.definitionId) instanceof types_1.MethodDefinition) {\n return { range, placeholder, type: RenameType.Method, file };\n }\n return undefined;\n }\n rename(params) {\n const prepare = this.prepareRename(params);\n if (prepare === undefined) {\n return undefined;\n }\n switch (prepare.type) {\n case RenameType.GlobalClass:\n return new renamer_1.Renamer(this.reg).buildEdits(\"CLAS\", prepare.placeholder, params.newName);\n case RenameType.GlobalInterface:\n return new renamer_1.Renamer(this.reg).buildEdits(\"INTF\", prepare.placeholder, params.newName);\n case RenameType.Variable:\n return this.renameVariable(params);\n case RenameType.Method:\n return this.renameMethod(params);\n default:\n return undefined;\n }\n }\n ////\n renameVariable(params) {\n var _a;\n const workspace = { documentChanges: [] };\n const refs = new references_1.References(this.reg).references(params);\n for (const r of refs) {\n const doc = { uri: r.uri, version: 1 };\n const edit = LServer.TextDocumentEdit.create(doc, [LServer.TextEdit.replace(r.range, params.newName)]);\n (_a = workspace.documentChanges) === null || _a === void 0 ? void 0 : _a.push(edit);\n }\n return workspace;\n }\n renameMethod(params) {\n var _a, _b;\n const workspace = { documentChanges: [] };\n const refs = new references_1.References(this.reg).references(params);\n for (const r of refs) {\n const doc = { uri: r.uri, version: 1 };\n const edit = LServer.TextDocumentEdit.create(doc, [LServer.TextEdit.replace(r.range, params.newName)]);\n (_a = workspace.documentChanges) === null || _a === void 0 ? void 0 : _a.push(edit);\n }\n const def = new definition_1.Definition(this.reg).find(params.textDocument, params.position);\n if (def) {\n const doc = { uri: params.textDocument.uri, version: 1 };\n const edit = LServer.TextDocumentEdit.create(doc, [LServer.TextEdit.replace(def === null || def === void 0 ? void 0 : def.range, params.newName)]);\n (_b = workspace.documentChanges) === null || _b === void 0 ? void 0 : _b.push(edit);\n }\n return workspace;\n }\n}\nexports.Rename = Rename;\n//# sourceMappingURL=rename.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/lsp/rename.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/semantic.js": +/*!***************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/semantic.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SemanticHighlighting = void 0;\nconst LServer = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ./_lsp_utils */ \"./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst SOURCE_ABAP = \"source.abap\";\nconst BLOCK_ABAP = \"storage.type.block.abap\";\nclass SemanticHighlighting {\n constructor(reg) {\n this.reg = reg;\n SemanticHighlighting.initLegend();\n }\n static semanticTokensLegend() {\n // https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide#semantic-token-scope-map\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#semanticTokenTypes\n this.initLegend();\n return {\n tokenTypes: SemanticHighlighting.tokenTypes,\n tokenModifiers: [],\n };\n }\n static initLegend() {\n if (SemanticHighlighting.tokenTypes.length === 0) {\n SemanticHighlighting.tokenTypeMap = {};\n SemanticHighlighting.tokenTypeMap[SOURCE_ABAP] = SemanticHighlighting.tokenTypes.length;\n SemanticHighlighting.tokenTypes.push(SOURCE_ABAP);\n SemanticHighlighting.tokenTypeMap[BLOCK_ABAP] = SemanticHighlighting.tokenTypes.length;\n SemanticHighlighting.tokenTypes.push(BLOCK_ABAP);\n for (const t in LServer.SemanticTokenTypes) {\n SemanticHighlighting.tokenTypeMap[t] = SemanticHighlighting.tokenTypes.length;\n SemanticHighlighting.tokenTypes.push(t);\n }\n }\n }\n // https://microsoft.github.io/language-server-protocol/specifications/specification-3-17/#textDocument_semanticTokens\n semanticTokensRange(range) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, range.textDocument.uri);\n if (file === undefined) {\n return { data: [] };\n }\n const rangeStartPosition = new position_1.Position(range.start.line + 1, range.start.character + 1);\n const rangeEndPosition = new position_1.Position(range.end.line + 1, range.end.character + 1);\n const tokens = [];\n for (const s of file.getStatements()) {\n if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n continue;\n }\n else if (s.getFirstToken().getStart().isAfter(rangeEndPosition)) {\n break;\n }\n else if (s.getLastToken().getEnd().isBefore(rangeStartPosition)) {\n continue;\n }\n const statementInstance = s.get();\n for (const t of s.getTokenNodes()) {\n const tokenInstance = t.get();\n let tokenType = LServer.SemanticTokenTypes.keyword;\n if (tokenInstance instanceof tokens_1.Punctuation) {\n tokenType = SOURCE_ABAP;\n }\n else if (statementInstance instanceof Statements.Public\n || statementInstance instanceof Statements.Private\n || statementInstance instanceof Statements.Protected\n || statementInstance instanceof Statements.ClassDefinition\n || statementInstance instanceof Statements.ClassImplementation\n || statementInstance instanceof Statements.MethodImplementation\n || statementInstance instanceof Statements.EndMethod\n || statementInstance instanceof Statements.EndClass\n || statementInstance instanceof Statements.Interface\n || statementInstance instanceof Statements.EndInterface\n || statementInstance instanceof Statements.Form\n || statementInstance instanceof Statements.EndForm) {\n tokenType = BLOCK_ABAP;\n }\n else if (tokenInstance instanceof tokens_1.StringToken\n || tokenInstance instanceof tokens_1.StringTemplate\n || tokenInstance instanceof tokens_1.StringTemplateBegin\n || tokenInstance instanceof tokens_1.StringTemplateEnd\n || tokenInstance instanceof tokens_1.StringTemplateMiddle) {\n tokenType = LServer.SemanticTokenTypes.string;\n }\n else if (tokenInstance instanceof tokens_1.Comment) {\n tokenType = LServer.SemanticTokenTypes.comment;\n }\n else if (t instanceof nodes_1.TokenNodeRegex) {\n tokenType = SOURCE_ABAP;\n }\n const token = t.getFirstToken();\n tokens.push({\n line: token.getStart().getRow() - 1,\n startChar: token.getStart().getCol() - 1,\n length: token.getStr().length,\n tokenType: tokenType,\n tokenModifiers: [],\n });\n }\n }\n return { data: this.encodeTokens(tokens) };\n }\n encodeTokens(tokens) {\n const ret = [];\n let prevLine = undefined;\n let prevChar = undefined;\n for (const t of tokens) {\n if (prevLine === undefined) {\n ret.push(t.line);\n }\n else {\n ret.push(t.line - prevLine);\n }\n if (prevLine === t.line && prevChar) {\n ret.push(t.startChar - prevChar);\n }\n else {\n ret.push(t.startChar); // todo, delta?\n }\n ret.push(t.length);\n ret.push(SemanticHighlighting.tokenTypeMap[t.tokenType]);\n ret.push(0); // no modifier logic implemented yet\n prevLine = t.line;\n prevChar = t.startChar;\n }\n return ret;\n }\n}\nexports.SemanticHighlighting = SemanticHighlighting;\nSemanticHighlighting.tokenTypes = [];\n//# sourceMappingURL=semantic.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/lsp/semantic.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/lsp/symbols.js": +/*!**************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/lsp/symbols.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Symbols = 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\");\nclass Symbols {\n constructor(reg) {\n this.reg = reg;\n }\n find(uri) {\n const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, uri);\n if (file === undefined) {\n return [];\n }\n const ret = [];\n ret.push(...this.outputClasses(file));\n ret.push(...this.outputForms(file));\n return ret;\n }\n selectionRange(identifier) {\n const pos = identifier.getStart();\n const str = identifier.getName();\n return LServer.Range.create(pos.getRow() - 1, pos.getCol() - 1, pos.getRow() - 1, pos.getCol() - 1 + str.length);\n }\n range(identifer) {\n const start = identifer.getStart();\n const end = identifer.getEnd();\n return LServer.Range.create(start.getRow() - 1, start.getCol() - 1, end.getRow() - 1, end.getCol() - 1);\n }\n newSymbol(identifier, kind, children) {\n const symbol = {\n name: identifier.getName(),\n kind: kind,\n range: this.range(identifier),\n selectionRange: this.selectionRange(identifier),\n children,\n };\n return symbol;\n }\n outputForms(file) {\n const ret = [];\n for (const form of file.getInfo().listFormDefinitions()) {\n const symbol = this.newSymbol(form.identifier, LServer.SymbolKind.Function, []);\n ret.push(symbol);\n }\n return ret;\n }\n outputClasses(file) {\n const ret = [];\n for (const cla of file.getInfo().listClassDefinitions()) {\n const children = [];\n children.push(...this.outputClassAttributes(cla.attributes));\n children.push(...this.outputMethodDefinitions(cla.methods));\n const symbol = this.newSymbol(cla.identifier, LServer.SymbolKind.Class, children);\n ret.push(symbol);\n }\n for (const cla of file.getInfo().listClassImplementations()) {\n const children = [];\n children.push(...this.outputMethodImplementations(cla.methods));\n const symbol = this.newSymbol(cla.identifier, LServer.SymbolKind.Class, children);\n ret.push(symbol);\n }\n return ret;\n }\n outputMethodImplementations(methods) {\n const ret = [];\n for (const method of methods) {\n const symbol = this.newSymbol(method, LServer.SymbolKind.Method, []);\n ret.push(symbol);\n }\n return ret;\n }\n outputClassAttributes(attr) {\n if (attr === undefined) {\n return [];\n }\n const ret = [];\n for (const id of attr) {\n ret.push(this.newSymbol(id.identifier, LServer.SymbolKind.Property, []));\n }\n // todo, also add constants\n return ret;\n }\n outputMethodDefinitions(methods) {\n if (methods === undefined) {\n return [];\n }\n // todo\n return [];\n }\n}\nexports.Symbols = Symbols;\n//# sourceMappingURL=symbols.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/lsp/symbols.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/msag_references.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/msag_references.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MSAGReferences = void 0;\nclass MSAGReferences {\n constructor() {\n this.nameNumberIndex = {};\n this.filenameIndex = {};\n }\n addUsing(filename, token, messageClass, number) {\n if (this.filenameIndex[filename] === undefined) {\n this.filenameIndex[filename] = [];\n }\n this.filenameIndex[filename].push({\n token: token,\n messageClass: messageClass,\n number: number,\n });\n if (this.nameNumberIndex[messageClass] === undefined) {\n this.nameNumberIndex[messageClass] = {};\n }\n if (this.nameNumberIndex[messageClass][number] === undefined) {\n this.nameNumberIndex[messageClass][number] = [];\n }\n this.nameNumberIndex[messageClass][number].push({\n filename: filename,\n token: token,\n });\n }\n clear(obj) {\n for (const file of obj.getFiles()) {\n const filename = file.getFilename();\n for (const fIndex of this.filenameIndex[filename] || []) {\n // this should be okay for performance, each message should be referenced less than 10 times typically\n this.nameNumberIndex[fIndex.messageClass][fIndex.number] =\n this.nameNumberIndex[fIndex.messageClass][fIndex.number].filter(i => i.filename !== filename);\n }\n delete this.filenameIndex[filename];\n }\n }\n listByFilename(filename) {\n return this.filenameIndex[filename] || [];\n }\n listByMessage(messageClass, number) {\n var _a;\n return ((_a = this.nameNumberIndex[messageClass]) === null || _a === void 0 ? void 0 : _a[number]) || [];\n }\n}\nexports.MSAGReferences = MSAGReferences;\n//# sourceMappingURL=msag_references.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/msag_references.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/_abap_object.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/_abap_object.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nconst abap_parser_1 = __webpack_require__(/*! ../abap/abap_parser */ \"./node_modules/@abaplint/core/build/src/abap/abap_parser.js\");\nclass ABAPObject extends _abstract_object_1.AbstractObject {\n constructor(name) {\n super(name);\n this.parsed = [];\n this.texts = undefined;\n }\n static is(x) {\n return !!x && x instanceof ABAPObject;\n }\n parse(version, globalMacros, reg) {\n if (this.isDirty() === false) {\n return { updated: false, runtime: 0 };\n }\n const abapFiles = this.getFiles().filter(f => f.getFilename().endsWith(\".abap\"));\n const result = new abap_parser_1.ABAPParser(version, globalMacros, reg).parse(abapFiles);\n this.parsed = result.output;\n this.old = result.issues;\n this.dirty = false;\n return { updated: true, runtime: result.runtime, runtimeExtra: result.runtimeExtra };\n }\n setDirty() {\n this.syntaxResult = undefined;\n this.texts = undefined;\n super.setDirty();\n }\n getABAPFiles() {\n return this.parsed;\n }\n getABAPFileByName(filename) {\n for (const p of this.parsed) {\n if (p.getFilename() === filename) {\n return p;\n }\n }\n return undefined;\n }\n getMainABAPFile() {\n // todo, uris, https://github.com/abaplint/abaplint/issues/673\n const search = this.getName().replace(/\\//g, \"#\").toLowerCase() + \".\" + this.getType().toLowerCase() + \".abap\";\n for (const file of this.getABAPFiles()) {\n if (file.getFilename().endsWith(search)) {\n return file;\n }\n }\n // uri fallback,\n for (const file of this.getABAPFiles()) {\n if (file.getFilename().endsWith(\".abap\")) {\n return file;\n }\n }\n return undefined;\n }\n getTexts() {\n if (this.texts === undefined) {\n this.findTexts(this.parseRaw2());\n }\n return this.texts;\n }\n findTexts(parsed) {\n var _a, _b, _c, _d;\n this.texts = {};\n if (((_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a[\"asx:abap\"]) === null || _b === void 0 ? void 0 : _b[\"asx:values\"]) === null || _c === void 0 ? void 0 : _c.TPOOL) === null || _d === void 0 ? void 0 : _d.item) === undefined) {\n return;\n }\n for (const t of (0, xml_utils_1.xmlToArray)(parsed.abapGit[\"asx:abap\"][\"asx:values\"].TPOOL.item)) {\n if ((t === null || t === void 0 ? void 0 : t.ID) === \"I\") {\n if (t.KEY === undefined) {\n throw new Error(\"findTexts, undefined\");\n }\n const key = t.KEY;\n if (key === undefined) {\n continue;\n }\n this.texts[key.toUpperCase()] = t.ENTRY ? (0, xml_utils_1.unescape)(t.ENTRY) : \"\";\n }\n }\n }\n}\nexports.ABAPObject = ABAPObject;\n//# sourceMappingURL=_abap_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/_abap_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/_abstract_object.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/_abstract_object.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AbstractObject = void 0;\nconst fast_xml_parser_1 = __webpack_require__(/*! fast-xml-parser */ \"./node_modules/fast-xml-parser/src/fxp.js\");\nconst _identifier_1 = __webpack_require__(/*! ../abap/4_file_information/_identifier */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js\");\nconst identifier_1 = __webpack_require__(/*! ../abap/1_lexer/tokens/identifier */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass AbstractObject {\n constructor(name) {\n this.name = name;\n this.files = [];\n this.old = [];\n this.dirty = false;\n }\n getParsingIssues() {\n return this.old;\n }\n parse(_version, _globalMacros, _reg) {\n return { updated: false, runtime: 0 };\n }\n getName() {\n return this.name;\n }\n setDirty() {\n this.dirty = true;\n }\n addFile(file) {\n this.setDirty();\n this.files.push(file);\n }\n getFiles() {\n return this.files;\n }\n containsFile(filename) {\n for (const f of this.files) {\n if (f.getFilename() === filename) {\n return true;\n }\n }\n return false;\n }\n removeFile(file) {\n this.setDirty();\n for (let i = 0; i < this.files.length; i++) {\n if (this.files[i].getFilename() === file.getFilename()) {\n this.files.splice(i, 1);\n return;\n }\n }\n throw new Error(\"removeFile: file not found\");\n }\n isDirty() {\n return this.dirty;\n }\n getIdentifier() {\n // this method can be redefined in each object type to give a better result\n const file = this.getXMLFile();\n if (file === undefined) {\n return undefined;\n }\n return new _identifier_1.Identifier(new identifier_1.Identifier(new position_1.Position(1, 1), this.getName()), file.getFilename());\n }\n getXMLFile() {\n // todo, https://github.com/abaplint/abaplint/issues/673 uris\n const expected1 = this.getName().toLowerCase().replace(/\\//g, \"#\") + \".\" + this.getType().toLowerCase() + \".xml\";\n const expected2 = this.getName().toLowerCase().replace(/\\//g, \"%23\") + \".\" + this.getType().toLowerCase() + \".xml\";\n for (const file of this.getFiles()) {\n if (file.getFilename().endsWith(expected1) || file.getFilename().endsWith(expected2)) {\n return file;\n }\n }\n // uri fallback, assume there is only one xml file\n for (const file of this.getFiles()) {\n if (file.getFilename().endsWith(\".xml\")) {\n return file;\n }\n }\n return undefined;\n }\n getXML() {\n const file = this.getXMLFile();\n if (file) {\n return file.getRaw();\n }\n return undefined;\n }\n updateFile(file) {\n this.setDirty();\n for (let i = 0; i < this.files.length; i++) {\n if (this.files[i].getFilename() === file.getFilename()) {\n this.files[i] = file;\n return;\n }\n }\n throw new Error(\"updateFile: file not found\");\n }\n parseRaw2() {\n const xml = this.getXML();\n if (xml === undefined) {\n return undefined;\n }\n try {\n return new fast_xml_parser_1.XMLParser({ parseTagValue: false, ignoreAttributes: true, trimValues: false }).parse(xml);\n }\n catch (_a) {\n return undefined;\n }\n }\n}\nexports.AbstractObject = AbstractObject;\n//# sourceMappingURL=_abstract_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/_abstract_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/_unknown_object.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/_unknown_object.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnknownObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.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 UnknownObject extends _abstract_object_1.AbstractObject {\n constructor(name, type) {\n super(name);\n this.type = type;\n }\n getType() {\n return this.type;\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n getDescription() {\n return undefined;\n }\n getParsingIssues() {\n const pos = new position_1.Position(1, 1);\n const file = this.getFiles()[0];\n const message = \"Unknown object type, currently not supported in abaplint, open issue on github\";\n const issue = issue_1.Issue.atPosition(file, pos, message, \"parser_error\", severity_1.Severity.Error);\n return [issue];\n }\n}\nexports.UnknownObject = UnknownObject;\n//# sourceMappingURL=_unknown_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/_unknown_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/activation_variant.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/activation_variant.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ActivationVariant = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ActivationVariant extends _abstract_object_1.AbstractObject {\n getType() {\n return \"AVAR\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ActivationVariant = ActivationVariant;\n//# sourceMappingURL=activation_variant.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/activation_variant.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/api_release_state.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/api_release_state.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.APIReleaseState = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass APIReleaseState extends _abstract_object_1.AbstractObject {\n getType() {\n return \"APIS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.APIReleaseState = APIReleaseState;\n//# sourceMappingURL=api_release_state.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/api_release_state.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AssignmentServiceToAuthorizationGroup = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AssignmentServiceToAuthorizationGroup extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SUSH\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.AssignmentServiceToAuthorizationGroup = AssignmentServiceToAuthorizationGroup;\n//# sourceMappingURL=assignment_service_to_authorization_group.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/atc_check_category.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/atc_check_category.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ATCCheckCategory = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ATCCheckCategory extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CHKC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ATCCheckCategory = ATCCheckCategory;\n//# sourceMappingURL=atc_check_category.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/atc_check_category.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/atc_check_object.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/atc_check_object.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ATCCheckObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ATCCheckObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CHKO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ATCCheckObject = ATCCheckObject;\n//# sourceMappingURL=atc_check_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/atc_check_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/atc_check_variant.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/atc_check_variant.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ATCCheckVariant = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ATCCheckVariant extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CHKV\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ATCCheckVariant = ATCCheckVariant;\n//# sourceMappingURL=atc_check_variant.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/atc_check_variant.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/authorization_check_field.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/authorization_check_field.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorizationCheckField = 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\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AuthorizationCheckField extends _abstract_object_1.AbstractObject {\n getType() {\n return \"AUTH\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getDescription() {\n // todo\n return undefined;\n }\n getDataElementName() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.rollname;\n }\n parseType(reg) {\n var _a;\n this.parse();\n const references = [];\n const ddic = new ddic_1.DDIC(reg);\n if ((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.rollname) {\n const found = ddic.lookupDataElement(this.parsedXML.rollname);\n if (found.object) {\n references.push({ object: found.object });\n reg.getDDICReferences().setUsing(this, references);\n return found.type;\n }\n else if (ddic.inErrorNamespace(this.parsedXML.rollname)) {\n return new basic_1.UnknownType(this.parsedXML.rollname + \" not found\");\n }\n else {\n return new basic_1.VoidType(this.parsedXML.rollname);\n }\n }\n else {\n return new basic_1.UnknownType(\"Parsing error\");\n }\n }\n parse() {\n var _a;\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n this.parsedXML.rollname = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"].AUTHX) === null || _a === void 0 ? void 0 : _a.ROLLNAME;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.AuthorizationCheckField = AuthorizationCheckField;\n//# sourceMappingURL=authorization_check_field.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/authorization_check_field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/authorization_group.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/authorization_group.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorizationGroup = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AuthorizationGroup extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SUCU\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.AuthorizationGroup = AuthorizationGroup;\n//# sourceMappingURL=authorization_group.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/authorization_group.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/authorization_object.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/authorization_object.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorizationObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AuthorizationObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SUSO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 10,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.AuthorizationObject = AuthorizationObject;\n//# sourceMappingURL=authorization_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/authorization_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/authorization_object_class.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/authorization_object_class.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorizationObjectClass = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AuthorizationObjectClass extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SUSC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 4,\n allowNamespace: false,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.AuthorizationObjectClass = AuthorizationObjectClass;\n//# sourceMappingURL=authorization_object_class.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/authorization_object_class.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/authorization_object_extension.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/authorization_object_extension.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AuthorizationObjectExtension = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass AuthorizationObjectExtension extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA3\";\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.AuthorizationObjectExtension = AuthorizationObjectExtension;\n//# sourceMappingURL=authorization_object_extension.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/authorization_object_extension.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/behavior_definition.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/behavior_definition.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BehaviorDefinition = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BehaviorDefinition extends _abstract_object_1.AbstractObject {\n getType() {\n return \"BDEF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BehaviorDefinition = BehaviorDefinition;\n//# sourceMappingURL=behavior_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/behavior_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/bsp_application.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/bsp_application.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BSPApplication = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BSPApplication extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WAPA\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BSPApplication = BSPApplication;\n//# sourceMappingURL=bsp_application.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/bsp_application.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/business_add_in_implementation.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/business_add_in_implementation.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessAddInImplementation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessAddInImplementation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SXCI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessAddInImplementation = BusinessAddInImplementation;\n//# sourceMappingURL=business_add_in_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/business_add_in_implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/business_catalog.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/business_catalog.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessCatalog = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessCatalog extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA1\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessCatalog = BusinessCatalog;\n//# sourceMappingURL=business_catalog.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/business_catalog.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/business_catalog_app_assignment.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/business_catalog_app_assignment.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessCatalogAppAssignment = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessCatalogAppAssignment extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA7\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessCatalogAppAssignment = BusinessCatalogAppAssignment;\n//# sourceMappingURL=business_catalog_app_assignment.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/business_catalog_app_assignment.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/business_configuration_set.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/business_configuration_set.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessConfigurationSet = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessConfigurationSet extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SCP1\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessConfigurationSet = BusinessConfigurationSet;\n//# sourceMappingURL=business_configuration_set.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/business_configuration_set.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/business_function_assignment.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/business_function_assignment.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessFunctionAssignment = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessFunctionAssignment extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SFBF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessFunctionAssignment = BusinessFunctionAssignment;\n//# sourceMappingURL=business_function_assignment.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/business_function_assignment.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/business_function_set_assignment.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/business_function_set_assignment.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessFunctionSetAssignment = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessFunctionSetAssignment extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SFBS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessFunctionSetAssignment = BusinessFunctionSetAssignment;\n//# sourceMappingURL=business_function_set_assignment.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/business_function_set_assignment.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/business_object_model.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/business_object_model.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BusinessObjectModel = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass BusinessObjectModel extends _abstract_object_1.AbstractObject {\n getType() {\n return \"BOBF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.BusinessObjectModel = BusinessObjectModel;\n//# sourceMappingURL=business_object_model.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/business_object_model.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/cds_metadata_extension.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/cds_metadata_extension.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSMetadataExtension = void 0;\nconst cds_parser_1 = __webpack_require__(/*! ../cds/cds_parser */ \"./node_modules/@abaplint/core/build/src/cds/cds_parser.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CDSMetadataExtension extends _abstract_object_1.AbstractObject {\n constructor() {\n super(...arguments);\n this.parserError = undefined;\n this.parsedData = undefined;\n }\n getType() {\n return \"DDLX\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n hasParserError() {\n return this.parserError;\n }\n parse() {\n if (this.isDirty() === false) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedData = {\n tree: undefined,\n };\n this.parsedData.tree = new cds_parser_1.CDSParser().parse(this.findSourceFile());\n if (this.parsedData.tree === undefined) {\n this.parserError = true;\n }\n this.dirty = false;\n return { updated: true, runtime: Date.now() - start };\n }\n getDescription() {\n // todo\n return undefined;\n }\n findSourceFile() {\n return this.getFiles().find(f => f.getFilename().endsWith(\".asddlxs\") || f.getFilename().endsWith(\".acds\"));\n }\n}\nexports.CDSMetadataExtension = CDSMetadataExtension;\n//# sourceMappingURL=cds_metadata_extension.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/cds_metadata_extension.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/change_document.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/change_document.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ChangeDocument = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ChangeDocument extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CHDO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 15,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ChangeDocument = ChangeDocument;\n//# sourceMappingURL=change_document.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/change_document.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/chapter_of_book_structure.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/chapter_of_book_structure.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ChapterOfBookStructure = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ChapterOfBookStructure extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DSYS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ChapterOfBookStructure = ChapterOfBookStructure;\n//# sourceMappingURL=chapter_of_book_structure.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/chapter_of_book_structure.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/checkpoint_group.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/checkpoint_group.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckpointGroup = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CheckpointGroup extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ACID\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CheckpointGroup = CheckpointGroup;\n//# sourceMappingURL=checkpoint_group.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/checkpoint_group.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/class.js": +/*!****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/class.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Class = exports.ClassCategory = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ./_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nvar ClassCategory;\n(function (ClassCategory) {\n ClassCategory[\"Test\"] = \"05\";\n ClassCategory[\"Persistent\"] = \"10\";\n ClassCategory[\"PersistentFactory\"] = \"11\";\n ClassCategory[\"Exception\"] = \"40\";\n ClassCategory[\"SharedObject\"] = \"45\";\n})(ClassCategory || (exports.ClassCategory = ClassCategory = {}));\nclass Class extends _abap_object_1.ABAPObject {\n constructor() {\n super(...arguments);\n this.def = undefined;\n this.parsedXML = undefined;\n }\n getType() {\n return \"CLAS\";\n }\n getSequencedFiles() {\n const sequence = [\".clas.locals_def.abap\", \".clas.locals_imp.abap\", \".clas.abap\", \".clas.testclasses.abap\"];\n const copy = this.getABAPFiles().slice().sort((a, b) => {\n const aValue = sequence.findIndex((s) => a.getFilename().endsWith(s));\n const bValue = sequence.findIndex((s) => b.getFilename().endsWith(s));\n return aValue - bValue;\n });\n return copy;\n }\n setDefinition(def) {\n this.def = def;\n }\n getDefinition() {\n return this.def;\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.def = undefined;\n this.parsedXML = undefined;\n super.setDirty();\n }\n getClassDefinition() {\n var _a;\n return (_a = this.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().getClassDefinitionByName(this.getName());\n }\n getIdentifier() {\n var _a;\n return (_a = this.getClassDefinition()) === null || _a === void 0 ? void 0 : _a.identifier;\n }\n // -------------------\n getDescription() {\n var _a;\n this.parseXML();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n getNameFromXML() {\n var _a;\n this.parseXML();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.name;\n }\n getCategory() {\n var _a;\n this.parseXML();\n // https://blog.mariusschulz.com/2017/10/27/typescript-2-4-string-enums#no-reverse-mapping-for-string-valued-enum-members\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.category;\n }\n getLocalsImpFile() {\n for (const file of this.getABAPFiles()) {\n if (file.getFilename().endsWith(\".clas.locals_imp.abap\")) {\n return file;\n }\n }\n return undefined;\n }\n getTestclassFile() {\n for (const file of this.getABAPFiles()) {\n if (file.getFilename().endsWith(\".clas.testclasses.abap\")) {\n return file;\n }\n }\n return undefined;\n }\n /////////////////////////\n parseXML() {\n if (this.parsedXML !== undefined) {\n return;\n }\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit[\"asx:abap\"] === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return;\n }\n const vseo = parsed.abapGit[\"asx:abap\"][\"asx:values\"].VSEOCLASS;\n if (vseo === undefined) {\n return;\n }\n this.parsedXML.category = vseo.CATEGORY;\n this.parsedXML.description = vseo.DESCRIPT ? vseo.DESCRIPT : \"\";\n this.parsedXML.name = vseo.CLSNAME ? vseo.CLSNAME : \"\";\n }\n}\nexports.Class = Class;\n//# sourceMappingURL=class.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/class.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/classification.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/classification.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Classification = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Classification extends _abstract_object_1.AbstractObject {\n getType() {\n return \"AVAS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Classification = Classification;\n//# sourceMappingURL=classification.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/classification.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/communication_scenario.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/communication_scenario.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CommunicationScenario = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CommunicationScenario extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SCO1\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CommunicationScenario = CommunicationScenario;\n//# sourceMappingURL=communication_scenario.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/communication_scenario.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/composite_enhancement_implementation.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/composite_enhancement_implementation.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CompositeEnhancementImplementation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CompositeEnhancementImplementation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ENHC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CompositeEnhancementImplementation = CompositeEnhancementImplementation;\n//# sourceMappingURL=composite_enhancement_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/composite_enhancement_implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/composite_enhancement_spot.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/composite_enhancement_spot.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CompositeEnhancementSpot = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CompositeEnhancementSpot extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ENSC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CompositeEnhancementSpot = CompositeEnhancementSpot;\n//# sourceMappingURL=composite_enhancement_spot.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/composite_enhancement_spot.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/concepts_of_package.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/concepts_of_package.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConceptsOfPackage = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ConceptsOfPackage extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SOTS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n customRegex: new RegExp(/^(\\/[A-Z_\\d]{3,8}\\/)?[A-Z_-\\d<> ]+$/i),\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ConceptsOfPackage = ConceptsOfPackage;\n//# sourceMappingURL=concepts_of_package.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/concepts_of_package.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CustomerEnhancementProject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CustomerEnhancementProject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CMOD\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CustomerEnhancementProject = CustomerEnhancementProject;\n//# sourceMappingURL=customer_enhancement_project.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/customizing_attributes.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/customizing_attributes.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CustomizingAttributes = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CustomizingAttributes extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CUS2\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CustomizingAttributes = CustomizingAttributes;\n//# sourceMappingURL=customizing_attributes.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/customizing_attributes.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/customizing_img_activity.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/customizing_img_activity.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CustomizingImgActivity = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CustomizingImgActivity extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CUS0\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CustomizingImgActivity = CustomizingImgActivity;\n//# sourceMappingURL=customizing_img_activity.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/customizing_img_activity.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/customizing_transaction.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/customizing_transaction.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CustomizingTransaction = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass CustomizingTransaction extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CUS1\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.CustomizingTransaction = CustomizingTransaction;\n//# sourceMappingURL=customizing_transaction.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/customizing_transaction.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/data_control.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/data_control.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataControl = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass DataControl extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DCLS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.DataControl = DataControl;\n//# sourceMappingURL=data_control.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/data_control.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/data_definition.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/data_definition.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataDefinition = void 0;\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst cds_determine_types_1 = __webpack_require__(/*! ../cds/cds_determine_types */ \"./node_modules/@abaplint/core/build/src/cds/cds_determine_types.js\");\nconst cds_parser_1 = __webpack_require__(/*! ../cds/cds_parser */ \"./node_modules/@abaplint/core/build/src/cds/cds_parser.js\");\nconst expressions_1 = __webpack_require__(/*! ../cds/expressions */ \"./node_modules/@abaplint/core/build/src/cds/expressions/index.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass DataDefinition extends _abstract_object_1.AbstractObject {\n constructor() {\n super(...arguments);\n this.parserError = undefined;\n this.parsedData = undefined;\n }\n getType() {\n return \"DDLS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getSQLViewName() {\n var _a;\n this.parse();\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.sqlViewName;\n }\n getDefinitionName() {\n var _a;\n this.parse();\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.definitionName;\n }\n getDescription() {\n // todo\n return undefined;\n }\n parseType(reg) {\n this.parse();\n return new cds_determine_types_1.CDSDetermineTypes().parseType(reg, this.parsedData);\n }\n getParsedData() {\n return this.parsedData;\n }\n listSources() {\n var _a;\n this.parse();\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.sources;\n }\n setDirty() {\n this.parsedData = undefined;\n this.parserError = undefined;\n super.setDirty();\n }\n findSourceFile() {\n return this.getFiles().find(f => f.getFilename().endsWith(\".asddls\") || f.getFilename().endsWith(\".acds\"));\n }\n hasParserError() {\n return this.parserError;\n }\n parse() {\n var _a, _b;\n if (this.isDirty() === false) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedData = {\n sqlViewName: undefined,\n definitionName: undefined,\n fields: [],\n sources: [],\n relations: [],\n associations: [],\n tree: undefined,\n };\n this.findSQLViewName();\n this.parsedData.tree = new cds_parser_1.CDSParser().parse(this.findSourceFile());\n if (this.parsedData.tree) {\n for (const c of ((_a = this.parsedData.tree) === null || _a === void 0 ? void 0 : _a.getChildren()) || []) {\n if (c.get() instanceof expressions_1.CDSAnnotation) {\n continue;\n }\n if (c instanceof nodes_1.ExpressionNode) {\n this.parsedData.definitionName = (_b = c.findFirstExpression(expressions_1.CDSName)) === null || _b === void 0 ? void 0 : _b.concatTokens().replace(/ /g, \"\");\n break;\n }\n }\n this.findSourcesAndRelations(this.parsedData.tree);\n this.findFieldNames(this.parsedData.tree);\n }\n else {\n this.parserError = true;\n }\n this.dirty = false;\n return { updated: true, runtime: Date.now() - start };\n }\n getTree() {\n var _a;\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.tree;\n }\n //////////\n findSQLViewName() {\n var _a;\n const match = (_a = this.findSourceFile()) === null || _a === void 0 ? void 0 : _a.getRaw().match(/@AbapCatalog\\.sqlViewName: '(\\w+)'/);\n if (match) {\n this.parsedData.sqlViewName = match[1].toUpperCase();\n }\n }\n findFieldNames(tree) {\n var _a, _b;\n let expr = tree.findFirstExpression(expressions_1.CDSSelect);\n if (expr === undefined) {\n expr = tree.findFirstExpression(expressions_1.CDSAnnotate);\n }\n if (expr === undefined) {\n expr = tree.findFirstExpression(expressions_1.CDSDefineProjection);\n }\n for (const e of (expr === null || expr === void 0 ? void 0 : expr.findDirectExpressions(expressions_1.CDSElement)) || []) {\n let found = (_a = e.findDirectExpression(expressions_1.CDSAs)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(expressions_1.CDSName);\n if (found === undefined) {\n const list = e.findDirectExpressions(expressions_1.CDSName);\n if (e.concatTokens().toUpperCase().includes(\" REDIRECTED TO \")) {\n found = list[0];\n }\n else {\n found = list[list.length - 1];\n }\n }\n if (found === undefined) {\n continue;\n }\n const name = found === null || found === void 0 ? void 0 : found.concatTokens();\n if ((_b = this.parsedData) === null || _b === void 0 ? void 0 : _b.associations.some(a => { var _a; return a.name.toUpperCase() === name.toUpperCase() || ((_a = a.as) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === name.toUpperCase(); })) {\n continue;\n }\n const annotations = [];\n for (const a of e.findDirectExpressions(expressions_1.CDSAnnotation)) {\n annotations.push(a.concatTokens());\n }\n this.parsedData.fields.push({\n name: name,\n annotations: annotations,\n key: e.findDirectTokenByText(\"KEY\") !== undefined,\n });\n }\n }\n findSourcesAndRelations(tree) {\n var _a, _b, _c, _d, _e, _f;\n for (const e of tree.findAllExpressions(expressions_1.CDSSource)) {\n const name = e.getFirstToken().getStr();\n const as = (_b = (_a = e.findDirectExpression(expressions_1.CDSAs)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(expressions_1.CDSName)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();\n this.parsedData.sources.push({ name, as });\n }\n for (const e of tree.findAllExpressions(expressions_1.CDSRelation)) {\n const name = e.getFirstToken().getStr();\n const as = (_d = (_c = e.findDirectExpression(expressions_1.CDSAs)) === null || _c === void 0 ? void 0 : _c.findDirectExpression(expressions_1.CDSName)) === null || _d === void 0 ? void 0 : _d.getFirstToken().getStr();\n this.parsedData.relations.push({ name, as });\n }\n for (const e of tree.findAllExpressions(expressions_1.CDSAssociation)) {\n const j = e.findDirectExpression(expressions_1.CDSRelation);\n if (j === undefined) {\n continue;\n }\n const name = j.getFirstToken().getStr();\n const as = (_f = (_e = j.findDirectExpression(expressions_1.CDSAs)) === null || _e === void 0 ? void 0 : _e.findDirectExpression(expressions_1.CDSName)) === null || _f === void 0 ? void 0 : _f.getFirstToken().getStr();\n this.parsedData.associations.push({\n name: name || \"ERROR\",\n as: as,\n });\n }\n }\n}\nexports.DataDefinition = DataDefinition;\n//# sourceMappingURL=data_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/data_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/data_element.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/data_element.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DataElement = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nconst Types = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass DataElement extends _abstract_object_1.AbstractObject {\n constructor() {\n super(...arguments);\n this.parsedXML = undefined;\n }\n getType() {\n return \"DTEL\";\n }\n getDescription() {\n var _a;\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getDomainName() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.domname;\n }\n parseType(reg) {\n const references = [];\n let lookup = undefined;\n if (this.parsedXML === undefined) {\n lookup = { type: new Types.UnknownType(\"Data Element \" + this.getName() + \", parser error\") };\n }\n else {\n const ddic = new ddic_1.DDIC(reg);\n if (this.parsedXML.refkind === \"D\") {\n if (this.parsedXML.domname === undefined || this.parsedXML.domname === \"\") {\n lookup = { type: new Types.UnknownType(\"DOMNAME unexpectely empty in \" + this.getName()) };\n }\n else {\n lookup = ddic.lookupDomain(this.parsedXML.domname, this.getName());\n }\n }\n else if (this.parsedXML.refkind === \"R\") {\n if (this.parsedXML.domname === undefined || this.parsedXML.domname === \"\") {\n lookup = { type: new Types.UnknownType(\"DOMNAME unexpectely empty in \" + this.getName()) };\n }\n else {\n lookup = ddic.lookupObject(this.parsedXML.domname);\n }\n }\n else {\n if (this.parsedXML.datatype === undefined || this.parsedXML.datatype === \"\") {\n lookup = { type: new Types.UnknownType(\"DATATYPE unexpectely empty in \" + this.getName()) };\n }\n else {\n lookup = { type: ddic.textToType(this.parsedXML.datatype, this.parsedXML.leng, this.parsedXML.decimals, this.getName(), this.getName(), undefined, this.getName()) };\n }\n }\n }\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n reg.getDDICReferences().setUsing(this, references);\n return lookup.type;\n }\n parse() {\n var _a, _b, _c;\n if (this.parsedXML !== undefined) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return { updated: false, runtime: 0 };\n }\n const dd04v = (_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a[\"asx:abap\"]) === null || _b === void 0 ? void 0 : _b[\"asx:values\"]) === null || _c === void 0 ? void 0 : _c.DD04V;\n this.parsedXML = {\n description: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DDTEXT,\n refkind: dd04v === null || dd04v === void 0 ? void 0 : dd04v.REFKIND,\n domname: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DOMNAME,\n datatype: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DATATYPE,\n leng: dd04v === null || dd04v === void 0 ? void 0 : dd04v.LENG,\n decimals: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DECIMALS,\n };\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.DataElement = DataElement;\n//# sourceMappingURL=data_element.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/data_element.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/dialog_module.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/dialog_module.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DialogModule = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass DialogModule extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DIAL\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.DialogModule = DialogModule;\n//# sourceMappingURL=dialog_module.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/dialog_module.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/documentation.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/documentation.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Documentation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Documentation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DOCV\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Documentation = Documentation;\n//# sourceMappingURL=documentation.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/documentation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/domain.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/domain.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Domain = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst Types = __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\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass Domain extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DOMA\";\n }\n getDescription() {\n var _a;\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n getConversionExit() {\n var _a;\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.conversionExit;\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n parseType(reg, dataElement) {\n // dont cache the DOMA parsed type, they are cached on DTEL level\n // also note that the type carries the name of the DTEL\n if (this.parsedXML === undefined) {\n this.parse();\n }\n if (this.parsedXML === undefined) {\n return new Types.UnknownType(\"Domain \" + this.getName() + \" parser error\", this.getName());\n }\n const ddic = new ddic_1.DDIC(reg);\n return ddic.textToType(this.parsedXML.datatype, this.parsedXML.length, this.parsedXML.decimals, this.getName(), dataElement, this.parsedXML.conversionExit, dataElement);\n }\n parse() {\n var _a, _b, _c, _d, _e, _f, _g;\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return { updated: false, runtime: 0 };\n }\n const dd01v = (_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a[\"asx:abap\"]) === null || _b === void 0 ? void 0 : _b[\"asx:values\"]) === null || _c === void 0 ? void 0 : _c.DD01V;\n const dd07v_tab = (0, xml_utils_1.xmlToArray)((_g = (_f = (_e = (_d = parsed.abapGit) === null || _d === void 0 ? void 0 : _d[\"asx:abap\"]) === null || _e === void 0 ? void 0 : _e[\"asx:values\"]) === null || _f === void 0 ? void 0 : _f.DD07V_TAB) === null || _g === void 0 ? void 0 : _g.DD07V);\n const values = [];\n for (const ddo7v of dd07v_tab) {\n const value = {\n description: ddo7v === null || ddo7v === void 0 ? void 0 : ddo7v.DDTEXT,\n low: ddo7v === null || ddo7v === void 0 ? void 0 : ddo7v.DOMVALUE_L,\n high: ddo7v === null || ddo7v === void 0 ? void 0 : ddo7v.DOMVALUE_H,\n language: ddo7v === null || ddo7v === void 0 ? void 0 : ddo7v.DDLANGUAGE,\n };\n values.push(value);\n }\n this.parsedXML = {\n description: dd01v === null || dd01v === void 0 ? void 0 : dd01v.DDTEXT,\n datatype: dd01v === null || dd01v === void 0 ? void 0 : dd01v.DATATYPE,\n length: dd01v === null || dd01v === void 0 ? void 0 : dd01v.LENG,\n conversionExit: dd01v === null || dd01v === void 0 ? void 0 : dd01v.CONVEXIT,\n decimals: dd01v === null || dd01v === void 0 ? void 0 : dd01v.DECIMALS,\n values: values,\n };\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n getFixedValues() {\n var _a, _b;\n return (_b = (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.values) !== null && _b !== void 0 ? _b : [];\n }\n}\nexports.Domain = Domain;\n//# sourceMappingURL=domain.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/domain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/ecatt_test_configuration.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/ecatt_test_configuration.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EcattTestConfiguration = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass EcattTestConfiguration extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ECTC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.EcattTestConfiguration = EcattTestConfiguration;\n//# sourceMappingURL=ecatt_test_configuration.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/ecatt_test_configuration.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/ecatt_test_data_container.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/ecatt_test_data_container.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EcattTestDataContainer = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass EcattTestDataContainer extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ECTD\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.EcattTestDataContainer = EcattTestDataContainer;\n//# sourceMappingURL=ecatt_test_data_container.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/ecatt_test_data_container.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/ecatt_test_script.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/ecatt_test_script.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EcattTestScript = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass EcattTestScript extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ECAT\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.EcattTestScript = EcattTestScript;\n//# sourceMappingURL=ecatt_test_script.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/ecatt_test_script.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/enhancement_implementation.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/enhancement_implementation.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EnhancementImplementation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass EnhancementImplementation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ENHO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.EnhancementImplementation = EnhancementImplementation;\n//# sourceMappingURL=enhancement_implementation.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/enhancement_implementation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/enhancement_spot.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/enhancement_spot.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EnhancementSpot = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass EnhancementSpot extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ENHS\";\n }\n getDescription() {\n // todo\n return undefined;\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.badis = undefined;\n super.setDirty();\n }\n listBadiDefinitions() {\n if (this.badis === undefined) {\n this.badis = this.parseXML();\n }\n return this.badis;\n }\n /////////////////\n parseXML() {\n var _a, _b;\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return [];\n }\n const ret = [];\n for (const b of (0, xml_utils_1.xmlToArray)((_b = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _a === void 0 ? void 0 : _a.BADI_DATA) === null || _b === void 0 ? void 0 : _b.ENH_BADI_DATA)) {\n ret.push({\n name: b.BADI_NAME,\n interface: b.INTERFACE_NAME,\n });\n }\n return ret;\n }\n}\nexports.EnhancementSpot = EnhancementSpot;\n//# sourceMappingURL=enhancement_spot.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/enhancement_spot.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/event_binding.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/event_binding.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EventBinding = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass EventBinding extends _abstract_object_1.AbstractObject {\n getType() {\n return \"EVTB\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.EventBinding = EventBinding;\n//# sourceMappingURL=event_binding.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/event_binding.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/extension_index.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/extension_index.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExtensionIndex = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ExtensionIndex extends _abstract_object_1.AbstractObject {\n getType() {\n return \"XINX\";\n }\n getAllowedNaming() {\n return {\n maxLength: 33,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ExtensionIndex = ExtensionIndex;\n//# sourceMappingURL=extension_index.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/extension_index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/field_catalog.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/field_catalog.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FieldCatalog = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass FieldCatalog extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ASFC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.FieldCatalog = FieldCatalog;\n//# sourceMappingURL=field_catalog.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/field_catalog.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/form_object_form.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/form_object_form.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormObjectForm = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass FormObjectForm extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SFPF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.FormObjectForm = FormObjectForm;\n//# sourceMappingURL=form_object_form.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/form_object_form.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/form_object_interface.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/form_object_interface.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormObjectInterface = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass FormObjectInterface extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SFPI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.FormObjectInterface = FormObjectInterface;\n//# sourceMappingURL=form_object_interface.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/form_object_interface.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/format_type.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/format_type.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormatType = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass FormatType extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SPLO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.FormatType = FormatType;\n//# sourceMappingURL=format_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/format_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/function_group.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/function_group.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionGroup = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ./_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst types_1 = __webpack_require__(/*! ../abap/types */ \"./node_modules/@abaplint/core/build/src/abap/types/index.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nconst fast_xml_parser_1 = __webpack_require__(/*! fast-xml-parser */ \"./node_modules/fast-xml-parser/src/fxp.js\");\nclass FunctionGroup extends _abap_object_1.ABAPObject {\n constructor() {\n super(...arguments);\n this.includes = undefined;\n this.modules = undefined;\n }\n getType() {\n return \"FUGR\";\n }\n getDescription() {\n // todo\n return undefined;\n }\n setDirty() {\n super.setDirty();\n this.includes = undefined;\n this.modules = undefined;\n }\n getAllowedNaming() {\n return {\n maxLength: 26,\n allowNamespace: true,\n };\n }\n getSequencedFiles() {\n const main = this.getMainABAPFile();\n if (main === undefined) {\n return [];\n }\n const sequence = [main];\n for (const m of this.getModules()) {\n const search = \".\" + m.getName().toLocaleLowerCase().replace(/\\//g, \"#\") + \".abap\";\n for (const f of this.getABAPFiles()) {\n if (f.getFilename().toLocaleLowerCase().endsWith(search)) {\n if (sequence.indexOf(f) < 0) {\n sequence.push(f);\n }\n break;\n }\n }\n }\n return sequence;\n }\n getModules() {\n if (this.modules === undefined) {\n this.parseXML();\n }\n if (this.modules === undefined) {\n throw new Error(\"getIncludes, undefined\");\n }\n return this.modules;\n }\n getIncludeFiles() {\n const ret = [];\n const includes = this.getIncludes();\n for (const f of this.getABAPFiles()) {\n for (const i of includes) {\n const namespaced = i.startsWith(\"/\") && i.includes(\"/L\");\n let search = i;\n if (namespaced) {\n search = search.replace(/\\//g, \"#\");\n }\n if ((i.startsWith(\"L\") || namespaced) && f.getFilename().includes(search.toLowerCase())) {\n ret.push({ file: f, name: i });\n }\n // fix for URL encoded? Uris\n if (namespaced) {\n search = i.replace(/\\//g, \"%23\");\n if (f.getFilename().includes(search.toLowerCase())) {\n ret.push({ file: f, name: i });\n }\n }\n }\n }\n return ret;\n }\n getInclude(name) {\n const upper = name.toUpperCase();\n const includes = this.getIncludeFiles();\n for (const i of includes) {\n if (i.name.toUpperCase() === upper) {\n return i.file;\n }\n }\n return undefined;\n }\n getMainABAPFile() {\n const regex = new RegExp(/\\.fugr\\.(#\\w+#)?sapl/, \"i\");\n for (const f of this.getABAPFiles()) {\n if (regex.test(f.getFilename())) {\n return f;\n }\n }\n return undefined;\n }\n getIncludes() {\n if (this.includes === undefined) {\n this.parseXML();\n }\n if (this.includes === undefined) {\n throw new Error(\"getIncludes, undefined\");\n }\n return this.includes;\n }\n getModule(name) {\n for (const mod of this.getModules()) {\n if (mod.getName().toUpperCase() === name.toUpperCase()) {\n return mod;\n }\n }\n return undefined;\n }\n getTexts() {\n if (this.texts === undefined) {\n const found = this.findTextFile();\n if (found === undefined) {\n return {};\n }\n const parsed = new fast_xml_parser_1.XMLParser({ parseTagValue: false, ignoreAttributes: true, trimValues: false }).parse(found.getRaw());\n this.findTexts(parsed);\n }\n return this.texts;\n }\n /////////////////////////////////\n parseXML() {\n var _a, _b;\n this.includes = [];\n this.modules = [];\n const parsed = this.parseRaw2();\n if (parsed === undefined) {\n return;\n }\n // INCLUDES\n const includes = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _a === void 0 ? void 0 : _a.INCLUDES;\n if (includes !== undefined) {\n for (const i of (0, xml_utils_1.xmlToArray)(includes.SOBJ_NAME)) {\n this.includes.push(i);\n }\n }\n // FUNCTION MODULES\n const functions = (_b = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _b === void 0 ? void 0 : _b.FUNCTIONS;\n for (const module of (0, xml_utils_1.xmlToArray)(functions === null || functions === void 0 ? void 0 : functions.item)) {\n this.modules.push(new types_1.FunctionModuleDefinition(module));\n }\n }\n findTextFile() {\n const search = this.getName() + \".fugr.sapl\" + this.getName() + \".xml\";\n for (const f of this.getFiles()) {\n if (f.getFilename().includes(search.toLowerCase())) {\n return f;\n }\n }\n return undefined;\n }\n}\nexports.FunctionGroup = FunctionGroup;\n//# sourceMappingURL=function_group.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/function_group.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/gateway_model.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/gateway_model.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayModel = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayModel extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWMO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 36,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayModel = GatewayModel;\n//# sourceMappingURL=gateway_model.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/gateway_model.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/gateway_model_metadata.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/gateway_model_metadata.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayModelMetadata = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayModelMetadata extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWOM\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayModelMetadata = GatewayModelMetadata;\n//# sourceMappingURL=gateway_model_metadata.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/gateway_model_metadata.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/gateway_project.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/gateway_project.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayProject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayProject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWPR\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayProject = GatewayProject;\n//# sourceMappingURL=gateway_project.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/gateway_project.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/gateway_service.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/gateway_service.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWSV\";\n }\n getAllowedNaming() {\n return {\n maxLength: 39,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayService = GatewayService;\n//# sourceMappingURL=gateway_service.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/gateway_service.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/gateway_service_groups_metadata.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/gateway_service_groups_metadata.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayServiceGroupsMetadata = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayServiceGroupsMetadata extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWSG\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayServiceGroupsMetadata = GatewayServiceGroupsMetadata;\n//# sourceMappingURL=gateway_service_groups_metadata.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/gateway_service_groups_metadata.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/gateway_vocabulary_annotation.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/gateway_vocabulary_annotation.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GatewayVocabularyAnnotation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GatewayVocabularyAnnotation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IWVB\";\n }\n getAllowedNaming() {\n return {\n maxLength: 36,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GatewayVocabularyAnnotation = GatewayVocabularyAnnotation;\n//# sourceMappingURL=gateway_vocabulary_annotation.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/gateway_vocabulary_annotation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/general_hierarchy_storage_extrension_name.js": +/*!****************************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/general_hierarchy_storage_extrension_name.js ***! + \****************************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GeneralHierarchyStorageExtrensionName = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GeneralHierarchyStorageExtrensionName extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SHI5\";\n }\n getAllowedNaming() {\n return {\n maxLength: 15,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GeneralHierarchyStorageExtrensionName = GeneralHierarchyStorageExtrensionName;\n//# sourceMappingURL=general_hierarchy_storage_extrension_name.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/general_hierarchy_storage_extrension_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/general_storage_structure.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/general_storage_structure.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GeneralStorageStructure = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GeneralStorageStructure extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SHI3\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GeneralStorageStructure = GeneralStorageStructure;\n//# sourceMappingURL=general_storage_structure.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/general_storage_structure.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/general_text.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/general_text.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GeneralText = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass GeneralText extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DOCT\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.GeneralText = GeneralText;\n//# sourceMappingURL=general_text.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/general_text.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/http_service.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/http_service.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.HttpService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass HttpService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"HTTP\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.HttpService = HttpService;\n//# sourceMappingURL=http_service.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/http_service.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/iac_binary_data.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/iac_binary_data.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IACBinaryData = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IACBinaryData extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IAMU\";\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IACBinaryData = IACBinaryData;\n//# sourceMappingURL=iac_binary_data.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/iac_binary_data.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/iac_language_resource.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/iac_language_resource.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IACLanguageResource = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IACLanguageResource extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IARP\";\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IACLanguageResource = IACLanguageResource;\n//# sourceMappingURL=iac_language_resource.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/iac_language_resource.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/iac_service.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/iac_service.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IACService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IACService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IASP\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IACService = IACService;\n//# sourceMappingURL=iac_service.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/iac_service.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/iac_template.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/iac_template.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IACTemplate = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IACTemplate extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IATU\";\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IACTemplate = IACTemplate;\n//# sourceMappingURL=iac_template.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/iac_template.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/iam_app.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/iam_app.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IAMApp = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IAMApp extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA6\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IAMApp = IAMApp;\n//# sourceMappingURL=iam_app.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/iam_app.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/icf_service.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/icf_service.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ICFService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass ICFService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SICF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 100,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getDescription() {\n // todo\n return undefined;\n }\n getURL() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.url;\n }\n getHandlerList() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.handlers;\n }\n parse() {\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n const table = parsed.abapGit[\"asx:abap\"][\"asx:values\"].ICFHANDLER_TABLE;\n this.parsedXML.handlers = [];\n for (const h of (0, xml_utils_1.xmlToArray)(table)) {\n if (h.ICFHANDLER !== undefined) {\n this.parsedXML.handlers.push(h.ICFHANDLER.ICFHANDLER);\n }\n }\n this.parsedXML.url = parsed.abapGit[\"asx:abap\"][\"asx:values\"].URL;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.ICFService = ICFService;\n//# sourceMappingURL=icf_service.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/icf_service.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/idoc.js": +/*!***************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/idoc.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Idoc = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Idoc extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IDOC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Idoc = Idoc;\n//# sourceMappingURL=idoc.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/idoc.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/idoc_extension.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/idoc_extension.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IdocExtension = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass IdocExtension extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IEXT\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: false,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.IdocExtension = IdocExtension;\n//# sourceMappingURL=idoc_extension.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/idoc_extension.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/inbound_service.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/inbound_service.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InboundService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass InboundService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SCO2\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.InboundService = InboundService;\n//# sourceMappingURL=inbound_service.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/inbound_service.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/index.js": +/*!****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/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__(/*! ./activation_variant */ \"./node_modules/@abaplint/core/build/src/objects/activation_variant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./api_release_state */ \"./node_modules/@abaplint/core/build/src/objects/api_release_state.js\"), exports);\n__exportStar(__webpack_require__(/*! ./assignment_service_to_authorization_group */ \"./node_modules/@abaplint/core/build/src/objects/assignment_service_to_authorization_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./atc_check_category */ \"./node_modules/@abaplint/core/build/src/objects/atc_check_category.js\"), exports);\n__exportStar(__webpack_require__(/*! ./atc_check_object */ \"./node_modules/@abaplint/core/build/src/objects/atc_check_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./atc_check_variant */ \"./node_modules/@abaplint/core/build/src/objects/atc_check_variant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authorization_check_field */ \"./node_modules/@abaplint/core/build/src/objects/authorization_check_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authorization_group */ \"./node_modules/@abaplint/core/build/src/objects/authorization_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authorization_object_class */ \"./node_modules/@abaplint/core/build/src/objects/authorization_object_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authorization_object_extension */ \"./node_modules/@abaplint/core/build/src/objects/authorization_object_extension.js\"), exports);\n__exportStar(__webpack_require__(/*! ./authorization_object */ \"./node_modules/@abaplint/core/build/src/objects/authorization_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./behavior_definition */ \"./node_modules/@abaplint/core/build/src/objects/behavior_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./bsp_application */ \"./node_modules/@abaplint/core/build/src/objects/bsp_application.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_add_in_implementation */ \"./node_modules/@abaplint/core/build/src/objects/business_add_in_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_catalog_app_assignment */ \"./node_modules/@abaplint/core/build/src/objects/business_catalog_app_assignment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_catalog */ \"./node_modules/@abaplint/core/build/src/objects/business_catalog.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_configuration_set */ \"./node_modules/@abaplint/core/build/src/objects/business_configuration_set.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_function_assignment */ \"./node_modules/@abaplint/core/build/src/objects/business_function_assignment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_function_set_assignment */ \"./node_modules/@abaplint/core/build/src/objects/business_function_set_assignment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./business_object_model */ \"./node_modules/@abaplint/core/build/src/objects/business_object_model.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_metadata_extension */ \"./node_modules/@abaplint/core/build/src/objects/cds_metadata_extension.js\"), exports);\n__exportStar(__webpack_require__(/*! ./change_document */ \"./node_modules/@abaplint/core/build/src/objects/change_document.js\"), exports);\n__exportStar(__webpack_require__(/*! ./chapter_of_book_structure */ \"./node_modules/@abaplint/core/build/src/objects/chapter_of_book_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./checkpoint_group */ \"./node_modules/@abaplint/core/build/src/objects/checkpoint_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class */ \"./node_modules/@abaplint/core/build/src/objects/class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./classification */ \"./node_modules/@abaplint/core/build/src/objects/classification.js\"), exports);\n__exportStar(__webpack_require__(/*! ./communication_scenario */ \"./node_modules/@abaplint/core/build/src/objects/communication_scenario.js\"), exports);\n__exportStar(__webpack_require__(/*! ./composite_enhancement_implementation */ \"./node_modules/@abaplint/core/build/src/objects/composite_enhancement_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./composite_enhancement_spot */ \"./node_modules/@abaplint/core/build/src/objects/composite_enhancement_spot.js\"), exports);\n__exportStar(__webpack_require__(/*! ./concepts_of_package */ \"./node_modules/@abaplint/core/build/src/objects/concepts_of_package.js\"), exports);\n__exportStar(__webpack_require__(/*! ./customer_enhancement_project */ \"./node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js\"), exports);\n__exportStar(__webpack_require__(/*! ./customizing_attributes */ \"./node_modules/@abaplint/core/build/src/objects/customizing_attributes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./customizing_img_activity */ \"./node_modules/@abaplint/core/build/src/objects/customizing_img_activity.js\"), exports);\n__exportStar(__webpack_require__(/*! ./customizing_transaction */ \"./node_modules/@abaplint/core/build/src/objects/customizing_transaction.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_control */ \"./node_modules/@abaplint/core/build/src/objects/data_control.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_definition */ \"./node_modules/@abaplint/core/build/src/objects/data_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./data_element */ \"./node_modules/@abaplint/core/build/src/objects/data_element.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dialog_module */ \"./node_modules/@abaplint/core/build/src/objects/dialog_module.js\"), exports);\n__exportStar(__webpack_require__(/*! ./documentation */ \"./node_modules/@abaplint/core/build/src/objects/documentation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./domain */ \"./node_modules/@abaplint/core/build/src/objects/domain.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ecatt_test_configuration */ \"./node_modules/@abaplint/core/build/src/objects/ecatt_test_configuration.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ecatt_test_data_container */ \"./node_modules/@abaplint/core/build/src/objects/ecatt_test_data_container.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ecatt_test_script */ \"./node_modules/@abaplint/core/build/src/objects/ecatt_test_script.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_implementation */ \"./node_modules/@abaplint/core/build/src/objects/enhancement_implementation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./enhancement_spot */ \"./node_modules/@abaplint/core/build/src/objects/enhancement_spot.js\"), exports);\n__exportStar(__webpack_require__(/*! ./event_binding */ \"./node_modules/@abaplint/core/build/src/objects/event_binding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./extension_index */ \"./node_modules/@abaplint/core/build/src/objects/extension_index.js\"), exports);\n__exportStar(__webpack_require__(/*! ./field_catalog */ \"./node_modules/@abaplint/core/build/src/objects/field_catalog.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_object_form */ \"./node_modules/@abaplint/core/build/src/objects/form_object_form.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_object_interface */ \"./node_modules/@abaplint/core/build/src/objects/form_object_interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./format_type */ \"./node_modules/@abaplint/core/build/src/objects/format_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_group */ \"./node_modules/@abaplint/core/build/src/objects/function_group.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_model_metadata */ \"./node_modules/@abaplint/core/build/src/objects/gateway_model_metadata.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_model */ \"./node_modules/@abaplint/core/build/src/objects/gateway_model.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_project */ \"./node_modules/@abaplint/core/build/src/objects/gateway_project.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_service_groups_metadata */ \"./node_modules/@abaplint/core/build/src/objects/gateway_service_groups_metadata.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_service */ \"./node_modules/@abaplint/core/build/src/objects/gateway_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./gateway_vocabulary_annotation */ \"./node_modules/@abaplint/core/build/src/objects/gateway_vocabulary_annotation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./general_hierarchy_storage_extrension_name */ \"./node_modules/@abaplint/core/build/src/objects/general_hierarchy_storage_extrension_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./general_storage_structure */ \"./node_modules/@abaplint/core/build/src/objects/general_storage_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./general_text */ \"./node_modules/@abaplint/core/build/src/objects/general_text.js\"), exports);\n__exportStar(__webpack_require__(/*! ./http_service */ \"./node_modules/@abaplint/core/build/src/objects/http_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./iac_binary_data */ \"./node_modules/@abaplint/core/build/src/objects/iac_binary_data.js\"), exports);\n__exportStar(__webpack_require__(/*! ./iac_language_resource */ \"./node_modules/@abaplint/core/build/src/objects/iac_language_resource.js\"), exports);\n__exportStar(__webpack_require__(/*! ./iac_service */ \"./node_modules/@abaplint/core/build/src/objects/iac_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./iac_template */ \"./node_modules/@abaplint/core/build/src/objects/iac_template.js\"), exports);\n__exportStar(__webpack_require__(/*! ./iam_app */ \"./node_modules/@abaplint/core/build/src/objects/iam_app.js\"), exports);\n__exportStar(__webpack_require__(/*! ./icf_service */ \"./node_modules/@abaplint/core/build/src/objects/icf_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./idoc_extension */ \"./node_modules/@abaplint/core/build/src/objects/idoc_extension.js\"), exports);\n__exportStar(__webpack_require__(/*! ./idoc */ \"./node_modules/@abaplint/core/build/src/objects/idoc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inbound_service */ \"./node_modules/@abaplint/core/build/src/objects/inbound_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./info_object */ \"./node_modules/@abaplint/core/build/src/objects/info_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interface */ \"./node_modules/@abaplint/core/build/src/objects/interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./lock_object */ \"./node_modules/@abaplint/core/build/src/objects/lock_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./maintenance_and_transport_object */ \"./node_modules/@abaplint/core/build/src/objects/maintenance_and_transport_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_class */ \"./node_modules/@abaplint/core/build/src/objects/message_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./messaging_channel */ \"./node_modules/@abaplint/core/build/src/objects/messaging_channel.js\"), exports);\n__exportStar(__webpack_require__(/*! ./mime_object */ \"./node_modules/@abaplint/core/build/src/objects/mime_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./namespace */ \"./node_modules/@abaplint/core/build/src/objects/namespace.js\"), exports);\n__exportStar(__webpack_require__(/*! ./number_range */ \"./node_modules/@abaplint/core/build/src/objects/number_range.js\"), exports);\n__exportStar(__webpack_require__(/*! ./object_characteristic */ \"./node_modules/@abaplint/core/build/src/objects/object_characteristic.js\"), exports);\n__exportStar(__webpack_require__(/*! ./package_interface */ \"./node_modules/@abaplint/core/build/src/objects/package_interface.js\"), exports);\n__exportStar(__webpack_require__(/*! ./package */ \"./node_modules/@abaplint/core/build/src/objects/package.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parameter */ \"./node_modules/@abaplint/core/build/src/objects/parameter.js\"), exports);\n__exportStar(__webpack_require__(/*! ./personalization_object */ \"./node_modules/@abaplint/core/build/src/objects/personalization_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./program */ \"./node_modules/@abaplint/core/build/src/objects/program.js\"), exports);\n__exportStar(__webpack_require__(/*! ./proxy_object */ \"./node_modules/@abaplint/core/build/src/objects/proxy_object.js\"), exports);\n__exportStar(__webpack_require__(/*! ./push_channel */ \"./node_modules/@abaplint/core/build/src/objects/push_channel.js\"), exports);\n__exportStar(__webpack_require__(/*! ./restriction_field */ \"./node_modules/@abaplint/core/build/src/objects/restriction_field.js\"), exports);\n__exportStar(__webpack_require__(/*! ./restriction_type */ \"./node_modules/@abaplint/core/build/src/objects/restriction_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./rfc_service */ \"./node_modules/@abaplint/core/build/src/objects/rfc_service.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sapscript_style */ \"./node_modules/@abaplint/core/build/src/objects/sapscript_style.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sapscript */ \"./node_modules/@abaplint/core/build/src/objects/sapscript.js\"), exports);\n__exportStar(__webpack_require__(/*! ./screen_variant */ \"./node_modules/@abaplint/core/build/src/objects/screen_variant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./search_help */ \"./node_modules/@abaplint/core/build/src/objects/search_help.js\"), exports);\n__exportStar(__webpack_require__(/*! ./service_binding */ \"./node_modules/@abaplint/core/build/src/objects/service_binding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./service_definition */ \"./node_modules/@abaplint/core/build/src/objects/service_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./shared_memory */ \"./node_modules/@abaplint/core/build/src/objects/shared_memory.js\"), exports);\n__exportStar(__webpack_require__(/*! ./smart_form */ \"./node_modules/@abaplint/core/build/src/objects/smart_form.js\"), exports);\n__exportStar(__webpack_require__(/*! ./smart_style */ \"./node_modules/@abaplint/core/build/src/objects/smart_style.js\"), exports);\n__exportStar(__webpack_require__(/*! ./switch_assignment_hierarchy */ \"./node_modules/@abaplint/core/build/src/objects/switch_assignment_hierarchy.js\"), exports);\n__exportStar(__webpack_require__(/*! ./switch_assignments */ \"./node_modules/@abaplint/core/build/src/objects/switch_assignments.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table_type */ \"./node_modules/@abaplint/core/build/src/objects/table_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./table */ \"./node_modules/@abaplint/core/build/src/objects/table.js\"), exports);\n__exportStar(__webpack_require__(/*! ./technical_job_definition */ \"./node_modules/@abaplint/core/build/src/objects/technical_job_definition.js\"), exports);\n__exportStar(__webpack_require__(/*! ./transaction_variant */ \"./node_modules/@abaplint/core/build/src/objects/transaction_variant.js\"), exports);\n__exportStar(__webpack_require__(/*! ./transaction */ \"./node_modules/@abaplint/core/build/src/objects/transaction.js\"), exports);\n__exportStar(__webpack_require__(/*! ./transformation */ \"./node_modules/@abaplint/core/build/src/objects/transformation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_pool */ \"./node_modules/@abaplint/core/build/src/objects/type_pool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./view_cluster */ \"./node_modules/@abaplint/core/build/src/objects/view_cluster.js\"), exports);\n__exportStar(__webpack_require__(/*! ./view */ \"./node_modules/@abaplint/core/build/src/objects/view.js\"), exports);\n__exportStar(__webpack_require__(/*! ./virtual_end_point */ \"./node_modules/@abaplint/core/build/src/objects/virtual_end_point.js\"), exports);\n__exportStar(__webpack_require__(/*! ./web_dynpro_application_configuration */ \"./node_modules/@abaplint/core/build/src/objects/web_dynpro_application_configuration.js\"), exports);\n__exportStar(__webpack_require__(/*! ./web_dynpro_application */ \"./node_modules/@abaplint/core/build/src/objects/web_dynpro_application.js\"), exports);\n__exportStar(__webpack_require__(/*! ./web_dynpro_component_configuration */ \"./node_modules/@abaplint/core/build/src/objects/web_dynpro_component_configuration.js\"), exports);\n__exportStar(__webpack_require__(/*! ./web_dynpro_component */ \"./node_modules/@abaplint/core/build/src/objects/web_dynpro_component.js\"), exports);\n__exportStar(__webpack_require__(/*! ./web_mime */ \"./node_modules/@abaplint/core/build/src/objects/web_mime.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/info_object.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/info_object.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InfoObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass InfoObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"IOBJ\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.InfoObject = InfoObject;\n//# sourceMappingURL=info_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/info_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/interface.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/interface.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Interface = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ./_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass Interface extends _abap_object_1.ABAPObject {\n constructor() {\n super(...arguments);\n this.def = undefined;\n this.parsedXML = undefined;\n }\n getType() {\n return \"INTF\";\n }\n setDefinition(def) {\n this.def = def;\n }\n getSequencedFiles() {\n const main = this.getMainABAPFile();\n if (main === undefined) {\n return [];\n }\n return [main];\n }\n getDefinition() {\n return this.def;\n }\n getInterface() {\n var _a;\n return (_a = this.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().getInterfaceDefinitionByName(this.getName());\n }\n getIdentifier() {\n var _a;\n return (_a = this.getInterface()) === null || _a === void 0 ? void 0 : _a.identifier;\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.def = undefined;\n this.parsedXML = undefined;\n super.setDirty();\n }\n getNameFromXML() {\n var _a;\n this.parseXML();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.name;\n }\n getDescription() {\n var _a;\n this.parseXML();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n /////////////////////////\n parseXML() {\n if (this.parsedXML !== undefined) {\n return;\n }\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return;\n }\n const vseo = parsed.abapGit[\"asx:abap\"][\"asx:values\"].VSEOINTERF;\n if (vseo === undefined) {\n this.parsedXML.description = \"\";\n this.parsedXML.name = \"\";\n }\n else {\n this.parsedXML.description = vseo.DESCRIPT ? vseo.DESCRIPT : \"\";\n this.parsedXML.name = vseo.CLSNAME ? vseo.CLSNAME : \"\";\n }\n }\n}\nexports.Interface = Interface;\n//# sourceMappingURL=interface.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/interface.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/lock_object.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/lock_object.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LockObject = 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\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass LockObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"ENQU\";\n }\n getAllowedNaming() {\n return {\n maxLength: 16,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getPrimaryTable() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.primaryTable;\n }\n parseType(reg) {\n var _a;\n this.parse();\n const references = [];\n const ddic = new ddic_1.DDIC(reg);\n if ((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.primaryTable) {\n const found = ddic.lookupTableOrView2(this.parsedXML.primaryTable);\n if (found) {\n references.push({ object: found });\n reg.getDDICReferences().setUsing(this, references);\n return found.parseType(reg);\n }\n else if (ddic.inErrorNamespace(this.parsedXML.primaryTable)) {\n return new basic_1.UnknownType(this.parsedXML.primaryTable + \" not found\");\n }\n else {\n return new basic_1.VoidType(this.parsedXML.primaryTable);\n }\n }\n else {\n return new basic_1.UnknownType(\"Parsing error\");\n }\n }\n parse() {\n var _a, _b;\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n this.parsedXML.primaryTable = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"].DD25V) === null || _a === void 0 ? void 0 : _a.ROOTTAB;\n this.parsedXML.description = (_b = parsed.abapGit[\"asx:abap\"][\"asx:values\"].DD25V) === null || _b === void 0 ? void 0 : _b.DDTEXT;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n getDescription() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n}\nexports.LockObject = LockObject;\n//# sourceMappingURL=lock_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/lock_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/maintenance_and_transport_object.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/maintenance_and_transport_object.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MaintenanceAndTransportObject = 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\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass MaintenanceAndTransportObject extends _abstract_object_1.AbstractObject {\n setDirty() {\n super.setDirty();\n this.parsedXML = undefined;\n }\n getType() {\n return \"TOBJ\";\n }\n getDescription() {\n // todo\n return undefined;\n }\n getAllowedNaming() {\n return {\n maxLength: 31,\n allowNamespace: true,\n };\n }\n getArea() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.area;\n }\n getObjectName() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.objectName;\n }\n getObjectType() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.objectType;\n }\n parseType(reg) {\n var _a, _b, _c;\n this.parse();\n const references = [];\n const ddic = new ddic_1.DDIC(reg);\n if (((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.objectName) && this.parsedXML.objectType === \"S\") {\n const found = ddic.lookupTableOrView2(this.parsedXML.objectName);\n if (found) {\n references.push({ object: found });\n reg.getDDICReferences().setUsing(this, references);\n return found.parseType(reg);\n }\n else if (ddic.inErrorNamespace(this.parsedXML.objectName)) {\n return new basic_1.UnknownType(this.parsedXML.objectName + \" not found\");\n }\n else {\n return new basic_1.VoidType(this.parsedXML.objectName);\n }\n }\n else if (((_b = this.parsedXML) === null || _b === void 0 ? void 0 : _b.objectType) !== \"S\" && ((_c = this.parsedXML) === null || _c === void 0 ? void 0 : _c.objectName)) {\n return new basic_1.VoidType(this.parsedXML.objectName);\n }\n else {\n return new basic_1.UnknownType(\"Parsing error\");\n }\n }\n parse() {\n var _a, _b, _c, _d;\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n this.parsedXML.area = (_b = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"].TOBJ) === null || _a === void 0 ? void 0 : _a.TVDIR) === null || _b === void 0 ? void 0 : _b.AREA;\n this.parsedXML.objectName = (_c = parsed.abapGit[\"asx:abap\"][\"asx:values\"].OBJH) === null || _c === void 0 ? void 0 : _c.OBJECTNAME;\n this.parsedXML.objectType = (_d = parsed.abapGit[\"asx:abap\"][\"asx:values\"].OBJH) === null || _d === void 0 ? void 0 : _d.OBJECTTYPE;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.MaintenanceAndTransportObject = MaintenanceAndTransportObject;\n//# sourceMappingURL=maintenance_and_transport_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/maintenance_and_transport_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/message_class.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/message_class.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageClass = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst message_1 = __webpack_require__(/*! ../abap/types/message */ \"./node_modules/@abaplint/core/build/src/abap/types/message.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass MessageClass extends _abstract_object_1.AbstractObject {\n constructor() {\n super(...arguments);\n this.parsedMessages = undefined;\n }\n getType() {\n return \"MSAG\";\n }\n getDescription() {\n // todo\n return undefined;\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedMessages = undefined;\n super.setDirty();\n }\n getMessages() {\n this.parseXML();\n const msg = this.parsedMessages;\n return msg ? msg : [];\n }\n getByNumber(num) {\n // todo, optimize performance,\n for (const message of this.getMessages()) {\n if (message.getNumber() === num) {\n return message;\n }\n }\n return undefined;\n }\n /////////////////////////////////\n parseXML() {\n var _a, _b;\n if (this.parsedMessages !== undefined) {\n return;\n }\n this.parsedMessages = [];\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return;\n }\n const t100 = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a[\"asx:abap\"][\"asx:values\"]) === null || _b === void 0 ? void 0 : _b.T100;\n if (t100 === undefined) {\n return;\n }\n for (const msg of (0, xml_utils_1.xmlToArray)(t100.T100)) {\n this.parsedMessages.push(new message_1.Message(msg.MSGNR, (0, xml_utils_1.unescape)(msg.TEXT)));\n }\n }\n}\nexports.MessageClass = MessageClass;\n//# sourceMappingURL=message_class.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/message_class.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/messaging_channel.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/messaging_channel.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessagingChannel = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass MessagingChannel extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SAMC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.MessagingChannel = MessagingChannel;\n//# sourceMappingURL=messaging_channel.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/messaging_channel.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/mime_object.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/mime_object.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MIMEObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass MIMEObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SMIM\";\n }\n getURL() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.URL;\n }\n getClass() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.CLASS;\n }\n isFolder() {\n var _a;\n return ((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.FOLDER) === \"X\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: false,\n };\n }\n getDataFile() {\n const main = this.getXMLFile();\n for (const f of this.getFiles()) {\n if (f.getFilename() !== (main === null || main === void 0 ? void 0 : main.getFilename())) {\n return f;\n }\n }\n return undefined;\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getDescription() {\n // this object type does not have a description\n return undefined;\n }\n parse() {\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n this.parsedXML.URL = parsed.abapGit[\"asx:abap\"][\"asx:values\"].URL;\n this.parsedXML.CLASS = parsed.abapGit[\"asx:abap\"][\"asx:values\"].CLASS;\n this.parsedXML.FOLDER = parsed.abapGit[\"asx:abap\"][\"asx:values\"].FOLDER;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.MIMEObject = MIMEObject;\n//# sourceMappingURL=mime_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/mime_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/namespace.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/namespace.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Namespace = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Namespace extends _abstract_object_1.AbstractObject {\n getType() {\n return \"NSPC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 10,\n allowNamespace: true,\n customRegex: new RegExp(/^\\/[A-Z_\\d]{3,8}\\/$/i),\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Namespace = Namespace;\n//# sourceMappingURL=namespace.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/namespace.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/number_range.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/number_range.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NumberRange = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass NumberRange extends _abstract_object_1.AbstractObject {\n getType() {\n return \"NROB\";\n }\n getAllowedNaming() {\n return {\n maxLength: 10,\n allowNamespace: true,\n };\n }\n getDomain() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.domain;\n }\n getPercentage() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.percentage;\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n parse() {\n var _a, _b, _c, _d, _e, _f;\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return { updated: false, runtime: 0 };\n }\n const text = (_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a[\"asx:abap\"]) === null || _b === void 0 ? void 0 : _b[\"asx:values\"]) === null || _c === void 0 ? void 0 : _c.TEXT;\n this.parsedXML.description = text === null || text === void 0 ? void 0 : text.TXT;\n const attributes = (_f = (_e = (_d = parsed.abapGit) === null || _d === void 0 ? void 0 : _d[\"asx:abap\"]) === null || _e === void 0 ? void 0 : _e[\"asx:values\"]) === null || _f === void 0 ? void 0 : _f.ATTRIBUTES;\n this.parsedXML.domain = attributes === null || attributes === void 0 ? void 0 : attributes.DOMLEN;\n this.parsedXML.percentage = parseFloat((attributes === null || attributes === void 0 ? void 0 : attributes.PERCENTAGE) || \"\");\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n getDescription() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n}\nexports.NumberRange = NumberRange;\n//# sourceMappingURL=number_range.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/number_range.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/object_characteristic.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/object_characteristic.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ObjectCharacteristic = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ObjectCharacteristic extends _abstract_object_1.AbstractObject {\n getType() {\n return \"CHAR\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ObjectCharacteristic = ObjectCharacteristic;\n//# sourceMappingURL=object_characteristic.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/object_characteristic.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/package.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/package.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Package = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Package extends _abstract_object_1.AbstractObject {\n getType() {\n return \"DEVC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Package = Package;\n//# sourceMappingURL=package.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/package.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/package_interface.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/package_interface.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PackageInterface = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass PackageInterface extends _abstract_object_1.AbstractObject {\n getType() {\n return \"PINF\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.PackageInterface = PackageInterface;\n//# sourceMappingURL=package_interface.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/package_interface.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/parameter.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/parameter.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Parameter = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Parameter extends _abstract_object_1.AbstractObject {\n getType() {\n return \"PARA\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Parameter = Parameter;\n//# sourceMappingURL=parameter.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/parameter.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/personalization_object.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/personalization_object.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PersonalizationObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass PersonalizationObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"PERS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.PersonalizationObject = PersonalizationObject;\n//# sourceMappingURL=personalization_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/personalization_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/program.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/program.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Program = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ./_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass Program extends _abap_object_1.ABAPObject {\n getType() {\n return \"PROG\";\n }\n getSequencedFiles() {\n const main = this.getMainABAPFile();\n if (main === undefined) {\n return [];\n }\n return [main];\n }\n getDescription() {\n // todo\n return undefined;\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n isInclude() {\n this.parseXML();\n return this.parsedXML.isInclude;\n }\n isModulePool() {\n this.parseXML();\n return this.parsedXML.isModulePool;\n }\n parseXML() {\n if (this.parsedXML === undefined) {\n const file = this.getXMLFile();\n this.parsedXML = {\n isInclude: file ? file.getRaw().includes(\"I\") : false,\n isModulePool: file ? file.getRaw().includes(\"M\") : false,\n };\n }\n }\n}\nexports.Program = Program;\n//# sourceMappingURL=program.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/program.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/proxy_object.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/proxy_object.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ProxyObject = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ProxyObject extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SPRX\";\n }\n getAllowedNaming() {\n return {\n maxLength: 34,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ProxyObject = ProxyObject;\n//# sourceMappingURL=proxy_object.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/proxy_object.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/push_channel.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/push_channel.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PushChannel = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass PushChannel extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SAPC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.PushChannel = PushChannel;\n//# sourceMappingURL=push_channel.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/push_channel.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/rename/rename_data_element.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/rename/rename_data_element.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameDataElement = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"./node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nclass RenameDataElement {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof __1.DataElement)) {\n throw new Error(\"RenameDataElement, not a data element\");\n }\n let changes = [];\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"ROLLNAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICCodeReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTTYPReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICAUTHReferences(obj, oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameDataElement = RenameDataElement;\n//# sourceMappingURL=rename_data_element.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/rename/rename_data_element.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/rename/rename_domain.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/rename/rename_domain.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameDomain = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"./node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nclass RenameDomain {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof __1.Domain)) {\n throw new Error(\"RenameDomain, not a domain\");\n }\n let changes = [];\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"DOMNAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICDTELReferences(obj, oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameDomain = RenameDomain;\n//# sourceMappingURL=rename_domain.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/rename/rename_domain.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/rename/rename_global_class.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/rename/rename_global_class.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameGlobalClass = void 0;\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 vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ../../lsp/_lsp_utils */ \"./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"./node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nclass RenameGlobalClass {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof __1.Class)) {\n throw new Error(\"not a class\");\n }\n const main = obj.getMainABAPFile();\n if (main === undefined) {\n throw new Error(\"Main file not found\");\n }\n let changes = [];\n // todo, this is actually the same as \"id\" ?\n {\n const edits = [];\n for (const s of main.getStatements()) {\n if (s.get() instanceof Statements.ClassDefinition) {\n const exp = s.findFirstExpression(Expressions.ClassName);\n if (exp === undefined) {\n continue;\n }\n edits.push(vscode_languageserver_types_1.TextEdit.replace(_lsp_utils_1.LSPUtils.tokenToRange(exp.getFirstToken()), newName.toLowerCase()));\n }\n else if (s.get() instanceof Statements.ClassImplementation) {\n const exp = s.findFirstExpression(Expressions.ClassName);\n if (exp === undefined) {\n continue;\n }\n edits.push(vscode_languageserver_types_1.TextEdit.replace(_lsp_utils_1.LSPUtils.tokenToRange(exp.getFirstToken()), newName.toLowerCase()));\n }\n }\n changes.push(vscode_languageserver_types_1.TextDocumentEdit.create({ uri: main.getFilename(), version: 1 }, edits));\n }\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"CLSNAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameReferences(obj.getIdentifier(), oldName, newName));\n changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameGlobalClass = RenameGlobalClass;\n//# sourceMappingURL=rename_global_class.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/rename/rename_global_class.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/rename/rename_global_interface.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/rename/rename_global_interface.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameGlobalInterface = void 0;\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 vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst _lsp_utils_1 = __webpack_require__(/*! ../../lsp/_lsp_utils */ \"./node_modules/@abaplint/core/build/src/lsp/_lsp_utils.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"./node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nconst interface_1 = __webpack_require__(/*! ../interface */ \"./node_modules/@abaplint/core/build/src/objects/interface.js\");\nclass RenameGlobalInterface {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof interface_1.Interface)) {\n throw new Error(\"not an interface\");\n }\n const main = obj.getMainABAPFile();\n if (main === undefined) {\n throw new Error(\"Main file not found\");\n }\n let changes = [];\n // todo, this is actually the same as \"id\" ?\n {\n const edits = [];\n for (const s of main.getStatements()) {\n if (s.get() instanceof Statements.Interface) {\n const exp = s.findFirstExpression(Expressions.InterfaceName);\n if (exp === undefined) {\n continue;\n }\n edits.push(vscode_languageserver_types_1.TextEdit.replace(_lsp_utils_1.LSPUtils.tokenToRange(exp.getFirstToken()), newName.toLowerCase()));\n }\n }\n changes.push(vscode_languageserver_types_1.TextDocumentEdit.create({ uri: main.getFilename(), version: 1 }, edits));\n }\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"CLSNAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameReferences(obj.getIdentifier(), oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameGlobalInterface = RenameGlobalInterface;\n//# sourceMappingURL=rename_global_interface.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/rename/rename_global_interface.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/rename/rename_table.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/rename/rename_table.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameTable = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"./node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nclass RenameTable {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof __1.Table)) {\n throw new Error(\"RenameTable, not a table\");\n }\n let changes = [];\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"TABNAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICCodeReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTTYPReferences(obj, oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameTable = RenameTable;\n//# sourceMappingURL=rename_table.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/rename/rename_table.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/rename/rename_table_type.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/rename/rename_table_type.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenameTableType = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst renamer_helper_1 = __webpack_require__(/*! ./renamer_helper */ \"./node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js\");\nclass RenameTableType {\n constructor(reg) {\n this.reg = reg;\n }\n buildEdits(obj, oldName, newName) {\n if (!(obj instanceof __1.TableType)) {\n throw new Error(\"RenameTableType, not a table type\");\n }\n let changes = [];\n const helper = new renamer_helper_1.RenamerHelper(this.reg);\n changes = changes.concat(helper.buildXMLFileEdits(obj, \"TYPENAME\", oldName, newName));\n changes = changes.concat(helper.renameFiles(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICCodeReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTABLReferences(obj, oldName, newName));\n changes = changes.concat(helper.renameDDICTTYPReferences(obj, oldName, newName));\n return {\n documentChanges: changes,\n };\n }\n}\nexports.RenameTableType = RenameTableType;\n//# sourceMappingURL=rename_table_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/rename/rename_table_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/rename/renamer.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/rename/renamer.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Renamer = void 0;\nconst vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst memory_file_1 = __webpack_require__(/*! ../../files/memory_file */ \"./node_modules/@abaplint/core/build/src/files/memory_file.js\");\nconst rename_data_element_1 = __webpack_require__(/*! ./rename_data_element */ \"./node_modules/@abaplint/core/build/src/objects/rename/rename_data_element.js\");\nconst rename_domain_1 = __webpack_require__(/*! ./rename_domain */ \"./node_modules/@abaplint/core/build/src/objects/rename/rename_domain.js\");\nconst rename_global_class_1 = __webpack_require__(/*! ./rename_global_class */ \"./node_modules/@abaplint/core/build/src/objects/rename/rename_global_class.js\");\nconst rename_global_interface_1 = __webpack_require__(/*! ./rename_global_interface */ \"./node_modules/@abaplint/core/build/src/objects/rename/rename_global_interface.js\");\nconst rename_table_1 = __webpack_require__(/*! ./rename_table */ \"./node_modules/@abaplint/core/build/src/objects/rename/rename_table.js\");\nconst rename_table_type_1 = __webpack_require__(/*! ./rename_table_type */ \"./node_modules/@abaplint/core/build/src/objects/rename/rename_table_type.js\");\nclass Renamer {\n constructor(reg) {\n this.reg = reg;\n }\n /** Applies the renaming to the objects and files in the registry,\n * after renaming the registry is not parsed */\n rename(type, oldName, newName) {\n const edits = this.buildEdits(type, oldName, newName);\n if (edits === undefined) {\n throw new Error(\"no changes could be determined\");\n }\n else if (edits.changes) {\n throw new Error(\"only documentChanges expected\");\n }\n const result = this.apply(edits);\n this.reg.findIssues(); // hmm, this builds the ddic references\n return result;\n }\n /** Builds edits, but does not apply to registry, used by LSP */\n buildEdits(type, oldName, newName) {\n this.reg.parse(); // the registry must be parsed to dermine references\n const obj = this.reg.getObject(type, oldName);\n if (obj === undefined) {\n throw new Error(\"rename, object not found\");\n }\n else if (newName.length > obj.getAllowedNaming().maxLength) {\n // todo, also do not allow strange characters and spaces\n throw new Error(\"Name not allowed\");\n }\n const r = this.factory(type);\n return r.buildEdits(obj, oldName.toUpperCase(), newName);\n }\n //////////////////\n factory(type) {\n switch (type) {\n case \"CLAS\":\n return new rename_global_class_1.RenameGlobalClass(this.reg);\n case \"DTEL\":\n return new rename_data_element_1.RenameDataElement(this.reg);\n case \"DOMA\":\n return new rename_domain_1.RenameDomain(this.reg);\n case \"TABL\":\n return new rename_table_1.RenameTable(this.reg);\n case \"TTYP\":\n return new rename_table_type_1.RenameTableType(this.reg);\n case \"INTF\":\n return new rename_global_interface_1.RenameGlobalInterface(this.reg);\n default:\n throw new Error(\"Renaming of \" + type + \" not yet supported\");\n }\n }\n apply(edits) {\n const renames = [];\n const result = {\n addedFiles: new Set(),\n deletedFiles: new Set(),\n updatedFiles: new Set(),\n };\n // assumption: only renames or text changes, no deletes or creates\n for (const dc of edits.documentChanges || []) {\n if (vscode_languageserver_types_1.TextDocumentEdit.is(dc)) {\n this.applyEdit(dc);\n result.updatedFiles.add(dc.textDocument.uri);\n }\n else if (vscode_languageserver_types_1.RenameFile.is(dc)) {\n renames.push(dc);\n }\n else {\n throw new Error(\"unexpected documentChange type\");\n }\n }\n for (const rename of renames) {\n result.updatedFiles.delete(rename.oldUri);\n result.deletedFiles.add(rename.oldUri);\n result.addedFiles.add(rename.newUri);\n }\n this.applyRenames(renames);\n return result;\n }\n applyEdit(dc) {\n const file = this.reg.getFileByName(dc.textDocument.uri);\n if (file === undefined) {\n throw new Error(\"file \" + dc.textDocument.uri + \" not found\");\n }\n const rows = file.getRawRows();\n for (const e of dc.edits) {\n if (e.range.start.line !== e.range.end.line) {\n throw new Error(\"applyEdit, start and end line differ\");\n }\n const before = rows[e.range.start.line];\n rows[e.range.start.line] = before.substring(0, e.range.start.character) +\n e.newText +\n before.substring(e.range.end.character);\n }\n const newFile = new memory_file_1.MemoryFile(dc.textDocument.uri, rows.join(\"\\n\"));\n this.reg.updateFile(newFile);\n }\n applyRenames(renames) {\n for (const r of renames) {\n const old = this.reg.getFileByName(r.oldUri);\n if (old === undefined) {\n throw new Error(\"applyRenames, old not found\");\n }\n const newFile = new memory_file_1.MemoryFile(r.newUri, old.getRaw());\n this.reg.removeFile(old);\n this.reg.addFile(newFile);\n }\n }\n}\nexports.Renamer = Renamer;\n//# sourceMappingURL=renamer.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/rename/renamer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RenamerHelper = void 0;\nconst vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nconst __1 = __webpack_require__(/*! ../.. */ \"./node_modules/@abaplint/core/build/src/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.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 position_1 = __webpack_require__(/*! ../../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass RenamerHelper {\n constructor(reg) {\n this.reg = reg;\n }\n renameReferences(id, oldName, newName) {\n if (id === undefined) {\n throw new Error(\"renameReferences, no main identifier found\");\n }\n let refs = [];\n for (const o of this.reg.getObjects()) {\n if (o instanceof _abap_object_1.ABAPObject) {\n if (this.reg.isDependency(o)) {\n continue; // do not search in dependencies\n }\n refs = refs.concat(this.findReferences(new syntax_1.SyntaxLogic(this.reg, o).run().spaghetti.getTop(), id));\n }\n }\n // start with the last reference in the file first, if there are multiple refs per line\n return this.replaceRefs(refs, oldName, newName).reverse();\n }\n renameDDICCodeReferences(obj, oldName, newName) {\n const changes = [];\n const used = this.reg.getDDICReferences().listWhereUsed(obj);\n for (const u of used) {\n if (u.token === undefined || u.filename === undefined) {\n continue;\n }\n const range = vscode_languageserver_types_1.Range.create(u.token.getStart().getRow() - 1, u.token.getStart().getCol() - 1, u.token.getStart().getRow() - 1, u.token.getStart().getCol() - 1 + oldName.length);\n changes.push(vscode_languageserver_types_1.TextDocumentEdit.create({ uri: u.filename, version: 1 }, [vscode_languageserver_types_1.TextEdit.replace(range, newName.toLowerCase())]));\n }\n return changes;\n }\n renameDDICTABLReferences(obj, oldName, newName) {\n const changes = [];\n const used = this.reg.getDDICReferences().listWhereUsed(obj);\n const handled = {};\n for (const u of used) {\n if (u.type !== \"TABL\" || handled[u.name.toUpperCase()] === true) {\n // a TABL might reference the object multiple times, but they are all fixes in one call to buildXMLFileEdits\n continue;\n }\n const tabl = this.reg.getObject(u.type, u.name);\n if (tabl === undefined) {\n continue;\n }\n changes.push(...this.buildXMLFileEdits(tabl, \"ROLLNAME\", oldName, newName));\n handled[u.name.toUpperCase()] = true;\n }\n return changes;\n }\n renameDDICDTELReferences(obj, oldName, newName) {\n const changes = [];\n const used = this.reg.getDDICReferences().listWhereUsed(obj);\n for (const u of used) {\n if (u.type !== \"DTEL\") {\n continue;\n }\n const tabl = this.reg.getObject(u.type, u.name);\n if (tabl === undefined) {\n continue;\n }\n changes.push(...this.buildXMLFileEdits(tabl, \"DOMNAME\", oldName, newName));\n }\n return changes;\n }\n renameDDICTTYPReferences(obj, oldName, newName) {\n const changes = [];\n const used = this.reg.getDDICReferences().listWhereUsed(obj);\n for (const u of used) {\n if (u.type !== \"TTYP\") {\n continue;\n }\n const tabl = this.reg.getObject(u.type, u.name);\n if (tabl === undefined) {\n continue;\n }\n changes.push(...this.buildXMLFileEdits(tabl, \"ROWTYPE\", oldName, newName));\n }\n return changes;\n }\n renameDDICAUTHReferences(obj, oldName, newName) {\n const changes = [];\n const used = this.reg.getDDICReferences().listWhereUsed(obj);\n for (const u of used) {\n if (u.type !== \"AUTH\") {\n continue;\n }\n const tabl = this.reg.getObject(u.type, u.name);\n if (tabl === undefined) {\n continue;\n }\n changes.push(...this.buildXMLFileEdits(tabl, \"ROLLNAME\", oldName, newName));\n }\n return changes;\n }\n buildXMLFileEdits(object, xmlTag, oldName, newName) {\n const changes = [];\n const xml = object.getXMLFile();\n if (xml === undefined) {\n return [];\n }\n const tag = xmlTag.toUpperCase();\n const search = \"<\" + tag + \">\" + oldName.toUpperCase() + \"\";\n const length = tag.length + 2;\n const rows = xml.getRawRows();\n for (let i = 0; i < rows.length; i++) {\n const index = rows[i].indexOf(search);\n if (index >= 0) {\n const range = vscode_languageserver_types_1.Range.create(i, index + length, i, index + oldName.length + length);\n changes.push(vscode_languageserver_types_1.TextDocumentEdit.create({ uri: xml.getFilename(), version: 1 }, [vscode_languageserver_types_1.TextEdit.replace(range, newName.toUpperCase())]));\n }\n }\n return changes;\n }\n renameFiles(obj, oldName, name) {\n const list = [];\n const newName = name.toLowerCase().replace(/\\//g, \"#\");\n for (const f of obj.getFiles()) {\n // todo, this is not completely correct, ie. if the URI contains the same directory name as the object name\n const newFilename = f.getFilename().replace(oldName.toLowerCase(), newName.toLowerCase());\n list.push(vscode_languageserver_types_1.RenameFile.create(f.getFilename(), newFilename));\n }\n return list;\n }\n ////////////////////////\n replaceRefs(refs, oldName, newName) {\n const changes = [];\n // \"zif_abapgit_auth~is_allowed\" is a single token so only replace the first part of a token\n for (const r of refs) {\n const range = vscode_languageserver_types_1.Range.create(r.getStart().getRow() - 1, r.getStart().getCol() - 1, r.getStart().getRow() - 1, r.getStart().getCol() - 1 + oldName.length);\n changes.push(vscode_languageserver_types_1.TextDocumentEdit.create({ uri: r.getFilename(), version: 1 }, [vscode_languageserver_types_1.TextEdit.replace(range, newName.toLowerCase())]));\n }\n return changes;\n }\n findReferences(node, identifier) {\n var _a;\n let ret = [];\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.BuiltIn) {\n for (const r of node.getData().references) {\n if (((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.equals(identifier))\n && r.referenceType !== __1.ReferenceType.InferredType\n && !(r.position.getStart() instanceof position_1.VirtualPosition)) {\n ret.push(r.position);\n }\n }\n }\n for (const c of node.getChildren()) {\n ret = ret.concat(this.findReferences(c, identifier));\n }\n return ret;\n }\n}\nexports.RenamerHelper = RenamerHelper;\n//# sourceMappingURL=renamer_helper.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/rename/renamer_helper.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/restriction_field.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/restriction_field.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RestrictionField = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass RestrictionField extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA5\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.RestrictionField = RestrictionField;\n//# sourceMappingURL=restriction_field.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/restriction_field.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/restriction_type.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/restriction_type.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RestrictionType = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass RestrictionType extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SIA2\";\n }\n getAllowedNaming() {\n return {\n maxLength: 200,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.RestrictionType = RestrictionType;\n//# sourceMappingURL=restriction_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/restriction_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/rfc_service.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/rfc_service.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RFCService = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass RFCService extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SRFC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.RFCService = RFCService;\n//# sourceMappingURL=rfc_service.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/rfc_service.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/sapscript.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/sapscript.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SAPScript = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SAPScript extends _abstract_object_1.AbstractObject {\n getType() {\n return \"FORM\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SAPScript = SAPScript;\n//# sourceMappingURL=sapscript.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/sapscript.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/sapscript_style.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/sapscript_style.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SAPScriptStyle = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SAPScriptStyle extends _abstract_object_1.AbstractObject {\n getType() {\n return \"STYL\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SAPScriptStyle = SAPScriptStyle;\n//# sourceMappingURL=sapscript_style.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/sapscript_style.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/screen_variant.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/screen_variant.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ScreenVariant = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ScreenVariant extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SCVI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ScreenVariant = ScreenVariant;\n//# sourceMappingURL=screen_variant.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/screen_variant.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/search_help.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/search_help.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SearchHelp = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SearchHelp extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SHLP\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SearchHelp = SearchHelp;\n//# sourceMappingURL=search_help.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/search_help.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/service_binding.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/service_binding.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ServiceBinding = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ServiceBinding extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SRVB\";\n }\n getAllowedNaming() {\n return {\n maxLength: 26,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ServiceBinding = ServiceBinding;\n//# sourceMappingURL=service_binding.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/service_binding.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/service_definition.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/service_definition.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ServiceDefinition = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ServiceDefinition extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SRVD\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ServiceDefinition = ServiceDefinition;\n//# sourceMappingURL=service_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/service_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/shared_memory.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/shared_memory.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SharedMemory = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SharedMemory extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SHMA\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SharedMemory = SharedMemory;\n//# sourceMappingURL=shared_memory.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/shared_memory.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/smart_form.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/smart_form.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SmartForm = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SmartForm extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SSFO\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SmartForm = SmartForm;\n//# sourceMappingURL=smart_form.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/smart_form.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/smart_style.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/smart_style.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SmartStyle = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SmartStyle extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SSST\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SmartStyle = SmartStyle;\n//# sourceMappingURL=smart_style.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/smart_style.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/switch_assignment_hierarchy.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/switch_assignment_hierarchy.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SwitchAssignmentHierarchy = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SwitchAssignmentHierarchy extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SHI8\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SwitchAssignmentHierarchy = SwitchAssignmentHierarchy;\n//# sourceMappingURL=switch_assignment_hierarchy.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/switch_assignment_hierarchy.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/switch_assignments.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/switch_assignments.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SwitchAssignments = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass SwitchAssignments extends _abstract_object_1.AbstractObject {\n getType() {\n return \"SFSW\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.SwitchAssignments = SwitchAssignments;\n//# sourceMappingURL=switch_assignments.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/switch_assignments.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/table.js": +/*!****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/table.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Table = exports.TableCategory = exports.EnhancementCategory = void 0;\nconst Types = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nvar EnhancementCategory;\n(function (EnhancementCategory) {\n EnhancementCategory[\"NotClassified\"] = \"0\";\n EnhancementCategory[\"CannotBeEhanced\"] = \"1\";\n EnhancementCategory[\"Character\"] = \"2\";\n EnhancementCategory[\"CharacterOrNumeric\"] = \"3\";\n EnhancementCategory[\"Deep\"] = \"4\";\n})(EnhancementCategory || (exports.EnhancementCategory = EnhancementCategory = {}));\nvar TableCategory;\n(function (TableCategory) {\n TableCategory[\"Transparent\"] = \"TRANSP\";\n TableCategory[\"Structure\"] = \"INTTAB\";\n TableCategory[\"Cluster\"] = \"CLUSTER\";\n TableCategory[\"Pooled\"] = \"POOL\";\n TableCategory[\"View\"] = \"VIEW\";\n TableCategory[\"Append\"] = \"APPEND\";\n})(TableCategory || (exports.TableCategory = TableCategory = {}));\nclass Table extends _abstract_object_1.AbstractObject {\n getType() {\n return \"TABL\";\n }\n getDescription() {\n // todo\n return undefined;\n }\n getAllowedNaming() {\n let length = 30;\n if (this.getTableCategory() === TableCategory.Transparent) {\n length = 16;\n }\n return {\n maxLength: length,\n allowNamespace: true,\n };\n }\n setDirty() {\n this.parsedData = undefined;\n super.setDirty();\n }\n listKeys(reg) {\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n if (this.parsedData === undefined) {\n return [];\n }\n const ret = [];\n for (const p of this.parsedData.fields) {\n if (p.KEYFLAG === \"X\" && p.FIELDNAME === \".INCLUDE\") {\n const lookup = new ddic_1.DDIC(reg).lookupTableOrView(p.PRECFIELD).type;\n if (lookup instanceof Types.StructureType) {\n for (const c of lookup.getComponents()) {\n ret.push(c.name);\n }\n }\n }\n else if (p.KEYFLAG === \"X\") {\n ret.push(p.FIELDNAME);\n }\n }\n return ret;\n }\n parseType(reg) {\n var _a, _b;\n if (this.parsedData === undefined) {\n this.parseXML();\n if (this.parsedData === undefined) {\n return new Types.UnknownType(\"Table, parser error\");\n }\n }\n if (reg.getConfig().getVersion() === version_1.Version.Cloud\n && this.parsedData.dataClass === \"USER3\") {\n return new Types.UnknownType(\"Data class = USER3 not allowed in cloud\");\n }\n const references = [];\n const components = [];\n const ddic = new ddic_1.DDIC(reg);\n for (const field of this.parsedData.fields) {\n const comptype = field.COMPTYPE ? field.COMPTYPE : \"\";\n if (comptype === \"E\") { // data element\n const lookup = ddic.lookupDataElement(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: lookup.type });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (field.FIELDNAME === \".INCLUDE\" || field.FIELDNAME === \".INCLU--AP\") { // incude or append structure\n if (field.PRECFIELD === undefined) {\n return new Types.UnknownType(\"Table, parser error, PRECFIELD undefined\");\n }\n const lookup = ddic.lookupTableOrView(field.PRECFIELD);\n let found = lookup.type;\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n if (found instanceof _typed_identifier_1.TypedIdentifier) {\n found = found.getType();\n }\n if (found instanceof Types.StructureType) {\n if (field.GROUPNAME !== undefined) {\n components.push({ name: field.GROUPNAME, type: found });\n }\n for (const c of found.getComponents()) {\n components.push({ name: c.name, type: c.type });\n }\n }\n else if ((((_a = field.PRECFIELD) === null || _a === void 0 ? void 0 : _a.startsWith(\"CI_\")) || ((_b = field.PRECFIELD) === null || _b === void 0 ? void 0 : _b.startsWith(\"SI_\")))\n && found instanceof Types.UnknownType) {\n continue;\n }\n else if (found instanceof Types.UnknownType) {\n return found;\n }\n else if (found instanceof Types.VoidType) {\n // set the full structure to void\n return found;\n }\n else {\n components.push({ name: field.FIELDNAME, type: found });\n }\n }\n else if (comptype === \"S\" && field.FIELDNAME.startsWith(\".INCLU-\")) {\n const lookup = ddic.lookupTableOrView(field.PRECFIELD);\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n const found = lookup.type;\n if (found instanceof Types.VoidType) {\n // set the full structure to void\n return found;\n }\n else if (found instanceof Types.StructureType) {\n const suffix = field.FIELDNAME.split(\"-\")[1];\n for (const c of found.getComponents()) {\n components.push({ name: c.name + suffix, type: c.type });\n }\n }\n else if (found instanceof Types.UnknownType) {\n return found;\n }\n }\n else if (comptype === \"S\") {\n const lookup = ddic.lookupTableOrView(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: lookup.type });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (comptype === \"R\") {\n if (field.ROLLNAME === undefined) {\n throw new Error(\"Expected ROLLNAME\");\n }\n if (field.ROLLNAME === \"DATA\") {\n components.push({\n name: field.FIELDNAME,\n type: new basic_1.DataReference(new basic_1.AnyType())\n });\n }\n else if (field.ROLLNAME === \"OBJECT\") {\n components.push({\n name: field.FIELDNAME,\n type: new basic_1.GenericObjectReferenceType()\n });\n }\n else if (field.REFTYPE === \"S\") {\n const lookup = ddic.lookupTableOrView(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: new basic_1.DataReference(lookup.type) });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (field.REFTYPE === \"L\") {\n const lookup = ddic.lookupTableType(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: new basic_1.DataReference(lookup.type) });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (field.REFTYPE === \"E\") {\n const lookup = ddic.lookupDataElement(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: new basic_1.DataReference(lookup.type) });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else {\n const lookup = ddic.lookupObject(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: lookup.type });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n }\n else if (comptype === \"L\") {\n const lookup = ddic.lookupTableType(field.ROLLNAME);\n components.push({ name: field.FIELDNAME, type: lookup.type });\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (comptype === \"\") { // built in\n const datatype = field.DATATYPE;\n if (datatype === undefined) {\n throw new Error(\"Expected DATATYPE, while parsing TABL \" + this.getName());\n }\n const length = field.LENG ? field.LENG : field.INTLEN;\n components.push({\n name: field.FIELDNAME,\n type: ddic.textToType(datatype, length, field.DECIMALS, this.getName() + \"-\" + field.FIELDNAME)\n });\n }\n else {\n components.push({\n name: field.FIELDNAME,\n type: new Types.UnknownType(\"Table \" + this.getName() + \", unknown component type \\\"\" + comptype + \"\\\"\")\n });\n }\n if (field.CHECKTABLE) {\n const lookup = ddic.lookupTableOrView2(field.CHECKTABLE);\n if (lookup) {\n references.push({ object: lookup });\n }\n }\n }\n if (components.length === 0) {\n return new Types.UnknownType(\"Table/Structure \" + this.getName() + \" does not contain any components\");\n }\n reg.getDDICReferences().setUsing(this, references);\n return new Types.StructureType(components, this.getName(), this.getName());\n }\n getTableCategory() {\n var _a;\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.tableCategory;\n }\n getEnhancementCategory() {\n var _a;\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n if (((_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.enhancementCategory) === undefined) {\n return EnhancementCategory.NotClassified;\n }\n return this.parsedData.enhancementCategory;\n }\n ///////////////\n parseXML() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n const parsed = super.parseRaw2();\n if (parsed === undefined) {\n return;\n }\n this.parsedData = { fields: [] };\n if (parsed.abapGit === undefined) {\n return;\n }\n // enhancement category\n if (((_b = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _a === void 0 ? void 0 : _a.DD02V) === null || _b === void 0 ? void 0 : _b.EXCLASS) === undefined) {\n this.parsedData.enhancementCategory = EnhancementCategory.NotClassified;\n }\n else {\n this.parsedData.enhancementCategory = (_d = (_c = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _c === void 0 ? void 0 : _c.DD02V) === null || _d === void 0 ? void 0 : _d.EXCLASS;\n }\n // table category\n this.parsedData.tableCategory = (_f = (_e = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _e === void 0 ? void 0 : _e.DD02V) === null || _f === void 0 ? void 0 : _f.TABCLASS;\n this.parsedData.dataClass = (_h = (_g = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _g === void 0 ? void 0 : _g.DD09L) === null || _h === void 0 ? void 0 : _h.TABART;\n // fields\n const fields = (_j = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _j === void 0 ? void 0 : _j.DD03P_TABLE;\n for (const field of (0, xml_utils_1.xmlToArray)(fields === null || fields === void 0 ? void 0 : fields.DD03P)) {\n this.parsedData.fields.push({\n FIELDNAME: field.FIELDNAME,\n ROLLNAME: field.ROLLNAME,\n COMPTYPE: field.COMPTYPE,\n PRECFIELD: field.PRECFIELD,\n LENG: field.LENG,\n INTLEN: field.INTLEN,\n DATATYPE: field.DATATYPE,\n DECIMALS: field.DECIMALS,\n KEYFLAG: field.KEYFLAG,\n GROUPNAME: field.GROUPNAME,\n CHECKTABLE: field.CHECKTABLE,\n REFTYPE: field.REFTYPE,\n });\n }\n }\n}\nexports.Table = Table;\n//# sourceMappingURL=table.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/table.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/table_type.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/table_type.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TableType = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst Types = __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\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass TableType extends _abstract_object_1.AbstractObject {\n constructor() {\n super(...arguments);\n this.parsedXML = undefined;\n }\n getType() {\n return \"TTYP\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n buildTableOptions() {\n var _a, _b, _c;\n const tableOptions = {\n withHeader: false,\n keyType: Types.TableKeyType.user,\n secondary: [],\n };\n for (const k of ((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.dd43v) || []) {\n const fields = [];\n for (const f of ((_b = this.parsedXML) === null || _b === void 0 ? void 0 : _b.dd42v) || []) {\n if (f.keyname === k.keyname) {\n fields.push(f.keyfield);\n }\n }\n let accessType = basic_1.TableAccessType.standard;\n switch (k.accessmode) {\n case \"S\":\n accessType = basic_1.TableAccessType.sorted;\n break;\n case \"H\":\n accessType = basic_1.TableAccessType.hashed;\n break;\n default:\n break;\n }\n (_c = tableOptions.secondary) === null || _c === void 0 ? void 0 : _c.push({\n name: k.keyname,\n type: accessType,\n keyFields: fields,\n isUnique: k.unique,\n });\n }\n return tableOptions;\n }\n parseType(reg) {\n this.parseXML();\n const ddic = new ddic_1.DDIC(reg);\n const references = [];\n let type;\n const tableOptions = this.buildTableOptions();\n if (this.parsedXML === undefined) {\n type = new Types.UnknownType(\"Table Type, parser error\", this.getName());\n }\n else if (this.parsedXML.rowkind === \"S\") {\n const lookup = ddic.lookupTableOrView(this.parsedXML.rowtype);\n type = new Types.TableType(lookup.type, tableOptions, this.getName());\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (this.parsedXML.rowkind === \"E\") {\n const lookup = ddic.lookupDataElement(this.parsedXML.rowtype);\n type = new Types.TableType(lookup.type, tableOptions, this.getName());\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (this.parsedXML.rowkind === \"L\") {\n const lookup = ddic.lookupTableType(this.parsedXML.rowtype);\n type = new Types.TableType(lookup.type, tableOptions, this.getName());\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (this.parsedXML.rowkind === \"R\" && this.parsedXML.rowtype === \"OBJECT\") {\n type = new Types.TableType(new basic_1.GenericObjectReferenceType(), tableOptions, this.getName());\n }\n else if (this.parsedXML.rowkind === \"R\" && this.parsedXML.rowtype === \"DATA\") {\n type = new Types.TableType(new basic_1.DataReference(new basic_1.AnyType()), tableOptions, this.getName());\n }\n else if (this.parsedXML.rowkind === \"R\" && this.parsedXML.rowtype !== undefined) {\n const lookup = ddic.lookupObject(this.parsedXML.rowtype);\n type = new Types.TableType(lookup.type, tableOptions, this.getName());\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n }\n else if (this.parsedXML.rowkind === \"\") {\n if (this.parsedXML.datatype === undefined) {\n type = new Types.UnknownType(\"Table Type, empty DATATYPE\" + this.getName(), this.getName());\n }\n else {\n const row = ddic.textToType(this.parsedXML.datatype, this.parsedXML.leng, this.parsedXML.decimals, this.getName());\n type = new Types.TableType(row, tableOptions, this.getName());\n }\n }\n else {\n type = new Types.UnknownType(\"Table Type, unknown kind \\\"\" + this.parsedXML.rowkind + \"\\\"\" + this.getName(), this.getName());\n }\n reg.getDDICReferences().setUsing(this, references);\n return type;\n }\n ////////////////////\n parseXML() {\n var _a, _b;\n if (this.parsedXML !== undefined) {\n return;\n }\n this.parsedXML = {\n dd42v: [],\n dd43v: [],\n };\n const parsed = super.parseRaw2();\n if (parsed === undefined || parsed.abapGit === undefined) {\n return;\n }\n const values = parsed.abapGit[\"asx:abap\"][\"asx:values\"];\n const dd40v = values.DD40V;\n this.parsedXML.rowtype = dd40v.ROWTYPE ? dd40v.ROWTYPE : \"\";\n this.parsedXML.rowkind = dd40v.ROWKIND ? dd40v.ROWKIND : \"\";\n this.parsedXML.datatype = dd40v.DATATYPE;\n this.parsedXML.leng = dd40v.LENG;\n this.parsedXML.decimals = dd40v.DECIMALS;\n for (const x of (0, xml_utils_1.xmlToArray)((_a = values.DD42V) === null || _a === void 0 ? void 0 : _a.DD42V)) {\n this.parsedXML.dd42v.push({\n keyname: x.SECKEYNAME || \"\",\n keyfield: x.KEYFIELD || \"\",\n });\n }\n for (const x of (0, xml_utils_1.xmlToArray)((_b = values.DD43V) === null || _b === void 0 ? void 0 : _b.DD43V)) {\n this.parsedXML.dd43v.push({\n keyname: x.SECKEYNAME || \"\",\n accessmode: x.ACCESSMODE || \"\",\n kind: x.KIND || \"\",\n unique: x.SECKEYUNIQUE === \"X\",\n });\n }\n }\n}\nexports.TableType = TableType;\n//# sourceMappingURL=table_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/table_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/technical_job_definition.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/technical_job_definition.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TechnicalJobDefinition = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass TechnicalJobDefinition extends _abstract_object_1.AbstractObject {\n getType() {\n return \"JOBD\";\n }\n getAllowedNaming() {\n return {\n maxLength: 32,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.TechnicalJobDefinition = TechnicalJobDefinition;\n//# sourceMappingURL=technical_job_definition.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/technical_job_definition.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/transaction.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/transaction.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Transaction = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Transaction extends _abstract_object_1.AbstractObject {\n getType() {\n return \"TRAN\";\n }\n getAllowedNaming() {\n return {\n maxLength: 20,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Transaction = Transaction;\n//# sourceMappingURL=transaction.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/transaction.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/transaction_variant.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/transaction_variant.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TransactionVariant = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass TransactionVariant extends _abstract_object_1.AbstractObject {\n getType() {\n return \"STVI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.TransactionVariant = TransactionVariant;\n//# sourceMappingURL=transaction_variant.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/transaction_variant.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/transformation.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/transformation.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Transformation = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass Transformation extends _abstract_object_1.AbstractObject {\n getType() {\n return \"XSLT\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.Transformation = Transformation;\n//# sourceMappingURL=transformation.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/transformation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/type_pool.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/type_pool.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypePool = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ./_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass TypePool extends _abap_object_1.ABAPObject {\n getType() {\n return \"TYPE\";\n }\n getSequencedFiles() {\n const main = this.getMainABAPFile();\n if (main === undefined) {\n return [];\n }\n return [main];\n }\n getAllowedNaming() {\n return {\n maxLength: 5,\n allowNamespace: false,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.TypePool = TypePool;\n//# sourceMappingURL=type_pool.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/type_pool.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/view.js": +/*!***************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/view.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.View = void 0;\nconst Types = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nclass View extends _abstract_object_1.AbstractObject {\n getType() {\n return \"VIEW\";\n }\n getAllowedNaming() {\n return {\n maxLength: 16,\n allowNamespace: true,\n };\n }\n getFields() {\n var _a;\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.fields;\n }\n getJoin() {\n var _a;\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n return (_a = this.parsedData) === null || _a === void 0 ? void 0 : _a.join;\n }\n setDirty() {\n this.parsedData = undefined;\n super.setDirty();\n }\n parseType(reg) {\n if (this.parsedData === undefined) {\n this.parseXML();\n }\n if (this.parsedData === undefined) {\n return new Types.UnknownType(\"View, parser error\", this.getName());\n }\n const components = [];\n const references = [];\n const ddic = new ddic_1.DDIC(reg);\n for (const field of this.parsedData.fields) {\n if (field.VIEWFIELD === \"*\" || field.VIEWFIELD === \"-\") {\n // ignore, this is a special case of old style .INCLUDE\n continue;\n }\n const lookup = ddic.lookupTableOrView(field.TABNAME);\n let found = lookup.type;\n if (lookup.object) {\n references.push({ object: lookup.object });\n }\n if (field.VIEWFIELD === \".APPEND\") {\n // it is already expanded in the abapGit xml\n continue;\n }\n if (found instanceof Types.StructureType) {\n const s = found.getComponentByName(field.FIELDNAME);\n if (s === undefined) {\n found = new Types.UnknownType(field.FIELDNAME + \" not found in \" + field.TABNAME + \", VIEW parse type\");\n }\n else {\n found = s;\n }\n }\n components.push({\n name: field.VIEWFIELD,\n type: found\n });\n }\n reg.getDDICReferences().setUsing(this, references);\n if (components.length === 0) {\n return new Types.UnknownType(\"View \" + this.getName() + \" does not contain any components\");\n }\n return new Types.StructureType(components, this.getName());\n }\n getDescription() {\n // todo\n return undefined;\n }\n ///////////////\n parseXML() {\n var _a, _b;\n this.parsedData = { fields: [], join: [] };\n const parsed = super.parseRaw2();\n if (parsed === undefined || parsed.abapGit === undefined) {\n return;\n }\n const fields = (_a = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _a === void 0 ? void 0 : _a.DD27P_TABLE;\n for (const field of (0, xml_utils_1.xmlToArray)(fields === null || fields === void 0 ? void 0 : fields.DD27P)) {\n this.parsedData.fields.push({\n VIEWFIELD: field.VIEWFIELD,\n TABNAME: field.TABNAME,\n FIELDNAME: field.FIELDNAME,\n });\n }\n const join = (_b = parsed.abapGit[\"asx:abap\"][\"asx:values\"]) === null || _b === void 0 ? void 0 : _b.DD28J_TABLE;\n for (const j of (0, xml_utils_1.xmlToArray)(join === null || join === void 0 ? void 0 : join.DD28J)) {\n this.parsedData.join.push({\n LTAB: j.LTAB,\n LFIELD: j.LFIELD,\n OPERATOR: j.OPERATOR,\n RTAB: j.RTAB,\n RFIELD: j.RFIELD,\n });\n }\n }\n}\nexports.View = View;\n//# sourceMappingURL=view.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/view.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/view_cluster.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/view_cluster.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ViewCluster = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass ViewCluster extends _abstract_object_1.AbstractObject {\n getType() {\n return \"VCLS\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.ViewCluster = ViewCluster;\n//# sourceMappingURL=view_cluster.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/view_cluster.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/virtual_end_point.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/virtual_end_point.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.VirtualEndPoint = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass VirtualEndPoint extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WEBI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.VirtualEndPoint = VirtualEndPoint;\n//# sourceMappingURL=virtual_end_point.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/virtual_end_point.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/web_dynpro_application.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/web_dynpro_application.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WebDynproApplication = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass WebDynproApplication extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WDYA\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.WebDynproApplication = WebDynproApplication;\n//# sourceMappingURL=web_dynpro_application.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/web_dynpro_application.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/web_dynpro_application_configuration.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/web_dynpro_application_configuration.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WebDynproApplicationConfiguration = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass WebDynproApplicationConfiguration extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WDCA\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.WebDynproApplicationConfiguration = WebDynproApplicationConfiguration;\n//# sourceMappingURL=web_dynpro_application_configuration.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/web_dynpro_application_configuration.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/web_dynpro_component.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/web_dynpro_component.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WebDynproComponent = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass WebDynproComponent extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WDYN\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.WebDynproComponent = WebDynproComponent;\n//# sourceMappingURL=web_dynpro_component.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/web_dynpro_component.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/web_dynpro_component_configuration.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/web_dynpro_component_configuration.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WebDynproComponentConfiguration = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass WebDynproComponentConfiguration extends _abstract_object_1.AbstractObject {\n getType() {\n return \"WDCC\";\n }\n getAllowedNaming() {\n return {\n maxLength: 30,\n allowNamespace: true,\n };\n }\n getDescription() {\n // todo\n return undefined;\n }\n}\nexports.WebDynproComponentConfiguration = WebDynproComponentConfiguration;\n//# sourceMappingURL=web_dynpro_component_configuration.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/web_dynpro_component_configuration.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/objects/web_mime.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/objects/web_mime.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WebMIME = void 0;\nconst _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ \"./node_modules/@abaplint/core/build/src/objects/_abstract_object.js\");\nclass WebMIME extends _abstract_object_1.AbstractObject {\n getType() {\n return \"W3MI\";\n }\n getAllowedNaming() {\n return {\n maxLength: 40,\n allowNamespace: true,\n customRegex: new RegExp(/^[A-Z_-\\d/<> ]+$/i),\n };\n }\n getDescription() {\n var _a;\n this.parse();\n return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;\n }\n setDirty() {\n this.parsedXML = undefined;\n super.setDirty();\n }\n getDataFile() {\n for (const f of this.getFiles()) {\n if (f.getFilename().includes(\".data.\")) {\n return f;\n }\n }\n return undefined;\n }\n parse() {\n if (this.parsedXML) {\n return { updated: false, runtime: 0 };\n }\n const start = Date.now();\n this.parsedXML = {};\n const parsed = super.parseRaw2();\n if (parsed === undefined\n || parsed.abapGit === undefined\n || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return { updated: false, runtime: 0 };\n }\n this.parsedXML.description = parsed.abapGit[\"asx:abap\"][\"asx:values\"].TEXT;\n const end = Date.now();\n return { updated: true, runtime: end - start };\n }\n}\nexports.WebMIME = WebMIME;\n//# sourceMappingURL=web_mime.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/objects/web_mime.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/position.js": +/*!***********************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/position.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.VirtualPosition = exports.Position = void 0;\n// first position is (1,1)\nclass Position {\n constructor(row, col) {\n this.row = row;\n this.col = col;\n }\n getCol() {\n return this.col;\n }\n getRow() {\n return this.row;\n }\n isAfter(p) {\n return this.row > p.row || (this.row === p.row && this.col >= p.col);\n }\n equals(p) {\n return this.row === p.getRow() && this.col === p.getCol();\n }\n isBefore(p) {\n return this.row < p.row || (this.row === p.row && this.col < p.col);\n }\n isBetween(p1, p2) {\n return this.isAfter(p1) && this.isBefore(p2);\n }\n}\nexports.Position = Position;\n/** used for macro calls */\nclass VirtualPosition extends Position {\n constructor(virtual, row, col) {\n super(virtual.getRow(), virtual.getCol());\n this.vrow = row;\n this.vcol = col;\n }\n equals(p) {\n if (!(p instanceof VirtualPosition)) {\n return false;\n }\n const casted = p;\n return super.equals(this) && this.vrow === casted.vrow && this.vcol === casted.vcol;\n }\n}\nexports.VirtualPosition = VirtualPosition;\n//# sourceMappingURL=position.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/position.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FixCase = void 0;\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst keyword_case_1 = __webpack_require__(/*! ../rules/keyword_case */ \"./node_modules/@abaplint/core/build/src/rules/keyword_case.js\");\nconst Tokens = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass FixCase {\n constructor(fileContents, config) {\n this.keywordCase = new keyword_case_1.KeywordCase();\n this.keywordCase.setConfig(config.readByRule(this.keywordCase.getMetadata().key));\n this.fileContents = fileContents;\n this.config = config;\n }\n execute(statement) {\n for (const child of statement.getChildren()) {\n if (child instanceof nodes_1.TokenNodeRegex) {\n const token = child.get();\n if (token instanceof Tokens.StringToken) {\n continue;\n }\n this.replaceString(token.getStart(), this.formatNonKeyword(token.getStr()));\n continue;\n }\n else if (child instanceof nodes_1.TokenNode) {\n const token = child.get();\n const str = token.getStr();\n if (this.keywordCase.violatesRule(str) && token instanceof tokens_1.Identifier) {\n this.replaceString(token.getStart(), this.formatKeyword(str));\n }\n }\n else if (child instanceof nodes_1.ExpressionNode) {\n this.execute(child);\n }\n else {\n throw new Error(\"pretty printer, traverse, unexpected node type\");\n }\n }\n return this.fileContents;\n }\n formatNonKeyword(str) {\n return str.toLowerCase();\n }\n formatKeyword(keyword) {\n const ruleKey = this.keywordCase.getMetadata().key;\n const rule = this.config.readByRule(ruleKey);\n const style = rule ? rule[\"style\"] : keyword_case_1.KeywordCaseStyle.Upper;\n return style === keyword_case_1.KeywordCaseStyle.Lower ? keyword.toLowerCase() : keyword.toUpperCase();\n }\n replaceString(pos, str) {\n const lines = this.fileContents.split(\"\\n\");\n const line = lines[pos.getRow() - 1];\n lines[pos.getRow() - 1] = line.substr(0, pos.getCol() - 1) + str + line.substr(pos.getCol() + str.length - 1);\n this.fileContents = lines.join(\"\\n\");\n }\n}\nexports.FixCase = FixCase;\n//# sourceMappingURL=fix_keyword_case.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/pretty_printer/indent.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/pretty_printer/indent.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Indent = void 0;\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 _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\n// todo, will break if there is multiple statements per line?\nclass Indent {\n constructor(options) {\n this.globalClasses = new Set();\n this.options = options || {};\n }\n execute(original, modified) {\n const statements = original.getStatements();\n const expected = this.getExpectedIndents(original);\n const lines = modified.split(\"\\n\");\n for (const statement of statements) {\n if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n continue; // macro contents\n }\n const exp = expected.shift();\n if (exp === undefined || exp < 0) {\n continue;\n }\n const row = statement.getFirstToken().getStart().getRow() - 1;\n lines[row] = lines[row].trim();\n for (let i = 1; i < exp; i++) {\n lines[row] = \" \" + lines[row];\n }\n }\n return lines.join(\"\\n\");\n }\n // returns list of expected indentation for each line/statement?\n getExpectedIndents(file) {\n const ret = [];\n const init = 1;\n const stack = new Stack();\n let indent = init;\n let parentIsEvent = false;\n let previousStatement = undefined;\n for (const statement of file.getStatements()) {\n if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n continue; // skip macro contents\n }\n const type = statement.get();\n if (type instanceof Statements.EndIf\n || type instanceof Statements.EndWhile\n || type instanceof Statements.EndModule\n || type instanceof Statements.EndSelect\n || type instanceof Statements.EndMethod\n || type instanceof Statements.EndAt\n || type instanceof Statements.Else\n || type instanceof Statements.EndExec\n || type instanceof Statements.EndOfDefinition\n || type instanceof Statements.EndLoop\n || type instanceof Statements.EndTestInjection\n || type instanceof Statements.EndTestSeam\n || type instanceof Statements.EndForm\n || type instanceof Statements.EndCatch\n || (this.options.selectionScreenBlockIndentation === true\n && type instanceof Statements.SelectionScreen\n && (statement.concatTokens().toUpperCase().includes(\"END OF SCREEN\") ||\n statement.concatTokens().toUpperCase().includes(\"END OF BLOCK\") ||\n statement.concatTokens().toUpperCase().includes(\"END OF LINE\")))\n || type instanceof Statements.ElseIf\n || type instanceof Statements.EndFunction\n || type instanceof Statements.EndInterface\n || type instanceof Statements.EndDo) {\n indent = indent - 2;\n }\n else if (type instanceof Statements.StartOfSelection\n || type instanceof Statements.AtSelectionScreen\n || type instanceof Statements.AtLineSelection\n || type instanceof Statements.Initialization\n || type instanceof Statements.AtUserCommand\n || type instanceof Statements.TopOfPage\n || type instanceof Statements.Get\n || type instanceof Statements.EndOfSelection\n || type instanceof Statements.LoadOfProgram) {\n indent = init;\n parentIsEvent = true;\n }\n else if (type instanceof Statements.Form\n || (type instanceof Statements.Include && parentIsEvent)\n || type instanceof Statements.Module\n || type instanceof Statements.ClassImplementation\n || type instanceof Statements.ClassDefinition) {\n indent = init;\n parentIsEvent = false;\n }\n else if (type instanceof Statements.Cleanup\n || type instanceof Statements.Catch) {\n indent = stack.peek() - 2;\n }\n else if (type instanceof Statements.Public\n || type instanceof Statements.Protected\n || type instanceof Statements.Private\n || type instanceof Statements.WhenType\n || type instanceof Statements.WhenOthers\n || type instanceof Statements.When) {\n indent = stack.peek();\n }\n else if (type instanceof Statements.EndTry) {\n indent = stack.pop() - (this.options.alignTryCatch ? 2 : 4);\n }\n else if (type instanceof Statements.EndClass\n || type instanceof Statements.EndCase) {\n indent = stack.pop() - 2;\n indent = Math.max(indent, init); // maybe move this out of switch before ret.push(indent)\n }\n else if (type instanceof _statement_1.Comment\n || type instanceof Statements.IncludeType\n || type instanceof _statement_1.Empty\n || type instanceof _statement_1.MacroContent) {\n ret.push(-1);\n previousStatement = statement;\n continue;\n }\n if (previousStatement\n && !(previousStatement.get() instanceof _statement_1.Comment)\n && previousStatement.getLastToken().getEnd().getRow() === statement.getFirstToken().getStart().getRow()) {\n // any indentation allowed if there are multiple statements on the same line\n ret.push(-1);\n previousStatement = statement;\n continue;\n }\n ret.push(indent);\n if (type instanceof Statements.If\n || type instanceof Statements.While\n || type instanceof Statements.Module\n || type instanceof Statements.SelectLoop\n || type instanceof Statements.FunctionModule\n || type instanceof Statements.Interface\n || type instanceof Statements.Do\n || type instanceof Statements.At\n || type instanceof Statements.AtFirst\n || type instanceof Statements.AtLast\n || type instanceof Statements.ExecSQL\n || type instanceof Statements.Catch\n || type instanceof Statements.Define\n || type instanceof Statements.When\n || type instanceof Statements.WhenType\n || type instanceof Statements.WhenOthers\n || type instanceof Statements.Cleanup\n || type instanceof Statements.Loop\n || type instanceof Statements.LoopAtScreen\n || type instanceof Statements.CatchSystemExceptions\n || type instanceof Statements.Form\n || type instanceof Statements.Else\n || type instanceof Statements.ElseIf\n || type instanceof Statements.MethodImplementation\n || type instanceof Statements.TestInjection\n || type instanceof Statements.TestSeam\n || (this.options.selectionScreenBlockIndentation === true\n && type instanceof Statements.SelectionScreen\n && (statement.concatTokens().toUpperCase().includes(\"BEGIN OF SCREEN\") ||\n statement.concatTokens().toUpperCase().includes(\"BEGIN OF TABBED BLOCK\") ||\n statement.concatTokens().toUpperCase().includes(\"BEGIN OF BLOCK\") ||\n statement.concatTokens().toUpperCase().includes(\"BEGIN OF LINE\")))\n || type instanceof Statements.StartOfSelection\n || type instanceof Statements.Get\n || type instanceof Statements.AtSelectionScreen\n || type instanceof Statements.AtLineSelection\n || type instanceof Statements.LoadOfProgram\n || type instanceof Statements.Initialization\n || type instanceof Statements.AtUserCommand\n || type instanceof Statements.TopOfPage\n || type instanceof Statements.EndOfSelection\n || type instanceof Statements.Public\n || type instanceof Statements.Protected\n || type instanceof Statements.Private) {\n indent = indent + 2;\n }\n else if (type instanceof Statements.Try) {\n indent = indent + (this.options.alignTryCatch ? 2 : 4);\n stack.push(indent);\n }\n else if (type instanceof Statements.ClassDefinition\n || type instanceof Statements.Case\n || type instanceof Statements.CaseType\n || type instanceof Statements.ClassImplementation) {\n indent = indent + (this.skipIndentForGlobalClass(statement) ? 0 : 2);\n stack.push(indent);\n }\n previousStatement = statement;\n }\n return ret;\n }\n skipIndentForGlobalClass(statement) {\n if (!this.options.globalClassSkipFirst) {\n return false;\n }\n const type = statement.get();\n if (type instanceof Statements.ClassDefinition && statement.findFirstExpression(Expressions.ClassGlobal)) {\n const className = statement.findFirstExpression(Expressions.ClassName);\n if (className) {\n this.globalClasses.add(className.getFirstToken().getStr().toUpperCase());\n }\n return true;\n }\n else if (type instanceof Statements.ClassImplementation) {\n const className = statement.findFirstExpression(Expressions.ClassName);\n if (className && this.globalClasses.has(className.getFirstToken().getStr().toUpperCase())) {\n return true;\n }\n }\n return false;\n }\n}\nexports.Indent = Indent;\nclass Stack {\n constructor() {\n this.items = [];\n }\n push(item) {\n this.items.push(item);\n }\n peek() {\n return this.items[this.items.length - 1];\n }\n pop() {\n const peek = this.peek();\n this.items = this.items.slice(0, this.items.length - 1);\n return peek;\n }\n}\n//# sourceMappingURL=indent.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/pretty_printer/indent.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PrettyPrinter = void 0;\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst fix_keyword_case_1 = __webpack_require__(/*! ./fix_keyword_case */ \"./node_modules/@abaplint/core/build/src/pretty_printer/fix_keyword_case.js\");\nconst indent_1 = __webpack_require__(/*! ./indent */ \"./node_modules/@abaplint/core/build/src/pretty_printer/indent.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst indentation_1 = __webpack_require__(/*! ../rules/indentation */ \"./node_modules/@abaplint/core/build/src/rules/indentation.js\");\nclass PrettyPrinter {\n constructor(file, config) {\n this.result = file.getRaw();\n this.file = file;\n this.config = config;\n const indentationConf = config.readByRule(new indentation_1.Indentation().getMetadata().key);\n this.options = {\n alignTryCatch: indentationConf === null || indentationConf === void 0 ? void 0 : indentationConf.alignTryCatch,\n globalClassSkipFirst: indentationConf === null || indentationConf === void 0 ? void 0 : indentationConf.globalClassSkipFirst,\n };\n }\n run() {\n const statements = this.file.getStatements();\n for (const statement of statements) {\n if (statement.get() instanceof _statement_1.Unknown\n || statement.get() instanceof _statement_1.MacroContent\n || statement.get() instanceof _statement_1.MacroCall\n || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition\n || statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n // note that no positions are changed when case is changed\n const fixCase = new fix_keyword_case_1.FixCase(this.result, this.config);\n this.result = fixCase.execute(statement);\n }\n const indentation = new indent_1.Indent(this.options);\n this.result = indentation.execute(this.file, this.result);\n return this.result;\n }\n}\nexports.PrettyPrinter = PrettyPrinter;\n//# sourceMappingURL=pretty_printer.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/pretty_printer/pretty_printer.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/registry.js": +/*!***********************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/registry.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Registry = void 0;\nconst config_1 = __webpack_require__(/*! ./config */ \"./node_modules/@abaplint/core/build/src/config.js\");\nconst artifacts_objects_1 = __webpack_require__(/*! ./artifacts_objects */ \"./node_modules/@abaplint/core/build/src/artifacts_objects.js\");\nconst find_global_definitions_1 = __webpack_require__(/*! ./abap/5_syntax/global_definitions/find_global_definitions */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/global_definitions/find_global_definitions.js\");\nconst excludeHelper_1 = __webpack_require__(/*! ./utils/excludeHelper */ \"./node_modules/@abaplint/core/build/src/utils/excludeHelper.js\");\nconst ddic_references_1 = __webpack_require__(/*! ./ddic_references */ \"./node_modules/@abaplint/core/build/src/ddic_references.js\");\nconst rules_runner_1 = __webpack_require__(/*! ./rules_runner */ \"./node_modules/@abaplint/core/build/src/rules_runner.js\");\nconst msag_references_1 = __webpack_require__(/*! ./msag_references */ \"./node_modules/@abaplint/core/build/src/msag_references.js\");\n// todo, this should really be an instance in case there are multiple Registry'ies\nclass ParsingPerformance {\n static clear() {\n this.results = [];\n this.lexing = 0;\n this.statements = 0;\n this.structure = 0;\n }\n static push(obj, result) {\n if (result.runtimeExtra) {\n this.lexing += result.runtimeExtra.lexing;\n this.statements += result.runtimeExtra.statements;\n this.structure += result.runtimeExtra.structure;\n }\n if (result.runtime < 100) {\n return;\n }\n if (this.results === undefined) {\n this.results = [];\n }\n let extra = \"\";\n if (result.runtimeExtra) {\n extra = `\\t(lexing: ${result.runtimeExtra.lexing}ms, statements: ${result.runtimeExtra.statements}ms, structure: ${result.runtimeExtra.structure}ms)`;\n }\n this.results.push({\n runtime: result.runtime,\n extra,\n name: obj.getType() + \" \" + obj.getName(),\n });\n }\n static output() {\n const MAX = 10;\n this.results.sort((a, b) => { return b.runtime - a.runtime; });\n for (let i = 0; i < MAX; i++) {\n const row = this.results[i];\n if (row === undefined) {\n break;\n }\n process.stderr.write(`\\t${row.runtime}ms\\t${row.name} ${row.extra}\\n`);\n }\n process.stderr.write(`\\tTotal lexing: ${this.lexing}ms\\n`);\n process.stderr.write(`\\tTotal statements: ${this.statements}ms\\n`);\n process.stderr.write(`\\tTotal structure: ${this.structure}ms\\n`);\n }\n}\n///////////////////////////////////////////////////////////////////////////////////////////////\nclass Registry {\n constructor(conf) {\n this.objects = {};\n this.objectsByType = {};\n this.dependencies = {};\n this.conf = conf ? conf : config_1.Config.getDefault();\n this.ddicReferences = new ddic_references_1.DDICReferences();\n this.msagReferences = new msag_references_1.MSAGReferences();\n }\n static abaplintVersion() {\n // magic, see build script \"version.sh\"\n return \"2.101.34\";\n }\n getDDICReferences() {\n return this.ddicReferences;\n }\n getMSAGReferences() {\n return this.msagReferences;\n }\n *getObjects() {\n for (const name in this.objects) {\n for (const type in this.objects[name]) {\n yield this.objects[name][type];\n }\n }\n }\n *getObjectsByType(type) {\n for (const name in this.objectsByType[type] || []) {\n yield this.objectsByType[type][name];\n }\n }\n *getFiles() {\n for (const obj of this.getObjects()) {\n for (const file of obj.getFiles()) {\n yield file;\n }\n }\n }\n getFirstObject() {\n for (const name in this.objects) {\n for (const type in this.objects[name]) {\n return this.objects[name][type];\n }\n }\n return undefined;\n }\n getObjectCount(skipDependencies = true) {\n let res = 0;\n for (const o of this.getObjects()) {\n if (skipDependencies === true && this.isDependency(o)) {\n continue;\n }\n res = res + 1;\n }\n return res;\n }\n getFileByName(filename) {\n const upper = filename.toUpperCase();\n for (const o of this.getObjects()) {\n for (const f of o.getFiles()) {\n if (f.getFilename().toUpperCase() === upper) {\n return f;\n }\n }\n }\n return undefined;\n }\n getObject(type, name) {\n if (type === undefined || name === undefined) {\n return undefined;\n }\n const searchName = name.toUpperCase();\n if (this.objects[searchName]) {\n return this.objects[searchName][type];\n }\n return undefined;\n }\n getConfig() {\n return this.conf;\n }\n // assumption: Config is immutable, and can only be changed via this method\n setConfig(conf) {\n for (const obj of this.getObjects()) {\n obj.setDirty();\n }\n this.conf = conf;\n return this;\n }\n inErrorNamespace(name) {\n // todo: performance? cache regexp?\n const reg = new RegExp(this.getConfig().getSyntaxSetttings().errorNamespace, \"i\");\n return reg.test(name);\n }\n addFile(file) {\n return this.addFiles([file]);\n }\n updateFile(file) {\n const obj = this.find(file.getObjectName(), file.getObjectType());\n obj.updateFile(file);\n return this;\n }\n removeFile(file) {\n const obj = this.find(file.getObjectName(), file.getObjectType());\n obj.removeFile(file);\n if (obj.getFiles().length === 0) {\n this.ddicReferences.clear(obj);\n this.msagReferences.clear(obj);\n this.removeObject(obj);\n }\n return this;\n }\n _addFiles(files, dependency) {\n var _a;\n const globalExclude = ((_a = this.conf.getGlobal().exclude) !== null && _a !== void 0 ? _a : [])\n .map(pattern => new RegExp(pattern, \"i\"));\n for (const f of files) {\n const filename = f.getFilename();\n const isNotAbapgitFile = filename.split(\".\").length <= 2;\n if (isNotAbapgitFile || excludeHelper_1.ExcludeHelper.isExcluded(filename, globalExclude)) {\n continue;\n }\n let found = this.findOrCreate(f.getObjectName(), f.getObjectType());\n if (dependency === false && found && this.isDependency(found)) {\n this.removeDependency(found);\n found = this.findOrCreate(f.getObjectName(), f.getObjectType());\n }\n found.addFile(f);\n }\n return this;\n }\n addFiles(files) {\n this._addFiles(files, false);\n return this;\n }\n addDependencies(files) {\n for (const f of files) {\n this.addDependency(f);\n }\n return this;\n }\n addDependency(file) {\n var _a;\n const type = (_a = file.getObjectType()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (type === undefined) {\n return this;\n }\n const name = file.getObjectName().toUpperCase();\n if (this.dependencies[type] === undefined) {\n this.dependencies[type] = {};\n }\n this.dependencies[type][name] = true;\n this._addFiles([file], true);\n return this;\n }\n removeDependency(obj) {\n var _a;\n (_a = this.dependencies[obj.getType()]) === null || _a === void 0 ? true : delete _a[obj.getName()];\n this.removeObject(obj);\n }\n isDependency(obj) {\n var _a;\n return ((_a = this.dependencies[obj.getType()]) === null || _a === void 0 ? void 0 : _a[obj.getName()]) === true;\n }\n isFileDependency(filename) {\n var _a, _b;\n const f = this.getFileByName(filename);\n if (f === undefined) {\n return false;\n }\n const type = (_a = f.getObjectType()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (type === undefined) {\n return false;\n }\n const name = f.getObjectName().toUpperCase();\n return ((_b = this.dependencies[type]) === null || _b === void 0 ? void 0 : _b[name]) === true;\n }\n // assumption: the file is already in the registry\n findObjectForFile(file) {\n const filename = file.getFilename();\n for (const obj of this.getObjects()) {\n for (const ofile of obj.getFiles()) {\n if (ofile.getFilename() === filename) {\n return obj;\n }\n }\n }\n return undefined;\n }\n // todo, this will be changed to async sometime\n findIssues(input) {\n if (this.isDirty() === true) {\n this.parse();\n }\n return new rules_runner_1.RulesRunner(this).runRules(this.getObjects(), input);\n }\n // todo, this will be changed to async sometime\n findIssuesObject(iobj) {\n if (this.isDirty() === true) {\n this.parse();\n }\n return new rules_runner_1.RulesRunner(this).runRules([iobj]);\n }\n // todo, this will be changed to async sometime\n parse() {\n if (this.isDirty() === false) {\n return this;\n }\n ParsingPerformance.clear();\n for (const o of this.getObjects()) {\n this.parsePrivate(o);\n }\n new find_global_definitions_1.FindGlobalDefinitions(this).run();\n return this;\n }\n async parseAsync(input) {\n var _a, _b;\n if (this.isDirty() === false) {\n return this;\n }\n ParsingPerformance.clear();\n (_a = input === null || input === void 0 ? void 0 : input.progress) === null || _a === void 0 ? void 0 : _a.set(this.getObjectCount(false), \"Lexing and parsing\");\n for (const o of this.getObjects()) {\n await ((_b = input === null || input === void 0 ? void 0 : input.progress) === null || _b === void 0 ? void 0 : _b.tick(\"Lexing and parsing(\" + this.conf.getVersion() + \") - \" + o.getType() + \" \" + o.getName()));\n this.parsePrivate(o);\n }\n if ((input === null || input === void 0 ? void 0 : input.outputPerformance) === true) {\n ParsingPerformance.output();\n }\n new find_global_definitions_1.FindGlobalDefinitions(this).run(input === null || input === void 0 ? void 0 : input.progress);\n return this;\n }\n //////////////////////////////////////////\n // todo, refactor, this is a mess, see where-used, a lot of the code should be in this method instead\n parsePrivate(input) {\n const config = this.getConfig();\n const result = input.parse(config.getVersion(), config.getSyntaxSetttings().globalMacros, this);\n ParsingPerformance.push(input, result);\n }\n isDirty() {\n for (const o of this.getObjects()) {\n const dirty = o.isDirty();\n if (dirty === true) {\n return true;\n }\n }\n return false;\n }\n findOrCreate(name, type) {\n try {\n return this.find(name, type);\n }\n catch (_a) {\n const newName = name.toUpperCase();\n const newType = type ? type : \"UNKNOWN\";\n const add = artifacts_objects_1.ArtifactsObjects.newObject(newName, newType);\n if (this.objects[newName] === undefined) {\n this.objects[newName] = {};\n }\n this.objects[newName][newType] = add;\n if (this.objectsByType[newType] === undefined) {\n this.objectsByType[newType] = {};\n }\n this.objectsByType[newType][newName] = add;\n return add;\n }\n }\n removeObject(remove) {\n if (remove === undefined) {\n return;\n }\n if (this.objects[remove.getName()][remove.getType()] === undefined) {\n throw new Error(\"removeObject: object not found\");\n }\n if (Object.keys(this.objects[remove.getName()]).length === 1) {\n delete this.objects[remove.getName()];\n }\n else {\n delete this.objects[remove.getName()][remove.getType()];\n }\n if (Object.keys(this.objectsByType[remove.getType()]).length === 1) {\n delete this.objectsByType[remove.getType()];\n }\n else {\n delete this.objectsByType[remove.getType()][remove.getName()];\n }\n }\n find(name, type) {\n const searchType = type ? type : \"UNKNOWN\";\n const searchName = name.toUpperCase();\n if (this.objects[searchName] !== undefined\n && this.objects[searchName][searchType]) {\n return this.objects[searchName][searchType];\n }\n throw new Error(\"find: object not found, \" + type + \" \" + name);\n }\n}\nexports.Registry = Registry;\n//# sourceMappingURL=registry.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/registry.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/7bit_ascii.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/7bit_ascii.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SevenBitAscii = exports.SevenBitAsciiConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass SevenBitAsciiConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SevenBitAsciiConf = SevenBitAsciiConf;\nclass SevenBitAscii {\n constructor() {\n this.conf = new SevenBitAsciiConf();\n }\n getMetadata() {\n return {\n key: \"7bit_ascii\",\n title: \"Check for 7bit ascii\",\n shortDescription: `Only allow characters from the 7bit ASCII set.`,\n extendedInformation: `https://docs.abapopenchecks.org/checks/05/\r\n\r\nhttps://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abencharacter_set_guidl.htm\r\n\r\nCheckes files with extensions \".abap\" and \".asddls\"`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n initialize(_reg) {\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const output = [];\n for (const file of obj.getFiles()) {\n const filename = file.getFilename();\n if (filename.endsWith(\".abap\") || filename.endsWith(\".asddls\")) {\n const rows = file.getRawRows();\n for (let i = 0; i < rows.length; i++) {\n const found = /[\\u007f-\\uffff]/.exec(rows[i]);\n if (found !== null) {\n const column = found.index + 1;\n const start = new position_1.Position(i + 1, column);\n const end = new position_1.Position(i + 1, column + 1);\n const message = \"Contains non 7 bit ascii character\";\n const issue = issue_1.Issue.atRange(file, start, end, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n // method getRawRows() splits by newline, so the carraige return\n // should always be last character if present\n const carriage = /\\r.+$/.exec(rows[i]);\n if (carriage !== null) {\n const column = carriage.index + 1;\n const start = new position_1.Position(i + 1, column);\n const end = new position_1.Position(i + 1, column + 1);\n const message = \"Dangling carriage return\";\n const issue = issue_1.Issue.atRange(file, start, end, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n }\n }\n return output;\n }\n}\nexports.SevenBitAscii = SevenBitAscii;\n//# sourceMappingURL=7bit_ascii.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/7bit_ascii.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/_abap_rule.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/_abap_rule.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPRule = void 0;\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass ABAPRule {\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const abap = obj;\n const output = [];\n for (const file of abap.getABAPFiles()) {\n output.push(...this.runParsed(file, obj));\n }\n return output;\n }\n}\nexports.ABAPRule = ABAPRule;\n//# sourceMappingURL=_abap_rule.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/_abap_rule.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BasicRuleConfig = void 0;\nconst severity_1 = __webpack_require__(/*! ../severity */ \"./node_modules/@abaplint/core/build/src/severity.js\");\nclass BasicRuleConfig {\n constructor() {\n /** List of file regex filename patterns to exclude, case insensitive */\n this.exclude = [];\n /** Problem severity */\n this.severity = severity_1.Severity.Error;\n }\n}\nexports.BasicRuleConfig = BasicRuleConfig;\n//# sourceMappingURL=_basic_rule_config.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/_irule.js": +/*!***************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/_irule.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RuleTag = void 0;\nvar RuleTag;\n(function (RuleTag) {\n RuleTag[\"Experimental\"] = \"Experimental\";\n RuleTag[\"DeprecationCandidate\"] = \"DeprecationCandidate\";\n RuleTag[\"Upport\"] = \"Upport\";\n RuleTag[\"Downport\"] = \"Downport\";\n RuleTag[\"Whitespace\"] = \"Whitespace\";\n RuleTag[\"Naming\"] = \"Naming\";\n RuleTag[\"Quickfix\"] = \"Quickfix\";\n RuleTag[\"Performance\"] = \"Performance\";\n RuleTag[\"Syntax\"] = \"Syntax\";\n RuleTag[\"Security\"] = \"Security\";\n /** Relevant wrt the official SAP ABAP style guide*/\n RuleTag[\"Styleguide\"] = \"Styleguide\";\n /** Single file compatible, the rule gives correct results when having only information about the single file */\n RuleTag[\"SingleFile\"] = \"SingleFile\";\n})(RuleTag || (exports.RuleTag = RuleTag = {}));\n//# sourceMappingURL=_irule.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/_irule.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NamingRuleConfig = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nclass NamingRuleConfig extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Specifies whether the pattern is forbidden (violation if name matches) or required (violation if name does not match). */\n this.patternKind = \"required\";\n /** A list of names to be ignored */\n this.ignoreNames = [];\n /** A list of patterns to be ignored. For example, you can use it to ignore ambiguous prefixes */\n this.ignorePatterns = [];\n }\n}\nexports.NamingRuleConfig = NamingRuleConfig;\n//# sourceMappingURL=_naming_rule_config.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/abapdoc.js": +/*!****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/abapdoc.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Abapdoc = exports.AbapdocConf = void 0;\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst visibility_1 = __webpack_require__(/*! ../abap/4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass AbapdocConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Check local classes and interfaces for abapdoc. */\n this.checkLocal = false;\n this.classDefinition = false;\n this.interfaceDefinition = false;\n }\n}\nexports.AbapdocConf = AbapdocConf;\nclass Abapdoc extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new AbapdocConf();\n }\n getMetadata() {\n return {\n key: \"abapdoc\",\n title: \"Check abapdoc\",\n shortDescription: `Various checks regarding abapdoc.`,\n extendedInformation: `Base rule checks for existence of abapdoc for public class methods and all interface methods.\r\n\r\nPlus class and interface definitions.\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#abap-doc-only-for-public-apis`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b;\n const issues = [];\n const rows = file.getRawRows();\n const regexEmptyTags = '^\\\\\"! .*<[^/>]*><\\\\/';\n const regexEmptyAbapdoc = '^\\\\\"!.+$';\n const regexEmptyParameterName = '^\\\\\"! @parameter .+\\\\|';\n let methods = [];\n for (const classDef of file.getInfo().listClassDefinitions()) {\n if (this.conf.checkLocal === false && classDef.isLocal === true) {\n continue;\n }\n methods = methods.concat(classDef.methods.filter(m => m.visibility === visibility_1.Visibility.Public));\n if (this.getConfig().classDefinition === true) {\n const previousRow = classDef.identifier.getStart().getRow() - 2;\n if (((_a = rows[previousRow]) === null || _a === void 0 ? void 0 : _a.trim().substring(0, 2)) !== \"\\\"!\") {\n const message = \"Missing ABAP Doc for class \" + classDef.identifier.getToken().getStr();\n const issue = issue_1.Issue.atIdentifier(classDef.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n for (const interfaceDef of file.getInfo().listInterfaceDefinitions()) {\n if (this.conf.checkLocal === false && interfaceDef.isLocal === true) {\n continue;\n }\n methods = methods.concat(interfaceDef.methods);\n if (this.getConfig().interfaceDefinition === true) {\n const previousRow = interfaceDef.identifier.getStart().getRow() - 2;\n if (((_b = rows[previousRow]) === null || _b === void 0 ? void 0 : _b.trim().substring(0, 2)) !== \"\\\"!\") {\n const message = \"Missing ABAP Doc for interface \" + interfaceDef.identifier.getToken().getStr();\n const issue = issue_1.Issue.atIdentifier(interfaceDef.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n for (const method of methods) {\n if (method.isRedefinition === true) {\n continue;\n }\n const previousRowsTexts = this.getAbapdoc(rows, method.identifier.getStart());\n if (previousRowsTexts === undefined) {\n continue;\n }\n for (const rowText of previousRowsTexts) {\n if (rowText.trim().match(regexEmptyTags) !== null) {\n const message = \"Empty tag(s) in ABAP Doc for method \" + method.identifier.getToken().getStr() + \" (\" + rowText + \")\";\n const issue = issue_1.Issue.atIdentifier(method.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (rowText.trim().match(regexEmptyAbapdoc) === null && previousRowsTexts.indexOf(rowText) === previousRowsTexts.length - 1) {\n const message = \"Missing ABAP Doc for method \" + method.identifier.getToken().getStr() + \" (\" + rowText + \")\";\n const issue = issue_1.Issue.atIdentifier(method.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (rowText.trim().match(regexEmptyParameterName) !== null) {\n const message = \"Missing ABAP Doc parameter name for method \" + method.identifier.getToken().getStr() + \" (\" + rowText + \")\";\n const issue = issue_1.Issue.atIdentifier(method.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n getAbapdoc(rows, pos) {\n let previousRow = pos.getRow() - 2;\n let rowText = rows[previousRow].trim().toUpperCase();\n const text = [];\n if (rowText === \"METHODS\" || rowText === \"CLASS-METHODS\") {\n previousRow--;\n rowText = rows[previousRow].trim().toUpperCase();\n }\n text.push(rowText);\n //we need to push the first row despite if it is actually an abapdoc or not\n //if the first row above a method is abapdoc then try to get the rest of the abapdoc block above\n if (rowText.trim().substring(0, 2) === \"\\\"!\") {\n while (previousRow >= 0) {\n previousRow--;\n rowText = rows[previousRow].trim().toUpperCase();\n if (rowText.trim().substring(0, 2) !== \"\\\"!\") {\n break;\n }\n text.push(rowText);\n }\n }\n return text;\n }\n}\nexports.Abapdoc = Abapdoc;\n//# sourceMappingURL=abapdoc.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/abapdoc.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/align_parameters.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/align_parameters.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AlignParameters = exports.AlignParametersConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass AlignParametersConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.AlignParametersConf = AlignParametersConf;\nclass AlignParameters extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new AlignParametersConf();\n }\n getMetadata() {\n return {\n key: \"align_parameters\",\n title: \"Align Parameters\",\n shortDescription: `Checks for vertially aligned parameters`,\n extendedInformation: `Checks:\r\n* function module calls\r\n* method calls\r\n* VALUE constructors\r\n* NEW constructors\r\n* RAISE EXCEPTION statements\r\n* CREATE OBJECT statements\r\n* RAISE EVENT statements\r\n\r\nhttps://github.com/SAP/styleguides/blob/master/clean-abap/CleanABAP.md#align-parameters\r\n\r\nDoes not take effect on non functional method calls, use https://rules.abaplint.org/functional_writing/\r\n\r\nIf parameters are on the same row, no issues are reported, see\r\nhttps://rules.abaplint.org/max_one_method_parameter_per_line/ for splitting parameters to lines`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix],\n badExample: `CALL FUNCTION 'FOOBAR'\r\n EXPORTING\r\n foo = 2\r\n parameter = 3.\r\n\r\nfoobar( moo = 1\r\n param = 1 ).\r\n\r\nfoo = VALUE #(\r\n foo = bar\r\n moo = 2 ).`,\n goodExample: `CALL FUNCTION 'FOOBAR'\r\n EXPORTING\r\n foo = 2\r\n parameter = 3.\r\n\r\nfoobar( moo = 1\r\n param = 1 ).\r\n\r\nfoo = VALUE #(\r\n foo = bar\r\n moo = 2 ).\r\n\r\nDATA(sdf) = VALUE type(\r\n common_val = 2\r\n another_common = 5\r\n ( row_value = 4\r\n value_foo = 5 ) ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues; // parser error\n }\n const candidates = [];\n candidates.push(...this.functionParameterCandidates(stru));\n candidates.push(...this.methodCallParamCandidates(stru));\n candidates.push(...this.valueBodyCandidates(stru));\n candidates.push(...this.raiseAndCreateCandidates(stru));\n candidates.push(...this.newCandidates(stru));\n for (const c of candidates) {\n const i = this.checkCandidate(c, file);\n if (i) {\n issues.push(i);\n }\n }\n return issues;\n }\n checkCandidate(candidate, file) {\n if (candidate.parameters.length === 0) {\n return undefined;\n }\n let expectedEqualsColumn = 0;\n let row = 0;\n for (const p of candidate.parameters) {\n const currentCol = p.left.getLastToken().getCol() + p.left.getLastToken().getStr().length + 1;\n if (p.eq.getRow() === row) {\n return undefined;\n }\n row = p.eq.getRow();\n if (currentCol > expectedEqualsColumn) {\n expectedEqualsColumn = currentCol;\n }\n }\n for (const p of candidate.parameters) {\n if (p.eq.getCol() !== expectedEqualsColumn) {\n let fix;\n if (p.eq.getCol() < expectedEqualsColumn) {\n fix = edit_helper_1.EditHelper.insertAt(file, p.eq, \" \".repeat(expectedEqualsColumn - p.eq.getCol()));\n }\n else {\n fix = edit_helper_1.EditHelper.deleteRange(file, new position_1.Position(p.eq.getRow(), expectedEqualsColumn), p.eq);\n }\n const message = \"Align parameters to column \" + expectedEqualsColumn;\n return issue_1.Issue.atPosition(file, p.eq, message, this.getMetadata().key, this.getConfig().severity, fix);\n }\n }\n return undefined;\n }\n newCandidates(stru) {\n const candidates = [];\n for (const vb of stru.findAllExpressionsRecursive(Expressions.NewObject)) {\n const parameters = [];\n const fieldAssignments = vb.findDirectExpressions(Expressions.FieldAssignment);\n if (fieldAssignments.length >= 2) {\n for (const fs of fieldAssignments) {\n const children = fs.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n continue;\n }\n }\n const list = vb.findDirectExpression(Expressions.ParameterListS);\n if (list) {\n for (const c of list.getChildren()) {\n const children = c.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n }\n return candidates;\n }\n valueBodyCandidates(stru) {\n const candidates = [];\n for (const vb of stru.findAllExpressionsRecursive(Expressions.ValueBody)) {\n const parameters = [];\n const fieldAssignments = vb.findDirectExpressions(Expressions.FieldAssignment);\n if (fieldAssignments.length <= 1) {\n continue;\n }\n for (const fs of fieldAssignments) {\n const children = fs.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n for (const vb of stru.findAllExpressionsRecursive(Expressions.ValueBodyLine)) {\n const parameters = [];\n const fieldAssignments = vb.findDirectExpressions(Expressions.FieldAssignment);\n if (fieldAssignments.length <= 1) {\n continue;\n }\n for (const fs of fieldAssignments) {\n const children = fs.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n return candidates;\n }\n raiseAndCreateCandidates(stru) {\n const candidates = [];\n const statements = stru.findAllStatements(__1.Statements.Raise);\n statements.push(...stru.findAllStatements(__1.Statements.CreateObject));\n statements.push(...stru.findAllStatements(__1.Statements.RaiseEvent));\n for (const raise of statements) {\n const parameters = [];\n const param = raise.findDirectExpression(Expressions.ParameterListS);\n for (const p of (param === null || param === void 0 ? void 0 : param.getChildren()) || []) {\n const children = p.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n const ex = raise.findDirectExpression(Expressions.ParameterListExceptions);\n for (const e of (ex === null || ex === void 0 ? void 0 : ex.getChildren()) || []) {\n const children = e.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n return candidates;\n }\n methodCallParamCandidates(stru) {\n var _a, _b, _c;\n const candidates = [];\n for (const mcp of stru.findAllExpressionsRecursive(Expressions.MethodCallParam)) {\n const parameters = [];\n for (const param of ((_a = mcp.findDirectExpression(Expressions.ParameterListS)) === null || _a === void 0 ? void 0 : _a.getChildren()) || []) {\n const children = param.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n const mp = mcp.findDirectExpression(Expressions.MethodParameters);\n if (mp) {\n for (const p of ((_b = mp.findDirectExpression(Expressions.ParameterListS)) === null || _b === void 0 ? void 0 : _b.getChildren()) || []) {\n const children = p.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n for (const l of mp.findDirectExpressions(Expressions.ParameterListT)) {\n for (const p of l.findDirectExpressions(Expressions.ParameterT) || []) {\n const children = p.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n }\n const rec = mp.findDirectExpression(Expressions.ParameterT);\n if (rec) {\n const children = rec.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n for (const ex of ((_c = mp.findDirectExpression(Expressions.ParameterListExceptions)) === null || _c === void 0 ? void 0 : _c.getChildren()) || []) {\n const children = ex.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n return candidates;\n }\n functionParameterCandidates(stru) {\n const candidates = [];\n for (const fp of stru.findAllExpressionsRecursive(Expressions.FunctionParameters)) {\n const parameters = [];\n for (const p of fp.findAllExpressions(Expressions.FunctionExportingParameter)) {\n const children = p.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n for (const list of fp.findDirectExpressions(Expressions.ParameterListT)) {\n for (const pt of list.findDirectExpressions(Expressions.ParameterT)) {\n const children = pt.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n }\n const list = fp.findDirectExpression(Expressions.ParameterListExceptions);\n if (list) {\n for (const pt of list.findDirectExpressions(Expressions.ParameterException)) {\n const children = pt.getChildren();\n if (children.length < 3) {\n continue; // unexpected\n }\n parameters.push({\n left: children[0],\n eq: children[1].getFirstToken().getStart(),\n right: children[2],\n });\n }\n }\n if (parameters.length > 0) {\n candidates.push({ parameters });\n }\n }\n return candidates;\n }\n}\nexports.AlignParameters = AlignParameters;\n//# sourceMappingURL=align_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/align_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/allowed_object_naming.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/allowed_object_naming.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AllowedObjectNaming = exports.AllowedObjectNamingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nclass AllowedObjectNamingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.AllowedObjectNamingConf = AllowedObjectNamingConf;\nclass AllowedObjectNaming {\n constructor() {\n this.conf = new AllowedObjectNamingConf();\n }\n getMetadata() {\n return {\n key: \"allowed_object_naming\",\n title: \"Allowed object naming\",\n shortDescription: `Enforces basic name length and namespace restrictions, see note SAP 104010`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n initialize(_reg) {\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const allowed = obj.getAllowedNaming();\n const name = obj.getName();\n let message = \"\";\n if (name.length > allowed.maxLength) {\n message = \"Name exceeds max length\";\n }\n else if (allowed.allowNamespace === false && name.indexOf(\"/\") >= 0) {\n message = \"Namespace not allowed for object type\";\n }\n else if (allowed.customRegex !== undefined) {\n if (name.match(allowed.customRegex) === null) {\n message = \"Name not allowed\";\n }\n }\n else if (name.match(/^(\\/[A-Z_\\d]{3,8}\\/)?[A-Z_\\d<> ]+$/i) === null) {\n message = \"Name not allowed\";\n }\n if (message.length > 0) {\n return [issue_1.Issue.atRow(obj.getFiles()[0], 1, message, this.getMetadata().key, this.conf.severity)];\n }\n return [];\n }\n}\nexports.AllowedObjectNaming = AllowedObjectNaming;\n//# sourceMappingURL=allowed_object_naming.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/allowed_object_naming.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/allowed_object_types.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/allowed_object_types.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AllowedObjectTypes = exports.AllowedObjectTypesConf = void 0;\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass AllowedObjectTypesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** List of allowed object types, example: [\"CLAS\", \"INTF\"]\n * @uniqueItems true\n */\n this.allowed = [];\n }\n}\nexports.AllowedObjectTypesConf = AllowedObjectTypesConf;\nclass AllowedObjectTypes {\n constructor() {\n this.conf = new AllowedObjectTypesConf();\n }\n getMetadata() {\n return {\n key: \"allowed_object_types\",\n title: \"Check allowed object types\",\n shortDescription: `Restricts the set of allowed object types.`,\n extendedInformation: `\"allowed\" is a list of 4 character R3TR object types, example: [\"CLAS\", \"INTF\"]`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n initialize(_reg) {\n return this;\n }\n getDescription(objectType) {\n return \"Object type \" + objectType + \" not allowed\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const allowed = this.getConfig().allowed;\n if (allowed === undefined || allowed.length === 0) {\n return [];\n }\n const objectType = obj.getType();\n if (allowed.indexOf(objectType) < 0) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, this.getDescription(objectType), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n}\nexports.AllowedObjectTypes = AllowedObjectTypes;\n//# sourceMappingURL=allowed_object_types.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/allowed_object_types.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/ambiguous_statement.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/ambiguous_statement.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AmbiguousStatement = exports.AmbiguousStatementConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst combi_1 = __webpack_require__(/*! ../abap/2_statements/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 _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass AmbiguousStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.AmbiguousStatementConf = AmbiguousStatementConf;\nclass AmbiguousStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new AmbiguousStatementConf();\n }\n getMetadata() {\n return {\n key: \"ambiguous_statement\",\n title: \"Check for ambigious statements\",\n shortDescription: `Checks for ambiguity between deleting or modifying from internal and database table\r\nAdd \"TABLE\" keyword or \"@\" for escaping SQL variables\r\n\r\nOnly works if the target version is 740sp05 or above`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `DELETE foo FROM bar.\r\nMODIFY foo FROM bar.`,\n goodExample: `DELETE foo FROM @bar.\r\nMODIFY TABLE foo FROM bar.`,\n };\n }\n getMessage() {\n return \"Ambiguous statement. Use explicit syntax.\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp05) {\n return [];\n }\n for (const statement of file.getStatements()) {\n let match = false;\n if (statement.get() instanceof Statements.DeleteDatabase) {\n match = this.tryMatch(statement, this.reg, Statements.DeleteInternal);\n }\n else if (statement.get() instanceof Statements.DeleteInternal) {\n match = this.tryMatch(statement, this.reg, Statements.DeleteDatabase);\n }\n else if (statement.get() instanceof Statements.ModifyInternal) {\n match = this.tryMatch(statement, this.reg, Statements.ModifyDatabase);\n }\n else if (statement.get() instanceof Statements.ModifyDatabase) {\n match = this.tryMatch(statement, this.reg, Statements.ModifyInternal);\n }\n if (match) {\n const issue = issue_1.Issue.atStatement(file, statement, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n tryMatch(st, reg, type1) {\n const ver = reg.getConfig().getVersion();\n const tokens = st.getTokens().slice(0);\n tokens.pop();\n const match = combi_1.Combi.run(new type1().getMatcher(), tokens, ver);\n return match !== undefined;\n }\n}\nexports.AmbiguousStatement = AmbiguousStatement;\n//# sourceMappingURL=ambiguous_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/ambiguous_statement.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/avoid_use.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/avoid_use.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AvoidUse = exports.AvoidUseConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass AvoidUseConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Do not emit quick fix suggestion */\n this.skipQuickFix = false;\n /** Detects DEFINE (macro definitions) */\n this.define = true;\n /** Detects statics */\n this.statics = true;\n /** Detects DEFAULT KEY definitions, from version v740sp02 and up */\n this.defaultKey = true;\n /** Detects BREAK and BREAK-POINTS */\n this.break = true;\n /** Detects TEST SEAMS */\n this.testSeams = true;\n /** Detects DESCRIBE TABLE LINES, use lines() instead */\n this.describeLines = true;\n /** Detects EXPORT TO MEMORY */\n this.exportToMemory = true;\n /** Detects EXPORT TO DATABASE */\n this.exportToDatabase = true;\n }\n}\nexports.AvoidUseConf = AvoidUseConf;\nclass AvoidUse extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new AvoidUseConf();\n }\n getMetadata() {\n return {\n key: \"avoid_use\",\n title: \"Avoid use of certain statements\",\n shortDescription: `Detects usage of certain statements.`,\n extendedInformation: `DEFAULT KEY: https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-default-key\r\n\r\nMacros: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abenmacros_guidl.htm\r\n\r\nSTATICS: use CLASS-DATA instead\r\n\r\nDESCRIBE TABLE LINES: use lines() instead (quickfix exists)\r\n\r\nTEST-SEAMS: https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-test-seams-as-temporary-workaround`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(statement) {\n return \"Avoid use of \" + statement;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n let isStaticsBlock = false;\n for (const statementNode of file.getStatements()) {\n const statement = statementNode.get();\n let message = undefined;\n let fix = undefined;\n if (this.conf.define && statement instanceof Statements.Define) {\n message = \"DEFINE\";\n }\n else if (this.conf.describeLines && statement instanceof Statements.Describe) {\n const children = statementNode.getChildren();\n if (children.length === 6 && children[3].getFirstToken().getStr().toUpperCase() === \"LINES\") {\n message = \"DESCRIBE LINES, use lines() instead\";\n fix = this.conf.skipQuickFix === true ? undefined : this.getDescribeLinesFix(file, statementNode);\n }\n }\n else if (this.conf.statics && statement instanceof Statements.StaticBegin) {\n isStaticsBlock = true;\n message = \"STATICS\";\n }\n else if (this.conf.statics && statement instanceof Statements.StaticEnd) {\n isStaticsBlock = false;\n }\n else if (this.conf.exportToMemory && statement instanceof Statements.Export && statementNode.concatTokens().includes(\"TO MEMORY \")) {\n message = \"EXPORT TO MEMORY\";\n }\n else if (this.conf.exportToDatabase && statement instanceof Statements.Export && statementNode.concatTokens().includes(\"TO DATABASE \")) {\n message = \"EXPORT TO DATABASE\";\n }\n else if (this.conf.testSeams && statement instanceof Statements.TestSeam) {\n message = \"TEST-SEAM\";\n }\n else if (this.conf.statics && statement instanceof Statements.Static && isStaticsBlock === false) {\n message = \"STATICS\";\n }\n else if (this.conf.break && statement instanceof Statements.Break) {\n message = \"BREAK/BREAK-POINT\";\n fix = this.conf.skipQuickFix === true ? undefined : edit_helper_1.EditHelper.deleteStatement(file, statementNode);\n }\n if (message) {\n issues.push(issue_1.Issue.atStatement(file, statementNode, this.getDescription(message), this.getMetadata().key, this.conf.severity, fix));\n }\n if (this.conf.defaultKey\n && (this.reg.getConfig().getVersion() >= version_1.Version.v740sp02\n || this.reg.getConfig().getVersion() === version_1.Version.Cloud)\n && (statement instanceof Statements.Data || statement instanceof Statements.Type)) {\n const tt = (_a = statementNode.findFirstExpression(expressions_1.TypeTable)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(expressions_1.TypeTableKey);\n const token = tt === null || tt === void 0 ? void 0 : tt.findDirectTokenByText(\"DEFAULT\");\n if (tt && token) {\n message = \"DEFAULT KEY\";\n issues.push(issue_1.Issue.atToken(file, token, this.getDescription(message), this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n getDescribeLinesFix(file, statementNode) {\n const children = statementNode.getChildren();\n const target = children[4].concatTokens();\n const source = children[2].concatTokens();\n const startPosition = children[0].getFirstToken().getStart();\n const insertText = target + \" = lines( \" + source + \" ).\";\n const deleteFix = edit_helper_1.EditHelper.deleteStatement(file, statementNode);\n const insertFix = edit_helper_1.EditHelper.insertAt(file, startPosition, insertText);\n const finalFix = edit_helper_1.EditHelper.merge(deleteFix, insertFix);\n return finalFix;\n }\n}\nexports.AvoidUse = AvoidUse;\n//# sourceMappingURL=avoid_use.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/avoid_use.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/begin_end_names.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/begin_end_names.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BeginEndNames = exports.BeginEndNamesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass BeginEndNamesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.BeginEndNamesConf = BeginEndNamesConf;\nclass BeginEndNames extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new BeginEndNamesConf();\n }\n getMetadata() {\n return {\n key: \"begin_end_names\",\n title: \"Check BEGIN END names\",\n shortDescription: `Check BEGIN OF and END OF names match, plus there must be statements between BEGIN and END`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `DATA: BEGIN OF stru,\r\n field TYPE i,\r\n END OF structure_not_the_same.`,\n goodExample: `DATA: BEGIN OF stru,\r\n field TYPE i,\r\n END OF stru.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const output = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n output.push(...this.test(struc, Structures.Data, Statements.DataBegin, Statements.DataEnd, file));\n output.push(...this.test(struc, Structures.ClassData, Statements.ClassDataBegin, Statements.ClassDataEnd, file));\n output.push(...this.test(struc, Structures.Constants, Statements.ConstantBegin, Statements.ConstantEnd, file));\n output.push(...this.test(struc, Structures.Statics, Statements.StaticBegin, Statements.StaticEnd, file));\n output.push(...this.test(struc, Structures.TypeEnum, Statements.TypeEnumBegin, Statements.TypeEnumEnd, file));\n output.push(...this.test(struc, Structures.Types, Statements.TypeBegin, Statements.TypeEnd, file));\n return output;\n }\n test(stru, type, b, e, file) {\n const output = [];\n for (const sub of stru.findAllStructuresRecursive(type)) {\n let begin = sub.findDirectStatements(b)[0].findFirstExpression(Expressions.NamespaceSimpleName);\n if (begin === undefined) {\n begin = sub.findDirectStatements(b)[0].findFirstExpression(Expressions.DefinitionName);\n }\n if (begin === undefined) {\n continue;\n }\n const first = begin.getFirstToken();\n let end = sub.findDirectStatements(e)[0].findFirstExpression(Expressions.NamespaceSimpleName);\n if (end === undefined) {\n end = sub.findDirectStatements(e)[0].findFirstExpression(Expressions.DefinitionName);\n }\n if (end === undefined) {\n continue;\n }\n const last = end.getFirstToken();\n if (first.getStr().toUpperCase() !== last.getStr().toUpperCase()) {\n const fix = edit_helper_1.EditHelper.replaceRange(file, last.getStart(), last.getEnd(), first.getStr());\n const message = \"BEGIN END names must match\";\n const issue = issue_1.Issue.atToken(file, first, message, this.getMetadata().key, this.conf.severity, fix);\n output.push(issue);\n }\n if (sub.getChildren().length === 2) {\n const message = \"There must be statements between BEGIN and END\";\n const issue = issue_1.Issue.atToken(file, first, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n return output;\n }\n}\nexports.BeginEndNames = BeginEndNames;\n//# sourceMappingURL=begin_end_names.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/begin_end_names.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/begin_single_include.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/begin_single_include.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.BeginSingleInclude = exports.BeginSingleIncludeConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass BeginSingleIncludeConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.BeginSingleIncludeConf = BeginSingleIncludeConf;\nclass BeginSingleInclude extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new BeginSingleIncludeConf();\n }\n getMetadata() {\n return {\n key: \"begin_single_include\",\n title: \"BEGIN contains single INCLUDE\",\n shortDescription: `Finds TYPE BEGIN with just one INCLUDE TYPE, and DATA with single INCLUDE STRUCTURE`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `TYPES: BEGIN OF dummy1.\r\n INCLUDE TYPE dselc.\r\nTYPES: END OF dummy1.\r\n\r\nDATA BEGIN OF foo.\r\nINCLUDE STRUCTURE syst.\r\nDATA END OF foo.\r\n\r\nSTATICS BEGIN OF bar.\r\nINCLUDE STRUCTURE syst.\r\nSTATICS END OF bar.`,\n goodExample: `DATA BEGIN OF foo.\r\nINCLUDE STRUCTURE dselc.\r\nDATA END OF foo.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const t of stru.findAllStructures(Structures.Types)) {\n if (t.getChildren().length !== 3) {\n continue;\n }\n if (t.findFirstStatement(Statements.IncludeType)) {\n const token = t.getFirstToken();\n const message = \"TYPE BEGIN with single INCLUDE\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n for (const t of stru.findAllStructures(Structures.Data)) {\n if (t.getChildren().length !== 3) {\n continue;\n }\n if (t.findFirstStatement(Statements.IncludeType)) {\n const token = t.getFirstToken();\n const message = \"DATA BEGIN with single INCLUDE\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n for (const t of stru.findAllStructures(Structures.Statics)) {\n if (t.getChildren().length !== 3) {\n continue;\n }\n if (t.findFirstStatement(Statements.IncludeType)) {\n const token = t.getFirstToken();\n const message = \"STATICS BEGIN with single INCLUDE\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.BeginSingleInclude = BeginSingleInclude;\n//# sourceMappingURL=begin_single_include.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/begin_single_include.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/call_transaction_authority_check.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/call_transaction_authority_check.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CallTransactionAuthorityCheck = exports.CallTransactionAuthorityCheckConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass CallTransactionAuthorityCheckConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CallTransactionAuthorityCheckConf = CallTransactionAuthorityCheckConf;\nclass CallTransactionAuthorityCheck extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CallTransactionAuthorityCheckConf();\n this.MINIMUM_VERSION = version_1.Version.v740sp02;\n }\n getMetadata() {\n return {\n key: \"call_transaction_authority_check\",\n title: \"Call Transaction Authority-Check\",\n shortDescription: `Checks that usages of CALL TRANSACTION contain an authority-check.`,\n extendedInformation: `https://docs.abapopenchecks.org/checks/54/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Security],\n badExample: `CALL TRANSACTION 'FOO'.`,\n goodExample: `TRY.\r\n CALL TRANSACTION 'FOO' WITH AUTHORITY-CHECK.\r\n CATCH cx_sy_authorization_error.\r\nENDTRY.`,\n };\n }\n getMessage() {\n return \"Add an authority check to CALL TRANSACTION\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const currentVersion = this.reg.getConfig().getVersion();\n // Cloud version does not support CALL TRANSACTION\n if (currentVersion < this.MINIMUM_VERSION || currentVersion === version_1.Version.Cloud) {\n return [];\n }\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n for (const statNode of file.getStatements()) {\n const statement = statNode.get();\n if (statement instanceof Statements.CallTransaction && !statNode.concatTokensWithoutStringsAndComments().toUpperCase().includes(\"WITH AUTHORITY-CHECK\")) {\n issues.push(issue_1.Issue.atStatement(file, statNode, this.getMessage(), this.getMetadata().key));\n }\n }\n return issues;\n }\n}\nexports.CallTransactionAuthorityCheck = CallTransactionAuthorityCheck;\n//# sourceMappingURL=call_transaction_authority_check.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/call_transaction_authority_check.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/cds_comment_style.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/cds_comment_style.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSCommentStyle = exports.CDSCommentStyleConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst cds_lexer_1 = __webpack_require__(/*! ../cds/cds_lexer */ \"./node_modules/@abaplint/core/build/src/cds/cds_lexer.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nclass CDSCommentStyleConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CDSCommentStyleConf = CDSCommentStyleConf;\nclass CDSCommentStyle {\n constructor() {\n this.conf = new CDSCommentStyleConf();\n }\n getMetadata() {\n return {\n key: \"cds_comment_style\",\n title: \"CDS Comment Style\",\n shortDescription: `Check for obsolete comment style`,\n extendedInformation: `Check for obsolete comment style\r\n\r\nComments starting with \"--\" are considered obsolete\r\n\r\nhttps://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abencds_general_syntax_rules.htm`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: \"-- this is a comment\",\n goodExample: \"// this is a comment\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(object) {\n const issues = [];\n if ((object.getType() === \"DDLS\" && object instanceof objects_1.DataDefinition) ||\n (object.getType() === \"DDLX\" && object instanceof objects_1.CDSMetadataExtension)) {\n const file = object.findSourceFile();\n if (file === undefined) {\n return issues;\n }\n const tokens = cds_lexer_1.CDSLexer.run(file);\n for (const t of tokens) {\n if (t instanceof tokens_1.Comment && t.getStr().startsWith(\"--\")) {\n issues.push(issue_1.Issue.atToken(file, t, `Use \"//\" for comments instead of \"--\"`, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n}\nexports.CDSCommentStyle = CDSCommentStyle;\n//# sourceMappingURL=cds_comment_style.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/cds_comment_style.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/cds_legacy_view.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/cds_legacy_view.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSLegacyView = exports.CDSLegacyViewConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nclass CDSLegacyViewConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CDSLegacyViewConf = CDSLegacyViewConf;\nclass CDSLegacyView {\n constructor() {\n this.conf = new CDSLegacyViewConf();\n }\n getMetadata() {\n return {\n key: \"cds_legacy_view\",\n title: \"CDS Legacy View\",\n shortDescription: `Identify CDS Legacy Views`,\n // eslint-disable-next-line max-len\n extendedInformation: `Use DEFINE VIEW ENTITY instead of DEFINE VIEW\r\n\r\nhttps://blogs.sap.com/2021/10/16/a-new-generation-of-cds-views-how-to-migrate-your-cds-views-to-cds-view-entities/\r\n\r\nv755 and up`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Upport],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(o) {\n const issues = [];\n if (this.reg.getConfig().getVersion() < version_1.Version.v755\n && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n if (o.getType() !== \"DDLS\") {\n return [];\n }\n if (o instanceof objects_1.DataDefinition) {\n const tree = o.getTree();\n if (tree === undefined) {\n return []; // parser error\n }\n if (tree.findDirectTokenByText(\"ENTITY\") === undefined) {\n const file = o.findSourceFile();\n if (file) {\n issues.push(issue_1.Issue.atRow(file, 1, \"CDS Legacy View\", this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n}\nexports.CDSLegacyView = CDSLegacyView;\n//# sourceMappingURL=cds_legacy_view.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/cds_legacy_view.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/cds_parser_error.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/cds_parser_error.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CDSParserError = exports.CDSParserErrorConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nclass CDSParserErrorConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CDSParserErrorConf = CDSParserErrorConf;\nclass CDSParserError {\n constructor() {\n this.conf = new CDSParserErrorConf();\n }\n getMetadata() {\n return {\n key: \"cds_parser_error\",\n title: \"CDS Parser Error\",\n shortDescription: `CDS parsing`,\n extendedInformation: `Parses CDS and issues parser errors`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(object) {\n const issues = [];\n if ((object.getType() === \"DDLS\" && object instanceof objects_1.DataDefinition) ||\n (object.getType() === \"DDLX\" && object instanceof objects_1.CDSMetadataExtension)) {\n const hasError = object.hasParserError();\n const file = object.findSourceFile();\n if (hasError === true && file) {\n issues.push(issue_1.Issue.atRow(file, 1, \"CDS Parser error\", this.getMetadata().key, this.getConfig().severity));\n }\n }\n return issues;\n }\n}\nexports.CDSParserError = CDSParserError;\n//# sourceMappingURL=cds_parser_error.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/cds_parser_error.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/chain_mainly_declarations.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/chain_mainly_declarations.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ChainMainlyDeclarations = exports.ChainMainlyDeclarationsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass ChainMainlyDeclarationsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allow definition statements to be chained */\n this.definitions = true;\n /** Allow WRITE statements to be chained */\n this.write = true;\n /** Allow MOVE statements to be chained */\n this.move = true;\n /** Allow REFRESH statements to be chained */\n this.refresh = true;\n /** Allow UNASSIGN statements to be chained */\n this.unassign = true;\n /** Allow CLEAR statements to be chained */\n this.clear = true;\n /** Allow HIDE statements to be chained */\n this.hide = true;\n /** Allow FREE statements to be chained */\n this.free = true;\n /** Allow INCLUDE statements to be chained */\n this.include = true;\n /** Allow CHECK statements to be chained */\n this.check = true;\n /** Allow SORT statements to be chained */\n this.sort = true;\n }\n}\nexports.ChainMainlyDeclarationsConf = ChainMainlyDeclarationsConf;\nclass ChainMainlyDeclarations extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ChainMainlyDeclarationsConf();\n }\n getMetadata() {\n return {\n key: \"chain_mainly_declarations\",\n title: \"Chain mainly declarations\",\n shortDescription: `Chain mainly declarations, allows chaining for the configured statements, reports errors for other statements.`,\n extendedInformation: `\r\nhttps://docs.abapopenchecks.org/checks/23/\r\n\r\nhttps://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abenchained_statements_guidl.htm\r\n`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `CALL METHOD: bar.`,\n goodExample: `CALL METHOD bar.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n let previousRow;\n for (const statementNode of structure.findAllStatementNodes()) {\n const colon = statementNode.getColon();\n if (colon === undefined) {\n continue;\n }\n const statement = statementNode.get();\n if (this.conf.definitions === true\n && (statement instanceof Statements.ClassData\n || statement instanceof Statements.ClassDataBegin\n || statement instanceof Statements.ClassDataEnd\n || statement instanceof Statements.Static\n || statement instanceof Statements.StaticBegin\n || statement instanceof Statements.StaticEnd\n || statement instanceof Statements.Local\n || statement instanceof Statements.Constant\n || statement instanceof Statements.ConstantBegin\n || statement instanceof Statements.ConstantEnd\n || statement instanceof Statements.Controls\n || statement instanceof Statements.Parameter\n || statement instanceof Statements.SelectOption\n || statement instanceof Statements.SelectionScreen\n || statement instanceof Statements.Aliases\n || statement instanceof Statements.Tables\n || statement instanceof Statements.MethodDef\n || statement instanceof Statements.InterfaceDef\n || statement instanceof Statements.Type\n || statement instanceof Statements.TypeBegin\n || statement instanceof Statements.TypeEnd\n || statement instanceof Statements.TypeEnumBegin\n || statement instanceof Statements.TypeEnumEnd\n || statement instanceof Statements.TypeEnum\n || statement instanceof Statements.Events\n || statement instanceof Statements.Ranges\n || statement instanceof Statements.TypePools\n || statement instanceof Statements.FieldSymbol\n || statement instanceof Statements.Data\n || statement instanceof Statements.DataBegin\n || statement instanceof Statements.DataEnd)) {\n continue;\n }\n else if (this.conf.write === true && statement instanceof Statements.Write) {\n continue;\n }\n else if (this.conf.move === true && statement instanceof Statements.Move) {\n continue;\n }\n else if (this.conf.refresh === true && statement instanceof Statements.Refresh) {\n continue;\n }\n else if (this.conf.unassign === true && statement instanceof Statements.Unassign) {\n continue;\n }\n else if (this.conf.clear === true && statement instanceof Statements.Clear) {\n continue;\n }\n else if (this.conf.hide === true && statement instanceof Statements.Hide) {\n continue;\n }\n else if (this.conf.free === true && statement instanceof Statements.Free) {\n continue;\n }\n else if (this.conf.include === true && statement instanceof Statements.Include) {\n continue;\n }\n else if (this.conf.check === true && statement instanceof Statements.Check) {\n continue;\n }\n else if (this.conf.sort === true && statement instanceof Statements.Sort) {\n continue;\n }\n let prevFix;\n if (previousRow === colon.getStart().getRow()) {\n prevFix = (_a = issues.pop()) === null || _a === void 0 ? void 0 : _a.getFix();\n }\n const fix = this.getFix(file, statement, statementNode, prevFix);\n const message = \"Chain mainly declarations\";\n issues.push(issue_1.Issue.atToken(file, statementNode.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix));\n previousRow = statementNode.getColon().getStart().getRow();\n }\n return issues;\n }\n getFix(file, statement, statementNode, prevFix) {\n if (statement instanceof Statements.ClassDataBegin ||\n statement instanceof Statements.ClassDataEnd ||\n statement instanceof Statements.StaticBegin ||\n statement instanceof Statements.StaticEnd ||\n statement instanceof Statements.ConstantBegin ||\n statement instanceof Statements.ConstantEnd ||\n statement instanceof Statements.TypeBegin ||\n statement instanceof Statements.TypeEnd ||\n statement instanceof Statements.TypeEnumBegin ||\n statement instanceof Statements.TypeEnumEnd ||\n statement instanceof Statements.DataBegin ||\n statement instanceof Statements.DataEnd) {\n return undefined;\n }\n let replacement = statementNode.concatTokens();\n replacement = replacement.replace(\",\", \".\");\n let start;\n if (prevFix === undefined) {\n start = statementNode.getStart();\n }\n else {\n start = statementNode.getTokens()[1].getStart();\n }\n let fix = edit_helper_1.EditHelper.replaceRange(file, start, statementNode.getEnd(), replacement);\n if (prevFix !== undefined) {\n fix = edit_helper_1.EditHelper.merge(fix, prevFix);\n }\n return fix;\n }\n}\nexports.ChainMainlyDeclarations = ChainMainlyDeclarations;\n//# sourceMappingURL=chain_mainly_declarations.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/chain_mainly_declarations.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/change_if_to_case.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/change_if_to_case.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ChangeIfToCase = exports.ChangeIfToCaseConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ChangeIfToCaseConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** skip specific names, case insensitive regular expression\n * @uniqueItems true\n */\n this.skipNames = [];\n }\n}\nexports.ChangeIfToCaseConf = ChangeIfToCaseConf;\nclass ChangeIfToCase extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ChangeIfToCaseConf();\n }\n getMetadata() {\n return {\n key: \"change_if_to_case\",\n title: \"Change IF to CASE\",\n shortDescription: `Finds IF constructs that can be changed to CASE`,\n // eslint-disable-next-line max-len\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-case-to-else-if-for-multiple-alternative-conditions\r\n\r\nIf the first comparison is a boolean compare, no issue is reported.`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n badExample: `IF l_fcat-fieldname EQ 'FOO'.\r\nELSEIF l_fcat-fieldname = 'BAR'\r\n OR l_fcat-fieldname = 'MOO'.\r\nENDIF.`,\n goodExample: `CASE l_fcat-fieldname.\r\n WHEN 'FOO'.\r\n WHEN 'BAR' OR 'MOO'.\r\nENDCASE.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues;\n }\n for (const i of stru.findAllStructuresRecursive(Structures.If)) {\n const conds = [];\n const ifStatement = i.findDirectStatement(Statements.If);\n if (ifStatement === undefined) {\n continue;\n }\n if (ifStatement.concatTokens().match(/ (abap_true|abap_false)\\s*\\./i)) {\n continue;\n }\n conds.push(ifStatement === null || ifStatement === void 0 ? void 0 : ifStatement.findDirectExpression(Expressions.Cond));\n for (const ei of i.findDirectStructures(Structures.ElseIf)) {\n conds.push((_a = ei.findDirectStatement(Statements.ElseIf)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Cond));\n }\n if (conds.length === 1) {\n continue;\n }\n const issue = this.analyze(conds);\n if (issue === true) {\n const message = \"Change IF to CASE\";\n issues.push(issue_1.Issue.atStatement(file, ifStatement, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n return issues;\n }\n analyze(conds) {\n var _a, _b, _c, _d, _e;\n const tuples = [];\n for (const c of conds) {\n if (c === undefined) {\n continue;\n }\n if (c.findFirstExpression(Expressions.CondSub)) {\n return false;\n }\n else if (c.findDirectTokenByText(\"AND\") || c.findDirectTokenByText(\"EQUIV\")) {\n return false;\n }\n for (const compare of c.findAllExpressions(Expressions.Compare)) {\n const op = (_a = compare.findDirectExpression(Expressions.CompareOperator)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n if (compare.getChildren().length !== 3) {\n return false;\n }\n else if (op !== \"=\" && op !== \"EQ\") {\n return false;\n }\n const left = (_c = (_b = compare.getChildren()[0]) === null || _b === void 0 ? void 0 : _b.concatTokens()) === null || _c === void 0 ? void 0 : _c.toUpperCase();\n const right = (_e = (_d = compare.getChildren()[2]) === null || _d === void 0 ? void 0 : _d.concatTokens()) === null || _e === void 0 ? void 0 : _e.toUpperCase();\n tuples.push({ left, right });\n }\n }\n if (tuples.length === 1) {\n return false;\n }\n let chain = \"\";\n if (tuples[0].left === tuples[1].left) {\n chain = tuples[0].left;\n }\n else if (tuples[0].left === tuples[1].right) {\n chain = tuples[0].left;\n }\n else if (tuples[0].right === tuples[1].right) {\n chain = tuples[0].right;\n }\n else if (tuples[0].right === tuples[1].left) {\n chain = tuples[0].right;\n }\n else {\n return false;\n }\n for (const skip of this.getConfig().skipNames || []) {\n const reg = new RegExp(skip, \"i\");\n if (chain.match(reg)) {\n return false;\n }\n }\n for (const t of tuples) {\n if (t.left !== chain && t.right !== chain) {\n return false;\n }\n }\n return true;\n }\n}\nexports.ChangeIfToCase = ChangeIfToCase;\n//# sourceMappingURL=change_if_to_case.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/change_if_to_case.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/check_abstract.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/check_abstract.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckAbstract = exports.CheckAbstractConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass CheckAbstractConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckAbstractConf = CheckAbstractConf;\nvar IssueType;\n(function (IssueType) {\n /** Abstract method defined in non-abstract class */\n IssueType[IssueType[\"NotAbstractClass\"] = 0] = \"NotAbstractClass\";\n IssueType[IssueType[\"AbstractAndFinal\"] = 1] = \"AbstractAndFinal\";\n})(IssueType || (IssueType = {}));\nclass CheckAbstract extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CheckAbstractConf();\n }\n getMetadata() {\n return {\n key: \"check_abstract\",\n title: \"Check abstract methods and classes\",\n shortDescription: `Checks abstract methods and classes:\r\n- class defined as abstract and final,\r\n- non-abstract class contains abstract methods`,\n extendedInformation: `If a class defines only constants, use an interface instead`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(issueType, name) {\n switch (issueType) {\n case IssueType.AbstractAndFinal:\n return \"Classes should not be ABSTRACT and FINAL: \" + name;\n case IssueType.NotAbstractClass:\n return \"Abstract methods require abstract classes: \" + name;\n default:\n return \"\";\n }\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const classDef of file.getInfo().listClassDefinitions()) {\n if (classDef.isAbstract === true) {\n if (classDef.isFinal === true && classDef.isForTesting === false) {\n issues.push(issue_1.Issue.atIdentifier(classDef.identifier, this.getDescription(IssueType.AbstractAndFinal, classDef.name), this.getMetadata().key, this.conf.severity));\n }\n continue;\n }\n for (const methodDef of classDef.methods) {\n if (methodDef.isAbstract === true) {\n issues.push(issue_1.Issue.atIdentifier(methodDef.identifier, this.getDescription(IssueType.NotAbstractClass, methodDef.name), this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n}\nexports.CheckAbstract = CheckAbstract;\n//# sourceMappingURL=check_abstract.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/check_abstract.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/check_comments.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/check_comments.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckComments = exports.CheckCommentsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass CheckCommentsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allows the use of end-of-line comments. */\n this.allowEndOfLine = false;\n }\n}\nexports.CheckCommentsConf = CheckCommentsConf;\nvar IssueType;\n(function (IssueType) {\n IssueType[IssueType[\"EndOfLine\"] = 0] = \"EndOfLine\";\n})(IssueType || (IssueType = {}));\nclass CheckComments extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CheckCommentsConf();\n }\n getMetadata() {\n return {\n key: \"check_comments\",\n title: \"Check Comments\",\n shortDescription: `\r\nVarious checks for comment usage.`,\n extendedInformation: `\r\nDetects end of line comments. Comments starting with \"#EC\" or \"##\" are ignored\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#put-comments-before-the-statement-they-relate-to`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: `WRITE 2. \" descriptive comment`,\n goodExample: `\" descriptive comment\\nWRITE 2.`,\n };\n }\n getDescription(issueType) {\n switch (issueType) {\n case IssueType.EndOfLine: return `Do not use end of line comments - move comment to previous row instead`;\n default: return \"\";\n }\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const rows = file.getRawRows();\n if (this.conf.allowEndOfLine === true) {\n return [];\n }\n const commentRows = [];\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n if (row.trim().startsWith(\"*\") || row.trim().startsWith(`\"`)) {\n commentRows.push(i);\n }\n }\n const statements = file.getStatements();\n for (let i = statements.length - 1; i >= 0; i--) {\n const statement = statements[i];\n if (statement.get() instanceof _statement_1.Comment && !commentRows.includes(statement.getStart().getRow() - 1)) {\n if (statement.getFirstToken().getStr().startsWith(`\"#EC`)\n || statement.getFirstToken().getStr().startsWith(`\"##`)) {\n continue;\n }\n issues.push(issue_1.Issue.atStatement(file, statement, this.getDescription(IssueType.EndOfLine), this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.CheckComments = CheckComments;\n//# sourceMappingURL=check_comments.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/check_comments.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/check_ddic.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/check_ddic.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckDDIC = exports.CheckDDICConf = void 0;\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nclass CheckDDICConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckDDICConf = CheckDDICConf;\nclass CheckDDIC {\n constructor() {\n this.conf = new CheckDDICConf();\n }\n getMetadata() {\n return {\n key: \"check_ddic\",\n title: \"Check DDIC\",\n // eslint-disable-next-line max-len\n shortDescription: `Checks the types of DDIC objects can be resolved, the namespace of the development/errors can be configured in \"errorNamespace\" `,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n let found = undefined;\n if (obj instanceof Objects.DataElement\n || obj instanceof Objects.Domain\n || obj instanceof Objects.Table\n || obj instanceof Objects.View\n || obj instanceof Objects.AuthorizationCheckField\n || obj instanceof Objects.LockObject\n || obj instanceof Objects.MaintenanceAndTransportObject\n || obj instanceof Objects.TableType) {\n found = obj.parseType(this.reg);\n }\n else {\n return [];\n }\n return this.check(found, obj);\n }\n check(found, obj) {\n const ret = [];\n if (found instanceof basic_1.UnknownType) {\n const position = new position_1.Position(1, 1);\n const message = \"Unknown/un-resolveable type in \" + obj.getName() + \": \" + found.getError();\n ret.push(issue_1.Issue.atPosition(obj.getFiles()[0], position, message, this.getMetadata().key, this.conf.severity));\n }\n else if (found instanceof basic_1.StructureType) {\n // assumption: no circular types\n for (const c of found.getComponents()) {\n ret.push(...this.check(c.type instanceof _typed_identifier_1.TypedIdentifier ? c.type.getType() : c.type, obj));\n }\n }\n else if (found instanceof basic_1.TableType) {\n ret.push(...this.check(found.getRowType(), obj));\n }\n // todo, reference types?\n return ret;\n }\n}\nexports.CheckDDIC = CheckDDIC;\n//# sourceMappingURL=check_ddic.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/check_ddic.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/check_include.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/check_include.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckInclude = exports.CheckIncludeConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst include_graph_1 = __webpack_require__(/*! ../utils/include_graph */ \"./node_modules/@abaplint/core/build/src/utils/include_graph.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass CheckIncludeConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckIncludeConf = CheckIncludeConf;\nclass CheckInclude {\n constructor() {\n this.conf = new CheckIncludeConf();\n }\n getMetadata() {\n return {\n key: \"check_include\",\n title: \"Check INCLUDEs\",\n shortDescription: `Checks INCLUDE statements`,\n extendedInformation: `\r\n* Reports unused includes\r\n* Errors if the includes are not found\r\n* Error if including a main program`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n this.graph = new include_graph_1.IncludeGraph(this.reg);\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n let ret = [];\n for (const file of obj.getABAPFiles()) {\n ret = ret.concat(this.graph.getIssuesFile(file));\n }\n return ret;\n }\n}\nexports.CheckInclude = CheckInclude;\n//# sourceMappingURL=check_include.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/check_include.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/check_subrc.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/check_subrc.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckSubrc = exports.CheckSubrcConf = void 0;\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 issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass CheckSubrcConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.openDataset = true;\n this.authorityCheck = true;\n this.selectSingle = true;\n this.selectTable = true;\n this.updateDatabase = true;\n this.insertDatabase = true;\n this.modifyDatabase = true;\n this.readTable = true;\n this.assign = true;\n this.find = true;\n }\n}\nexports.CheckSubrcConf = CheckSubrcConf;\nclass CheckSubrc extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CheckSubrcConf();\n }\n getMetadata() {\n return {\n key: \"check_subrc\",\n title: \"Check sy-subrc\",\n shortDescription: `Check sy-subrc`,\n extendedInformation: `Pseudo comment \"#EC CI_SUBRC can be added to suppress findings\r\n\r\nIf sy-dbcnt is checked after database statements, it is considered okay.\r\n\r\n\"SELECT SINGLE @abap_true FROM \" is considered as an existence check\r\n\r\nIf IS ASSIGNED is checked after assigning, it is considered okay.\r\n\r\nFIND statement with MATCH COUNT is considered okay if subrc is not checked`,\n tags: [_irule_1.RuleTag.SingleFile],\n pseudoComment: \"EC CI_SUBRC\",\n pragma: \"##SUBRC_OK\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const statements = file.getStatements();\n const message = \"Check sy-subrc\";\n const config = this.getConfig();\n for (let i = 0; i < statements.length; i++) {\n const statement = statements[i];\n // todo: CALL FUNCTION\n if (statement.getPragmas().some(t => t.getStr() === this.getMetadata().pragma)) {\n continue;\n }\n if (config.openDataset === true\n && statement.get() instanceof Statements.OpenDataset\n && this.isChecked(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.authorityCheck === true\n && statement.get() instanceof Statements.AuthorityCheck\n && this.isChecked(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.selectSingle === true\n && statement.get() instanceof Statements.Select\n && statement.concatTokens().toUpperCase().startsWith(\"SELECT SINGLE \")\n && this.isChecked(i, statements) === false\n && this.checksDbcnt(i, statements) === false) {\n const concat = statement.concatTokens().toUpperCase();\n if (concat.startsWith(\"SELECT SINGLE @ABAP_TRUE FROM \")) {\n continue;\n }\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.selectTable === true\n && statement.get() instanceof Statements.Select\n && statement.concatTokens().toUpperCase().startsWith(\"SELECT SINGLE \") === false\n && this.isChecked(i, statements) === false\n && this.checksDbcnt(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.updateDatabase === true\n && statement.get() instanceof Statements.UpdateDatabase\n && this.isChecked(i, statements) === false\n && this.checksDbcnt(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.insertDatabase === true\n && statement.get() instanceof Statements.InsertDatabase\n && this.isChecked(i, statements) === false\n && this.checksDbcnt(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.modifyDatabase === true\n && statement.get() instanceof Statements.ModifyDatabase\n && this.isChecked(i, statements) === false\n && this.checksDbcnt(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.readTable === true\n && statement.get() instanceof Statements.ReadTable\n && this.isChecked(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.assign === true\n && statement.get() instanceof Statements.Assign\n && this.isChecked(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n else if (config.find === true\n && statement.get() instanceof Statements.Find\n && this.isExemptedFind(statement) === false\n && this.isChecked(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n ////////////////\n isExemptedFind(s) {\n // see https://github.com/abaplint/abaplint/issues/2130\n return s.concatTokens().toUpperCase().includes(\" MATCH COUNT \") === true;\n }\n checksDbcnt(index, statements) {\n for (let i = index + 1; i < statements.length; i++) {\n const statement = statements[i];\n const concat = statement.concatTokens().toUpperCase();\n if (statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n else if (statement.get() instanceof Statements.EndIf) {\n continue;\n }\n else {\n return concat.includes(\"SY-DBCNT\");\n }\n }\n return false;\n }\n isChecked(index, statements) {\n var _a, _b;\n let assigned = undefined;\n let assignedn = undefined;\n if (statements[index].get() instanceof Statements.Assign\n || statements[index].get() instanceof Statements.ReadTable) {\n const fs = (_b = (_a = statements[index].findFirstExpression(Expressions.FSTarget)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(Expressions.FieldSymbol)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();\n assigned = (fs === null || fs === void 0 ? void 0 : fs.toUpperCase()) + \" IS ASSIGNED\";\n assignedn = (fs === null || fs === void 0 ? void 0 : fs.toUpperCase()) + \" IS NOT ASSIGNED\";\n }\n for (let i = index + 1; i < statements.length; i++) {\n const statement = statements[i];\n const concat = statement.concatTokens().toUpperCase();\n if (statement.get() instanceof _statement_1.Comment) {\n if (concat.includes(\"\" + this.getMetadata().pseudoComment)) {\n return true;\n }\n }\n else if (statement.get() instanceof Statements.EndIf) {\n continue;\n }\n else {\n if (assigned && concat.includes(assigned)) {\n return true;\n }\n if (assignedn && concat.includes(assignedn)) {\n return true;\n }\n return concat.includes(\" SY-SUBRC\")\n || concat.includes(\"CL_ABAP_UNIT_ASSERT=>ASSERT_SUBRC\");\n }\n }\n return false;\n }\n}\nexports.CheckSubrc = CheckSubrc;\n//# sourceMappingURL=check_subrc.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/check_subrc.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/check_syntax.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/check_syntax.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckSyntax = exports.CheckSyntaxConf = void 0;\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst severity_1 = __webpack_require__(/*! ../severity */ \"./node_modules/@abaplint/core/build/src/severity.js\");\nclass CheckSyntaxConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckSyntaxConf = CheckSyntaxConf;\nclass CheckSyntax {\n constructor() {\n this.conf = new CheckSyntaxConf();\n }\n getMetadata() {\n return {\n key: \"check_syntax\",\n title: \"Check syntax\",\n shortDescription: `Enables syntax check and variable resolution`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const issues = new syntax_1.SyntaxLogic(this.reg, obj).run().issues;\n // the syntax logic does not know the rule severity when its run\n if (this.conf.severity\n && this.conf.severity !== severity_1.Severity.Error) {\n issues.forEach((value, index) => {\n const data = value.getData();\n data.severity = this.conf.severity;\n issues[index] = new issue_1.Issue(data);\n });\n }\n return issues;\n }\n}\nexports.CheckSyntax = CheckSyntax;\n//# sourceMappingURL=check_syntax.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/check_syntax.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/check_text_elements.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/check_text_elements.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckTextElements = exports.CheckTextElementsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst include_graph_1 = __webpack_require__(/*! ../utils/include_graph */ \"./node_modules/@abaplint/core/build/src/utils/include_graph.js\");\nclass CheckTextElementsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckTextElementsConf = CheckTextElementsConf;\nclass CheckTextElements {\n constructor() {\n this.conf = new CheckTextElementsConf();\n }\n getMetadata() {\n return {\n key: \"check_text_elements\",\n title: \"Check text elements\",\n shortDescription: `Check text elements exists or matches code`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n this.graph = new include_graph_1.IncludeGraph(this.reg);\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const output = [];\n for (const file of obj.getABAPFiles()) {\n const stru = file.getStructure();\n if (stru === undefined) {\n continue;\n }\n let texts;\n let mainName = undefined;\n const expressions = stru.findAllExpressionsMulti([Expressions.TextElement, Expressions.TextElementString]);\n // optimize: no need to find main and texts if there are no expressions to check\n if (expressions.length > 0) {\n const mains = this.graph.listMainForInclude(file.getFilename());\n if (mains.length === 1) {\n // todo, this only checks the first main\n mainName = mains[0];\n const main1 = this.reg.findObjectForFile(this.reg.getFileByName(mains[0]));\n texts = main1.getTexts();\n }\n else {\n texts = obj.getTexts();\n }\n }\n for (const e of expressions) {\n if (e.get() instanceof Expressions.TextElement) {\n const token = e.findFirstExpression(Expressions.TextElementKey).getFirstToken();\n const key = token.getStr().toUpperCase();\n if (texts[key] === undefined) {\n const message = `Text element \"${key}\" not found` + (mainName ? \", \" + mainName : \"\");\n output.push(issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity));\n }\n }\n else {\n // its a Expressions.TextElementString\n const token = e.findFirstExpression(Expressions.TextElementKey).getFirstToken();\n const code = e.getFirstToken().getStr();\n const key = token.getStr().toUpperCase();\n let found = texts[key];\n if (found && code.startsWith(\"'\")) {\n found = found.replace(/'/g, \"''\");\n }\n if (found === undefined) {\n const message = `Text element \"${key}\" not found` + (mainName ? \", \" + mainName : \"\");\n output.push(issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity));\n }\n else if (code !== \"'\" + found + \"'\"\n && code !== \"`\" + found + \"`\") {\n output.push(issue_1.Issue.atToken(file, token, \"Text does not match text element\", this.getMetadata().key, this.conf.severity));\n }\n }\n }\n }\n return output;\n }\n}\nexports.CheckTextElements = CheckTextElements;\n//# sourceMappingURL=check_text_elements.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/check_text_elements.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/check_transformation_exists.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/check_transformation_exists.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CheckTransformationExists = exports.CheckTransformationExistsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass CheckTransformationExistsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CheckTransformationExistsConf = CheckTransformationExistsConf;\nclass CheckTransformationExists extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CheckTransformationExistsConf();\n }\n getMetadata() {\n return {\n key: \"check_transformation_exists\",\n title: \"Check transformation exists\",\n shortDescription: `Checks that used XSLT transformations exist.`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getDescription(name) {\n return \"Transformation \\\"\" + name + \"\\\" not found\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const output = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n for (const s of file.getStatements()) {\n if (s.get() instanceof statements_1.CallTransformation) {\n const nameExpression = s.findFirstExpression(expressions_1.NamespaceSimpleName);\n if (nameExpression === undefined) {\n continue;\n }\n const tok = nameExpression.getFirstToken();\n const name = tok.getStr();\n if (this.reg.inErrorNamespace(name) === true\n && this.reg.getObject(\"XSLT\", name) === undefined) {\n const issue = issue_1.Issue.atToken(file, tok, this.getDescription(name), this.getMetadata().key);\n output.push(issue);\n }\n }\n }\n return output;\n }\n}\nexports.CheckTransformationExists = CheckTransformationExists;\n//# sourceMappingURL=check_transformation_exists.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/check_transformation_exists.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/class_attribute_names.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/class_attribute_names.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassAttributeNames = exports.ClassAttributeNamesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"./node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _abap_file_information_1 = __webpack_require__(/*! ../abap/4_file_information/_abap_file_information */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nclass ClassAttributeNamesConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore global exception classes */\n this.ignoreExceptions = true;\n /** Ignore local classes */\n this.ignoreLocal = true;\n /** Ignore interfaces */\n this.ignoreInterfaces = false;\n /** The pattern for static variable names */\n this.statics = \"^G._.+$\";\n /** The pattern for instance variable names */\n this.instance = \"^M._.+$\";\n /** The pattern for constant variable names */\n this.constants = \"\";\n }\n}\nexports.ClassAttributeNamesConf = ClassAttributeNamesConf;\nclass ClassAttributeNames extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ClassAttributeNamesConf();\n }\n getMetadata() {\n return {\n key: \"class_attribute_names\",\n title: \"Class attributes naming\",\n shortDescription: `Allows you to enforce a pattern, such as a prefix, for class variable names.`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(actual, expected) {\n return this.conf.patternKind === \"required\" ?\n \"Class attribute name \\\"\" + actual + \"\\\" does not match pattern \" + expected :\n \"Class attribute name \\\"\" + actual + \"\\\" must not match pattern \" + expected;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n let issues = [];\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n let attributes = [];\n const ddic = new ddic_1.DDIC(this.reg);\n for (const classDef of file.getInfo().listClassDefinitions()) {\n if ((classDef.isLocal && this.conf.ignoreLocal)\n || (ddic.isException(classDef, obj) && this.conf.ignoreExceptions)) {\n continue;\n }\n attributes = attributes.concat(classDef.attributes);\n }\n if (this.conf.ignoreInterfaces === false) {\n for (const intfDef of file.getInfo().listInterfaceDefinitions()) {\n if (intfDef.isLocal && this.conf.ignoreLocal) {\n continue;\n }\n attributes = attributes.concat(intfDef.attributes);\n }\n }\n issues = this.checkAttributes(attributes);\n return issues;\n }\n checkAttributes(attr) {\n if (attr === undefined) {\n return [];\n }\n let ret = [];\n for (const a of attr) {\n switch (a.level) {\n case _abap_file_information_1.AttributeLevel.Instance:\n ret = ret.concat(this.checkName(a.identifier, this.conf.instance));\n break;\n case _abap_file_information_1.AttributeLevel.Static:\n ret = ret.concat(this.checkName(a.identifier, this.conf.statics));\n break;\n case _abap_file_information_1.AttributeLevel.Constant:\n ret = ret.concat(this.checkName(a.identifier, this.conf.constants));\n break;\n default:\n break;\n }\n }\n return ret;\n }\n checkName(attr, expected) {\n const ret = [];\n const regex = new RegExp(expected, \"i\");\n const name = attr.getName();\n if (name_validator_1.NameValidator.violatesRule(name, regex, this.conf)) {\n const issue = issue_1.Issue.atIdentifier(attr, this.getDescription(name, expected), this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n return ret;\n }\n}\nexports.ClassAttributeNames = ClassAttributeNames;\n//# sourceMappingURL=class_attribute_names.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/class_attribute_names.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/classic_exceptions_overlap.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/classic_exceptions_overlap.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ClassicExceptionsOverlap = exports.ClassicExceptionsOverlapConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ClassicExceptionsOverlapConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ClassicExceptionsOverlapConf = ClassicExceptionsOverlapConf;\nclass ClassicExceptionsOverlap extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ClassicExceptionsOverlapConf();\n }\n getMetadata() {\n return {\n key: \"classic_exceptions_overlap\",\n title: \"Classic exceptions overlap when catching\",\n shortDescription: `Find overlapping classic exceptions`,\n extendedInformation: `When debugging its typically good to know exactly which exception is caught`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `CALL FUNCTION 'SOMETHING'\r\n EXCEPTIONS\r\n system_failure = 1 MESSAGE lv_message\r\n communication_failure = 1 MESSAGE lv_message\r\n resource_failure = 1\r\n OTHERS = 1.`,\n goodExample: `CALL FUNCTION 'SOMETHING'\r\n EXCEPTIONS\r\n system_failure = 1 MESSAGE lv_message\r\n communication_failure = 2 MESSAGE lv_message\r\n resource_failure = 3\r\n OTHERS = 4.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const output = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return []; // syntax error\n }\n for (const p of struc.findAllExpressions(Expressions.ParameterListExceptions)) {\n const set = new Set();\n for (const e of p.findAllExpressions(Expressions.ParameterException)) {\n const text = (_a = e.findDirectExpression(Expressions.SimpleName)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n if (text === undefined) {\n continue;\n }\n if (set.has(text)) {\n const message = \"Exception overlap, \" + text;\n const issue = issue_1.Issue.atToken(file, e.getFirstToken(), message, this.getMetadata().key, this.getConfig().severity);\n output.push(issue);\n break;\n }\n set.add(text);\n }\n }\n return output;\n }\n}\nexports.ClassicExceptionsOverlap = ClassicExceptionsOverlap;\n//# sourceMappingURL=classic_exceptions_overlap.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/classic_exceptions_overlap.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/cloud_types.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/cloud_types.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CloudTypes = exports.CloudTypesConf = void 0;\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass CloudTypesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.CloudTypesConf = CloudTypesConf;\nclass CloudTypes {\n constructor() {\n this.conf = new CloudTypesConf();\n }\n getMetadata() {\n return {\n key: \"cloud_types\",\n title: \"Check cloud types\",\n shortDescription: `Checks that the package does not contain any object types unsupported in cloud ABAP.`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(objectType) {\n return \"Object type \" + objectType + \" not supported in cloud\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (this.reg.getConfig().getVersion() !== version_1.Version.Cloud\n || obj instanceof Objects.AssignmentServiceToAuthorizationGroup\n || obj instanceof Objects.AuthorizationCheckField\n || obj instanceof Objects.AuthorizationObject\n || obj instanceof Objects.AuthorizationObjectExtension\n || obj instanceof Objects.BehaviorDefinition\n || obj instanceof Objects.BusinessCatalog\n || obj instanceof Objects.BusinessCatalogAppAssignment\n || obj instanceof Objects.CDSMetadataExtension\n || obj instanceof Objects.RestrictionField\n || obj instanceof Objects.Class\n || obj instanceof Objects.CommunicationScenario\n || obj instanceof Objects.DataControl\n || obj instanceof Objects.DataDefinition\n || obj instanceof Objects.DataElement\n || obj instanceof Objects.Domain\n || obj instanceof Objects.FunctionGroup\n || obj instanceof Objects.HttpService\n || obj instanceof Objects.IAMApp\n || obj instanceof Objects.InboundService\n || obj instanceof Objects.Interface\n || obj instanceof Objects.LockObject\n || obj instanceof Objects.ATCCheckCategory\n || obj instanceof Objects.ATCCheckObject\n || obj instanceof Objects.ATCCheckVariant\n || obj instanceof Objects.MessageClass\n || obj instanceof Objects.Package\n || obj instanceof Objects.RestrictionType\n || obj instanceof Objects.ServiceBinding\n || obj instanceof Objects.ServiceDefinition\n || obj instanceof Objects.Table\n || obj instanceof Objects.TableType\n || obj instanceof Objects.Transformation) {\n return [];\n }\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, this.getDescription(obj.getType()), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n}\nexports.CloudTypes = CloudTypes;\n//# sourceMappingURL=cloud_types.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/cloud_types.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/colon_missing_space.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/colon_missing_space.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ColonMissingSpace = exports.ColonMissingSpaceConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ColonMissingSpaceConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ColonMissingSpaceConf = ColonMissingSpaceConf;\nclass ColonMissingSpace extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ColonMissingSpaceConf();\n }\n getMetadata() {\n return {\n key: \"colon_missing_space\",\n title: \"Colon missing space\",\n shortDescription: `Checks for missing spaces after colons in chained statements.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `WRITE:hello, world.`,\n goodExample: `WRITE: hello, world.`,\n };\n }\n getMessage() {\n return \"Missing space after the colon\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const tokens = file.getTokens();\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.getStr() === \":\"\n && tokens[i + 1] !== undefined\n && tokens[i + 1].getRow() === token.getRow()\n && tokens[i + 1].getCol() === token.getCol() + 1) {\n const start = token.getStart();\n const end = new position_1.Position(start.getRow(), start.getCol() + 1);\n const fix = edit_helper_1.EditHelper.insertAt(file, end, \" \");\n const issue = issue_1.Issue.atRange(file, start, end, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.ColonMissingSpace = ColonMissingSpace;\n//# sourceMappingURL=colon_missing_space.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/colon_missing_space.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/commented_code.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/commented_code.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CommentedCode = exports.CommentedCodeConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst abap_parser_1 = __webpack_require__(/*! ../abap/abap_parser */ \"./node_modules/@abaplint/core/build/src/abap/abap_parser.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst memory_file_1 = __webpack_require__(/*! ../files/memory_file */ \"./node_modules/@abaplint/core/build/src/files/memory_file.js\");\nclass CommentedCodeConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allow INCLUDEs in function groups */\n this.allowIncludeInFugr = true;\n }\n}\nexports.CommentedCodeConf = CommentedCodeConf;\nclass CommentedCode extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new CommentedCodeConf();\n }\n getMetadata() {\n return {\n key: \"commented_code\",\n title: \"Find commented code\",\n shortDescription: `Detects usage of commented out code.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#delete-code-instead-of-commenting-it\r\nhttps://docs.abapopenchecks.org/checks/14/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Commented code\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n let issues = [];\n const rows = file.getRawRows();\n let code = \"\";\n let posEnd = undefined;\n let posStart = undefined;\n for (let i = 0; i < rows.length; i++) {\n if (this.isCommentLine(rows[i])) {\n if (code === \"\") {\n posStart = new position_1.Position(i + 1, 1);\n }\n code = code + rows[i].trim().substr(1) + \"\\n\";\n posEnd = new position_1.Position(i + 1, rows[i].length + 1);\n }\n else if (code !== \"\" && posStart && posEnd) {\n issues = issues.concat(this.check(code.trim(), file, posStart, posEnd, obj));\n code = \"\";\n }\n }\n if (posStart && posEnd) {\n issues = issues.concat(this.check(code.trim(), file, posStart, posEnd, obj));\n }\n return issues;\n }\n check(code, file, posStart, posEnd, obj) {\n // assumption: code must end with \".\" in order to be valid ABAP\n if (code === \"\" || code.charAt(code.length - 1) !== \".\") {\n return [];\n }\n const commented = new memory_file_1.MemoryFile(\"_foobar.prog.abap\", code);\n const abapFile = new abap_parser_1.ABAPParser().parse([commented]).output[0];\n const statementNodes = abapFile.getStatements();\n if (statementNodes.length === 0) {\n return [];\n }\n let containsStatement = false;\n for (const statementNode of statementNodes) {\n const statement = statementNode.get();\n if (this.getConfig().allowIncludeInFugr === true\n && obj instanceof objects_1.FunctionGroup\n && statement instanceof statements_1.Include) {\n continue;\n }\n if (!(statement instanceof _statement_1.Unknown\n || statement instanceof _statement_1.Empty\n || statement instanceof _statement_1.Comment)) {\n containsStatement = true;\n break;\n }\n }\n if (!containsStatement) {\n return [];\n }\n const fix = edit_helper_1.EditHelper.deleteRange(file, posStart, posEnd);\n const issue = issue_1.Issue.atRange(file, posStart, posEnd, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n return [issue];\n }\n isCommentLine(text) {\n return (text.substr(0, 1) === \"*\")\n || (text.trim().substr(0, 1) === \"\\\"\" && text.trim().substr(1, 1) !== \"!\");\n }\n}\nexports.CommentedCode = CommentedCode;\n//# sourceMappingURL=commented_code.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/commented_code.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/constant_classes.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/constant_classes.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstantClasses = exports.ConstantClassesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/index.js\");\n/** Checks that constants classes are in sync with domain fixed values */\nclass ConstantClassesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Specify a list of domain-class pairs which will be validated */\n this.mapping = [];\n }\n}\nexports.ConstantClassesConf = ConstantClassesConf;\nclass ConstantClasses {\n constructor() {\n this.conf = new ConstantClassesConf();\n }\n getMetadata() {\n return {\n key: \"constant_classes\",\n title: \"Validate constant classes\",\n shortDescription: `Checks that a class contains exactly the constants corresponding to a domain's fixed values.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-enumeration-classes-to-constants-interfaces`,\n tags: [_irule_1.RuleTag.Styleguide],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (this.conf\n && this.conf.mapping\n && obj instanceof __1.Objects.Domain) {\n const configEntry = this.conf.mapping.find(x => x.domain.toUpperCase() === obj.getName().toUpperCase());\n if (!configEntry) {\n return [];\n }\n const classWithConstants = this.reg.getObject(\"CLAS\", configEntry === null || configEntry === void 0 ? void 0 : configEntry.class.toUpperCase());\n if (!classWithConstants) {\n return [issue_1.Issue.atIdentifier(obj.getIdentifier(), `Constant class pattern implementation ${configEntry.class} missing for domain ${configEntry.domain}`, this.getMetadata().key, this.conf.severity)];\n // quickfix will implement the whole class\n }\n const classContents = classWithConstants.getMainABAPFile();\n if (classContents === undefined) {\n return [];\n }\n const def = classWithConstants.getClassDefinition();\n if (!def) {\n // this issue is checked by rule implement_methods.\n // we will not issue errors that all constants are missing until there is a class implementation\n return [];\n }\n const domainValueInfo = obj.getFixedValues();\n const domainValues = domainValueInfo.map(x => x.low);\n const issues = [];\n if (obj.getFixedValues().length === 0) {\n // possibly this is not even a domain with fixed values\n issues.push(issue_1.Issue.atStatement(classContents, classContents.getStatements()[0], `Domain ${configEntry.domain} does not contain any fixed values. Either add some values or disable this check`, this.getMetadata().key, this.conf.severity));\n }\n // later we will raise an issue if we did not find it\n let domainNameConstantFound = false;\n for (const constant of def.constants) {\n if (configEntry.constantForDomainName\n && constant.name === configEntry.constantForDomainName) {\n // we require the constant value to be uppercase just in case\n // in the config it does not matter\n if (constant.value !== configEntry.domain.toLocaleUpperCase()) {\n issues.push(this.issueAtConstant(constant, `Constant value ${constant.value} must match domain name ${configEntry.domain} `));\n }\n domainNameConstantFound = true;\n continue;\n }\n if (configEntry.useExactType && constant.typeName.toLowerCase() !== configEntry.domain.toLowerCase()) {\n issues.push(this.issueAtConstant(constant, `Use exact type ${configEntry.domain} instead of ${constant.typeName}`));\n // quickfix will change the type\n }\n if (constant.visibility !== __1.Visibility.Public) {\n issues.push(this.issueAtConstant(constant, `Constant ${constant.name} should be public`));\n // quickfix will move constant\n }\n if (!domainValues.includes(constant.value)) {\n issues.push(this.issueAtConstant(constant, `Extra constant ${constant.name} found which is not present in domain ${configEntry.domain}`));\n // quickfix will remove constant\n }\n }\n for (const d of domainValueInfo) {\n if (!def.constants.find(c => c.value === d.low)) {\n issues.push(issue_1.Issue.atStatement(classContents, classContents.getStatements()[0], `Missing constant for ${d.low} (domain ${configEntry.domain})`, this.getMetadata().key, this.conf.severity));\n // quickfix will add constant\n }\n }\n if (configEntry.constantForDomainName && !domainNameConstantFound) {\n issues.push(issue_1.Issue.atStatement(classContents, classContents.getStatements()[0], `Missing constant ${configEntry.constantForDomainName} for name of domain ${configEntry.domain}`, this.getMetadata().key, this.conf.severity));\n }\n return issues;\n }\n return [];\n }\n issueAtConstant(constant, message) {\n return issue_1.Issue.atIdentifier(constant.identifier, message, this.getMetadata().key, this.conf.severity);\n }\n}\nexports.ConstantClasses = ConstantClasses;\n//# sourceMappingURL=constant_classes.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/constant_classes.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/constructor_visibility_public.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/constructor_visibility_public.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ConstructorVisibilityPublic = exports.ConstructorVisibilityPublicConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst visibility_1 = __webpack_require__(/*! ../abap/4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nclass ConstructorVisibilityPublicConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ConstructorVisibilityPublicConf = ConstructorVisibilityPublicConf;\nclass ConstructorVisibilityPublic {\n constructor() {\n this.conf = new ConstructorVisibilityPublicConf();\n }\n getMetadata() {\n return {\n key: \"constructor_visibility_public\",\n title: \"Check constructor visibility is public\",\n shortDescription: `Constructor must be placed in the public section, even if the class is not CREATE PUBLIC.`,\n extendedInformation: `\r\nThis only applies to global classes.\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#if-your-global-class-is-create-private-leave-the-constructor-public\r\nhttps://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abeninstance_constructor_guidl.htm`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Constructor visibility should be public\";\n }\n getConfig() {\n return this.conf;\n }\n initialize(_reg) {\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const issues = [];\n if (!(obj instanceof objects_1.Class)) {\n return [];\n }\n const def = obj.getClassDefinition();\n if (def === undefined) {\n return [];\n }\n for (const method of def.methods) {\n if (method.name.toUpperCase() === \"CONSTRUCTOR\"\n && method.visibility !== visibility_1.Visibility.Public) {\n const issue = issue_1.Issue.atIdentifier(method.identifier, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.ConstructorVisibilityPublic = ConstructorVisibilityPublic;\n//# sourceMappingURL=constructor_visibility_public.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/constructor_visibility_public.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/contains_tab.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/contains_tab.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ContainsTab = exports.ContainsTabConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass ContainsTabConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** quick fix replace with number of spaces */\n this.spaces = 1;\n }\n}\nexports.ContainsTabConf = ContainsTabConf;\nclass ContainsTab extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ContainsTabConf();\n }\n getMetadata() {\n return {\n key: \"contains_tab\",\n title: \"Code contains tab\",\n shortDescription: `Checks for usage of tabs (enable to enforce spaces)`,\n extendedInformation: `\r\nhttps://docs.abapopenchecks.org/checks/09/\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#indent-and-snap-to-tab`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Code should not contain tabs\";\n }\n getConfig() {\n if (this.conf.spaces === undefined) {\n this.conf.spaces = 1;\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const lines = file.getRaw().split(\"\\n\");\n lines.forEach((_, i) => {\n const tabCol = lines[i].indexOf(\"\\t\");\n if (tabCol >= 0) {\n let tabAmount = 1;\n while (lines[i].indexOf(\"\\t\", tabCol + tabAmount - 1) >= 0) {\n tabAmount++;\n }\n issues.push(this.createIssue(i, tabCol, tabAmount, file));\n }\n });\n return issues;\n }\n createIssue(line, tabCol, tabAmount, file) {\n const tabStartPos = new position_1.Position(line + 1, tabCol + 1);\n const tabEndPos = new position_1.Position(line + 1, tabCol + tabAmount);\n const fix = edit_helper_1.EditHelper.replaceRange(file, tabStartPos, tabEndPos, \" \".repeat(this.getConfig().spaces));\n return issue_1.Issue.atRange(file, tabStartPos, tabEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n }\n}\nexports.ContainsTab = ContainsTab;\n//# sourceMappingURL=contains_tab.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/contains_tab.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/cyclic_oo.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/cyclic_oo.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CyclicOO = exports.CyclicOOConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.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 _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass CyclicOOConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** List of object names to skip, must be full upper case name\n * @uniqueItems true\n */\n this.skip = [];\n /** Skips shared memory enabled classes */\n this.skipSharedMemory = true;\n /** Skip testclass inclues */\n this.skipTestclasses = true;\n }\n}\nexports.CyclicOOConf = CyclicOOConf;\nclass CyclicOO {\n constructor() {\n this.conf = new CyclicOOConf();\n this.edges = {};\n }\n getMetadata() {\n return {\n key: \"cyclic_oo\",\n title: \"Cyclic OO\",\n shortDescription: `Finds cyclic OO references`,\n extendedInformation: `Runs for global INTF + CLAS objects\r\n\r\nObjects must be without syntax errors for this rule to take effect\r\n\r\nReferences in testclass includes are ignored`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.skip === undefined) {\n this.conf.skip = [];\n }\n }\n initialize(reg) {\n var _a;\n this.reg = reg;\n this.edges = {};\n for (const obj of this.reg.getObjectsByType(\"CLAS\")) {\n if (this.reg.isDependency(obj)) {\n continue;\n }\n const name = obj.getName().toUpperCase();\n if (!(obj instanceof objects_1.Class)) {\n continue;\n }\n else if (this.conf.skip.indexOf(name) >= 0) {\n continue;\n }\n else if (this.conf.skipSharedMemory === true && ((_a = obj.getClassDefinition()) === null || _a === void 0 ? void 0 : _a.isSharedMemory) === true) {\n continue;\n }\n const run = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (run.issues.length > 0) {\n continue;\n }\n this.buildEdges(name, run.spaghetti.getTop());\n }\n for (const obj of this.reg.getObjectsByType(\"INTF\")) {\n if (this.reg.isDependency(obj)) {\n continue;\n }\n const name = obj.getName().toUpperCase();\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n continue;\n }\n else if (this.conf.skip.indexOf(name) >= 0) {\n continue;\n }\n const run = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (run.issues.length > 0) {\n continue;\n }\n this.buildEdges(name, run.spaghetti.getTop());\n }\n return this;\n }\n run(obj) {\n if (!(obj instanceof objects_1.Interface) && !(obj instanceof objects_1.Class)) {\n return [];\n }\n const id = obj.getIdentifier();\n if (id === undefined) {\n return [];\n }\n const previous = {};\n previous[obj.getName()] = true;\n const path = this.findCycle(obj.getName(), obj.getName(), previous);\n if (path) {\n const message = \"Cyclic definition/usage: \" + obj.getName() + \" -> \" + path;\n return [issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.conf.severity)];\n }\n return [];\n }\n /////////////////////////////\n findCycle(source, current, previous) {\n if (this.edges[current] === undefined) {\n return undefined;\n }\n for (const e of this.edges[current]) {\n if (e === source) {\n return e;\n }\n if (previous[e] === undefined) { // dont revisit vertices\n previous[e] = true;\n const found = this.findCycle(source, e, previous);\n if (found) {\n return e + \" -> \" + found;\n }\n }\n }\n return undefined;\n }\n buildEdges(from, node) {\n var _a;\n for (const r of node.getData().references) {\n if (r.resolved === undefined\n || node.getIdentifier().filename === r.resolved.getFilename()\n || r.resolved.getFilename() === _builtin_1.BuiltIn.filename) {\n continue;\n }\n if (this.conf.skipTestclasses === true\n && (r.position.getFilename().includes(\".testclasses.\")\n || r.resolved.getFilename().includes(\".testclasses.\"))) {\n continue;\n }\n if (r.referenceType === _reference_1.ReferenceType.ObjectOrientedReference\n && ((_a = r.extra) === null || _a === void 0 ? void 0 : _a.ooName)) {\n if (this.edges[from] === undefined) {\n this.edges[from] = [];\n }\n const name = r.extra.ooName.toUpperCase();\n if (name !== from && this.edges[from].indexOf(name) < 0) {\n const obj = this.reg.getObject(\"INTF\", name) || this.reg.getObject(\"CLAS\", name);\n if (obj && this.reg.isDependency(obj)) {\n continue;\n }\n this.edges[from].push(name);\n }\n }\n }\n for (const c of node.getChildren()) {\n this.buildEdges(from, c);\n }\n }\n}\nexports.CyclicOO = CyclicOO;\n//# sourceMappingURL=cyclic_oo.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/cyclic_oo.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/cyclomatic_complexity.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/cyclomatic_complexity.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CyclomaticComplexity = exports.CyclomaticComplexityConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst cyclomatic_complexity_stats_1 = __webpack_require__(/*! ../utils/cyclomatic_complexity_stats */ \"./node_modules/@abaplint/core/build/src/utils/cyclomatic_complexity_stats.js\");\nclass CyclomaticComplexityConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.max = 20;\n }\n}\nexports.CyclomaticComplexityConf = CyclomaticComplexityConf;\nclass CyclomaticComplexity {\n constructor() {\n this.conf = new CyclomaticComplexityConf();\n }\n getMetadata() {\n return {\n key: \"cyclomatic_complexity\",\n title: \"Cyclomatic Complexity\",\n shortDescription: `Cyclomatic complexity, only reported for methods`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n const issues = [];\n const stats = cyclomatic_complexity_stats_1.CyclomaticComplexityStats.run(obj);\n for (const s of stats) {\n if (s.count > this.conf.max) {\n const message = \"Max cyclomatic complexity reached, \" + s.count + \", \" + s.name;\n const issue = issue_1.Issue.atPosition(s.file, s.pos, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.CyclomaticComplexity = CyclomaticComplexity;\n//# sourceMappingURL=cyclomatic_complexity.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/cyclomatic_complexity.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/dangerous_statement.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/dangerous_statement.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DangerousStatement = exports.DangerousStatementConf = void 0;\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 issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass DangerousStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Detects execSQL (dynamic SQL) */\n this.execSQL = true;\n /** Detects kernel calls */\n this.kernelCall = true;\n /** Detects SYSTEM-CALL */\n this.systemCall = true;\n /** Detects INSERT REPORT */\n this.insertReport = true;\n this.generateDynpro = true;\n this.generateReport = true;\n this.generateSubroutine = true;\n this.deleteReport = true;\n this.deleteTextpool = true;\n this.deleteDynpro = true;\n this.exportDynpro = true;\n /** Finds instances of dynamic SQL: SELECT, UPDATE, DELETE, INSERT, MODIFY */\n this.dynamicSQL = true;\n }\n}\nexports.DangerousStatementConf = DangerousStatementConf;\nclass DangerousStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new DangerousStatementConf();\n }\n getMetadata() {\n return {\n key: \"dangerous_statement\",\n title: \"Dangerous statement\",\n shortDescription: `Detects potentially dangerous statements`,\n extendedInformation: `Dynamic SQL: Typically ABAP logic does not need dynamic SQL,\r\ndynamic SQL can potentially create SQL injection problems`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Security],\n };\n }\n getDescription(statement) {\n return \"Potential dangerous statement \" + statement;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const statementNode of file.getStatements()) {\n const statement = statementNode.get();\n let message = undefined;\n if (this.conf.execSQL && statement instanceof Statements.ExecSQL) {\n message = \"EXEC SQL\";\n }\n else if (this.conf.kernelCall && statement instanceof Statements.CallKernel) {\n message = \"KERNEL CALL\";\n }\n else if (this.conf.systemCall && statement instanceof Statements.SystemCall) {\n message = \"SYSTEM-CALL\";\n }\n else if (this.conf.insertReport && statement instanceof Statements.InsertReport) {\n message = \"INSERT REPORT\";\n }\n else if (this.conf.generateDynpro && statement instanceof Statements.GenerateDynpro) {\n message = \"GENERATE DYNPRO\";\n }\n else if (this.conf.generateReport && statement instanceof Statements.GenerateReport) {\n message = \"GENERATE REPORT\";\n }\n else if (this.conf.generateSubroutine && statement instanceof Statements.GenerateSubroutine) {\n message = \"GENERATE SUBROUTINE\";\n }\n else if (this.conf.deleteReport && statement instanceof Statements.DeleteReport) {\n message = \"DELETE REPORT\";\n }\n else if (this.conf.deleteTextpool && statement instanceof Statements.DeleteTextpool) {\n message = \"DELETE TEXTPOOL\";\n }\n else if (this.conf.deleteDynpro && statement instanceof Statements.DeleteDynpro) {\n message = \"DELETE DYNPRO\";\n }\n else if (this.conf.exportDynpro && statement instanceof Statements.ExportDynpro) {\n message = \"EXPORT DYNPRO\";\n }\n if (message) {\n issues.push(issue_1.Issue.atStatement(file, statementNode, this.getDescription(message), this.getMetadata().key, this.conf.severity));\n }\n if (this.conf.dynamicSQL) {\n message = this.findDynamicSQL(statementNode);\n if (message) {\n issues.push(issue_1.Issue.atStatement(file, statementNode, this.getDescription(message), this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n findDynamicSQL(statementNode) {\n const statement = statementNode.get();\n if (statement instanceof Statements.UpdateDatabase\n || statement instanceof Statements.Select\n || statement instanceof Statements.SelectLoop\n || statement instanceof Statements.InsertDatabase\n || statement instanceof Statements.ModifyDatabase\n || statement instanceof Statements.DeleteDatabase) {\n const dyn = statementNode.findFirstExpression(Expressions.Dynamic);\n if (dyn && dyn.findDirectExpression(Expressions.Constant) === undefined) {\n return \"Dynamic SQL\";\n }\n }\n return undefined;\n }\n}\nexports.DangerousStatement = DangerousStatement;\n//# sourceMappingURL=dangerous_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/dangerous_statement.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/db_operation_in_loop.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/db_operation_in_loop.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DbOperationInLoop = exports.DbOperationInLoopConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass DbOperationInLoopConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.DbOperationInLoopConf = DbOperationInLoopConf;\nclass DbOperationInLoop extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new DbOperationInLoopConf();\n }\n getMetadata() {\n return {\n key: \"db_operation_in_loop\",\n title: \"Database operation in loop\",\n shortDescription: `Database operation in LOOP/DO/WHILE`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Performance],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues;\n }\n const loops = stru.findAllStructures(Structures.Loop);\n loops.push(...stru.findAllStructures(Structures.Do));\n loops.push(...stru.findAllStructures(Structures.While));\n for (const l of loops) {\n let found = undefined;\n if (found === undefined) {\n found = l.findFirstStatement(Statements.Select);\n }\n if (found === undefined) {\n found = l.findFirstStatement(Statements.SelectLoop);\n }\n if (found === undefined) {\n found = l.findFirstStatement(Statements.InsertDatabase);\n }\n if (found === undefined) {\n found = l.findFirstStatement(Statements.DeleteDatabase);\n }\n if (found === undefined) {\n found = l.findFirstStatement(Statements.UpdateDatabase);\n }\n if (found === undefined) {\n found = l.findFirstStatement(Statements.ModifyDatabase);\n }\n if (found) {\n const message = \"Database operation in loop\";\n issues.push(issue_1.Issue.atStatement(file, found, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.DbOperationInLoop = DbOperationInLoop;\n//# sourceMappingURL=db_operation_in_loop.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/db_operation_in_loop.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/definitions_top.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/definitions_top.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DefinitionsTop = exports.DefinitionsTopConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.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 Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.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\");\nclass DefinitionsTopConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.DefinitionsTopConf = DefinitionsTopConf;\n// todo, use enum instead?\n// const ANY = 1;\nconst DEFINITION = 2;\nconst AFTER = 3;\nconst IGNORE = 4;\nclass DefinitionsTop extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new DefinitionsTopConf();\n }\n getMetadata() {\n return {\n key: \"definitions_top\",\n title: \"Place definitions in top of routine\",\n shortDescription: `Checks that definitions are placed at the beginning of METHODs, FORMs and FUNCTIONs.`,\n extendedInformation: `If the routine has inline definitions then no issues are reported\r\n\r\nhttps://docs.abapopenchecks.org/checks/17/`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n };\n }\n getMessage() {\n return \"Reorder definitions to top of routine\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n const containsUnknown = file.getStatements().some(s => s.get() instanceof _statement_1.Unknown);\n if (containsUnknown === true) {\n return [];\n }\n const routines = structure.findAllStructuresMulti([Structures.Form, Structures.Method, Structures.FunctionModule]);\n for (const r of routines) {\n // one fix per routine\n this.fixed = false;\n this.mode = DEFINITION;\n this.moveTo = (_a = r.getFirstStatement()) === null || _a === void 0 ? void 0 : _a.getLastToken().getEnd();\n if (this.reg.getConfig().getVersion() !== version_1.Version.v702\n && r.findFirstExpression(Expressions.InlineData)) {\n continue;\n }\n const found = this.walk(r, file);\n if (found) {\n issues.push(found);\n }\n }\n return issues;\n }\n //////////////////\n walk(r, file) {\n var _a, _b, _c, _d, _e, _f;\n let previous = undefined;\n for (const c of r.getChildren()) {\n const get = c.get();\n if (c instanceof nodes_1.StatementNode) {\n if (get instanceof _statement_1.Comment) {\n continue;\n }\n else if (get instanceof Statements.FunctionModule) {\n continue;\n }\n else if (get instanceof Statements.Form) {\n continue;\n }\n else if (get instanceof Statements.MethodImplementation) {\n continue;\n }\n }\n if (c instanceof nodes_1.StructureNode\n && (get instanceof Structures.Data\n || get instanceof Structures.Types\n || get instanceof Structures.Constants\n || get instanceof Structures.Statics)) {\n if (this.mode === AFTER) {\n // These are chained structured statements\n let fix = undefined;\n if (((_b = (_a = c.getLastChild()) === null || _a === void 0 ? void 0 : _a.getLastChild()) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr()) === \".\"\n && !(previous instanceof nodes_1.StructureNode)\n && this.moveTo) {\n // this is not perfect, but will work for now\n const start = (_d = (_c = c.getFirstChild()) === null || _c === void 0 ? void 0 : _c.getFirstChild()) === null || _d === void 0 ? void 0 : _d.getFirstToken().getStart();\n const end = (_f = (_e = c.getLastChild()) === null || _e === void 0 ? void 0 : _e.getLastChild()) === null || _f === void 0 ? void 0 : _f.getLastToken().getEnd();\n if (start && end) {\n let concat = c.concatTokens();\n concat = concat.replace(/,/g, \".\\n\");\n const fix1 = edit_helper_1.EditHelper.deleteRange(file, start, end);\n const fix2 = edit_helper_1.EditHelper.insertAt(file, this.moveTo, \"\\n\" + concat);\n fix = edit_helper_1.EditHelper.merge(fix1, fix2);\n }\n }\n // no quick fixes for these, its difficult?\n return issue_1.Issue.atStatement(file, c.getFirstStatement(), this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n }\n else {\n this.moveTo = c.getLastToken().getEnd();\n }\n }\n else if (c instanceof nodes_1.StatementNode\n && (get instanceof Statements.Data\n || get instanceof Statements.Type\n || get instanceof Statements.Constant\n || get instanceof Statements.Static\n || get instanceof Statements.FieldSymbol)) {\n if (this.mode === AFTER) {\n // only one fix per routine, as it reorders a lot\n let fix = undefined;\n if (this.fixed === false && this.moveTo) {\n fix = this.buildFix(file, c, this.moveTo);\n this.fixed = true;\n }\n return issue_1.Issue.atStatement(file, c, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n }\n else {\n this.moveTo = c.getLastToken().getEnd();\n }\n }\n else if (c instanceof nodes_1.StructureNode && get instanceof Structures.Define) {\n this.mode = IGNORE;\n return undefined;\n }\n else if (c instanceof nodes_1.StatementNode && get instanceof _statement_1.Unknown) {\n this.mode = IGNORE;\n return undefined;\n }\n else if (c instanceof nodes_1.StatementNode && this.mode === DEFINITION) {\n this.mode = AFTER;\n }\n else if (c instanceof nodes_1.StructureNode) {\n const found = this.walk(c, file);\n if (found) {\n return found;\n }\n }\n previous = c;\n }\n return undefined;\n }\n buildFix(file, statement, at) {\n let concat = statement.concatTokens();\n concat = concat.replace(/,$/, \".\");\n const fix1 = edit_helper_1.EditHelper.deleteStatement(file, statement);\n const indentation = \" \".repeat(statement.getFirstToken().getCol() - 1);\n const fix2 = edit_helper_1.EditHelper.insertAt(file, at, \"\\n\" + indentation + concat);\n return edit_helper_1.EditHelper.merge(fix1, fix2);\n }\n}\nexports.DefinitionsTop = DefinitionsTop;\n//# sourceMappingURL=definitions_top.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/definitions_top.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/description_empty.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/description_empty.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DescriptionEmpty = exports.DescriptionEmptyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\n// standard class CL_OO_CLASS assumes classes have descriptions\nclass DescriptionEmptyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.DescriptionEmptyConf = DescriptionEmptyConf;\nclass DescriptionEmpty {\n constructor() {\n this.conf = new DescriptionEmptyConf();\n }\n getMetadata() {\n return {\n key: \"description_empty\",\n title: \"Description in class must exist\",\n shortDescription: `Ensures descriptions in class metadata exist.`,\n };\n }\n getDescription(name) {\n return \"Description empty in \" + name;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n const issues = [];\n if (obj instanceof objects_1.Class || obj instanceof objects_1.Interface) {\n const description = obj.getDescription();\n let message = undefined;\n if (description === \"\") {\n message = this.getDescription(obj.getName());\n }\n else if (description === undefined) {\n message = this.getDescription(obj.getName() + \", class XML file not found\");\n }\n if (message) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.DescriptionEmpty = DescriptionEmpty;\n//# sourceMappingURL=description_empty.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/description_empty.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/double_space.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/double_space.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DoubleSpace = exports.DoubleSpaceConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/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 statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass DoubleSpaceConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Check for double space after keywords */\n this.keywords = true;\n /** Check for double space after start parenthesis */\n this.startParen = true;\n /** Check for double space before end parenthesis */\n this.endParen = true;\n /** Check for double space after colon/chaining operator */\n this.afterColon = true;\n }\n}\nexports.DoubleSpaceConf = DoubleSpaceConf;\nclass DoubleSpace extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new DoubleSpaceConf();\n }\n getMetadata() {\n return {\n key: \"double_space\",\n title: \"Double space\",\n shortDescription: `Checks that only a single space follows certain common statements.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `DATA foo TYPE i.`,\n goodExample: `DATA foo TYPE i.`,\n };\n }\n getMessage() {\n return \"Remove double space\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n let issues = [];\n for (const s of file.getStatements()) {\n if (this.conf.keywords === true\n && !(s.get() instanceof _statement_1.Unknown)\n && !(s.get() instanceof statements_1.MethodDef)\n && !(s.get() instanceof _statement_1.MacroCall)\n && !(s.get() instanceof statements_1.Events)\n && !(s.get() instanceof _statement_1.MacroContent)) {\n issues = issues.concat(this.checkKeywords(s, file));\n }\n issues = issues.concat(this.checkParen(s, file));\n }\n issues = issues.concat(this.checkAfterColon(file));\n return issues;\n }\n checkAfterColon(file) {\n const issues = [];\n let cPosition = undefined;\n if (this.conf.afterColon !== true) {\n return [];\n }\n for (const s of file.getStatements()) {\n const colon = s.getColon();\n if (colon === undefined) {\n continue;\n }\n else if (cPosition !== undefined && cPosition.getCol() === colon.getCol()) {\n continue;\n }\n cPosition = colon.getStart();\n for (const t of s.getTokens()) {\n if (t.getRow() !== cPosition.getRow()) {\n return [];\n }\n else if (t.getCol() < cPosition.getCol()) {\n continue;\n }\n if (t.getCol() > cPosition.getCol() + 2) {\n const issueStartPos = new position_1.Position(cPosition.getRow(), cPosition.getCol() + 2);\n const issueEndPos = new position_1.Position(t.getRow(), t.getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, issueStartPos, issueEndPos);\n issues.push(issue_1.Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));\n }\n break;\n }\n }\n return issues;\n }\n checkParen(s, file) {\n const issues = [];\n let prev = undefined;\n for (const t of s.getTokens()) {\n if (prev === undefined) {\n prev = t;\n continue;\n }\n if (this.getConfig().startParen === true\n && prev.getRow() === t.getRow()\n && prev instanceof tokens_1.ParenLeftW\n && !(t instanceof tokens_1.Comment)\n && prev.getEnd().getCol() + 1 < t.getCol()) {\n const issueStartPos = new position_1.Position(prev.getRow(), prev.getCol() + 2);\n const issueEndPos = new position_1.Position(t.getRow(), t.getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, issueStartPos, issueEndPos);\n if (this.pragmaInRange(s.getPragmas(), issueStartPos, issueEndPos) === false) {\n issues.push(issue_1.Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));\n }\n }\n if (this.getConfig().endParen === true\n && prev.getRow() === t.getRow()\n && !(prev instanceof tokens_1.ParenLeftW)\n && (t instanceof tokens_1.WParenRightW || t instanceof tokens_1.WParenRight)\n && prev.getEnd().getCol() + 1 < t.getCol()) {\n const issueStartPos = new position_1.Position(prev.getEnd().getRow(), prev.getEnd().getCol() + 1);\n const issueEndPos = new position_1.Position(t.getRow(), t.getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, issueStartPos, issueEndPos);\n if (this.pragmaInRange(s.getPragmas(), issueStartPos, issueEndPos) === false) {\n issues.push(issue_1.Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));\n }\n }\n prev = t;\n }\n return issues;\n }\n pragmaInRange(pragmas, start, end) {\n let ret = false;\n for (const p of pragmas) {\n if (p.getStart().isBetween(start, end)) {\n ret = true;\n }\n }\n return ret;\n }\n checkKeywords(s, file) {\n const issues = [];\n let prev = undefined;\n if (s.getColon() !== undefined || s.getPragmas().length > 0) {\n // for chained statments just give up\n return [];\n }\n for (const n of s.getTokenNodes()) {\n if (prev === undefined) {\n prev = n;\n continue;\n }\n const upper = prev.get().getStr().toUpperCase();\n if (prev instanceof nodes_1.TokenNodeRegex\n || upper === \"(\"\n || upper === \")\"\n || upper === \"CHANGING\"\n || upper === \"EXPORTING\"\n || upper === \"OTHERS\") {\n // not a keyword, continue\n prev = n;\n continue;\n }\n if (prev.get().getStart().getRow() === n.get().getStart().getRow()\n && prev.get().getEnd().getCol() + 1 < n.get().getStart().getCol()) {\n const issueStartPos = new position_1.Position(prev.get().getEnd().getRow(), prev.get().getEnd().getCol() + 1);\n const issueEndPos = new position_1.Position(n.get().getRow(), n.get().getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, issueStartPos, issueEndPos);\n issues.push(issue_1.Issue.atRange(file, issueStartPos, issueEndPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix));\n return issues;\n }\n prev = n;\n }\n return [];\n }\n}\nexports.DoubleSpace = DoubleSpace;\n//# sourceMappingURL=double_space.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/double_space.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/downport.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/downport.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Downport = exports.DownportConf = void 0;\n/* eslint-disable max-len */\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 Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst registry_1 = __webpack_require__(/*! ../registry */ \"./node_modules/@abaplint/core/build/src/registry.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst config_1 = __webpack_require__(/*! ../config */ \"./node_modules/@abaplint/core/build/src/config.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst include_graph_1 = __webpack_require__(/*! ../utils/include_graph */ \"./node_modules/@abaplint/core/build/src/utils/include_graph.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.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 statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\n// todo: refactor each sub-rule to new classes?\n// todo: add configuration\nclass DownportConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.DownportConf = DownportConf;\nclass SkipToNextFile extends Error {\n constructor(issue) {\n super();\n this.issue = issue;\n }\n}\nclass SpagHelper {\n constructor(spag) {\n this.spag = spag;\n }\n renameVariable(oldName, pos, lowFile, newName) {\n let fix = undefined;\n const references = this.findReferences(oldName, pos);\n references.sort((a, b) => {\n if (a.start.equals(b.start)) {\n return 0;\n }\n return a.start.isAfter(b.start) ? 1 : -1;\n });\n for (const r of references) {\n const replace = edit_helper_1.EditHelper.replaceRange(lowFile, r.start, r.end, newName);\n if (fix === undefined) {\n fix = replace;\n }\n else {\n fix = edit_helper_1.EditHelper.merge(replace, fix);\n }\n }\n return fix;\n }\n findReferences(name, pos) {\n var _a, _b;\n const positions = [];\n function has(element) {\n return positions.some(a => a.start.equals(element.start));\n }\n for (const r of this.spag.getData().references) {\n if (((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.getName()) === name && ((_b = r.resolved) === null || _b === void 0 ? void 0 : _b.getStart().equals(pos))) {\n const sub = {\n start: r.position.getStart(),\n end: r.position.getEnd(),\n };\n if (has(sub) === false) {\n positions.push(sub);\n }\n }\n }\n for (const child of this.spag.getChildren()) {\n const subPositions = new SpagHelper(child).findReferences(name, pos);\n for (const sub of subPositions) {\n if (has(sub) === false) {\n positions.push(sub);\n }\n }\n }\n return positions;\n }\n findRecursiveDuplicate(name, skip) {\n var _a;\n const found = this.spag.findVariable(name);\n if ((found === null || found === void 0 ? void 0 : found.getStart().equals(skip)) === false) {\n return found;\n }\n for (const child of ((_a = this.spag) === null || _a === void 0 ? void 0 : _a.getChildren()) || []) {\n const sub = new SpagHelper(child).findRecursiveDuplicate(name, skip);\n if (sub) {\n return sub;\n }\n }\n return undefined;\n }\n isDuplicateName(name, pos) {\n let parent = this.spag.getParent();\n while ((parent === null || parent === void 0 ? void 0 : parent.getIdentifier().stype) === _scope_type_1.ScopeType.Let\n || (parent === null || parent === void 0 ? void 0 : parent.getIdentifier().stype) === _scope_type_1.ScopeType.For) {\n parent = parent.getParent();\n }\n if (parent === undefined) {\n return undefined;\n }\n return new SpagHelper(parent).findRecursiveDuplicate(name, pos) !== undefined;\n }\n}\nclass Downport {\n constructor() {\n this.conf = new DownportConf();\n }\n getMetadata() {\n return {\n key: \"downport\",\n title: \"Downport statement\",\n shortDescription: `Downport functionality`,\n extendedInformation: `Much like the 'commented_code' rule this rule loops through unknown statements and tries parsing with\r\na higher level language version. If successful, various rules are applied to downport the statement.\r\nTarget downport version is always v702, thus rule is only enabled if target version is v702.\r\n\r\nCurrent rules:\r\n* NEW transformed to CREATE OBJECT, opposite of https://rules.abaplint.org/use_new/\r\n* DATA() definitions are outlined, opposite of https://rules.abaplint.org/prefer_inline/\r\n* FIELD-SYMBOL() definitions are outlined\r\n* CONV is outlined\r\n* COND is outlined\r\n* REDUCE is outlined\r\n* SWITCH is outlined\r\n* FILTER is outlined\r\n* APPEND expression is outlined\r\n* INSERT expression is outlined\r\n* EMPTY KEY is changed to DEFAULT KEY, opposite of DEFAULT KEY in https://rules.abaplint.org/avoid_use/\r\n* CAST changed to ?=\r\n* LOOP AT method_call( ) is outlined\r\n* VALUE # with structure fields\r\n* VALUE # with internal table lines\r\n* Table Expressions are outlined\r\n* SELECT INTO @DATA definitions are outlined\r\n* Some occurrences of string template formatting option ALPHA changed to function module call\r\n* SELECT/INSERT/MODIFY/DELETE/UPDATE \",\" in field list removed, \"@\" in source/targets removed\r\n* PARTIALLY IMPLEMENTED removed, it can be quick fixed via rule implement_methods\r\n* RAISE EXCEPTION ... MESSAGE\r\n* Moving with +=, -=, /=, *=, &&= is expanded\r\n* line_exists and line_index is downported to READ TABLE\r\n* ENUMs, but does not nessesarily give the correct type and value\r\n* MESSAGE with non simple source\r\n\r\nOnly one transformation is applied to a statement at a time, so multiple steps might be required to do the full downport.\r\n\r\nMake sure to test the downported code, it might not always be completely correct.`,\n tags: [_irule_1.RuleTag.Downport, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.lowReg = reg;\n const version = this.lowReg.getConfig().getVersion();\n if (version === version_1.Version.v702 || version === version_1.Version.OpenABAP) {\n this.initHighReg();\n }\n return this;\n }\n listMainForInclude(filename) {\n if (filename === undefined) {\n return [];\n }\n // only initialize this.graph if needed\n if (this.graph === undefined) {\n this.graph = new include_graph_1.IncludeGraph(this.lowReg);\n }\n return this.graph.listMainForInclude(filename);\n }\n containsError(highObj) {\n for (const file of highObj.getABAPFiles()) {\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof _statement_1.Unknown) {\n return true; // contains parser errors\n }\n }\n if (file.getStructure() === undefined) {\n return true;\n }\n }\n return false;\n }\n run(lowObj) {\n var _a;\n const ret = [];\n this.counter = 1;\n const version = this.lowReg.getConfig().getVersion();\n if (version !== version_1.Version.v702 && version !== version_1.Version.OpenABAP) {\n return ret;\n }\n else if (!(lowObj instanceof _abap_object_1.ABAPObject)) {\n return ret;\n }\n const highObj = this.highReg.getObject(lowObj.getType(), lowObj.getName());\n if (highObj === undefined || !(highObj instanceof _abap_object_1.ABAPObject)) {\n return ret;\n }\n let highSyntaxObj = highObj;\n if (this.containsError(highObj)) {\n return ret;\n }\n // for includes do the syntax check via a main program\n if (lowObj instanceof objects_1.Program && lowObj.isInclude()) {\n const mains = this.listMainForInclude((_a = lowObj.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getFilename());\n if (mains.length <= 0) {\n return [];\n }\n const f = this.highReg.getFileByName(mains[0]);\n if (f === undefined) {\n return [];\n }\n highSyntaxObj = this.highReg.findObjectForFile(f);\n }\n for (const lowFile of lowObj.getABAPFiles()) {\n let highSyntax = undefined;\n const highFile = highObj.getABAPFileByName(lowFile.getFilename());\n if (highFile === undefined) {\n continue;\n }\n const lowStatements = lowFile.getStatements();\n const highStatements = highFile.getStatements();\n if (lowStatements.length !== highStatements.length) {\n // after applying a fix, there might be more statements in lowFile\n // should highReg be initialized again?\n /*\n const message = \"Internal Error: Statement lengths does not match\";\n ret.push(Issue.atStatement(lowFile, lowStatements[0], message, this.getMetadata().key));\n */\n // hmm, add some way to disable lazyUnknown() in statement_parser.ts\n // alternatively explicit enable it in vscode, its only relevant when a user is\n // actively editing the files\n continue;\n }\n if (highSyntax === undefined) {\n highSyntax = new syntax_1.SyntaxLogic(this.highReg, highSyntaxObj).run();\n }\n let containsUnknown = false;\n for (let i = 0; i < lowStatements.length; i++) {\n const low = lowStatements[i];\n const high = highStatements[i];\n if ((low.get() instanceof _statement_1.Unknown && !(high.get() instanceof _statement_1.Unknown))\n || high.findFirstExpression(Expressions.InlineData)) {\n containsUnknown = true;\n try {\n const issue = this.checkStatement(low, high, lowFile, highSyntax, highFile);\n if (issue) {\n ret.push(issue);\n }\n }\n catch (e) {\n if (e instanceof SkipToNextFile) {\n ret.push(e.issue);\n break;\n }\n else {\n throw e;\n }\n }\n }\n }\n if (ret.length === 0 && containsUnknown) {\n // this is a hack in order not to change too many unit tests\n for (let i = 0; i < lowStatements.length; i++) {\n const high = highStatements[i];\n if (high.get() instanceof Statements.Data) {\n const issue = this.anonymousTableType(high, lowFile, highSyntax);\n if (issue) {\n ret.push(issue);\n }\n }\n }\n }\n else if (ret.length === 0 && / xsdbool\\(/i.test(lowFile.getRaw())) {\n for (let i = 0; i < lowStatements.length; i++) {\n const high = highStatements[i];\n const issue = this.replaceXsdBool(high, lowFile, highSyntax);\n if (issue) {\n ret.push(issue);\n break;\n }\n }\n }\n }\n return ret;\n }\n ////////////////////\n /** clones the orginal repository into highReg, and parses it with higher language version */\n initHighReg() {\n // use default configuration, ie. default target version\n const highConfig = config_1.Config.getDefault().get();\n const lowConfig = this.lowReg.getConfig().get();\n highConfig.syntax.errorNamespace = lowConfig.syntax.errorNamespace;\n highConfig.syntax.globalConstants = lowConfig.syntax.globalConstants;\n highConfig.syntax.globalMacros = lowConfig.syntax.globalMacros;\n this.highReg = new registry_1.Registry();\n for (const o of this.lowReg.getObjects()) {\n for (const f of o.getFiles()) {\n if (this.lowReg.isDependency(o) === true) {\n this.highReg.addDependency(f);\n }\n else {\n this.highReg.addFile(f);\n }\n }\n }\n this.highReg.parse();\n }\n /** applies one rule at a time, multiple iterations are required to transform complex statements */\n checkStatement(low, high, lowFile, highSyntax, highFile) {\n if (low.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n return undefined;\n }\n // downport XSDBOOL() early, as it is valid 702 syntax\n let found = this.replaceXsdBool(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportEnum(low, high, lowFile, highSyntax, highFile);\n if (found) {\n return found;\n }\n found = this.partiallyImplemented(high, lowFile);\n if (found) {\n return found;\n }\n found = this.raiseException(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.emptyKey(low, high, lowFile);\n if (found) {\n return found;\n }\n found = this.stringTemplateAlpha(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.moveWithOperator(low, high, lowFile);\n if (found) {\n return found;\n }\n found = this.moveWithSimpleValue(low, high, lowFile);\n if (found) {\n return found;\n }\n found = this.assignWithTable(low, high, lowFile);\n if (found) {\n return found;\n }\n found = this.downportRefSimple(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportCorrespondingSimple(high, lowFile);\n if (found) {\n return found;\n }\n found = this.downportRef(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportLoopGroup(high, lowFile, highSyntax, highFile);\n if (found) {\n return found;\n }\n found = this.callFunctionParameterSimple(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.moveWithTableTarget(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportSelectInline(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportSelectExistence(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportSQLExtras(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineLoopInput(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineLoopTarget(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n let skipValue = false;\n let skipReduce = false;\n const valueBody = high.findFirstExpression(Expressions.ValueBody);\n const reduceBody = high.findFirstExpression(Expressions.ReduceBody);\n if (valueBody && reduceBody) {\n const valueToken = valueBody.getFirstToken();\n const reduceToken = reduceBody.getFirstToken();\n if (valueToken.getStart().isBefore(reduceToken.getStart())) {\n skipReduce = true;\n }\n else {\n skipValue = true;\n }\n }\n if (skipValue !== true) {\n found = this.outlineValue(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n }\n if (skipReduce !== true) {\n found = this.outlineReduce(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n }\n found = this.outlineCorresponding(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportSelectFields(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineSwitch(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineFilter(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineCast(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineConv(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineCond(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineCatchSimple(high, lowFile);\n if (found) {\n return found;\n }\n found = this.outlineGetReferenceSimple(high, lowFile);\n if (found) {\n return found;\n }\n found = this.outlineDataSimple(high, lowFile);\n if (found) {\n return found;\n }\n found = this.outlineData(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.outlineFS(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.newToCreateObject(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceLineFunctions(high, lowFile, highSyntax, highFile);\n if (found) {\n return found;\n }\n found = this.getReference(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceContains(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceMethodConditional(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceTableExpression(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceAppendExpression(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.replaceInsertExpression(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportMessage(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportReadTable(high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n return undefined;\n }\n //////////////////////////////////////////\n /** removes @'s */\n downportSQLExtras(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n if (!(high.get() instanceof Statements.Select)\n && !(high.get() instanceof Statements.SelectLoop)\n && !(high.get() instanceof Statements.UpdateDatabase)\n && !(high.get() instanceof Statements.ModifyDatabase)\n && !(high.get() instanceof Statements.DeleteDatabase)\n && !(high.get() instanceof Statements.InsertDatabase)) {\n return undefined;\n }\n let fix = undefined;\n const addFix = (token) => {\n const add = edit_helper_1.EditHelper.deleteToken(lowFile, token);\n if (fix === undefined) {\n fix = add;\n }\n else {\n fix = edit_helper_1.EditHelper.merge(fix, add);\n }\n };\n const candidates = [high.findAllExpressionsRecursive(Expressions.SQLTarget),\n high.findAllExpressionsRecursive(Expressions.SQLSource),\n high.findAllExpressionsRecursive(Expressions.SQLSourceSimple)].flat();\n for (const c of candidates.reverse()) {\n if (c.getFirstToken() instanceof tokens_1.WAt\n || c.getFirstToken() instanceof tokens_1.At) {\n const tokens = c.getAllTokens();\n if (tokens[1] instanceof tokens_1.ParenLeftW && tokens[tokens.length - 1] instanceof tokens_1.WParenRightW) {\n const source = c.findDirectExpression(Expressions.Source);\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getStart(), `DATA(${uniqueName}) = ${source === null || source === void 0 ? void 0 : source.concatTokens()}.\\n`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, c.getFirstToken().getStart(), c.getLastToken().getEnd(), \"@\" + uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, low.getFirstToken(), \"SQL, outline complex @\", this.getMetadata().key, this.conf.severity, fix);\n }\n else {\n addFix(c.getFirstToken());\n }\n }\n }\n for (const fieldList of high.findAllExpressionsMulti([Expressions.SQLFieldList, Expressions.SQLFieldListLoop], true)) {\n for (const token of fieldList.getDirectTokens()) {\n if (token.getStr() === \",\") {\n addFix(token);\n }\n }\n }\n if (fix !== undefined) {\n return issue_1.Issue.atToken(lowFile, low.getFirstToken(), \"SQL, remove @ and ,\", this.getMetadata().key, this.conf.severity, fix);\n }\n for (const c of high.findAllExpressionsRecursive(Expressions.SQLIn)) {\n const children = c.getChildren();\n const first = children[1];\n if (!(first.get() instanceof tokens_1.WParenLeftW)) {\n continue;\n }\n const last = children[children.length - 1];\n if (last.get() instanceof tokens_1.WParenRightW || last.get() instanceof tokens_1.WParenRight) {\n const firstEnd = first.getFirstToken().getEnd();\n const endDelete = new position_1.Position(firstEnd.getRow(), firstEnd.getCol() + 1);\n const fix1 = edit_helper_1.EditHelper.deleteRange(lowFile, firstEnd, endDelete);\n const lastStart = last.getFirstToken().getStart();\n const startDelete = new position_1.Position(lastStart.getRow(), lastStart.getCol() - 1);\n const fix2 = edit_helper_1.EditHelper.deleteRange(lowFile, startDelete, lastStart);\n fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, low.getFirstToken(), \"SQL, remove spaces\", this.getMetadata().key, this.conf.severity, fix);\n }\n }\n return undefined;\n }\n downportSelectExistence(low, high, lowFile, highSyntax) {\n var _a, _b, _c, _d;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n else if (!(high.get() instanceof Statements.Select)) {\n return undefined;\n }\n const fieldList = high.findFirstExpression(Expressions.SQLFieldList);\n if ((fieldList === null || fieldList === void 0 ? void 0 : fieldList.concatTokens().toUpperCase()) !== \"@ABAP_TRUE\") {\n return undefined;\n }\n const fieldName = (_b = (_a = high.findFirstExpression(Expressions.SQLCond)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(Expressions.SQLFieldName)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (fieldName === undefined) {\n return undefined;\n }\n const into = high.findFirstExpression(Expressions.SQLIntoStructure);\n if (into === undefined) {\n return undefined;\n }\n const intoName = (_d = (_c = into.findFirstExpression(Expressions.SQLTarget)) === null || _c === void 0 ? void 0 : _c.findFirstExpression(Expressions.Target)) === null || _d === void 0 ? void 0 : _d.concatTokens();\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const fix1 = edit_helper_1.EditHelper.replaceRange(lowFile, fieldList.getFirstToken().getStart(), fieldList.getLastToken().getEnd(), fieldName);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, into === null || into === void 0 ? void 0 : into.getFirstToken().getStart(), into === null || into === void 0 ? void 0 : into.getLastToken().getEnd(), `INTO @DATA(${uniqueName})`);\n let fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n const fix3 = edit_helper_1.EditHelper.insertAt(lowFile, high.getLastToken().getEnd(), `\\nCLEAR ${intoName}.\\nIF sy-subrc = 0.\\n ${intoName} = abap_true.\\nENDIF.`);\n fix = edit_helper_1.EditHelper.merge(fix, fix3);\n return issue_1.Issue.atToken(lowFile, low.getFirstToken(), \"SQL, refactor existence check\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportSelectInline(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n else if (!(high.get() instanceof Statements.Select) && !(high.get() instanceof Statements.SelectLoop)) {\n return undefined;\n }\n // as first step outline the @DATA, note that void types are okay, as long the field names are specified\n let found = this.downportSelectSingleInline(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n found = this.downportSelectTableInline(low, high, lowFile, highSyntax);\n if (found) {\n return found;\n }\n return undefined;\n }\n downportSelectFields(low, high, lowFile, _highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n else if (!(high.get() instanceof Statements.Select)) {\n return undefined;\n }\n const fields = high.findFirstExpression(Expressions.SQLFields);\n if (fields === undefined) {\n return undefined;\n }\n const code = (_a = fields.getLastChild()) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (code === undefined) {\n return undefined;\n }\n const fix1 = edit_helper_1.EditHelper.deleteRange(lowFile, fields.getFirstToken().getStart(), fields.getLastToken().getEnd());\n const fix2 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getEnd(), \" \" + code);\n const fix = edit_helper_1.EditHelper.merge(fix1, fix2);\n return issue_1.Issue.atToken(lowFile, fields.getFirstToken(), \"Replace FIELDS\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportSelectSingleInline(low, high, lowFile, _highSyntax) {\n var _a, _b, _c, _d;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n const targets = ((_a = high.findFirstExpression(Expressions.SQLIntoStructure)) === null || _a === void 0 ? void 0 : _a.findDirectExpressions(Expressions.SQLTarget)) || [];\n if (targets.length !== 1) {\n return undefined;\n }\n const inlineData = targets[0].findFirstExpression(Expressions.InlineData);\n if (inlineData === undefined) {\n return undefined;\n }\n const sqlFrom = high.findAllExpressions(Expressions.SQLFromSource);\n if (sqlFrom.length !== 1) {\n return undefined;\n }\n const tableName = (_b = sqlFrom[0].findDirectExpression(Expressions.DatabaseTable)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (tableName === undefined) {\n return undefined;\n }\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let fieldList = high.findFirstExpression(Expressions.SQLFieldList);\n if (fieldList === undefined) {\n fieldList = high.findFirstExpression(Expressions.SQLFieldListLoop);\n }\n if (fieldList === undefined) {\n return undefined;\n }\n let fieldDefinition = \"\";\n const fields = fieldList.findAllExpressions(Expressions.SQLFieldName);\n const name = ((_c = inlineData.findFirstExpression(Expressions.TargetField)) === null || _c === void 0 ? void 0 : _c.concatTokens()) || \"error\";\n if (fields.length === 1) {\n fieldDefinition = `DATA ${name} TYPE ${tableName}-${fields[0].concatTokens()}.`;\n }\n else if (fieldList.concatTokens() === \"*\") {\n fieldDefinition = `DATA ${name} TYPE ${tableName}.`;\n }\n else if (fieldList.concatTokens().toUpperCase() === \"COUNT( * )\") {\n fieldDefinition = `DATA ${name} TYPE i.`;\n }\n else if (fieldList.concatTokens().toUpperCase() === \"@ABAP_TRUE\"\n || fieldList.concatTokens().toUpperCase() === \"@ABAP_FALSE\") {\n fieldDefinition = `DATA ${name} TYPE abap_bool.`;\n }\n else if (fieldList.getChildren().length === 1 && fieldList.getChildren()[0].get() instanceof Expressions.SQLAggregation) {\n const c = fieldList.getChildren()[0];\n if (c instanceof nodes_1.ExpressionNode) {\n const concat = (_d = c.findFirstExpression(Expressions.SQLArithmetics)) === null || _d === void 0 ? void 0 : _d.concatTokens();\n fieldDefinition = `DATA ${name} TYPE ${tableName}-${concat}.`;\n }\n }\n else {\n for (const f of fields) {\n const fieldName = f.concatTokens();\n fieldDefinition += indentation + \" \" + fieldName + \" TYPE \" + tableName + \"-\" + fieldName + \",\\n\";\n }\n fieldDefinition = `DATA: BEGIN OF ${name},\r\n${fieldDefinition}${indentation} END OF ${name}.`;\n }\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getStart(), `${fieldDefinition}\r\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, inlineData.getFirstToken().getStart(), inlineData.getLastToken().getEnd(), name);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, inlineData.getFirstToken(), \"Outline SELECT @DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportSelectTableInline(low, high, lowFile, highSyntax) {\n var _a, _b, _c;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n const targets = ((_a = high.findFirstExpression(Expressions.SQLIntoTable)) === null || _a === void 0 ? void 0 : _a.findDirectExpressions(Expressions.SQLTarget)) || [];\n if (targets.length !== 1) {\n return undefined;\n }\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const inlineData = targets[0].findFirstExpression(Expressions.InlineData);\n if (inlineData === undefined) {\n return undefined;\n }\n const sqlFrom = high.findAllExpressions(Expressions.SQLFromSource);\n if (sqlFrom.length === 0) {\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Error outlining, sqlFrom not found\", this.getMetadata().key, this.conf.severity);\n }\n let tableName = (_b = sqlFrom[0].findDirectExpression(Expressions.DatabaseTable)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (tableName === undefined) {\n return undefined;\n }\n const fieldList = high.findFirstExpression(Expressions.SQLFieldList);\n if (fieldList === undefined) {\n return undefined;\n }\n let fieldDefinitions = \"\";\n for (const f of fieldList.findAllExpressions(Expressions.SQLFieldName)) {\n let fieldName = f.concatTokens();\n if (fieldName.includes(\"~\")) {\n const split = fieldName.split(\"~\");\n tableName = split[0];\n fieldName = split[1];\n }\n fieldDefinitions += indentation + \" \" + fieldName + \" TYPE \" + tableName + \"-\" + fieldName + \",\\n\";\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const name = ((_c = inlineData.findFirstExpression(Expressions.TargetField)) === null || _c === void 0 ? void 0 : _c.concatTokens()) || \"error\";\n let fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getStart(), `TYPES: BEGIN OF ${uniqueName},\r\n${fieldDefinitions}${indentation} END OF ${uniqueName}.\r\n${indentation}DATA ${name} TYPE STANDARD TABLE OF ${uniqueName} WITH DEFAULT KEY.\r\n${indentation}`);\n if (fieldDefinitions === \"\") {\n fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getStart(), `DATA ${name} TYPE STANDARD TABLE OF ${tableName} WITH DEFAULT KEY.\r\n${indentation}`);\n }\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, inlineData.getFirstToken().getStart(), inlineData.getLastToken().getEnd(), name);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, inlineData.getFirstToken(), \"Outline SELECT @DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n // the anonymous type minght be used in inferred type statements, define it so it can be referred\n anonymousTableType(high, lowFile, highSyntax) {\n if (!(high.get() instanceof Statements.Data)) {\n return undefined;\n }\n const tt = high.findFirstExpression(Expressions.TypeTable);\n if (tt === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const code = `TYPES ${uniqueName} ${tt.concatTokens()}.\\n`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, tt.getFirstToken().getStart(), tt.getLastToken().getEnd(), \"TYPE \" + uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Add type for table definition\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportMessage(high, lowFile, highSyntax) {\n var _a, _b;\n if (!(high.get() instanceof Statements.Message)) {\n return undefined;\n }\n const foundWith = high.findExpressionAfterToken(\"WITH\");\n if (foundWith === undefined) {\n return undefined;\n }\n const likeSource = high.findExpressionAfterToken(\"LIKE\");\n for (const s of high.findAllExpressions(Expressions.Source)) {\n if (s === likeSource) {\n continue;\n }\n else if (s.getChildren().length === 1 && ((_a = s.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Constant) {\n continue;\n }\n else if (s.getChildren().length === 1 && ((_b = s.getFirstChild()) === null || _b === void 0 ? void 0 : _b.get()) instanceof Expressions.FieldChain) {\n continue;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const firstToken = high.getFirstToken();\n const code = `DATA(${uniqueName}) = ${s.concatTokens()}.\\n${indentation}`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, s.getFirstToken().getStart(), s.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Refactor MESSAGE WITH source\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n replaceAppendExpression(high, lowFile, highSyntax) {\n if (!(high.get() instanceof Statements.Append)) {\n return undefined;\n }\n const children = high.getChildren();\n if (children[1].get() instanceof Expressions.Source) {\n const source = children[1];\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const firstToken = high.getFirstToken();\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${uniqueName} LIKE LINE OF ${target === null || target === void 0 ? void 0 : target.concatTokens()}.\r\n${indentation}${uniqueName} = ${source.concatTokens()}.\\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Outline APPEND source expression\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n downportReadTable(high, lowFile, highSyntax) {\n if (!(high.get() instanceof Statements.ReadTable)) {\n return undefined;\n }\n const source = high.findExpressionAfterToken(\"TABLE\");\n if ((source === null || source === void 0 ? void 0 : source.get()) instanceof Expressions.Source) {\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const firstToken = high.getFirstToken();\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA(${uniqueName}) = ${source.concatTokens()}.\\n` + indentation);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Outline table source\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n replaceInsertExpression(high, lowFile, highSyntax) {\n if (!(high.get() instanceof Statements.InsertInternal)) {\n return undefined;\n }\n const children = high.getChildren();\n if (children[1].get() instanceof Expressions.Source) {\n const source = children[1];\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const firstToken = high.getFirstToken();\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${uniqueName} LIKE LINE OF ${target === null || target === void 0 ? void 0 : target.concatTokens()}.\r\n${indentation}${uniqueName} = ${source.concatTokens()}.\\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Outline INSERT source expression\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n replaceTableExpression(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const fieldChain of high.findAllExpressionsRecursive(Expressions.FieldChain)) {\n const tableExpression = fieldChain.findDirectExpression(Expressions.TableExpression);\n if (tableExpression === undefined) {\n continue;\n }\n const concat = high.concatTokens().toUpperCase();\n if (concat.includes(\" LINE_EXISTS( \") || concat.includes(\" LINE_INDEX( \")) {\n // note: line_exists() must be replaced before handling table expressions\n continue;\n }\n let pre = \"\";\n let startToken = undefined;\n for (const child of fieldChain.getChildren()) {\n if (startToken === undefined) {\n startToken = child.getFirstToken();\n }\n else if (child === tableExpression) {\n break;\n }\n pre += child.concatTokens();\n }\n if (startToken === undefined) {\n continue;\n }\n const condition = this.tableCondition(tableExpression);\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const tabixBackup = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const firstToken = high.getFirstToken();\n // note that the tabix restore should be done before throwing the exception\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${uniqueName} LIKE LINE OF ${pre}.\r\n${indentation}DATA ${tabixBackup} LIKE sy-tabix.\r\n${indentation}${tabixBackup} = sy-tabix.\r\n${indentation}READ TABLE ${pre} ${condition}INTO ${uniqueName}.\r\n${indentation}sy-tabix = ${tabixBackup}.\r\n${indentation}IF sy-subrc <> 0.\r\n${indentation} RAISE EXCEPTION TYPE cx_sy_itab_line_not_found.\r\n${indentation}ENDIF.\r\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, startToken.getStart(), tableExpression.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n if (high.get() instanceof Statements.ElseIf) {\n throw \"downport, unable to downport table expression in ELSEIF\";\n }\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Outline table expression\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n tableCondition(tableExpression) {\n let condition = \"\";\n let keyName = \"\";\n for (const c of tableExpression.getChildren() || []) {\n if (c.getFirstToken().getStr() === \"[\" || c.getFirstToken().getStr() === \"]\") {\n continue;\n }\n else if (c.get() instanceof Expressions.ComponentChainSimple && condition === \"\") {\n if (keyName === \"\") {\n condition = \"WITH KEY \";\n }\n else {\n condition = \"WITH TABLE KEY \" + keyName + \" COMPONENTS \";\n }\n }\n else if (c.get() instanceof Expressions.Source && condition === \"\") {\n condition = \"INDEX \";\n }\n else if (c instanceof nodes_1.TokenNode && c.getFirstToken().getStr().toUpperCase() === \"KEY\") {\n continue;\n }\n else if (c.get() instanceof Expressions.SimpleName) {\n keyName = c.concatTokens();\n continue;\n }\n condition += c.concatTokens() + \" \";\n }\n return condition;\n }\n outlineCatchSimple(node, lowFile) {\n // outlines \"CATCH cx_bcs INTO DATA(lx_bcs_excep).\", note that this does not need to look at types\n var _a, _b;\n if (!(node.get() instanceof Statements.Catch)) {\n return undefined;\n }\n const target = node.findFirstExpression(Expressions.Target);\n if (!(((_a = target === null || target === void 0 ? void 0 : target.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.InlineData)) {\n return undefined;\n }\n const classNames = node.findDirectExpressions(Expressions.ClassName);\n if (classNames.length !== 1) {\n return undefined;\n }\n const className = classNames[0].concatTokens();\n const targetName = (_b = target.findFirstExpression(Expressions.TargetField)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const code = ` DATA ${targetName} TYPE REF TO ${className}.\r\n${indentation}CATCH ${className} INTO ${targetName}.`;\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, node.getStart(), node.getEnd(), code);\n return issue_1.Issue.atToken(lowFile, node.getFirstToken(), \"Outline DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n outlineGetReferenceSimple(node, lowFile) {\n var _a, _b, _c;\n if (!(node.get() instanceof Statements.GetReference)) {\n return undefined;\n }\n const target = node.findFirstExpression(Expressions.Target);\n if (!(((_a = target === null || target === void 0 ? void 0 : target.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.InlineData)) {\n return undefined;\n }\n const source = node.findFirstExpression(Expressions.Source);\n if (!(((_b = source === null || source === void 0 ? void 0 : source.getFirstChild()) === null || _b === void 0 ? void 0 : _b.get()) instanceof Expressions.FieldChain)) {\n return undefined;\n }\n const targetName = ((_c = target.findFirstExpression(Expressions.TargetField)) === null || _c === void 0 ? void 0 : _c.concatTokens()) || \"errorError\";\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const firstToken = target.getFirstToken();\n const lastToken = target.getLastToken();\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, node.getStart(), `DATA ${targetName} LIKE REF TO ${source.concatTokens()}.\\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), lastToken.getEnd(), targetName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, node.getFirstToken(), \"Outline DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n outlineDataSimple(node, lowFile) {\n // outlines \"DATA(ls_msg) = temp1.\", note that this does not need to look at types\n var _a, _b, _c;\n if (!(node.get() instanceof Statements.Move)) {\n return undefined;\n }\n const target = node.findFirstExpression(Expressions.Target);\n if (!(((_a = target === null || target === void 0 ? void 0 : target.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.InlineData)) {\n return undefined;\n }\n let type = \"\";\n const source = node.findFirstExpression(Expressions.Source);\n if (source === undefined) {\n return undefined;\n }\n else if (source.getChildren().length !== 1) {\n return undefined;\n }\n else if (!(((_b = source.getFirstChild()) === null || _b === void 0 ? void 0 : _b.get()) instanceof Expressions.FieldChain)) {\n return undefined;\n }\n else if (source.findFirstExpression(Expressions.FieldOffset)) {\n return undefined;\n }\n else if (source.findFirstExpression(Expressions.FieldLength)) {\n return undefined;\n }\n else if (source.findFirstExpression(Expressions.TableExpression)) {\n const chain = source.findDirectExpression(Expressions.FieldChain);\n if (chain !== undefined\n && chain.getChildren().length === 2\n && chain.getChildren()[0].get() instanceof Expressions.SourceField\n && chain.getChildren()[1].get() instanceof Expressions.TableExpression) {\n type = \"LINE OF \" + chain.getChildren()[0].concatTokens();\n }\n else {\n return undefined;\n }\n }\n else {\n type = source.concatTokens();\n }\n const targetName = (_c = target.findFirstExpression(Expressions.TargetField)) === null || _c === void 0 ? void 0 : _c.concatTokens();\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const firstToken = node.getFirstToken();\n const lastToken = node.getLastToken();\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, firstToken.getStart(), `DATA ${targetName} LIKE ${type}.\\n${indentation}`);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), lastToken.getEnd(), `${targetName} = ${source.concatTokens()}.`);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, node.getFirstToken(), \"Outline DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n partiallyImplemented(node, lowFile) {\n if (node.get() instanceof Statements.InterfaceDef) {\n const partially = node.findDirectTokenByText(\"PARTIALLY\");\n if (partially === undefined) {\n return undefined;\n }\n const implemented = node.findDirectTokenByText(\"IMPLEMENTED\");\n if (implemented === undefined) {\n return undefined;\n }\n const fix = edit_helper_1.EditHelper.deleteRange(lowFile, partially.getStart(), implemented.getEnd());\n return issue_1.Issue.atToken(lowFile, partially, \"Downport PARTIALLY IMPLEMENTED\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n raiseException(node, lowFile, highSyntax) {\n /*\n Note: IF_T100_DYN_MSG does not exist in 702, so this rule is mostly relevant for the transpiler\n \n DATA foo LIKE if_t100_message=>t100key.\n foo-msgid = 'ZHVAM'.\n foo-msgno = '001'.\n foo-attr1 = 'IF_T100_DYN_MSG~MSGV1'.\n foo-attr2 = 'IF_T100_DYN_MSG~MSGV2'.\n foo-attr3 = 'IF_T100_DYN_MSG~MSGV3'.\n foo-attr4 = 'IF_T100_DYN_MSG~MSGV4'.\n DATA bar TYPE REF TO zcl_hvam_exception.\n CREATE OBJECT bar EXPORTING textid = foo.\n bar->if_t100_dyn_msg~msgty = 'E'.\n bar->if_t100_dyn_msg~msgv1 = 'abc'.\n bar->if_t100_dyn_msg~msgv2 = 'abc'.\n bar->if_t100_dyn_msg~msgv3 = 'abc'.\n bar->if_t100_dyn_msg~msgv4 = 'abc'.\n RAISE EXCEPTION bar.\n */\n var _a, _b, _c, _d, _e, _f, _g;\n if (!(node.get() instanceof Statements.Raise)) {\n return undefined;\n }\n let id = undefined;\n let number = undefined;\n let startToken = node.findDirectTokenByText(\"ID\");\n if (startToken) {\n const sources = node.findDirectExpressions(Expressions.Source);\n id = sources[0].concatTokens();\n const numberExpression = node.findExpressionAfterToken(\"NUMBER\");\n if (numberExpression === undefined) {\n throw \"downport raiseException, could not find number\";\n }\n number = numberExpression.concatTokens();\n if (numberExpression.get() instanceof Expressions.MessageNumber) {\n number = \"'\" + number + \"'\";\n }\n }\n else {\n const s = node.findDirectExpression(Expressions.MessageSource);\n if (s === undefined) {\n return undefined;\n }\n if (s.findDirectExpression(Expressions.MessageClass)) {\n id = \"'\" + ((_b = (_a = s.findDirectExpression(Expressions.MessageClass)) === null || _a === void 0 ? void 0 : _a.concatTokens()) === null || _b === void 0 ? void 0 : _b.toUpperCase()) + \"'\";\n }\n else {\n id = (_c = s.findExpressionAfterToken(\"ID\")) === null || _c === void 0 ? void 0 : _c.concatTokens();\n }\n if (s.findDirectExpression(Expressions.MessageTypeAndNumber)) {\n number = \"'\" + ((_d = s.findDirectExpression(Expressions.MessageTypeAndNumber)) === null || _d === void 0 ? void 0 : _d.concatTokens().substring(1)) + \"'\";\n }\n else {\n number = (_e = s.findExpressionAfterToken(\"NUMBER\")) === null || _e === void 0 ? void 0 : _e.concatTokens();\n }\n startToken = node.getFirstToken();\n }\n const withs = ((_f = node.findDirectExpression(Expressions.RaiseWith)) === null || _f === void 0 ? void 0 : _f.findDirectExpressions(Expressions.Source)) || [];\n const className = ((_g = node.findDirectExpression(Expressions.ClassName)) === null || _g === void 0 ? void 0 : _g.concatTokens()) || \"ERROR\";\n const uniqueName1 = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const uniqueName2 = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n let abap = `DATA ${uniqueName1} LIKE if_t100_message=>t100key.\r\n${indentation}${uniqueName1}-msgid = ${id}.\r\n${indentation}${uniqueName1}-msgno = ${number}.\\n`;\n if (withs.length > 0) {\n abap += `${indentation}${uniqueName1}-attr1 = 'IF_T100_DYN_MSG~MSGV1'.\r\n${indentation}${uniqueName1}-attr2 = 'IF_T100_DYN_MSG~MSGV2'.\r\n${indentation}${uniqueName1}-attr3 = 'IF_T100_DYN_MSG~MSGV3'.\r\n${indentation}${uniqueName1}-attr4 = 'IF_T100_DYN_MSG~MSGV4'.\\n`;\n }\n abap += `${indentation}DATA ${uniqueName2} TYPE REF TO ${className}.\r\n${indentation}CREATE OBJECT ${uniqueName2} EXPORTING textid = ${uniqueName1}.\\n`;\n if (withs.length > 0) {\n abap += `${indentation}${uniqueName2}->if_t100_dyn_msg~msgty = 'E'.\\n`;\n }\n let count = 1;\n for (const w of withs) {\n abap += `${indentation}${uniqueName2}->if_t100_dyn_msg~msgv${count} = ${w.concatTokens()}.\\n`;\n count++;\n }\n abap += `${indentation}RAISE EXCEPTION ${uniqueName2}.`;\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, node.getStart(), node.getEnd(), abap);\n return issue_1.Issue.atToken(lowFile, startToken, \"Downport RAISE MESSAGE\", this.getMetadata().key, this.conf.severity, fix);\n }\n emptyKey(low, node, lowFile) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (let i of node.findAllExpressions(Expressions.TypeTable)) {\n const key = i.findDirectExpression(Expressions.TypeTableKey);\n if (key === undefined) {\n continue;\n }\n i = key;\n const concat = i.concatTokens();\n if (concat.toUpperCase().includes(\"WITH EMPTY KEY\") === false) {\n continue;\n }\n const token = i.findDirectTokenByText(\"EMPTY\");\n if (token === undefined) {\n continue;\n }\n const fix = edit_helper_1.EditHelper.replaceToken(lowFile, token, \"DEFAULT\");\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Downport EMPTY KEY\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n callFunctionParameterSimple(high, lowFile, highSyntax) {\n if (!(high.get() instanceof Statements.CallFunction)) {\n return undefined;\n }\n let found = undefined;\n for (const p of high.findAllExpressions(Expressions.FunctionExportingParameter)) {\n found = p.findDirectExpression(Expressions.Source);\n if (found && (found.findDirectExpression(Expressions.FieldChain)\n || found.findDirectExpression(Expressions.Constant)\n || found.findDirectExpression(Expressions.TextElement))) {\n // its actually simple, ok\n found = undefined;\n }\n else if (found !== undefined) {\n break;\n }\n }\n if (found === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const code = `DATA(${uniqueName}) = ${found.concatTokens()}.\\n`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, found.getFirstToken().getStart(), found.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, call function parameter\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportCorrespondingSimple(high, lowFile) {\n var _a, _b;\n if (!(high.get() instanceof Statements.Move)\n || high.getChildren().length !== 4\n || high.getChildren()[2].getFirstToken().getStr().toUpperCase() !== \"CORRESPONDING\") {\n return undefined;\n }\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const sourceRef = (_a = high.findFirstExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(Expressions.CorrespondingBody);\n if ((sourceRef === null || sourceRef === void 0 ? void 0 : sourceRef.getChildren().length) === 1) {\n const code = `MOVE-CORRESPONDING ${sourceRef.concatTokens()} TO ${target.concatTokens()}`;\n const start = high.getFirstToken().getStart();\n const end = high.getLastToken().getStart();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, simple CORRESPONDING move\", this.getMetadata().key, this.conf.severity, fix);\n }\n else if ((sourceRef === null || sourceRef === void 0 ? void 0 : sourceRef.getChildren().length) === 5 && ((_b = sourceRef.getFirstChild()) === null || _b === void 0 ? void 0 : _b.concatTokens().toUpperCase()) === \"BASE\") {\n let code = `${target.concatTokens()} = ${sourceRef.getChildren()[2].concatTokens()}.\\n`;\n code += `MOVE-CORRESPONDING ${sourceRef.getChildren()[4].concatTokens()} TO ${target.concatTokens()}`;\n const start = high.getFirstToken().getStart();\n const end = high.getLastToken().getStart();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, CORRESPONDING BASE move\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n downportRefSimple(high, lowFile, highSyntax) {\n var _a;\n if (!(high.get() instanceof Statements.Move)\n || high.getChildren().length !== 4\n || high.getChildren()[2].getFirstToken().getStr().toUpperCase() !== \"REF\") {\n return undefined;\n }\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const sourceRef = (_a = high.findFirstExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Source);\n if (sourceRef === undefined\n || sourceRef.getChildren().length !== 1) {\n return undefined;\n }\n let code = \"\";\n if (sourceRef.findFirstExpression(Expressions.TableExpression)) {\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n code = `ASSIGN ${sourceRef.concatTokens()} TO FIELD-SYMBOL(<${uniqueName}>).\r\nIF sy-subrc <> 0.\r\n RAISE EXCEPTION TYPE cx_sy_itab_line_not_found.\r\nENDIF.\r\nGET REFERENCE OF <${uniqueName}> INTO ${target.concatTokens()}`;\n }\n else {\n code = `GET REFERENCE OF ${sourceRef.concatTokens()} INTO ${target.concatTokens()}`;\n }\n const start = high.getFirstToken().getStart();\n const end = high.getLastToken().getStart();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, simple REF move\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportLoopGroup(high, lowFile, highSyntax, highFile) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n if (!(high.get() instanceof Statements.Loop)) {\n return undefined;\n }\n const group = high.findDirectExpression(Expressions.LoopGroupBy);\n if (group === undefined) {\n return undefined;\n }\n const groupTargetName = ((_a = group.findFirstExpression(Expressions.TargetField)) === null || _a === void 0 ? void 0 : _a.concatTokens())\n || ((_b = group.findFirstExpression(Expressions.TargetFieldSymbol)) === null || _b === void 0 ? void 0 : _b.concatTokens().replace(\"<\", \"_\").replace(\">\", \"_\"))\n || \"nameNotFound\";\n const loopSourceName = ((_c = high.findFirstExpression(Expressions.SimpleSource2)) === null || _c === void 0 ? void 0 : _c.concatTokens()) || \"nameNotFound\";\n const loopTargetName = ((_d = high.findFirstExpression(Expressions.TargetField)) === null || _d === void 0 ? void 0 : _d.concatTokens())\n || ((_e = high.findFirstExpression(Expressions.TargetFieldSymbol)) === null || _e === void 0 ? void 0 : _e.concatTokens())\n || \"nameNotFound\";\n const groupTarget = ((_f = group.findDirectExpression(Expressions.LoopGroupByTarget)) === null || _f === void 0 ? void 0 : _f.concatTokens()) || \"\";\n const isReference = (_g = high.findFirstExpression(Expressions.LoopTarget)) === null || _g === void 0 ? void 0 : _g.concatTokens().toUpperCase().startsWith(\"REFERENCE INTO \");\n let loopSourceRowType = \"typeNotFound\";\n const spag = highSyntax.spaghetti.lookupPosition(high.getFirstToken().getStart(), lowFile.getFilename());\n if (spag !== undefined) {\n const found = spag.findVariable(loopSourceName);\n const tt = found === null || found === void 0 ? void 0 : found.getType();\n if (tt instanceof basic_1.TableType) {\n loopSourceRowType = tt.getRowType().getQualifiedName() || \"typeNotFound\";\n }\n }\n let code = `TYPES: BEGIN OF ${groupTargetName}type,\\n`;\n let condition = \"\";\n let groupCountName = undefined;\n let groupIndexName = undefined;\n for (const c of group.findAllExpressions(Expressions.LoopGroupByComponent)) {\n const name = c.findFirstExpression(Expressions.ComponentName);\n let type = ((_h = c.findFirstExpression(Expressions.Source)) === null || _h === void 0 ? void 0 : _h.concatTokens()) || \"todo\";\n if ((_j = c.concatTokens()) === null || _j === void 0 ? void 0 : _j.toUpperCase().endsWith(\" = GROUP SIZE\")) {\n type = \"i\";\n groupCountName = name === null || name === void 0 ? void 0 : name.concatTokens();\n }\n else if ((_k = c.concatTokens()) === null || _k === void 0 ? void 0 : _k.toUpperCase().endsWith(\" = GROUP INDEX\")) {\n type = \"i\";\n groupIndexName = name === null || name === void 0 ? void 0 : name.concatTokens();\n }\n else {\n if (condition !== \"\") {\n condition += \" \";\n }\n condition += c.concatTokens();\n type = type.replace(loopTargetName, loopSourceRowType);\n type = type.replace(\"->\", \"-\");\n }\n code += ` ${name === null || name === void 0 ? void 0 : name.concatTokens()} TYPE ${type},\\n`;\n }\n const s = group.findDirectExpression(Expressions.Source);\n let singleName = \"\";\n if (s) {\n let type = s.concatTokens();\n type = type.replace(loopTargetName, loopSourceRowType);\n type = type.replace(\"->\", \"-\");\n singleName = s.concatTokens().split(\"-\")[1];\n code += ` ${singleName} TYPE ${type},\\n`;\n condition = singleName + \" = \" + s.concatTokens();\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const uniqueFS = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const uniqueNameIndex = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n code += ` items LIKE ${loopSourceName},\r\n END OF ${groupTargetName}type.\r\nDATA ${groupTargetName}tab TYPE STANDARD TABLE OF ${groupTargetName}type WITH DEFAULT KEY.\r\nDATA ${uniqueName} LIKE LINE OF ${groupTargetName}tab.\r\nLOOP AT ${loopSourceName} ${(_l = high.findFirstExpression(Expressions.LoopTarget)) === null || _l === void 0 ? void 0 : _l.concatTokens()}.\\n`;\n if (groupIndexName !== undefined) {\n code += `DATA(${uniqueNameIndex}) = sy-tabix.\\n`;\n }\n code += `READ TABLE ${groupTargetName}tab ASSIGNING FIELD-SYMBOL(<${uniqueFS}>) WITH KEY ${condition}.\r\nIF sy-subrc = 0.\\n`;\n if (groupCountName !== undefined) {\n code += ` <${uniqueFS}>-${groupCountName} = <${uniqueFS}>-${groupCountName} + 1.\\n`;\n }\n code += ` INSERT ${loopTargetName}${isReference ? \"->*\" : \"\"} INTO TABLE <${uniqueFS}>-items.\r\nELSE.\\n`;\n code += ` CLEAR ${uniqueName}.\\n`;\n for (const c of group.findAllExpressions(Expressions.LoopGroupByComponent)) {\n const concat = c.concatTokens();\n // console.dir(concat);\n if (concat.endsWith(\" GROUP INDEX\")) {\n code += ` ${uniqueName}-${groupIndexName} = ${uniqueNameIndex}.\\n`;\n }\n else if (concat.endsWith(\" GROUP SIZE\")) {\n code += ` ${uniqueName}-${groupCountName} = 1.\\n`;\n }\n else {\n code += ` ${uniqueName}-${concat}.\\n`;\n }\n }\n if (singleName !== \"\") {\n code += ` ${uniqueName}-${singleName} = ${loopTargetName}-${singleName}.\\n`;\n }\n code += ` INSERT ${loopTargetName}${isReference ? \"->*\" : \"\"} INTO TABLE ${uniqueName}-items.\\n`;\n code += ` INSERT ${uniqueName} INTO TABLE ${groupTargetName}tab.\\n`;\n code += `ENDIF.\r\nENDLOOP.\r\nLOOP AT ${groupTargetName}tab ${groupTarget}.`;\n let fix = edit_helper_1.EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), code);\n for (const l of ((_m = highFile.getStructure()) === null || _m === void 0 ? void 0 : _m.findAllStructures(Structures.Loop)) || []) {\n // make sure to find the correct/current loop statement\n if (l.findDirectStatement(Statements.Loop) !== high) {\n continue;\n }\n for (const loop of l.findAllStatements(Statements.Loop)) {\n if ((_o = loop.concatTokens()) === null || _o === void 0 ? void 0 : _o.toUpperCase().startsWith(\"LOOP AT GROUP \")) {\n const subLoopSource = loop.findFirstExpression(Expressions.SimpleSource2);\n if (subLoopSource === undefined) {\n continue;\n }\n const subLoopSourceName = (subLoopSource === null || subLoopSource === void 0 ? void 0 : subLoopSource.concatTokens()) || \"nameNotFound\";\n const subCode = `LOOP AT ${subLoopSourceName}${isReference ? \"->\" : \"-\"}items`;\n const subFix = edit_helper_1.EditHelper.replaceRange(lowFile, loop.getFirstToken().getStart(), subLoopSource.getLastToken().getEnd(), subCode);\n fix = edit_helper_1.EditHelper.merge(subFix, fix);\n }\n }\n }\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, LOOP GROUP\", this.getMetadata().key, this.conf.severity, fix);\n }\n downportRef(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n let found = undefined;\n for (const s of high.findAllExpressionsRecursive(Expressions.Source)) {\n if (s.getFirstToken().getStr().toUpperCase() === \"REF\"\n && s.findDirectExpression(Expressions.TypeNameOrInfer)) {\n found = s;\n }\n }\n if (found === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const code = `DATA(${uniqueName}) = ${found.concatTokens()}.\\n`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, found.getFirstToken().getStart(), found.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, REF\", this.getMetadata().key, this.conf.severity, fix);\n }\n assignWithTable(low, high, lowFile) {\n var _a, _b;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n if (!(high.get() instanceof Statements.Assign)) {\n return undefined;\n }\n else if (high.getChildren().length !== 5) {\n return undefined;\n }\n const fieldChain = (_b = (_a = high.findDirectExpression(Expressions.AssignSource)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.FieldChain);\n const tableExpression = fieldChain === null || fieldChain === void 0 ? void 0 : fieldChain.getLastChild();\n if (tableExpression === undefined\n || !(tableExpression.get() instanceof Expressions.TableExpression)\n || !(tableExpression instanceof nodes_1.ExpressionNode)) {\n return undefined;\n }\n let condition = \"\";\n if (tableExpression.getChildren().length === 3) {\n const index = tableExpression.findDirectExpression(Expressions.Source);\n if (index === undefined) {\n return undefined;\n }\n condition = `INDEX ${index.concatTokens()}`;\n }\n else {\n let concat = tableExpression.concatTokens();\n concat = concat.substring(2);\n concat = concat.substring(0, concat.length - 2);\n condition = `WITH KEY ${concat}`;\n }\n let pre = \"\";\n for (const c of fieldChain.getChildren()) {\n if (c === tableExpression) {\n break;\n }\n pre += c.concatTokens();\n }\n const fsTarget = high.findDirectExpression(Expressions.FSTarget);\n const code = `READ TABLE ${pre} ${condition} ASSIGNING ${fsTarget === null || fsTarget === void 0 ? void 0 : fsTarget.concatTokens()}.`;\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, ASSIGN table expr\", this.getMetadata().key, this.conf.severity, fix);\n }\n moveWithSimpleValue(low, high, lowFile) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n if (!(high.get() instanceof Statements.Move)\n || high.getChildren().length !== 4) {\n return undefined;\n }\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const source = high.findDirectExpression(Expressions.Source);\n if (source === undefined) {\n return undefined;\n }\n const field = target.findDirectExpression(Expressions.TargetField);\n if (field === undefined) {\n return;\n }\n const valueBody = source.findDirectExpression(Expressions.ValueBody);\n if (valueBody === undefined) {\n return;\n }\n const fieldAssignments = valueBody.findDirectExpressions(Expressions.FieldAssignment);\n if (fieldAssignments.length === 0) {\n return;\n }\n else if (fieldAssignments.length !== valueBody.getChildren().length) {\n return;\n }\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let code = `CLEAR ${target.concatTokens()}.\\n`;\n for (const fieldAssignment of fieldAssignments) {\n code += indentation + target.concatTokens() + \"-\" + fieldAssignment.concatTokens() + `.\\n`;\n }\n code = code.trimEnd();\n const start = high.getFirstToken().getStart();\n const end = high.getLastToken().getEnd();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, simple move\", this.getMetadata().key, this.conf.severity, fix);\n }\n // note, downporting ENUM does not give the correct types, but it will work in most cases?\n downportEnum(_low, high, lowFile, _highSyntax, highFile) {\n var _a, _b, _c, _d, _e;\n if (!(high.get() instanceof Statements.TypeEnumBegin)) {\n return undefined;\n }\n const enumStructure = (_a = highFile.getStructure()) === null || _a === void 0 ? void 0 : _a.findFirstStructure(Structures.TypeEnum);\n if (enumStructure === undefined) {\n return undefined;\n }\n if (enumStructure.getFirstStatement() !== high) {\n return undefined;\n }\n const enumName = (_b = high.findExpressionAfterToken(\"ENUM\")) === null || _b === void 0 ? void 0 : _b.concatTokens();\n const structureName = (_c = high.findExpressionAfterToken(\"STRUCTURE\")) === null || _c === void 0 ? void 0 : _c.concatTokens();\n // all ENUMS are char like?\n let code = `TYPES ${enumName} TYPE string.\r\nCONSTANTS: BEGIN OF ${structureName},\\n`;\n let count = 1;\n for (const e of enumStructure.findDirectStatements(Statements.TypeEnum).concat(enumStructure.findDirectStatements(Statements.Type))) {\n const name = (_d = e.findFirstExpression(Expressions.NamespaceSimpleName)) === null || _d === void 0 ? void 0 : _d.concatTokens();\n let value = (_e = e.findFirstExpression(Expressions.Value)) === null || _e === void 0 ? void 0 : _e.concatTokens();\n if (value === undefined) {\n value = \"VALUE '\" + count++ + \"'\";\n }\n code += ` ${name} TYPE ${enumName} ${value},\\n`;\n }\n code += ` END OF ${structureName}.`;\n const start = enumStructure.getFirstToken().getStart();\n const end = enumStructure.getLastToken().getEnd();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport ENUM\", this.getMetadata().key, this.conf.severity, fix);\n }\n moveWithTableTarget(low, high, lowFile, highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n if (!(high.get() instanceof Statements.Move)) {\n return undefined;\n }\n const target = high.findDirectExpression(Expressions.Target);\n if (target === undefined) {\n return undefined;\n }\n const tableExpression = target.findDirectExpression(Expressions.TableExpression);\n if (tableExpression === undefined) {\n return undefined;\n }\n const index = tableExpression.findDirectExpression(Expressions.Source);\n if (index === undefined) {\n return undefined;\n }\n let uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n uniqueName = `<${uniqueName}>`;\n const tName = target.concatTokens().split(\"[\")[0];\n const condition = this.tableCondition(tableExpression);\n const tabixBackup = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n // restore tabix before exeption\n const code = `FIELD-SYMBOLS ${uniqueName} LIKE LINE OF ${tName}.\r\n${indentation}DATA ${tabixBackup} LIKE sy-tabix.\r\n${indentation}${tabixBackup} = sy-tabix.\r\n${indentation}READ TABLE ${tName} ${condition}ASSIGNING ${uniqueName}.\r\n${indentation}sy-tabix = ${tabixBackup}.\r\n${indentation}IF sy-subrc <> 0.\r\n${indentation} RAISE EXCEPTION TYPE cx_sy_itab_line_not_found.\r\n${indentation}ENDIF.\r\n${indentation}${uniqueName}`;\n const start = target.getFirstToken().getStart();\n const end = (_a = tableExpression.findDirectTokenByText(\"]\")) === null || _a === void 0 ? void 0 : _a.getEnd();\n if (end === undefined) {\n return undefined;\n }\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport, move with table target\", this.getMetadata().key, this.conf.severity, fix);\n }\n moveWithOperator(low, high, lowFile) {\n var _a, _b, _c;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n else if (!(high.get() instanceof Statements.Move)) {\n return undefined;\n }\n const children = high.getChildren();\n const secondChild = children[1];\n if (secondChild === undefined) {\n return undefined;\n }\n const op = secondChild.getFirstToken();\n let operator = \"\";\n switch (op.getStr()) {\n case \"+\":\n operator = \" + \";\n break;\n case \"-\":\n operator = \" - \";\n break;\n case \"/=\":\n operator = \" / \";\n break;\n case \"*=\":\n operator = \" * \";\n break;\n case \"&&=\":\n operator = \" && \";\n break;\n default:\n return undefined;\n }\n const target = (_a = high.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (target === undefined) {\n return;\n }\n const sourceStart = (_c = (_b = high.findDirectExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.getFirstChild()) === null || _c === void 0 ? void 0 : _c.getFirstToken().getStart();\n if (sourceStart === undefined) {\n return;\n }\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, op.getStart(), sourceStart, \"= \" + target + operator);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Expand operator\", this.getMetadata().key, this.conf.severity, fix);\n }\n // must be very simple string templates, like \"|{ ls_line-no ALPHA = IN }|\"\n stringTemplateAlpha(low, high, lowFile, highSyntax) {\n var _a, _b;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const child of high.findAllExpressionsRecursive(Expressions.StringTemplate)) {\n const templateTokens = child.getChildren();\n if (templateTokens.length !== 3\n || templateTokens[0].getFirstToken().getStr() !== \"|{\"\n || templateTokens[2].getFirstToken().getStr() !== \"}|\") {\n continue;\n }\n const templateSource = child.findDirectExpression(Expressions.StringTemplateSource);\n const formatting = (_a = templateSource === null || templateSource === void 0 ? void 0 : templateSource.findDirectExpression(Expressions.StringTemplateFormatting)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n let functionName = \"\";\n switch (formatting) {\n case \"ALPHA = IN\":\n functionName = \"CONVERSION_EXIT_ALPHA_INPUT\";\n break;\n case \"ALPHA = OUT\":\n functionName = \"CONVERSION_EXIT_ALPHA_OUTPUT\";\n break;\n default:\n return undefined;\n }\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const source = (_b = templateSource === null || templateSource === void 0 ? void 0 : templateSource.findDirectExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const code = `DATA ${uniqueName} TYPE string.\r\n${indentation}CALL FUNCTION '${functionName}'\r\n${indentation} EXPORTING\r\n${indentation} input = ${source}\r\n${indentation} IMPORTING\r\n${indentation} output = ${uniqueName}.\\n`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, child.getFirstToken().getStart(), child.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Downport ALPHA\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineLoopInput(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n else if (!(high.get() instanceof Statements.Loop)) {\n return undefined;\n }\n else if (high.findDirectExpression(Expressions.SimpleSource2)) {\n return undefined;\n }\n // the first Source must be outlined\n const s = high.findDirectExpression(Expressions.Source);\n if (s === undefined) {\n return undefined;\n }\n const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const code = `DATA(${uniqueName}) = ${s.concatTokens()}.\\n` +\n \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, s.getFirstToken().getStart(), s.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Outline LOOP input\", this.getMetadata().key, this.conf.severity, fix);\n }\n outlineLoopTarget(node, lowFile, highSyntax) {\n var _a, _b, _c, _d, _e, _f, _g;\n // also allows outlining of voided types\n if (!(node.get() instanceof Statements.Loop)) {\n return undefined;\n }\n const sourceName = (_a = node.findDirectExpression(Expressions.SimpleSource2)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (sourceName === undefined) {\n return undefined;\n }\n const concat = node.concatTokens().toUpperCase();\n if (concat.includes(\" GROUP BY \") || concat.startsWith(\"LOOP AT GROUP \")) {\n return undefined;\n }\n const isReference = concat.includes(\" REFERENCE INTO \");\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const dataTarget = (_c = (_b = node.findDirectExpression(Expressions.LoopTarget)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.Target)) === null || _c === void 0 ? void 0 : _c.findDirectExpression(Expressions.InlineData);\n if (dataTarget) {\n const targetName = ((_d = dataTarget.findDirectExpression(Expressions.TargetField)) === null || _d === void 0 ? void 0 : _d.concatTokens()) || \"DOWNPORT_ERROR\";\n let code = `DATA ${targetName} LIKE LINE OF ${sourceName}.\\n${indentation}`;\n if (isReference) {\n const likeName = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n code = `DATA ${likeName} LIKE LINE OF ${sourceName}.\\n${indentation}DATA ${targetName} LIKE REF TO ${likeName}.\\n${indentation}`;\n }\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, dataTarget.getFirstToken().getStart(), dataTarget.getLastToken().getEnd(), targetName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, node.getFirstToken(), \"Outline LOOP data target\", this.getMetadata().key, this.conf.severity, fix);\n }\n const fsTarget = (_f = (_e = node.findDirectExpression(Expressions.LoopTarget)) === null || _e === void 0 ? void 0 : _e.findDirectExpression(Expressions.FSTarget)) === null || _f === void 0 ? void 0 : _f.findDirectExpression(Expressions.InlineFS);\n if (fsTarget) {\n const targetName = ((_g = fsTarget.findDirectExpression(Expressions.TargetFieldSymbol)) === null || _g === void 0 ? void 0 : _g.concatTokens()) || \"DOWNPORT_ERROR\";\n const code = `FIELD-SYMBOLS ${targetName} LIKE LINE OF ${sourceName}.\\n${indentation}`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, fsTarget.getFirstToken().getStart(), fsTarget.getLastToken().getEnd(), targetName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, node.getFirstToken(), \"Outline LOOP fs target\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineFor(forLoop, indentation, lowFile, highSyntax) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n let body = \"\";\n let end = \"\";\n const loopSource = (_a = forLoop.findFirstExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n let loopTargetFieldExpression = forLoop.findFirstExpression(Expressions.TargetField);\n let loopTargetFieldName = loopTargetFieldExpression === null || loopTargetFieldExpression === void 0 ? void 0 : loopTargetFieldExpression.concatTokens();\n const of = forLoop.findExpressionAfterToken(\"OF\");\n if (of !== undefined) {\n loopTargetFieldExpression = of;\n loopTargetFieldName = of === null || of === void 0 ? void 0 : of.concatTokens();\n }\n if (((_c = (_b = forLoop.findDirectExpression(Expressions.InlineLoopDefinition)) === null || _b === void 0 ? void 0 : _b.getFirstChild()) === null || _c === void 0 ? void 0 : _c.get()) instanceof Expressions.TargetFieldSymbol) {\n loopTargetFieldExpression = undefined;\n loopTargetFieldName = undefined;\n }\n if (loopTargetFieldExpression) {\n const start = loopTargetFieldExpression.getFirstToken().getStart();\n const spag = highSyntax.spaghetti.lookupPosition(start, lowFile.getFilename());\n if (loopTargetFieldName && spag) {\n if (new SpagHelper(spag).isDuplicateName(loopTargetFieldName, start)) {\n this.renameVariable(spag, loopTargetFieldName, start, lowFile, highSyntax);\n }\n }\n }\n let cond = ((_d = forLoop.findDirectExpression(Expressions.ComponentCond)) === null || _d === void 0 ? void 0 : _d.concatTokens()) || \"\";\n if (cond !== \"\") {\n cond = \" WHERE \" + cond;\n }\n const loop = forLoop.findDirectExpression(Expressions.InlineLoopDefinition);\n const indexInto = (_e = loop === null || loop === void 0 ? void 0 : loop.findExpressionAfterToken(\"INTO\")) === null || _e === void 0 ? void 0 : _e.concatTokens();\n if (forLoop.findDirectTokenByText(\"UNTIL\")\n || forLoop.findDirectTokenByText(\"WHILE\")) {\n const fieldDef = forLoop.findDirectExpression(Expressions.InlineFieldDefinition);\n const field = (_f = fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.findFirstExpression(Expressions.Field)) === null || _f === void 0 ? void 0 : _f.concatTokens();\n const indexBackup = this.uniqueName(forLoop.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n body += indentation + \"DATA \" + field + \" TYPE i.\\n\";\n const second = fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.getChildren()[2];\n if ((second === null || second === void 0 ? void 0 : second.get()) instanceof Expressions.Source) {\n body += indentation + field + \" = \" + second.concatTokens() + \".\\n\";\n }\n const not = forLoop.findDirectTokenByText(\"UNTIL\") ? \" NOT\" : \"\";\n const cond = forLoop.findFirstExpression(Expressions.Cond);\n body += indentation + `DATA ${indexBackup} LIKE sy-index.\\n`;\n body += indentation + `${indexBackup} = sy-index.\\n`;\n body += indentation + `WHILE${not} ${cond === null || cond === void 0 ? void 0 : cond.concatTokens()}.\\n`;\n body += indentation + ` sy-index = ${indexBackup}.\\n`;\n const then = forLoop.findExpressionAfterToken(\"THEN\");\n if (then) {\n end += ` ${field} = ${then.concatTokens()}.\\n`;\n }\n else {\n end += ` ${field} = ${field} + 1.\\n`;\n }\n end += indentation + \"ENDWHILE\";\n }\n else if (loopTargetFieldName !== undefined) {\n let from = (_g = forLoop.findExpressionAfterToken(\"FROM\")) === null || _g === void 0 ? void 0 : _g.concatTokens();\n from = from ? \" FROM \" + from : \"\";\n let to = (_h = forLoop.findExpressionAfterToken(\"TO\")) === null || _h === void 0 ? void 0 : _h.concatTokens();\n to = to ? \" TO \" + to : \"\";\n let gby = \"\";\n for (const lg of forLoop.findDirectExpressions(Expressions.LoopGroupByComponent)) {\n if (gby !== \"\") {\n gby += \" \";\n }\n gby += lg.concatTokens();\n }\n if (gby !== \"\") {\n gby = \" GROUP BY ( \" + gby + \" )\";\n }\n const fc = forLoop.findDirectExpression(Expressions.FieldChain);\n if (fc) {\n gby = \" GROUP BY \" + fc.concatTokens();\n }\n if (forLoop.findDirectTokenByText(\"ASCENDING\")) {\n gby += \" ASCENDING\";\n }\n if (forLoop.findDirectTokenByText(\"DESCENDING\")) {\n gby += \" DESCENDING\";\n }\n const groups = forLoop.findExpressionAfterToken(\"GROUPS\");\n if (groups) {\n const concat = groups.concatTokens();\n if (concat.startsWith(\"<\")) {\n gby += \" ASSIGNING FIELD-SYMBOL(\" + concat + \")\";\n }\n else {\n gby += \" INTO DATA(\" + concat + \")\";\n }\n }\n let inGroup = \"\";\n if (forLoop.concatTokens().toUpperCase().includes(\" IN GROUP \")) {\n inGroup = \"-items\";\n }\n let into = \"INTO DATA\";\n if (loopTargetFieldName.startsWith(\"<\")) {\n into = \"ASSIGNING FIELD-SYMBOL\";\n }\n // todo, also backup sy-index / sy-tabix here?\n body += indentation + `LOOP AT ${loopSource}${inGroup} ${into}(${loopTargetFieldName})${from}${to}${cond}${gby}.\\n`;\n if (indexInto) {\n body += indentation + \" DATA(\" + indexInto + \") = sy-tabix.\\n\";\n }\n end = \"ENDLOOP\";\n }\n else if (loopTargetFieldName === undefined) {\n // todo, also backup sy-index / sy-tabix here?\n const loopTargetFieldSymbol = (_j = forLoop.findFirstExpression(Expressions.TargetFieldSymbol)) === null || _j === void 0 ? void 0 : _j.concatTokens();\n body += indentation + `LOOP AT ${loopSource} ASSIGNING FIELD-SYMBOL(${loopTargetFieldSymbol})${cond}.\\n`;\n if (indexInto) {\n body += indentation + \" DATA(\" + indexInto + \") = sy-tabix.\\n\";\n }\n end = \"ENDLOOP\";\n }\n const l = forLoop.findDirectExpression(Expressions.Let);\n if (l) {\n body += this.outlineLet(l, indentation, highSyntax, lowFile);\n }\n return { body, end };\n }\n outlineFilter(low, high, lowFile, highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {\n const firstToken = i.getFirstToken();\n if (firstToken.getStr().toUpperCase() !== \"FILTER\") {\n continue;\n }\n const filterBody = i.findDirectExpression(Expressions.FilterBody);\n if (filterBody === undefined) {\n continue;\n }\n const sourceName = (_a = filterBody.findDirectExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (sourceName === undefined) {\n continue;\n }\n let type = this.findType(i, lowFile, highSyntax);\n if (type === undefined) {\n type = \"LIKE \" + sourceName;\n }\n else {\n type = \"TYPE \" + type;\n }\n const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const loopName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let body = \"\";\n body += `DATA ${uniqueName} ${type}.\\n`;\n body += `${indentation}LOOP AT ${sourceName} INTO DATA(${loopName}) ${filterBody.concatTokens().substring(sourceName.length + 1)}.\\n`;\n body += `${indentation} INSERT ${loopName} INTO TABLE ${uniqueName}.\\n`;\n body += `${indentation}ENDLOOP.\\n${indentation}`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), body);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), i.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, firstToken, \"Downport FILTER\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineSwitch(low, high, lowFile, highSyntax) {\n var _a, _b, _c, _d;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {\n const firstToken = i.getFirstToken();\n if (firstToken.getStr().toUpperCase() !== \"SWITCH\") {\n continue;\n }\n let type = this.findType(i, lowFile, highSyntax);\n if (type === undefined) {\n if (high.get() instanceof Statements.Move\n && high.findDirectExpression(Expressions.Source) === i\n && ((_a = high.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.TargetField)) !== undefined) {\n type = \"LIKE \" + ((_b = high.findDirectExpression(Expressions.Target)) === null || _b === void 0 ? void 0 : _b.concatTokens());\n }\n if (type === undefined) {\n continue;\n }\n }\n else {\n type = \"TYPE \" + type;\n }\n const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let body = \"\";\n let name = \"\";\n const switchBody = i.findDirectExpression(Expressions.SwitchBody);\n if (switchBody === undefined) {\n continue;\n }\n for (const l of ((_c = switchBody === null || switchBody === void 0 ? void 0 : switchBody.findDirectExpression(Expressions.Let)) === null || _c === void 0 ? void 0 : _c.findDirectExpressions(Expressions.InlineFieldDefinition)) || []) {\n name = l.getFirstToken().getStr();\n body += indentation + `DATA(${name}) = ${(_d = switchBody.findFirstExpression(Expressions.Source)) === null || _d === void 0 ? void 0 : _d.concatTokens()}.\\n`;\n }\n body += `DATA ${uniqueName} ${type}.\\n`;\n let firstSource = false;\n let inWhen = false;\n for (const c of switchBody.getChildren()) {\n if (c.get() instanceof Expressions.Source && firstSource === false) {\n body += indentation + `CASE ${c.concatTokens()}.`;\n firstSource = true;\n }\n else if (c instanceof nodes_1.TokenNode && c.concatTokens().toUpperCase() === \"THEN\") {\n inWhen = true;\n body += \".\\n\";\n }\n else if (c instanceof nodes_1.TokenNode && c.concatTokens().toUpperCase() === \"WHEN\") {\n inWhen = false;\n body += `\\n${indentation} WHEN `;\n }\n else if (c instanceof nodes_1.TokenNode && c.concatTokens().toUpperCase() === \"OR\") {\n body += ` OR `;\n }\n else if (c instanceof nodes_1.TokenNode && c.concatTokens().toUpperCase() === \"ELSE\") {\n inWhen = true;\n body += `\\n${indentation} WHEN OTHERS.\\n`;\n }\n else if (inWhen === false) {\n body += c.concatTokens();\n }\n else {\n body += indentation + \" \" + uniqueName + \" = \" + c.concatTokens() + \".\";\n }\n }\n body += \"\\n\" + indentation + \"ENDCASE.\\n\" + indentation;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), body);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), i.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, firstToken, \"Downport SWITCH\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineReduce(low, high, lowFile, highSyntax) {\n var _a, _b;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {\n const firstToken = i.getFirstToken();\n if (firstToken.getStr().toUpperCase() !== \"REDUCE\") {\n continue;\n }\n const type = this.findType(i, lowFile, highSyntax);\n if (type === undefined) {\n continue;\n }\n const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let body = \"\";\n let name = \"\";\n const reduceBody = i.findDirectExpression(Expressions.ReduceBody);\n if (reduceBody === undefined) {\n continue;\n }\n const letNode = reduceBody.findDirectExpression(Expressions.Let);\n if (letNode) {\n body += this.outlineLet(letNode, indentation, highSyntax, lowFile);\n }\n let firstName = \"\";\n for (const init of reduceBody.findDirectExpressions(Expressions.InlineFieldDefinition)) {\n name = init.getFirstToken().getStr();\n if (firstName === \"\") {\n firstName = name;\n }\n const spag = highSyntax.spaghetti.lookupPosition(init.getFirstToken().getStart(), lowFile.getFilename());\n if (spag && new SpagHelper(spag).isDuplicateName(name, init.getFirstToken().getStart())) {\n this.renameVariable(spag, name, init.getFirstToken().getStart(), lowFile, highSyntax);\n }\n const s = (_a = init.findFirstExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n const t = (_b = init.findFirstExpression(Expressions.TypeName)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (s) {\n if (s.toUpperCase().startsWith(\"VALUE #\")) {\n body += indentation + `DATA(${name}) = ${s.replace(\"#\", type)}.\\n`;\n }\n else {\n body += indentation + `DATA(${name}) = ${s}.\\n`;\n }\n }\n else {\n body += indentation + `DATA ${name} TYPE ${t}.\\n`;\n }\n }\n let end = \"\";\n for (const forLoop of (reduceBody === null || reduceBody === void 0 ? void 0 : reduceBody.findDirectExpressions(Expressions.For)) || []) {\n const outlineFor = this.outlineFor(forLoop, indentation, lowFile, highSyntax);\n body += outlineFor.body;\n end = outlineFor.end + `.\\n` + end;\n }\n const next = reduceBody.findDirectExpression(Expressions.ReduceNext);\n if (next === undefined) {\n continue;\n }\n for (const n of next.getChildren()) {\n const concat = n.concatTokens();\n if (concat.toUpperCase() === \"NEXT\") {\n continue;\n }\n else if (n.get() instanceof Expressions.SimpleTarget) {\n body += indentation + \" \" + concat + \" \";\n }\n else if (n.get() instanceof Expressions.Source) {\n body += \" \" + concat + \".\\n\";\n }\n else {\n body += concat;\n }\n }\n body += indentation + end;\n body += indentation + `${uniqueName} = ${firstName}.\\n`;\n const abap = `DATA ${uniqueName} TYPE ${type}.\\n` +\n body +\n indentation;\n const reduceEnd = i.findDirectTokenByText(\")\");\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), reduceEnd.getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, firstToken, \"Downport REDUCE\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineCorresponding(low, high, lowFile, highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n const allSources = high.findAllExpressionsRecursive(Expressions.Source);\n for (const s of allSources) {\n const firstToken = s.getFirstToken();\n if (firstToken.getStr().toUpperCase() !== \"CORRESPONDING\") {\n continue;\n }\n const correspondingBody = s.findDirectExpression(Expressions.CorrespondingBody);\n const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let type = this.findType(s, lowFile, highSyntax);\n if (type === undefined) {\n if (high.get() instanceof Statements.Move && high.findDirectExpression(Expressions.Source) === s) {\n type = \"LIKE \" + ((_a = high.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.concatTokens());\n }\n if (type === undefined) {\n continue;\n }\n }\n else {\n type = \"TYPE \" + type;\n }\n const abap = `DATA ${uniqueName} ${type}.\\n` +\n indentation + `CLEAR ${uniqueName}.\\n` + // might be called inside a loop\n indentation + `MOVE-CORRESPONDING ${correspondingBody === null || correspondingBody === void 0 ? void 0 : correspondingBody.concatTokens()} TO ${uniqueName}.\\n` +\n indentation;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), s.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, firstToken, \"Downport CORRESPONDING\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineValue(low, high, lowFile, highSyntax) {\n var _a, _b, _c;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n const allSources = high.findAllExpressionsRecursive(Expressions.Source);\n for (const s of allSources) {\n const firstToken = s.getFirstToken();\n if (firstToken.getStr().toUpperCase() !== \"VALUE\") {\n continue;\n }\n const valueBody = s.findDirectExpression(Expressions.ValueBody);\n let type = this.findType(s, lowFile, highSyntax);\n if (type === undefined) {\n if (high.get() instanceof Statements.Move && high.findDirectExpression(Expressions.Source) === s) {\n type = \"LIKE \" + ((_a = high.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.concatTokens());\n }\n if (type === undefined) {\n continue;\n }\n }\n else {\n type = \"TYPE \" + type;\n }\n const uniqueName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n let indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n let body = \"\";\n const base = valueBody === null || valueBody === void 0 ? void 0 : valueBody.findExpressionAfterToken(\"BASE\");\n if (base) {\n body += indentation + uniqueName + \" = \" + base.concatTokens() + \".\\n\";\n }\n let end = \"\";\n let structureName = uniqueName;\n let added = false;\n let data = \"\";\n let previous = undefined;\n if ((valueBody === null || valueBody === void 0 ? void 0 : valueBody.findDirectExpression(Expressions.ValueBodyLine)) !== undefined) {\n structureName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n const extra = (valueBody === null || valueBody === void 0 ? void 0 : valueBody.findDirectExpression(Expressions.For)) ? \" \" : \"\";\n data = indentation + extra + `DATA ${structureName} LIKE LINE OF ${uniqueName}.\\n`;\n }\n for (const a of (valueBody === null || valueBody === void 0 ? void 0 : valueBody.getChildren()) || []) {\n if (a.get() instanceof Expressions.FieldAssignment) {\n if (added === false) {\n body += data;\n added = true;\n }\n body += indentation + structureName + \"-\" + a.concatTokens() + \".\\n\";\n }\n else if (a instanceof nodes_1.ExpressionNode && a.get() instanceof Expressions.For) {\n const outlineFor = this.outlineFor(a, indentation, lowFile, highSyntax);\n body += outlineFor.body;\n end = outlineFor.end + `.\\n` + end;\n indentation += \" \";\n }\n else if (a instanceof nodes_1.ExpressionNode && a.get() instanceof Expressions.Source) {\n // special handling for superflous value expression\n if ((valueBody === null || valueBody === void 0 ? void 0 : valueBody.getChildren().length) === 1) {\n body += indentation + uniqueName + \" = \" + a.concatTokens() + `.\\n`;\n }\n }\n else if (a instanceof nodes_1.ExpressionNode && a.get() instanceof Expressions.Let) {\n body += this.outlineLet(a, indentation, highSyntax, lowFile);\n }\n if (a instanceof nodes_1.ExpressionNode && a.get() instanceof Expressions.ValueBodyLine) {\n let skip = false;\n for (const b of (a === null || a === void 0 ? void 0 : a.getChildren()) || []) {\n if (b.get() instanceof Expressions.FieldAssignment) {\n if (added === false) {\n body += data;\n added = true;\n }\n body += indentation + structureName + \"-\" + b.concatTokens() + \".\\n\";\n }\n else if (b.get() instanceof Expressions.Source) {\n // note: it wont work with APPEND for Hashed/Sorted Tables, so use INSERT,\n body += indentation + \"INSERT \" + b.concatTokens() + ` INTO TABLE ${uniqueName}.\\n`;\n skip = true;\n }\n else if (b.get() instanceof Expressions.ValueBodyLines) {\n body += indentation + \"INSERT \" + b.concatTokens() + ` INTO TABLE ${uniqueName}.\\n`;\n skip = true;\n }\n else if (b.concatTokens() === \")\") {\n if (added === false && (previous === null || previous === void 0 ? void 0 : previous.concatTokens()) === \"(\") {\n body += data;\n added = true;\n }\n if (skip === false) {\n body += indentation + `INSERT ${structureName} INTO TABLE ${uniqueName}.\\n`;\n }\n }\n previous = b;\n }\n }\n }\n if (body === \"\" && ((_b = valueBody === null || valueBody === void 0 ? void 0 : valueBody.getLastChild()) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr().toUpperCase()) === \"OPTIONAL\") {\n const fieldChain = valueBody.findFirstExpression(Expressions.FieldChain);\n const rowName = this.uniqueName(firstToken.getStart(), lowFile.getFilename(), highSyntax);\n let tableExpression = undefined;\n let tabName = \"\";\n let after = \"\";\n for (const c of (fieldChain === null || fieldChain === void 0 ? void 0 : fieldChain.getChildren()) || []) {\n if (c.get() instanceof Expressions.TableExpression && c instanceof nodes_1.ExpressionNode) {\n tableExpression = c;\n }\n else if (tableExpression === undefined) {\n tabName += c.concatTokens();\n }\n else {\n after += c.concatTokens();\n }\n }\n let condition = \"\";\n if ((tableExpression === null || tableExpression === void 0 ? void 0 : tableExpression.getChildren().length) === 3) {\n condition = \"INDEX \" + ((_c = tableExpression === null || tableExpression === void 0 ? void 0 : tableExpression.findDirectExpression(Expressions.Source)) === null || _c === void 0 ? void 0 : _c.concatTokens());\n }\n else {\n condition = \"WITH KEY \" + (tableExpression === null || tableExpression === void 0 ? void 0 : tableExpression.concatTokens().replace(\"[ \", \"\").replace(\" ]\", \"\"));\n }\n body +=\n indentation + `READ TABLE ${tabName} INTO DATA(${rowName}) ${condition}.\\n` +\n indentation + `IF sy-subrc = 0.\\n` +\n indentation + ` ${uniqueName} = ${rowName}${after}.\\n` +\n indentation + `ENDIF.\\n`;\n if (type.includes(\"LIKE DATA(\")) {\n type = `LIKE LINE OF ${tabName}`;\n }\n }\n if (end !== \"\") {\n indentation = indentation.substring(2);\n body += indentation + end;\n }\n const abap = `DATA ${uniqueName} ${type}.\\n` +\n indentation + `CLEAR ${uniqueName}.\\n` + // might be called inside a loop\n body +\n indentation;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, firstToken.getStart(), s.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, firstToken, \"Downport VALUE\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineLet(node, indentation, highSyntax, lowFile) {\n var _a;\n let ret = \"\";\n for (const f of node.findDirectExpressions(Expressions.InlineFieldDefinition)) {\n const c = f.getFirstChild();\n if (c === undefined) {\n continue;\n }\n const name = c.concatTokens().toLowerCase();\n const spag = highSyntax.spaghetti.lookupPosition(c.getFirstToken().getStart(), lowFile.getFilename());\n if (spag === undefined) {\n continue;\n }\n if (new SpagHelper(spag).isDuplicateName(name, c.getFirstToken().getStart())) {\n this.renameVariable(spag, name, c.getFirstToken().getStart(), lowFile, highSyntax);\n }\n const found = spag.findVariable(name);\n if (found === undefined) {\n const source = f.findFirstExpression(Expressions.Source);\n if (source) {\n ret += indentation + \"DATA(\" + name + `) = ${source.concatTokens()}.\\n`;\n }\n continue;\n }\n const type = found.getType().getQualifiedName() ? (_a = found.getType().getQualifiedName()) === null || _a === void 0 ? void 0 : _a.toLowerCase() : found.getType().toABAP();\n ret += indentation + \"DATA \" + name + ` TYPE ${type}.\\n`;\n const source = f.findFirstExpression(Expressions.Source);\n if (source) {\n ret += indentation + name + ` = ${source.concatTokens()}.\\n`;\n }\n }\n return ret;\n }\n renameVariable(spag, name, pos, lowFile, highSyntax) {\n const newName = this.uniqueName(pos, lowFile.getFilename(), highSyntax);\n const fix = new SpagHelper(spag).renameVariable(name, pos, lowFile, newName);\n const issue = issue_1.Issue.atPosition(lowFile, pos, \"Rename before outline\", this.getMetadata().key, this.conf.severity, fix);\n throw new SkipToNextFile(issue);\n }\n findType(i, lowFile, highSyntax, ref = false) {\n var _a;\n const expr = i.findDirectExpression(Expressions.TypeNameOrInfer);\n if (expr === undefined) {\n return undefined;\n }\n const firstToken = expr.getFirstToken();\n const concat = expr.concatTokens().toLowerCase();\n if (concat !== \"#\") {\n return ref ? \"REF TO \" + concat : concat;\n }\n const spag = highSyntax.spaghetti.lookupPosition(firstToken.getStart(), lowFile.getFilename());\n if (spag === undefined) {\n return undefined;\n }\n let inferred = undefined;\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if (r.referenceType === _reference_1.ReferenceType.InferredType\n && r.resolved\n && r.position.getStart().equals(firstToken.getStart())\n && r.resolved instanceof _typed_identifier_1.TypedIdentifier) {\n inferred = r.resolved;\n break;\n }\n }\n if (inferred === undefined) {\n return undefined;\n }\n if (inferred.getType() instanceof basic_1.ObjectReferenceType) {\n return inferred.getType().toABAP();\n }\n else {\n return (_a = inferred.getType().getQualifiedName()) === null || _a === void 0 ? void 0 : _a.toLowerCase();\n }\n }\n outlineFS(low, high, lowFile, highSyntax) {\n var _a, _b;\n if (!(low.get() instanceof _statement_1.Unknown)\n || (high.get() instanceof Statements.Loop)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.InlineFS)) {\n const nameToken = (_a = i.findDirectExpression(Expressions.TargetFieldSymbol)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (nameToken === undefined) {\n continue;\n }\n const name = nameToken.getStr();\n let type = \"\";\n if (high.concatTokens().toUpperCase().startsWith(\"APPEND INITIAL LINE TO \")) {\n type = \"LIKE LINE OF \" + ((_b = high.findFirstExpression(Expressions.Target)) === null || _b === void 0 ? void 0 : _b.concatTokens());\n }\n else {\n const spag = highSyntax.spaghetti.lookupPosition(nameToken.getStart(), lowFile.getFilename());\n if (spag === undefined) {\n continue;\n }\n const found = spag.findVariable(name);\n if (found === undefined) {\n continue;\n }\n else if (found.getType() instanceof basic_1.VoidType) {\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Error outlining voided type\", this.getMetadata().key, this.conf.severity);\n }\n type = \"TYPE \";\n type += found.getType().getQualifiedName() ? found.getType().getQualifiedName().toLowerCase() : found.getType().toABAP();\n }\n const code = `FIELD-SYMBOLS ${name} ${type}.\\n` +\n \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), i.getLastToken().getEnd(), name);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Outline FIELD-SYMBOL\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineData(node, lowFile, highSyntax) {\n // hmm, no guard here, as DATA(SDF) is valid in 702\n var _a, _b;\n for (const i of node.findAllExpressionsRecursive(Expressions.InlineData)) {\n const nameToken = (_a = i.findDirectExpression(Expressions.TargetField)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (nameToken === undefined) {\n continue;\n }\n const name = nameToken.getStr();\n const spag = highSyntax.spaghetti.lookupPosition(nameToken.getStart(), lowFile.getFilename());\n if (spag === undefined) {\n continue;\n }\n const found = spag.findVariable(name);\n if (found === undefined) {\n continue;\n }\n else if (found.getType() instanceof basic_1.VoidType && found.getType().getQualifiedName() === undefined) {\n continue;\n }\n let type = found.getType().getQualifiedName()\n ? (_b = found.getType().getQualifiedName()) === null || _b === void 0 ? void 0 : _b.toLowerCase()\n : found.getType().toABAP();\n if (found.getType() instanceof basic_1.ObjectReferenceType) {\n type = found.getType().toABAP();\n }\n if (type === \"\") {\n continue;\n }\n const code = `DATA ${name} TYPE ${type}.\\n` +\n \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), i.getLastToken().getEnd(), name);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Outline DATA\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n outlineCond(low, high, lowFile, highSyntax) {\n var _a, _b;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {\n if (i.getFirstToken().getStr().toUpperCase() !== \"COND\") {\n continue;\n }\n const body = i.findDirectExpression(Expressions.CondBody);\n if (body === undefined) {\n continue;\n }\n const uniqueName = this.uniqueName(i.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n let type = this.findType(i, lowFile, highSyntax);\n if (type === undefined) {\n if (high.get() instanceof Statements.Move\n && high.findDirectExpression(Expressions.Source) === i\n && ((_a = high.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.TargetField)) !== undefined) {\n type = \"LIKE \" + ((_b = high.findDirectExpression(Expressions.Target)) === null || _b === void 0 ? void 0 : _b.concatTokens());\n }\n if (type === undefined) {\n continue;\n }\n }\n else {\n type = \"TYPE \" + type;\n }\n const indent = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const bodyCode = this.buildCondBody(body, uniqueName, indent, lowFile, highSyntax);\n const last = i.findDirectTokenByText(\")\");\n const abap = `DATA ${uniqueName} ${type}.\\n` + bodyCode;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), last.getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Downport COND\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n buildCondBody(body, uniqueName, indent, lowFile, highSyntax) {\n let code = \"\";\n let first = true;\n let addElse = true;\n for (const c of body.getChildren()) {\n if (c instanceof nodes_1.TokenNode) {\n switch (c.getFirstToken().getStr().toUpperCase()) {\n case \"WHEN\":\n if (first === true) {\n code += indent + \"IF \";\n first = false;\n }\n else {\n code += indent + \"ELSEIF \";\n }\n break;\n case \"THEN\":\n code += \".\\n\";\n break;\n case \"ELSE\":\n code += indent + \"ELSE.\\n\";\n addElse = false;\n break;\n default:\n throw \"buildCondBody, unexpected token\";\n }\n }\n else if (c.get() instanceof Expressions.Cond) {\n code += c.concatTokens();\n }\n else if (c.get() instanceof Expressions.Let) {\n code += this.outlineLet(c, indent, highSyntax, lowFile);\n }\n else if (c.get() instanceof Expressions.Source) {\n code += indent + \" \" + uniqueName + \" = \" + c.concatTokens() + \".\\n\";\n }\n else if (c.get() instanceof Expressions.Throw) {\n code += indent + \" \" + c.concatTokens().replace(/THROW /i, \"RAISE EXCEPTION NEW \") + \".\\n\";\n }\n else {\n throw \"buildCondBody, unexpected expression, \" + c.get().constructor.name;\n }\n }\n if (addElse) {\n // COND might be called inside a loop\n code += indent + \"ELSE.\\n\";\n code += indent + ` CLEAR ${uniqueName}.\\n`;\n }\n code += indent + \"ENDIF.\\n\";\n code += indent;\n return code;\n }\n outlineConv(low, high, lowFile, highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Source)) {\n if (i.getFirstToken().getStr().toUpperCase() !== \"CONV\") {\n continue;\n }\n const end = i.findDirectTokenByText(\")\");\n if (end === undefined) {\n continue;\n }\n const body = (_a = i.findDirectExpression(Expressions.ConvBody)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (body === undefined) {\n continue;\n }\n const uniqueName = this.uniqueName(i.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const type = this.findType(i, lowFile, highSyntax);\n const indent = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const abap = `DATA ${uniqueName} TYPE ${type}.\\n` +\n indent + `${uniqueName} = ${body}.\\n` +\n indent;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), end.getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Downport CONV\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n // \"CAST\" to \"?=\"\n outlineCast(low, high, lowFile, highSyntax) {\n var _a;\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const i of high.findAllExpressionsRecursive(Expressions.Cast)) {\n const uniqueName = this.uniqueName(i.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const type = this.findType(i, lowFile, highSyntax, true);\n const body = (_a = i.findDirectExpression(Expressions.Source)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n const abap = `DATA ${uniqueName} TYPE ${type}.\\n` +\n \" \".repeat(high.getFirstToken().getStart().getCol() - 1) +\n `${uniqueName} ?= ${body}.\\n` +\n \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), abap);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, i.getFirstToken().getStart(), i.getLastToken().getEnd(), uniqueName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, i.getFirstToken(), \"Downport CAST\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n uniqueName(position, filename, highSyntax) {\n const spag = highSyntax.spaghetti.lookupPosition(position, filename);\n if (spag === undefined) {\n const name = \"temprr\" + this.counter;\n this.counter++;\n return name;\n }\n while (true) {\n const name = \"temp\" + this.counter;\n const exists = this.existsRecursive(spag, name);\n this.counter++;\n if (exists === false) {\n return name;\n }\n }\n }\n existsRecursive(spag, name) {\n const existsDirect = spag.findVariable(name);\n if (existsDirect) {\n return true;\n }\n for (const child of spag.getChildren()) {\n if (child.findVariable(name) || this.existsRecursive(child, name)) {\n return true;\n }\n }\n return false;\n }\n replaceXsdBool(node, lowFile, highSyntax) {\n const spag = highSyntax.spaghetti.lookupPosition(node.getFirstToken().getStart(), lowFile.getFilename());\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if (r.referenceType === _reference_1.ReferenceType.BuiltinMethodReference\n && r.position.getName().toUpperCase() === \"XSDBOOL\") {\n const token = r.position.getToken();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, token.getStart(), token.getEnd(), \"boolc\");\n return issue_1.Issue.atToken(lowFile, token, \"Use BOOLC\", this.getMetadata().key, this.conf.severity, fix);\n }\n }\n return undefined;\n }\n findMethodCallExpression(node, token) {\n var _a;\n for (const m of node.findAllExpressions(Expressions.MethodCall)) {\n if ((_a = m.findDirectExpression(Expressions.MethodName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStart().equals(token.getStart())) {\n return m;\n }\n }\n return undefined;\n }\n replaceMethodConditional(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n for (const c of high.findAllExpressionsRecursive(Expressions.Compare)) {\n const chain = c.findDirectExpression(Expressions.MethodCallChain);\n if (chain === undefined) {\n continue;\n }\n const concat = chain.concatTokens().toUpperCase();\n if (concat.startsWith(\"LINE_EXISTS( \") || concat.startsWith(\"LINE_INDEX( \")) {\n // these are handled separately\n continue;\n }\n let predicate = false;\n const spag = highSyntax.spaghetti.lookupPosition(high.getFirstToken().getStart(), lowFile.getFilename());\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if (r.referenceType === _reference_1.ReferenceType.BuiltinMethodReference &&\n new _builtin_1.BuiltIn().isPredicate(chain.getFirstToken().getStr().toUpperCase())) {\n predicate = true;\n break;\n }\n }\n const end = chain.getLastToken().getEnd();\n let fix = edit_helper_1.EditHelper.insertAt(lowFile, end, \" IS NOT INITIAL\");\n if (predicate === true) {\n fix = edit_helper_1.EditHelper.insertAt(lowFile, end, \" ) = abap_true\");\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, chain.getFirstToken().getStart(), \"boolc( \");\n fix = edit_helper_1.EditHelper.merge(fix, fix1);\n }\n return issue_1.Issue.atToken(lowFile, chain.getFirstToken(), \"Downport method conditional\", this.getMetadata().key, this.conf.severity, fix);\n }\n return undefined;\n }\n getReference(node, lowFile, _highSyntax) {\n var _a, _b, _c;\n if (!(node.get() instanceof Statements.GetReference)) {\n return undefined;\n }\n const inline = (_a = node.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.InlineData);\n if (inline === undefined) {\n return undefined;\n }\n const targetName = (_b = inline.findDirectExpression(Expressions.TargetField)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n const sourceName = (_c = node.findDirectExpression(Expressions.Source)) === null || _c === void 0 ? void 0 : _c.concatTokens();\n if (targetName === undefined || sourceName === undefined) {\n return undefined;\n }\n const code = `DATA ${targetName} LIKE REF TO ${sourceName}.\\n`;\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, node.getFirstToken().getStart(), code);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, inline.getFirstToken().getStart(), inline.getLastToken().getEnd(), targetName);\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, inline.getFirstToken(), \"Downport, outline DATA ref\", this.getMetadata().key, this.conf.severity, fix);\n }\n replaceContains(node, lowFile, highSyntax) {\n const spag = highSyntax.spaghetti.lookupPosition(node.getFirstToken().getStart(), lowFile.getFilename());\n // only downport if its an single method call condition\n let found = false;\n for (const c of node.findAllExpressionsRecursive(Expressions.Compare)) {\n found = c.findDirectExpression(Expressions.MethodCallChain) !== undefined;\n if (found === true) {\n break;\n }\n }\n if (found === false) {\n return undefined;\n }\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if (r.referenceType !== _reference_1.ReferenceType.BuiltinMethodReference) {\n continue;\n }\n const func = r.position.getName().toUpperCase();\n if (func === \"CONTAINS\") {\n const token = r.position.getToken();\n const expression = this.findMethodCallExpression(node, token);\n if (expression === undefined) {\n continue;\n }\n const sList = expression.findAllExpressions(Expressions.Source).map(e => e.concatTokens());\n if (sList.length !== 2) {\n continue;\n }\n const code = sList[0] + \" CS \" + sList[1];\n const start = expression.getFirstToken().getStart();\n const end = expression.getLastToken().getEnd();\n const fix = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, code);\n return issue_1.Issue.atToken(lowFile, token, \"Downport contains()\", this.getMetadata().key, this.conf.severity, fix);\n }\n }\n return undefined;\n }\n replaceLineFunctions(node, lowFile, highSyntax, highFile) {\n var _a, _b;\n const spag = highSyntax.spaghetti.lookupPosition(node.getFirstToken().getStart(), lowFile.getFilename());\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if (r.referenceType !== _reference_1.ReferenceType.BuiltinMethodReference) {\n continue;\n }\n const func = r.position.getName().toUpperCase();\n if (func === \"LINE_EXISTS\" || func === \"LINE_INDEX\") {\n const token = r.position.getToken();\n const expression = this.findMethodCallExpression(node, token);\n if (expression === undefined) {\n continue;\n }\n let condition = \"\";\n for (const c of ((_a = expression === null || expression === void 0 ? void 0 : expression.findFirstExpression(Expressions.TableExpression)) === null || _a === void 0 ? void 0 : _a.getChildren()) || []) {\n if (c.getFirstToken().getStr() === \"[\" || c.getFirstToken().getStr() === \"]\") {\n continue;\n }\n else if (c.get() instanceof Expressions.ComponentChainSimple && condition === \"\") {\n condition = \"WITH KEY \";\n }\n else if (c.get() instanceof Expressions.Source && condition === \"\") {\n condition = \"INDEX \";\n }\n condition += c.concatTokens() + \" \";\n }\n const tableName = (_b = expression.findFirstExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.concatTokens().split(\"[\")[0];\n const uniqueName = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const indentation = \" \".repeat(node.getFirstToken().getStart().getCol() - 1);\n const sy = func === \"LINE_EXISTS\" ? \"sy-subrc\" : \"sy-tabix\";\n const code = `DATA ${uniqueName} LIKE sy-subrc.\\n` +\n indentation + `READ TABLE ${tableName} ${condition}TRANSPORTING NO FIELDS.\\n` +\n indentation + uniqueName + ` = ${sy}.\\n` +\n indentation;\n let insertAt = node.getFirstToken().getStart();\n if (node.get() instanceof statements_1.ElseIf) {\n // assumption: no side effects in IF conditions\n insertAt = this.findStartOfIf(node, highFile);\n if (insertAt === undefined) {\n continue;\n }\n }\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, insertAt, code);\n const start = expression.getFirstToken().getStart();\n const end = expression.getLastToken().getEnd();\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, start, end, uniqueName + (func === \"LINE_EXISTS\" ? \" = 0\" : \"\"));\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n return issue_1.Issue.atToken(lowFile, token, \"Replace line function\", this.getMetadata().key, this.conf.severity, fix);\n }\n }\n return undefined;\n }\n findStartOfIf(node, highFile) {\n const structure = highFile.getStructure();\n for (const c of (structure === null || structure === void 0 ? void 0 : structure.findAllStructuresRecursive(Structures.If)) || []) {\n for (const ei of c.findDirectStructures(Structures.ElseIf)) {\n if (ei.getFirstStatement() === node) {\n return c.getFirstToken().getStart();\n }\n }\n }\n return undefined;\n }\n newToCreateObject(low, high, lowFile, highSyntax) {\n if (!(low.get() instanceof _statement_1.Unknown)) {\n return undefined;\n }\n const source = high.findDirectExpression(Expressions.Source);\n let fix = undefined;\n if (high.get() instanceof Statements.Move\n && source\n && source.getFirstToken().getStr().toUpperCase() === \"NEW\") {\n const target = high.findDirectExpression(Expressions.Target);\n const found = source === null || source === void 0 ? void 0 : source.findFirstExpression(Expressions.NewObject);\n // must be at top level of the source for quickfix to work(todo: handle more scenarios)\n if (target\n && found\n && source.concatTokens() === found.concatTokens()\n && target.findDirectExpression(Expressions.InlineData) === undefined) {\n const abap = this.newParameters(found, target.concatTokens(), highSyntax, lowFile);\n if (abap !== undefined) {\n fix = edit_helper_1.EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), abap);\n }\n }\n }\n if (fix === undefined && high.findAllExpressions(Expressions.NewObject)) {\n const found = high.findFirstExpression(Expressions.NewObject);\n if (found === undefined) {\n return undefined;\n }\n const name = this.uniqueName(found.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);\n const abap = this.newParameters(found, name, highSyntax, lowFile);\n if (abap === undefined) {\n return undefined;\n }\n const type = this.findType(found, lowFile, highSyntax);\n const indentation = \" \".repeat(high.getFirstToken().getStart().getCol() - 1);\n const data = `DATA ${name} TYPE REF TO ${type}.\\n` +\n indentation + abap + \"\\n\" +\n indentation;\n if (found.getFirstToken().getStart().equals(high.getFirstToken().getStart())\n && found.getLastToken().getEnd().equals(high.getLastToken().getStart())) {\n // full statement = standalone NEW expression\n fix = edit_helper_1.EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), abap);\n }\n else {\n const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), data);\n const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, found.getFirstToken().getStart(), found.getLastToken().getEnd(), name);\n fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n }\n }\n if (fix) {\n return issue_1.Issue.atToken(lowFile, high.getFirstToken(), \"Use CREATE OBJECT instead of NEW\", this.getMetadata().key, this.conf.severity, fix);\n }\n else {\n return undefined;\n }\n }\n newParameters(found, name, highSyntax, lowFile) {\n var _a, _b, _c;\n const typeToken = (_a = found.findDirectExpression(Expressions.TypeNameOrInfer)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n let extra = (typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStr()) === \"#\" ? \"\" : \" TYPE \" + (typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStr());\n const parameters = found.findFirstExpression(Expressions.ParameterListS);\n if (parameters) {\n extra = parameters ? extra + \" EXPORTING \" + parameters.concatTokens() : extra;\n }\n else if (typeToken) {\n const source = (_b = found.findDirectExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (source) {\n // find the default parameter name for the constructor\n const spag = highSyntax.spaghetti.lookupPosition(typeToken === null || typeToken === void 0 ? void 0 : typeToken.getStart(), lowFile.getFilename());\n let cdef = undefined;\n for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {\n if ((r.referenceType === _reference_1.ReferenceType.InferredType\n || r.referenceType === _reference_1.ReferenceType.ObjectOrientedReference)\n && r.resolved && r.position.getStart().equals(typeToken.getStart())) {\n cdef = r.resolved;\n }\n }\n if (cdef && cdef.getMethodDefinitions === undefined) {\n return undefined; // something wrong\n }\n const importing = (_c = cdef === null || cdef === void 0 ? void 0 : cdef.getMethodDefinitions().getByName(\"CONSTRUCTOR\")) === null || _c === void 0 ? void 0 : _c.getParameters().getDefaultImporting();\n if (importing) {\n extra += \" EXPORTING \" + importing + \" = \" + source;\n }\n else if (spag === undefined) {\n extra += \" SpagUndefined\";\n }\n else if (cdef === undefined) {\n extra += \" ClassDefinitionNotFound\";\n }\n else {\n extra += \" SomeError\";\n }\n }\n }\n const abap = `CREATE OBJECT ${name}${extra}.`;\n return abap;\n }\n}\nexports.Downport = Downport;\n//# sourceMappingURL=downport.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/downport.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EasyToFindMessages = exports.EasyToFindMessagesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.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\");\nclass EasyToFindMessagesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.EasyToFindMessagesConf = EasyToFindMessagesConf;\nclass EasyToFindMessages {\n constructor() {\n this.conf = new EasyToFindMessagesConf();\n }\n getMetadata() {\n return {\n key: \"easy_to_find_messages\",\n title: \"Easy to find messages\",\n shortDescription: `Make messages easy to find`,\n extendedInformation: `All messages must be statically referenced exactly once\r\n\r\nOnly MESSAGE and RAISE statments are counted as static references\r\n\r\nAlso see rule \"message_exists\"\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#make-messages-easy-to-find`,\n tags: [_irule_1.RuleTag.Styleguide],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.msagReferences = reg.getMSAGReferences();\n // the SyntaxLogic builds the references\n for (const obj of reg.getObjects()) {\n if (obj instanceof _abap_object_1.ABAPObject) {\n new syntax_1.SyntaxLogic(reg, obj).run();\n }\n }\n return this;\n }\n run(object) {\n const issues = [];\n if (object.getType() === \"MSAG\") {\n const msag = object;\n for (const message of msag.getMessages()) {\n const where = this.msagReferences.listByMessage(msag.getName().toUpperCase(), message.getNumber());\n if (where.length === 0) {\n const text = `Message ${message.getNumber()} not statically referenced`;\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(object.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n else if (where.length >= 2) {\n const text = `Message ${message.getNumber()} referenced more than once`;\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(object.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n}\nexports.EasyToFindMessages = EasyToFindMessages;\n//# sourceMappingURL=easy_to_find_messages.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EmptyLineinStatement = exports.EmptyLineinStatementConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/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 edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass EmptyLineinStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allow changed empty lines in chanined statements */\n this.allowChained = false;\n }\n}\nexports.EmptyLineinStatementConf = EmptyLineinStatementConf;\nclass EmptyLineinStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new EmptyLineinStatementConf();\n }\n getMetadata() {\n return {\n key: \"empty_line_in_statement\",\n title: \"Find empty lines in statements\",\n shortDescription: `Checks that statements do not contain empty lines.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-obsess-with-separating-blank-lines\r\n\r\nhttps://docs.abapopenchecks.org/checks/41/`,\n tags: [_irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n badExample: `WRITE\\n\\nhello.`,\n goodExample: `WRITE hello.`,\n };\n }\n getMessage() {\n return \"Remove empty line in statement\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const s of file.getStatements()) {\n if (s.get() instanceof _statement_1.Unknown\n || s.get() instanceof _statement_1.NativeSQL) {\n return []; // skip the file if there are parser errors or native/sqlscript\n }\n }\n let prevLine = undefined;\n for (const t of file.getTokens()) {\n if (prevLine === undefined && t instanceof tokens_1.Comment) {\n continue;\n }\n else if (prevLine === undefined) {\n prevLine = t.getRow();\n }\n if (prevLine && t.getRow() - prevLine >= 2) {\n const fix = edit_helper_1.EditHelper.deleteRange(file, new position_1.Position(prevLine + 1, 1), t.getStart());\n const issue = issue_1.Issue.atToken(file, t, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n if (t instanceof tokens_1.Punctuation && t.getStr() === \".\") {\n prevLine = undefined;\n }\n else if (this.conf.allowChained === true && t instanceof tokens_1.Punctuation && t.getStr() === \",\") {\n prevLine = undefined;\n }\n else {\n prevLine = t.getRow();\n }\n }\n return issues;\n }\n}\nexports.EmptyLineinStatement = EmptyLineinStatement;\n//# sourceMappingURL=empty_line_in_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/empty_statement.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/empty_statement.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EmptyStatement = exports.EmptyStatementConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass EmptyStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.EmptyStatementConf = EmptyStatementConf;\nclass EmptyStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new EmptyStatementConf();\n }\n getMetadata() {\n return {\n key: \"empty_statement\",\n title: \"Remove empty statement\",\n shortDescription: `Checks for empty statements (an empty statement is a single dot)`,\n tags: [_irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const statements = file.getStatements();\n let previousEnd = new position_1.Position(1, 1);\n for (const sta of statements) {\n if (sta.get() instanceof _statement_1.Empty) {\n const token = sta.getFirstToken();\n const fix = edit_helper_1.EditHelper.deleteRange(file, previousEnd, token.getEnd());\n const issue = issue_1.Issue.atStatement(file, sta, \"Remove empty statement\", this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n previousEnd = sta.getLastToken().getEnd();\n }\n return issues;\n }\n}\nexports.EmptyStatement = EmptyStatement;\n//# sourceMappingURL=empty_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/empty_statement.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/empty_structure.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/empty_structure.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.EmptyStructure = exports.EmptyStructureConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass EmptyStructureConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Checks for empty LOOP blocks */\n this.loop = true;\n /** Checks for empty IF blocks */\n this.if = true;\n /** Checks for empty WHILE blocks */\n this.while = true;\n /** Checks for empty CASE blocks */\n this.case = true;\n /** Checks for empty SELECT blockss */\n this.select = true;\n /** Checks for empty DO blocks */\n this.do = true;\n /** Checks for empty AT blocks */\n this.at = true;\n /** Checks for empty TRY blocks */\n this.try = true;\n /** Checks for empty WHEN blocks */\n this.when = true;\n // todo, other category containing ELSE\n }\n}\nexports.EmptyStructureConf = EmptyStructureConf;\nclass EmptyStructure extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new EmptyStructureConf();\n }\n getMetadata() {\n return {\n key: \"empty_structure\",\n title: \"Find empty blocks\",\n shortDescription: `Checks that the code does not contain empty blocks.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#no-empty-if-branches`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(name) {\n return \"Empty block, add code: \" + name;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n const candidates = [];\n if (this.getConfig().loop === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.Loop));\n }\n if (this.getConfig().while === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.While));\n }\n if (this.getConfig().case === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.Case));\n }\n if (this.getConfig().select === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.Select));\n }\n if (this.getConfig().do === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.Do));\n }\n if (this.getConfig().at === true) {\n candidates.push(...stru.findAllStructuresRecursive(Structures.At));\n candidates.push(...stru.findAllStructuresRecursive(Structures.AtFirst));\n candidates.push(...stru.findAllStructuresRecursive(Structures.AtLast));\n }\n for (const l of candidates) {\n if (l.getChildren().length === 2) {\n const token = l.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getDescription(l.get().constructor.name), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.getConfig().try === true) {\n const tries = stru.findAllStructuresRecursive(Structures.Try);\n for (const t of tries) {\n const normal = t.findDirectStructure(Structures.Body);\n if (normal === undefined) {\n const token = t.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getDescription(t.get().constructor.name), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n if (this.getConfig().if === true) {\n const tries = stru.findAllStructuresRecursive(Structures.If)\n .concat(stru.findAllStructuresRecursive(Structures.Else))\n .concat(stru.findAllStructuresRecursive(Structures.ElseIf));\n for (const t of tries) {\n const normal = t.findDirectStructure(Structures.Body);\n if (normal === undefined) {\n const token = t.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getDescription(t.get().constructor.name), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n if (this.getConfig().when === true) {\n const tries = stru.findAllStructuresRecursive(Structures.When);\n for (const t of tries) {\n if (t.getChildren().length === 1) {\n const token = t.getFirstToken();\n const message = this.getDescription(t.get().constructor.name);\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n}\nexports.EmptyStructure = EmptyStructure;\n//# sourceMappingURL=empty_structure.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/empty_structure.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/exit_or_check.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/exit_or_check.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExitOrCheck = exports.ExitOrCheckConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass ExitOrCheckConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.allowExit = false;\n this.allowCheck = false;\n }\n}\nexports.ExitOrCheckConf = ExitOrCheckConf;\nclass ExitOrCheck extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ExitOrCheckConf();\n }\n getMetadata() {\n return {\n key: \"exit_or_check\",\n title: \"Find EXIT or CHECK outside loops\",\n shortDescription: `Detects usages of EXIT or CHECK statements outside of loops.\r\nUse RETURN to leave procesing blocks instead.`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abenleave_processing_blocks.htm\r\nhttps://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abapcheck_processing_blocks.htm\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#check-vs-return`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stack = [];\n for (const statement of file.getStatements()) {\n const get = statement.get();\n if (get instanceof Statements.Loop\n || get instanceof Statements.While\n || get instanceof Statements.LoopAtScreen\n || get instanceof Statements.SelectLoop\n || get instanceof Statements.Do) {\n stack.push(statement);\n }\n else if (get instanceof Statements.EndLoop\n || get instanceof Statements.EndWhile\n || get instanceof Statements.EndSelect\n || get instanceof Statements.EndDo) {\n stack.pop();\n }\n else if (this.conf.allowCheck === false && get instanceof Statements.Check && stack.length === 0) {\n const message = \"CHECK is not allowed outside of loops\";\n let tokensString = statement.concatTokens();\n tokensString = tokensString.slice(statement.getFirstToken().getEnd().getCol());\n const replacement = \"IF NOT \" + tokensString + \"\\n RETURN.\\nENDIF.\";\n const fix = edit_helper_1.EditHelper.replaceRange(file, statement.getFirstToken().getStart(), statement.getLastToken().getEnd(), replacement);\n const issue = issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n else if (this.conf.allowExit === false && get instanceof Statements.Exit && stack.length === 0) {\n const message = \"EXIT is not allowed outside of loops\";\n const fix = edit_helper_1.EditHelper.replaceToken(file, statement.getFirstToken(), \"RETURN\");\n const issue = issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.ExitOrCheck = ExitOrCheck;\n//# sourceMappingURL=exit_or_check.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/exit_or_check.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/expand_macros.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/expand_macros.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExpandMacros = exports.ExpandMacrosConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass ExpandMacrosConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ExpandMacrosConf = ExpandMacrosConf;\nclass ExpandMacros extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ExpandMacrosConf();\n }\n getMetadata() {\n return {\n key: \"expand_macros\",\n title: \"Expand Macros\",\n shortDescription: `Allows expanding macro calls with quick fixes`,\n extendedInformation: `Macros: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abenmacros_guidl.htm\r\n\r\nNote that macros/DEFINE cannot be used in the ABAP Cloud programming model`,\n badExample: `DEFINE _hello.\r\n WRITE 'hello'.\r\nEND-OF-DEFINITION.\r\n_hello.`,\n goodExample: `WRITE 'hello'.`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Upport],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const message = \"Expand macro call\";\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const statementNode = statements[i];\n const statement = statementNode.get();\n if (!(statement instanceof _statement_1.MacroCall)) {\n continue;\n }\n let replace = \"\";\n for (let j = i + 1; j < statements.length; j++) {\n const sub = statements[j];\n if (sub.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n if (sub.get() instanceof _statement_1.MacroCall) {\n continue;\n }\n if (replace !== \"\") {\n replace += \"\\n\";\n }\n replace += sub.concatTokensVirtual();\n }\n else {\n break;\n }\n }\n if (statementNode.getColon()) {\n replace += \"\\n\";\n }\n const fix1 = edit_helper_1.EditHelper.deleteStatement(file, statementNode);\n const fix2 = edit_helper_1.EditHelper.insertAt(file, statementNode.getStart(), replace);\n const fix = edit_helper_1.EditHelper.merge(fix1, fix2);\n issues.push(issue_1.Issue.atStatement(file, statementNode, message, this.getMetadata().key, this.conf.severity, fix));\n // only one fix at a time per file\n break;\n }\n return issues;\n }\n}\nexports.ExpandMacros = ExpandMacros;\n//# sourceMappingURL=expand_macros.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/expand_macros.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/exporting.js": +/*!******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/exporting.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Exporting = exports.ExportingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass ExportingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ExportingConf = ExportingConf;\nclass Exporting extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ExportingConf();\n }\n getMetadata() {\n return {\n key: \"exporting\",\n title: \"EXPORTING can be omitted\",\n shortDescription: `Detects EXPORTING statements which can be omitted.`,\n badExample: `call_method( EXPORTING foo = bar ).`,\n goodExample: `call_method( foo = bar ).`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-the-optional-keyword-exporting\r\nhttps://docs.abapopenchecks.org/checks/30/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"The EXPORTING keyword can be omitted\";\n }\n runParsed(file, obj) {\n let issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n for (const statement of file.getStatements()) {\n const expressions = statement.findAllExpressionsMulti([expressions_1.MethodCallBody, expressions_1.MethodCall]);\n for (const b of expressions) {\n if (b.get() instanceof expressions_1.MethodCallBody) {\n if (b.getFirstToken().getStr() !== \"(\") {\n continue;\n }\n issues = issues.concat(this.check(b, file));\n }\n else if (b.get() instanceof expressions_1.MethodCall) {\n issues = issues.concat(this.check(b, file));\n }\n }\n }\n return issues;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n check(node, file) {\n const e = node.findFirstExpression(expressions_1.MethodParameters);\n if (e === undefined) {\n return [];\n }\n if (e.getFirstToken().getStr().toUpperCase() !== \"EXPORTING\") {\n return [];\n }\n const tokens = e.getDirectTokens();\n const strings = tokens.map(t => t.getStr().toUpperCase());\n if (strings[0] === \"EXPORTING\"\n && strings.includes(\"IMPORTING\") === false\n && strings.includes(\"RECEIVING\") === false\n && strings.includes(\"EXCEPTIONS\") === false\n && strings.includes(\"CHANGING\") === false) {\n const next = e.getAllTokens()[1];\n const fix = edit_helper_1.EditHelper.deleteRange(file, tokens[0].getStart(), next.getStart());\n const issue = issue_1.Issue.atToken(file, tokens[0], this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n return [issue];\n }\n return [];\n }\n}\nexports.Exporting = Exporting;\n//# sourceMappingURL=exporting.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/exporting.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/forbidden_identifier.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/forbidden_identifier.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ForbiddenIdentifier = exports.ForbiddenIdentifierConf = void 0;\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ForbiddenIdentifierConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** List of forbideen identifiers, array of string regex\n * @uniqueItems true\n */\n this.check = [];\n }\n}\nexports.ForbiddenIdentifierConf = ForbiddenIdentifierConf;\nclass ForbiddenIdentifier extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ForbiddenIdentifierConf();\n }\n getMetadata() {\n return {\n key: \"forbidden_identifier\",\n title: \"Forbidden Identifier\",\n shortDescription: `Forbid use of specified identifiers, list of regex.`,\n extendedInformation: `Used in the transpiler to find javascript keywords in ABAP identifiers,\r\nhttps://github.com/abaplint/transpiler/blob/bda94b8b56e2b7f2f87be2168f12361aa530220e/packages/transpiler/src/validation.ts#L44`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.check === undefined) {\n this.conf.check = [];\n }\n }\n runParsed(file) {\n if (this.conf.check.length === 0) {\n return [];\n }\n let ret = [];\n for (const s of file.getStatements()) {\n ret = ret.concat(this.traverse(s, file));\n }\n return ret;\n }\n traverse(node, file) {\n let ret = [];\n for (const c of node.getChildren()) {\n if (c instanceof nodes_1.TokenNodeRegex) {\n ret = ret.concat(this.check(c.get(), file));\n }\n else if (c instanceof nodes_1.TokenNode) {\n continue;\n }\n else {\n ret = ret.concat(this.traverse(c, file));\n }\n }\n return ret;\n }\n check(token, file) {\n const str = token.getStr();\n const ret = [];\n for (const c of this.conf.check) {\n const reg = new RegExp(c, \"i\");\n if (reg.exec(str)) {\n const message = \"Identifer \\\"\" + str + \"\\\" not allowed\";\n ret.push(issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return ret;\n }\n}\nexports.ForbiddenIdentifier = ForbiddenIdentifier;\n//# sourceMappingURL=forbidden_identifier.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/forbidden_identifier.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/forbidden_pseudo_and_pragma.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/forbidden_pseudo_and_pragma.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ForbiddenPseudoAndPragma = exports.ForbiddenPseudoAndPragmaConf = void 0;\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 issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass ForbiddenPseudoAndPragmaConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** @uniqueItems true */\n this.pseudo = [];\n /** @uniqueItems true */\n this.pragmas = [];\n this.ignoreGlobalClassDefinition = false;\n this.ignoreGlobalInterface = false;\n }\n}\nexports.ForbiddenPseudoAndPragmaConf = ForbiddenPseudoAndPragmaConf;\nclass ForbiddenPseudoAndPragma extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ForbiddenPseudoAndPragmaConf();\n }\n getMetadata() {\n return {\n key: \"forbidden_pseudo_and_pragma\",\n title: \"Forbidden pseudo comments and pragma\",\n shortDescription: `Checks for unwanted pseudo comments and pragma`,\n tags: [_irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n if (this.conf.pseudo === undefined) {\n this.conf.pseudo = [];\n }\n if (this.conf.pragmas === undefined) {\n this.conf.pragmas = [];\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n // todo, this method could use some refactoring\n // note that the top loop is on the configuration, which makes the default config run fast\n runParsed(file) {\n let skip = false;\n const issues = [];\n for (const p of this.conf.pragmas) {\n for (const s of file.getStatements()) {\n if (this.conf.ignoreGlobalClassDefinition === true) {\n if (s.get() instanceof Statements.ClassDefinition\n && s.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && s.get() instanceof Statements.EndClass) {\n skip = false;\n continue;\n }\n }\n if (this.conf.ignoreGlobalInterface === true) {\n if (s.get() instanceof Statements.Interface\n && s.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && s.get() instanceof Statements.EndInterface) {\n skip = false;\n continue;\n }\n }\n if (skip === true) {\n continue;\n }\n const list = s.getPragmas();\n const found = list.find((a) => a.getStr().toUpperCase() === p.toUpperCase());\n if (found) {\n const fix = edit_helper_1.EditHelper.deleteToken(file, found);\n const message = \"Forbidden pragma\";\n issues.push(issue_1.Issue.atToken(file, found, message, this.getMetadata().key, this.conf.severity, fix));\n }\n }\n }\n skip = false;\n for (const p of this.conf.pseudo) {\n for (const s of file.getStatements()) {\n if (this.conf.ignoreGlobalClassDefinition === true) {\n if (s.get() instanceof Statements.ClassDefinition\n && s.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && s.get() instanceof Statements.EndClass) {\n skip = false;\n continue;\n }\n }\n if (this.conf.ignoreGlobalInterface === true) {\n if (s.get() instanceof Statements.Interface\n && s.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && s.get() instanceof Statements.EndInterface) {\n skip = false;\n continue;\n }\n }\n if (skip === true) {\n continue;\n }\n if (!(s.get() instanceof _statement_1.Comment)) {\n continue;\n }\n if (s.concatTokens().toUpperCase().includes(p.toUpperCase())) {\n const fix = edit_helper_1.EditHelper.deleteStatement(file, s);\n const message = \"Forbidden pseudo comment\";\n issues.push(issue_1.Issue.atStatement(file, s, message, this.getMetadata().key, this.conf.severity, fix));\n }\n }\n }\n return issues;\n }\n}\nexports.ForbiddenPseudoAndPragma = ForbiddenPseudoAndPragma;\n//# sourceMappingURL=forbidden_pseudo_and_pragma.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/forbidden_pseudo_and_pragma.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/forbidden_void_type.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/forbidden_void_type.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ForbiddenVoidType = exports.ForbiddenVoidTypeConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst void_type_1 = __webpack_require__(/*! ../abap/types/basic/void_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/void_type.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 basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass ForbiddenVoidTypeConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** List of forbidden void types, array of string regex, case in-sensitive\n * @uniqueItems true\n */\n this.check = [];\n }\n}\nexports.ForbiddenVoidTypeConf = ForbiddenVoidTypeConf;\nclass ForbiddenVoidType {\n constructor() {\n this.conf = new ForbiddenVoidTypeConf();\n }\n getMetadata() {\n return {\n key: \"forbidden_void_type\",\n title: \"Forbidden Void Types\",\n shortDescription: `Avoid usage of specified void types.`,\n extendedInformation: `Inspiration:\r\nBOOLEAN, BOOLE_D, CHAR01, CHAR1, CHAR10, CHAR12, CHAR128, CHAR2, CHAR20, CHAR4, CHAR70,\r\nDATS, TIMS, DATUM, FLAG, INT4, NUMC3, NUMC4, SAP_BOOL, TEXT25, TEXT80, X255, XFELD`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.check === undefined) {\n this.conf.check = [];\n }\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject) || this.conf.check.length === 0) {\n return [];\n }\n return this.traverse(new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop());\n }\n ///////////////\n traverse(node) {\n var _a, _b, _c;\n let ret = [];\n const message = \"Forbidden void type: \";\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.BuiltIn) {\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.ObjectOrientedVoidReference\n && ((_a = r.extra) === null || _a === void 0 ? void 0 : _a.ooName) !== undefined\n && this.isForbiddenName((_b = r.extra) === null || _b === void 0 ? void 0 : _b.ooName)) {\n ret.push(issue_1.Issue.atIdentifier(r.position, message + ((_c = r.extra) === null || _c === void 0 ? void 0 : _c.ooName), this.getMetadata().key, this.conf.severity));\n }\n if ((r.referenceType === _reference_1.ReferenceType.VoidType\n || r.referenceType === _reference_1.ReferenceType.TableVoidReference)\n && this.isForbiddenName(r.position.getName())) {\n ret.push(issue_1.Issue.atIdentifier(r.position, message + r.position.getName(), this.getMetadata().key, this.conf.severity));\n }\n }\n }\n for (const c of node.getChildren()) {\n ret = ret.concat(this.traverse(c));\n }\n return ret;\n }\n isForbiddenType(type) {\n if (type instanceof basic_1.StructureType) {\n return type.getComponents().some(c => this.isForbiddenType(c.type));\n }\n else if (!(type instanceof void_type_1.VoidType)) {\n return false;\n }\n const name = type.getVoided();\n return this.isForbiddenName(name);\n }\n isForbiddenName(name) {\n if (name === undefined) {\n return false;\n }\n for (const c of this.conf.check) {\n const reg = new RegExp(c, \"i\");\n const match = reg.test(name);\n if (match === true) {\n return true;\n }\n }\n return false;\n }\n}\nexports.ForbiddenVoidType = ForbiddenVoidType;\n//# sourceMappingURL=forbidden_void_type.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/forbidden_void_type.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/form_tables_obsolete.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/form_tables_obsolete.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormTablesObsolete = exports.FormTablesObsoleteConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass FormTablesObsoleteConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.FormTablesObsoleteConf = FormTablesObsoleteConf;\nclass FormTablesObsolete extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new FormTablesObsoleteConf();\n }\n getMetadata() {\n return {\n key: \"form_tables_obsolete\",\n title: \"TABLES parameters are obsolete\",\n shortDescription: `Checks for TABLES parameters in forms.`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapform_tables.htm`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"FORM TABLES parameters are obsolete\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const ret = [];\n const stru = file.getStructure();\n if (obj instanceof objects_1.Class || stru === undefined) {\n return ret;\n }\n for (const form of stru.findAllExpressions(Expressions.FormTables)) {\n const token = form.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n return ret;\n }\n}\nexports.FormTablesObsolete = FormTablesObsolete;\n//# sourceMappingURL=form_tables_obsolete.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/form_tables_obsolete.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/fully_type_constants.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/fully_type_constants.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FullyTypeConstants = exports.FullyTypeConsantsConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass FullyTypeConsantsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Add check for implicit data definition, require full typing. */\n this.checkData = true;\n }\n}\nexports.FullyTypeConsantsConf = FullyTypeConsantsConf;\nclass FullyTypeConstants extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new FullyTypeConsantsConf();\n }\n getMetadata() {\n return {\n key: \"fully_type_constants\",\n title: \"Fully type constants\",\n shortDescription: `Checks constants for full typing - no implicit typing allowed.`,\n badExample: \"CONSTANTS foo VALUE 'a'.\",\n goodExample: \"CONSTANTS foo TYPE c LENGTH 1 VALUE 'a'.\",\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(type) {\n return `Fully type ${type}, no implicit typing`;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b;\n const issues = [];\n for (const stat of file.getStatements()) {\n if ((stat.get() instanceof Statements.Constant\n || (this.conf.checkData === true && stat.get() instanceof Statements.Data))\n && (!this.isTyped(stat))) {\n const type = stat.get() instanceof Statements.Constant ? \"constant definition\" : \"data definition\";\n let token = (_a = stat.findFirstExpression(expressions_1.NamespaceSimpleName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if (token === undefined) {\n token = (_b = stat.findFirstExpression(expressions_1.DefinitionName)) === null || _b === void 0 ? void 0 : _b.getFirstToken();\n }\n if (token === undefined) {\n throw new Error(\"fully type constants, unexpected node\");\n }\n issues.push(issue_1.Issue.atToken(file, token, this.getDescription(type), this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n isTyped(stat) {\n return (stat.findFirstExpression(expressions_1.Type) || stat.findFirstExpression(expressions_1.TypeTable));\n }\n}\nexports.FullyTypeConstants = FullyTypeConstants;\n//# sourceMappingURL=fully_type_constants.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/fully_type_constants.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/fully_type_itabs.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/fully_type_itabs.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FullyTypeITabs = exports.FullyTypeITabsConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.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 _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass FullyTypeITabsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.FullyTypeITabsConf = FullyTypeITabsConf;\nclass FullyTypeITabs extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new FullyTypeITabsConf();\n }\n getMetadata() {\n return {\n key: \"fully_type_itabs\",\n title: \"Fully type internal tables\",\n shortDescription: `No implict table types or table keys`,\n badExample: `DATA lt_foo TYPE TABLE OF ty.\r\nDATA lt_bar TYPE STANDARD TABLE OF ty.`,\n goodExample: `DATA lt_foo TYPE STANDARD TABLE OF ty WITH EMPTY KEY.`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const statement of file.getStatements()) {\n if (!(statement.get() instanceof Statements.Data)) {\n continue;\n }\n const tt = statement.findFirstExpression(Expressions.TypeTable);\n if (tt === undefined) {\n continue;\n }\n const concat = tt.concatTokens().toUpperCase();\n if (concat.includes(\"TYPE TABLE OF\")) {\n const message = \"Specify table type\";\n issues.push(issue_1.Issue.atPosition(file, tt.getFirstToken().getStart(), message, this.getMetadata().key, this.conf.severity));\n }\n else if (concat.includes(\" WITH \") === false && concat.includes(\" RANGE OF \") === false) {\n const message = \"Specify table key\";\n issues.push(issue_1.Issue.atPosition(file, tt.getFirstToken().getStart(), message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.FullyTypeITabs = FullyTypeITabs;\n//# sourceMappingURL=fully_type_itabs.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/fully_type_itabs.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/function_module_recommendations.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/function_module_recommendations.js ***! + \****************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionModuleRecommendations = exports.FunctionModuleRecommendationsConf = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass FunctionModuleRecommendationsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Tuple of Function Module Name to be replaced, the recommended alternative and\n * the version from which the recommendation is valid.\n * @uniqueItems true\n */\n this.recommendations = [\n { name: \"CALCULATE_HASH_FOR_RAW\", replace: \"use CL_ABAP_HMAC or CL_ABAP_MESSAGE_DIGEST\" },\n { name: \"ECATT_CONV_XSTRING_TO_STRING\", replace: \"use CL_BINARY_CONVERT\" },\n { name: \"F4_FILENAME\", replace: \"use CL_GUI_FRONTEND_SERVICES\" },\n { name: \"FUNCTION_EXISTS\", replace: \"surround with try-catch CX_SY_DYN_CALL_ILLEGAL_METHOD instead\" },\n { name: \"GUI_DOWNLOAD\", replace: \"use CL_GUI_FRONTEND_SERVICES\" },\n { name: \"GUI_UPLOAD\", replace: \"use CL_GUI_FRONTEND_SERVICES\" },\n { name: \"GUID_CREATE\", replace: \"use CL_SYSTEM_UUID\" },\n { name: \"IGN_TIMESTAMP_DIFFERENCE\", replace: \"use CL_ABAP_TSTMP\" },\n { name: \"IGN_TIMESTAMP_PLUSMINUS\", replace: \"use CL_ABAP_TSTMP\" },\n { name: \"ISM_SD_GET_PRICING_CONDITIONS\", replace: \"use CL_PRC_RESULT_FACTORY as per note 2220005\" },\n { name: \"JOB_CREATE\", replace: \"use CL_BP_ABAP_JOB\" },\n { name: \"JOB_SUBMIT\", replace: \"use CL_BP_ABAP_JOB\" },\n { name: \"POPUP_TO_CONFIRM_STEP\", replace: \"use POPUP_TO_CONFIRM\" },\n { name: \"POPUP_TO_DECIDE\", replace: \"use POPUP_TO_CONFIRM\" },\n { name: \"POPUP_TO_GET_VALUE\", replace: \"use POPUP_GET_VALUES\" },\n { name: \"REUSE_ALV_GRID_DISPLAY\", replace: \"use CL_SALV_TABLE=>FACTORY or CL_GUI_ALV_GRID\" },\n { name: \"ROUND\", replace: \"use built in function: round()\" },\n { name: \"SAPGUI_PROGRESS_INDICATOR\", replace: \"use CL_PROGRESS_INDICATOR\" },\n { name: \"SCMS_BASE64_DECODE_STR\", replace: \"use class CL_HTTP_UTILITY methods\" },\n { name: \"SCMS_STRING_TO_XSTRING\", replace: \"use CL_BINARY_CONVERT\" },\n { name: \"SO_NEW_DOCUMENT_ATT_SEND_API1\", replace: \"use CL_BCS\" },\n { name: \"SSFC_BASE64_DECODE\", replace: \"use class CL_HTTP_UTILITY methods\" },\n { name: \"SSFC_BASE64_ENCODE\", replace: \"use class CL_HTTP_UTILITY methods\" },\n { name: \"SUBST_GET_FILE_LIST\", replace: \"see note 1686357\" },\n { name: \"WS_FILENAME_GET\", replace: \"use CL_GUI_FRONTEND_SERVICES\" },\n ];\n }\n}\nexports.FunctionModuleRecommendationsConf = FunctionModuleRecommendationsConf;\nclass FunctionModuleRecommendations extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new FunctionModuleRecommendationsConf();\n }\n getMetadata() {\n return {\n key: \"function_module_recommendations\",\n title: \"Function Module Recommendations\",\n shortDescription: `Suggests replacements for various function modules`,\n extendedInformation: `https://docs.abapopenchecks.org/checks/53/`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n if (!this.conf.recommendations) {\n return issues;\n }\n const configVersion = this.reg.getConfig().getVersion();\n for (const exNode of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(expressions_1.FunctionName)) || []) {\n const token = exNode.getFirstToken();\n let funcName = token.getStr().toUpperCase();\n // only check constant FM names\n if (!funcName.startsWith(\"'\")) {\n continue;\n }\n // remove leading and trailing single quote\n funcName = funcName.slice(1, funcName.length - 1);\n const index = this.conf.recommendations.findIndex(i => i.name.toUpperCase() === funcName && (i.from === undefined || configVersion >= i.from));\n if (index >= 0) {\n issues.push(__1.Issue.atToken(file, token, this.getMessage(index), this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n getMessage(index) {\n return `Recommendation: Replace Function ${this.conf.recommendations[index].name} with: ${this.conf.recommendations[index].replace}`;\n }\n}\nexports.FunctionModuleRecommendations = FunctionModuleRecommendations;\n//# sourceMappingURL=function_module_recommendations.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/function_module_recommendations.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/functional_writing.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/functional_writing.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FunctionalWriting = exports.FunctionalWritingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.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 _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass FunctionalWritingConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore functional writing in exception classes, local + global */\n this.ignoreExceptions = true;\n }\n}\nexports.FunctionalWritingConf = FunctionalWritingConf;\nclass FunctionalWriting extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new FunctionalWritingConf();\n }\n getMetadata() {\n return {\n key: \"functional_writing\",\n title: \"Use functional writing\",\n shortDescription: `Detects usage of call method when functional style calls can be used.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-functional-to-procedural-calls\r\nhttps://docs.abapopenchecks.org/checks/07/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `CALL METHOD zcl_class=>method( ).\r\nCALL METHOD cl_abap_typedescr=>describe_by_name\r\n EXPORTING\r\n p_name = 'NAME'\r\n RECEIVING\r\n p_descr_ref = lr_typedescr\r\n EXCEPTIONS\r\n type_not_found = 1\r\n OTHERS = 2.`,\n goodExample: `zcl_class=>method( ).\r\ncl_abap_typedescr=>describe_by_name(\r\n EXPORTING\r\n p_name = 'NAME'\r\n RECEIVING\r\n p_descr_ref = lr_typedescr\r\n EXCEPTIONS\r\n type_not_found = 1\r\n OTHERS = 2 ).`,\n };\n }\n getMessage() {\n return \"Use functional writing style for method calls\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a, _b;\n const issues = [];\n let exception = false;\n if (obj.getType() === \"INTF\") {\n return [];\n }\n let definition = undefined;\n if (obj instanceof objects_1.Class) {\n definition = obj.getClassDefinition();\n }\n const ddic = new ddic_1.DDIC(this.reg);\n for (const statNode of file.getStatements()) {\n if (statNode.get() instanceof Statements.ClassImplementation\n && definition\n && ddic.isException(definition, obj)\n && this.conf.ignoreExceptions) {\n exception = true;\n }\n else if (statNode.get() instanceof Statements.EndClass) {\n exception = false;\n }\n else if (exception === false && statNode.get() instanceof Statements.Call) {\n if (((_a = statNode.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.MethodCallChain) {\n continue;\n }\n const dynamic = (_b = statNode.findDirectExpression(Expressions.MethodSource)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.Dynamic);\n if (dynamic !== undefined) {\n continue;\n }\n issues.push(this.createIssueForStatementNode(file, statNode));\n }\n }\n return issues;\n }\n createIssueForStatementNode(file, statNode) {\n const fixString = this.buildFixString(statNode);\n const fix = edit_helper_1.EditHelper.replaceRange(file, statNode.getStart(), statNode.getEnd(), fixString);\n return issue_1.Issue.atStatement(file, statNode, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n }\n buildFixString(statNode) {\n // Note: line breaks from source are lost\n const methodSource = statNode.findDirectExpression(Expressions.MethodSource);\n let methodSourceStr = methodSource === null || methodSource === void 0 ? void 0 : methodSource.concatTokens();\n const methodBody = statNode.findDirectExpression(Expressions.MethodCallBody);\n let methodBodyStr = \"\";\n if (methodBody) {\n const methodCallParam = methodBody.findDirectExpression(Expressions.MethodCallParam);\n if (methodCallParam && methodCallParam.getFirstToken().getStr() === \"(\") {\n // has parameters and parantheses\n methodBodyStr = `${methodBody.concatTokens()}.`;\n }\n else {\n // has parameters, but parentheses are missing\n methodSourceStr = `${methodSourceStr}( `;\n methodBodyStr = `${methodBody.concatTokens()} ).`;\n }\n }\n else {\n // no body means no parentheses and no parameters\n methodBodyStr = \"( ).\";\n }\n return methodSourceStr + methodBodyStr;\n }\n}\nexports.FunctionalWriting = FunctionalWriting;\n//# sourceMappingURL=functional_writing.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/functional_writing.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/global_class.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/global_class.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.GlobalClass = exports.GlobalClassConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass GlobalClassConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.GlobalClassConf = GlobalClassConf;\nclass GlobalClass extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new GlobalClassConf();\n }\n getMetadata() {\n return {\n key: \"global_class\",\n title: \"Global class checks\",\n shortDescription: `Checks related to global classes`,\n extendedInformation: `* global classes must be in own files\r\n\r\n* file names must match class name\r\n\r\n* file names must match interface name\r\n\r\n* global classes must be global definitions\r\n\r\n* global interfaces must be global definitions`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const output = [];\n for (const definition of file.getInfo().listClassDefinitions()) {\n if (definition.isLocal && obj instanceof Objects.Class && file.getFilename().match(/\\.clas\\.abap$/)) {\n const issue = issue_1.Issue.atIdentifier(definition.identifier, \"Global classes must be global\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n if (definition.isGlobal && obj instanceof Objects.Class && definition.name.toUpperCase() !== obj.getName().toUpperCase()) {\n const issue = issue_1.Issue.atIdentifier(definition.identifier, \"Class definition name must match filename\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n if (definition.isGlobal && !(obj instanceof Objects.Class)) {\n const issue = issue_1.Issue.atIdentifier(definition.identifier, \"Class must be local\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n for (const impl of file.getInfo().listClassImplementations()) {\n if (file.getFilename().match(/\\.clas\\.abap$/)\n && obj instanceof Objects.Class\n && impl.identifier.getName().toUpperCase() !== obj.getName().toUpperCase()) {\n const issue = issue_1.Issue.atIdentifier(impl.identifier, \"Class implementation name must match filename\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n for (const impl of file.getInfo().listInterfaceDefinitions()) {\n if (file.getFilename().match(/\\.intf\\.abap$/)\n && obj instanceof Objects.Interface\n && impl.identifier.getName().toUpperCase() !== obj.getName().toUpperCase()) {\n const issue = issue_1.Issue.atIdentifier(impl.identifier, \"Interface implementation name must match filename\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n for (const intf of file.getInfo().listInterfaceDefinitions()) {\n if (intf.isLocal && obj instanceof Objects.Interface && file.getFilename().match(/\\.intf\\.abap$/)) {\n const issue = issue_1.Issue.atIdentifier(intf.identifier, \"Global interface must be global\", this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n return output;\n }\n}\nexports.GlobalClass = GlobalClass;\n//# sourceMappingURL=global_class.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/global_class.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/identical_conditions.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/identical_conditions.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IdenticalConditions = exports.IdenticalConditionsConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/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 _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nclass Conditions {\n constructor() {\n this.arr = [];\n this.arr = [];\n }\n push(e) {\n this.arr.push(e.concatTokens());\n }\n hasDuplicates() {\n return this.arr.some(x => this.arr.indexOf(x) !== this.arr.lastIndexOf(x));\n }\n}\nclass IdenticalConditionsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.IdenticalConditionsConf = IdenticalConditionsConf;\nclass IdenticalConditions extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new IdenticalConditionsConf();\n }\n getMetadata() {\n return {\n key: \"identical_conditions\",\n title: \"Identical conditions\",\n shortDescription: `Find identical conditions in IF + CASE + WHILE etc\r\n\r\nPrerequsites: code is pretty printed with identical cAsE`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n let issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n for (const i of structure.findAllStructures(Structures.If)) {\n issues = issues.concat(this.analyzeIf(file, i));\n }\n for (const i of structure.findAllStructures(Structures.Case)) {\n issues = issues.concat(this.analyzeWhen(file, i));\n }\n for (const i of structure.findAllExpressions(Expressions.Cond)) {\n issues = issues.concat(this.analyzeCond(file, i));\n }\n return issues;\n }\n ////////////////\n analyzeCond(file, node) {\n const conditions = new Conditions();\n let operator = \"\";\n for (const c of node.getChildren()) {\n if (c instanceof nodes_1.ExpressionNode) {\n conditions.push(c);\n }\n else if (operator === \"\") {\n operator = c.get().getStr().toUpperCase();\n }\n else if (operator !== c.get().getStr().toUpperCase()) {\n return [];\n }\n }\n if (conditions.hasDuplicates()) {\n const message = \"Identical conditions\";\n const issue = issue_1.Issue.atToken(file, node.getFirstToken(), message, this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n analyzeIf(file, node) {\n var _a;\n const conditions = new Conditions();\n const i = node.findDirectStatement(Statements.If);\n if (i === undefined) {\n throw new Error(\"identical_conditions, no IF found\");\n }\n const c = i === null || i === void 0 ? void 0 : i.findDirectExpression(Expressions.Cond);\n if (c) {\n conditions.push(c);\n }\n for (const e of node.findDirectStructures(Structures.ElseIf)) {\n const c = (_a = e.findDirectStatement(Statements.ElseIf)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Cond);\n if (c) {\n conditions.push(c);\n }\n }\n if (conditions.hasDuplicates()) {\n const message = \"Identical conditions\";\n const issue = issue_1.Issue.atStatement(file, i, message, this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n analyzeWhen(file, node) {\n const conditions = new Conditions();\n const i = node.findDirectStatement(Statements.Case);\n if (i === undefined) {\n throw new Error(\"identical_conditions, no CASE found\");\n }\n for (const e of node.findDirectStructures(Structures.When)) {\n const w = e.findDirectStatement(Statements.When);\n if (w === undefined) {\n continue;\n }\n for (const s of w.findAllExpressions(Expressions.Source)) {\n conditions.push(s);\n }\n }\n if (conditions.hasDuplicates()) {\n const message = \"Identical conditions\";\n const issue = issue_1.Issue.atStatement(file, i, message, this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n}\nexports.IdenticalConditions = IdenticalConditions;\n//# sourceMappingURL=identical_conditions.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/identical_conditions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/identical_contents.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/identical_contents.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IdenticalContents = exports.IdenticalContentsConf = void 0;\nconst Structures = __webpack_require__(/*! ../abap/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 _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nclass IdenticalContentsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.IdenticalContentsConf = IdenticalContentsConf;\nclass IdenticalContents extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new IdenticalContentsConf();\n }\n getMetadata() {\n return {\n key: \"identical_contents\",\n title: \"Identical contents\",\n shortDescription: `Find identical contents in blocks inside IFs, both in the beginning and in the end.`,\n extendedInformation: `\r\nPrerequsites: code is pretty printed with identical cAsE\r\n\r\nChained statments are ignored`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `IF foo = bar.\r\n WRITE 'bar'.\r\n WRITE 'world'.\r\nELSE.\r\n WRITE 'foo'.\r\n WRITE 'world'.\r\nENDIF.`,\n goodExample: `IF foo = bar.\r\n WRITE 'bar'.\r\nELSE.\r\n WRITE 'foo'.\r\nENDIF.\r\nWRITE 'world'.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n let issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n for (const i of structure.findAllStructuresRecursive(Structures.If)) {\n issues = issues.concat(this.analyzeIf(file, i));\n }\n return issues;\n }\n ////////////////\n analyzeIf(file, node) {\n var _a;\n if (node.getChildren().length !== 4) {\n return [];\n }\n const ifBody = node.findDirectStructure(Structures.Body);\n if (node.findDirectStructure(Structures.ElseIf)) {\n return [];\n }\n const elseBody = (_a = node.findDirectStructure(Structures.Else)) === null || _a === void 0 ? void 0 : _a.findDirectStructure(Structures.Body);\n if (elseBody === undefined || ifBody === undefined) {\n return [];\n }\n {\n const ifFirst = ifBody.getFirstChild();\n const elseFirst = elseBody.getFirstChild();\n if (ifFirst === undefined || elseFirst === undefined || this.isChained(ifFirst)) {\n return [];\n }\n else if (ifFirst.concatTokens() === elseFirst.concatTokens()) {\n const message = \"Identical contents\";\n const issue = issue_1.Issue.atToken(file, node.getFirstToken(), message, this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n }\n {\n const ifLast = ifBody.getLastChild();\n const elseLast = elseBody.getLastChild();\n if (ifLast === undefined || elseLast === undefined || this.isChained(ifLast)) {\n return [];\n }\n else if (ifLast.concatTokens() === elseLast.concatTokens()) {\n const message = \"Identical contents\";\n const issue = issue_1.Issue.atToken(file, node.getFirstToken(), message, this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n }\n return [];\n }\n isChained(node) {\n if (node === undefined) {\n return false;\n }\n else if (node instanceof nodes_1.StatementNode) {\n return node.getColon() !== undefined;\n }\n else {\n return this.isChained(node.getFirstStatement());\n }\n }\n}\nexports.IdenticalContents = IdenticalContents;\n//# sourceMappingURL=identical_contents.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/identical_contents.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/identical_descriptions.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/identical_descriptions.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IdenticalDescriptions = exports.IdenticalDescriptionsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nclass IdenticalDescriptionsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.IdenticalDescriptionsConf = IdenticalDescriptionsConf;\nclass IdenticalDescriptions {\n constructor() {\n this.conf = new IdenticalDescriptionsConf();\n }\n getMetadata() {\n return {\n key: \"identical_descriptions\",\n title: \"Identical descriptions\",\n shortDescription: `Searches for objects with the same type and same description`,\n extendedInformation: `Case insensitive\r\n\r\nOnly checks the master language descriptions\r\n\r\nDependencies are skipped\r\n\r\nWorks for: INTF, CLAS, DOMA, DTEL, FUNC in same FUGR`,\n tags: [],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n var _a;\n this.descriptions = {};\n this.types = [\"INTF\", \"CLAS\", \"DOMA\", \"DTEL\"];\n for (const o of reg.getObjects()) {\n if (reg.isDependency(o)) {\n continue;\n }\n const type = o.getType();\n if (this.types.includes(type)) {\n const description = (_a = o.getDescription()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (description === undefined || description === \"\") {\n continue;\n }\n if (this.descriptions[type] === undefined) {\n this.descriptions[type] = {};\n }\n if (this.descriptions[type][description] === undefined) {\n this.descriptions[type][description] = [];\n }\n this.descriptions[type][description].push(o.getName());\n }\n }\n return this;\n }\n run(o) {\n var _a;\n const issues = [];\n const type = o.getType();\n if (this.types.includes(type)) {\n const description = (_a = o.getDescription()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (description === undefined || description === \"\") {\n return issues;\n }\n const found = this.descriptions[type][description].filter(a => a !== o.getName());\n if (found.length > 0) {\n const message = \"Identical description: \" + found[0];\n issues.push(issue_1.Issue.atRow(o.getXMLFile(), 1, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n if (o instanceof objects_1.FunctionGroup) {\n issues.push(...this.checkFunctionModules(o));\n }\n return issues;\n }\n checkFunctionModules(fugr) {\n var _a;\n const descriptions = {};\n for (const fm of fugr.getModules()) {\n const d = (_a = fm.getDescription()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (d === undefined || d === \"\") {\n continue;\n }\n if (descriptions[d] !== undefined) {\n const message = \"FUGR \" + fugr.getName() + \" contains function modules with identical descriptions\";\n return [issue_1.Issue.atRow(fugr.getXMLFile(), 1, message, this.getMetadata().key, this.getConfig().severity)];\n }\n descriptions[d] = true;\n }\n return [];\n }\n}\nexports.IdenticalDescriptions = IdenticalDescriptions;\n//# sourceMappingURL=identical_descriptions.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/identical_descriptions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/identical_form_names.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/identical_form_names.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IdenticalFormNames = exports.IdenticalFormNamesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass IdenticalFormNamesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.IdenticalFormNamesConf = IdenticalFormNamesConf;\n// todo: deprecation candidate? this is/should be handled by the syntax check?\nclass IdenticalFormNames {\n constructor() {\n this.conf = new IdenticalFormNamesConf();\n }\n getMetadata() {\n return {\n key: \"identical_form_names\",\n title: \"Identical FORM names\",\n shortDescription: `Detects identically named FORMs`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const ret = [];\n const found = [];\n for (const file of obj.getABAPFiles()) {\n for (const form of file.getInfo().listFormDefinitions()) {\n const name = form.name.toUpperCase();\n if (found.indexOf(name) >= 0) {\n const message = \"Identical FORM Names: \\\"\" + name + \"\\\"\";\n const issue = issue_1.Issue.atIdentifier(form.identifier, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n else {\n found.push(name);\n }\n }\n }\n return ret;\n }\n}\nexports.IdenticalFormNames = IdenticalFormNames;\n//# sourceMappingURL=identical_form_names.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/identical_form_names.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/if_in_if.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/if_in_if.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IfInIf = exports.IfInIfConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass IfInIfConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.IfInIfConf = IfInIfConf;\nclass IfInIf extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new IfInIfConf();\n }\n getMetadata() {\n return {\n key: \"if_in_if\",\n title: \"IF in IF\",\n shortDescription: `Detects nested ifs which can be refactored.`,\n extendedInformation: `\r\nDirectly nested IFs without ELSE can be refactored to a single condition using AND.\r\n\r\nELSE condtions with directly nested IF refactored to ELSEIF, quickfixes are suggested for this case.\r\n\r\nhttps://docs.abapopenchecks.org/checks/01/\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-the-nesting-depth-low`,\n badExample: `IF condition1.\r\n IF condition2.\r\n ...\r\n ENDIF.\r\nENDIF.\r\n\r\nIF condition1.\r\n ...\r\nELSE.\r\n IF condition2.\r\n ...\r\n ENDIF.\r\nENDIF.`,\n goodExample: `IF ( condition1 ) AND ( condition2 ).\r\n ...\r\nENDIF.\r\n\r\nIF condition1.\r\n ...\r\nELSEIF condition2.\r\n ...\r\nENDIF.\r\n\r\nCASE variable.\r\n WHEN value1.\r\n ...\r\n WHEN value2.\r\n IF condition2.\r\n ...\r\n ENDIF.\r\nENDCASE.`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a, _b;\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n let fixed = false;\n let possible = stru.findAllStructures(Structures.If);\n possible = possible.concat(stru.findAllStructures(Structures.Else));\n for (const i of possible) {\n if (i.findDirectStructures(Structures.ElseIf).length > 0\n || i.findDirectStructures(Structures.Else).length > 0) {\n continue;\n }\n const blist = i.findDirectStructures(Structures.Body);\n if (blist.length === 0) {\n continue;\n }\n const nlist = blist[0].findDirectStructures(Structures.Normal);\n if (nlist.length !== 1) {\n continue;\n }\n const niflist = nlist[0].findDirectStructures(Structures.If);\n if (niflist.length !== 1) {\n continue;\n }\n const nestedIf = niflist[0];\n if (i.get() instanceof Structures.If\n && (nestedIf.findDirectStructures(Structures.ElseIf).length > 0\n || nestedIf.findDirectStructures(Structures.Else).length > 0)) {\n continue;\n }\n let message = \"IF in IF. Use IF cond1 AND cond2 instead\";\n let fix = undefined;\n if (i.get() instanceof Structures.Else) {\n message = \"Change ELSE part to ELSEIF\";\n const els = i.findFirstStatement(Statements.Else);\n const iff = (_a = i.findFirstStructure(Structures.If)) === null || _a === void 0 ? void 0 : _a.findDirectStatement(Statements.If);\n const endif = (_b = i.findFirstStructure(Structures.If)) === null || _b === void 0 ? void 0 : _b.findDirectStatement(Statements.EndIf);\n if (fixed === false && iff && els && endif) {\n const fix1 = edit_helper_1.EditHelper.deleteRange(file, els.getLastToken().getStart(), iff === null || iff === void 0 ? void 0 : iff.getFirstToken().getStart());\n const fix2 = edit_helper_1.EditHelper.deleteStatement(file, endif);\n fix = edit_helper_1.EditHelper.merge(fix1, fix2);\n // max one fix per file at a time\n fixed = true;\n }\n }\n const token = i.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n return issues;\n }\n}\nexports.IfInIf = IfInIf;\n//# sourceMappingURL=if_in_if.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/if_in_if.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/implement_methods.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/implement_methods.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ImplementMethods = exports.ImplementMethodsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.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 _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\n// todo: abstract methods from superclass parents(might be multiple), if class is not abstract\nclass ImplementMethodsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ImplementMethodsConf = ImplementMethodsConf;\nclass ImplementMethods extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ImplementMethodsConf();\n }\n getMetadata() {\n return {\n key: \"implement_methods\",\n title: \"Implement methods\",\n shortDescription: `Checks for abstract methods and methods from interfaces which need implementing.`,\n extendedInformation: `INCLUDE programs are only checked in connection with their main programs.`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n let ret = [];\n if (file.getStructure() === undefined) {\n return [];\n }\n else if (obj instanceof objects_1.Program && obj.isInclude() === true) {\n return [];\n }\n this.obj = obj;\n for (const classDefinition of file.getInfo().listClassDefinitions()) {\n const classImplementation = this.lookupImplementationInObject(classDefinition.name, obj);\n ret = ret.concat(this.checkClass(classDefinition, classImplementation));\n ret = ret.concat(this.checkInterfaces(classDefinition, classImplementation));\n }\n return ret;\n }\n /////////////////////////////////\n lookupImplementationInObject(name, obj) {\n for (const sub of obj.getABAPFiles()) {\n const impl = sub.getInfo().getClassImplementationByName(name);\n if (impl !== undefined) {\n return impl;\n }\n }\n return undefined;\n }\n lookupDefinitionInObject(name) {\n for (const sub of this.obj.getABAPFiles()) {\n const def = sub.getInfo().getClassDefinitionByName(name);\n if (def !== undefined) {\n return def;\n }\n }\n return undefined;\n }\n checkClass(def, impl) {\n const ret = [];\n for (const md of def.methods) {\n const found = impl === null || impl === void 0 ? void 0 : impl.methods.find(m => m.getName().toUpperCase() === md.name.toUpperCase());\n if (md.isAbstract === true) {\n if (found !== undefined) {\n const issue = issue_1.Issue.atIdentifier(found, \"Do not implement abstract method \\\"\" + md.name + \"\\\"\", this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n continue;\n }\n if (impl === undefined) {\n const message = \"Class implementation for \\\"\" + def.name + \"\\\" not found\";\n const issue = issue_1.Issue.atIdentifier(def.identifier, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n else if (found === undefined) {\n const message = \"Implement method \\\"\" + md.name + \"\\\"\";\n const fix = this.buildFix(impl, md.name);\n const issue = issue_1.Issue.atIdentifier(impl.identifier, message, this.getMetadata().key, this.conf.severity, fix);\n ret.push(issue);\n }\n }\n return ret;\n }\n buildFix(impl, methodName) {\n var _a, _b;\n const file = this.obj.getABAPFileByName(impl.identifier.getFilename());\n if (file === undefined) {\n return undefined;\n }\n for (const i of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllStatements(Statements.ClassImplementation)) || []) {\n const name = (_b = i.findFirstExpression(Expressions.ClassName)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr().toUpperCase();\n if (name === impl.identifier.getName().toUpperCase()) {\n return edit_helper_1.EditHelper.insertAt(file, i.getLastToken().getEnd(), `\r\n METHOD ${methodName.toLowerCase()}.\r\n RETURN. \" todo, implement method\r\n ENDMETHOD.`);\n }\n }\n return undefined;\n }\n findInterface(identifier, name) {\n const idef = this.findInterfaceByName(name);\n if (idef === undefined) {\n const message = \"Implemented interface \\\"\" + name + \"\\\" not found\";\n const issue = issue_1.Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity);\n return issue;\n }\n return idef;\n }\n findInterfaceByName(name) {\n var _a;\n let idef = undefined;\n const intf = this.reg.getObject(\"INTF\", name);\n if (intf === undefined) {\n // lookup in localfiles\n for (const file of this.obj.getABAPFiles()) {\n const found = file.getInfo().getInterfaceDefinitionByName(name);\n if (found) {\n idef = found;\n break;\n }\n }\n }\n else {\n idef = (_a = intf.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().listInterfaceDefinitions()[0];\n }\n return idef;\n }\n /** including implemented super interfaces */\n findInterfaceMethods(idef) {\n const methods = idef.methods.map((m) => {\n return { objectName: idef.name, method: m };\n });\n for (const i of idef.interfaces) {\n const sup = this.findInterface(idef.identifier, i.name);\n if (sup !== undefined && !(sup instanceof issue_1.Issue)) {\n sup.methods.forEach(m => {\n methods.push({ objectName: sup.name, method: m });\n });\n }\n }\n return methods;\n }\n findClass(name) {\n let def = this.lookupDefinitionInObject(name);\n let impl = this.lookupImplementationInObject(name, this.obj);\n if (def && impl) {\n return { def, impl };\n }\n const global = this.reg.getObject(\"CLAS\", name);\n if (global) {\n def = global.getClassDefinition();\n impl = this.lookupImplementationInObject(name, global);\n if (def && impl) {\n return { def, impl };\n }\n }\n return undefined;\n }\n checkInterfaces(def, impl) {\n const ret = [];\n for (const interfaceInfo of def.interfaces) {\n const idef = this.findInterface(def.identifier, interfaceInfo.name);\n if (idef === undefined || interfaceInfo.partial === true || interfaceInfo.allAbstract === true) {\n continue; // ignore parser errors in interface\n }\n else if (idef instanceof issue_1.Issue) {\n return [idef];\n }\n for (const m of this.findInterfaceMethods(idef)) {\n if (interfaceInfo.abstractMethods.includes(m.method.name.toUpperCase())) {\n continue;\n }\n if (this.isImplemented(m, def, impl) === false) {\n const message = \"Implement method \\\"\" + m.method.name + \"\\\" from interface \\\"\" + m.objectName + \"\\\"\";\n if (impl) {\n const fix = this.buildFix(impl, m.objectName + \"~\" + m.method.name);\n const issue = issue_1.Issue.atIdentifier(impl.identifier, message, this.getMetadata().key, this.conf.severity, fix);\n ret.push(issue);\n }\n else {\n const issue = issue_1.Issue.atIdentifier(def.identifier, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n }\n }\n }\n return ret;\n }\n isImplemented(m, def, impl) {\n if (impl === undefined) {\n return false;\n }\n const name = m.objectName + \"~\" + m.method.name;\n let found = impl.methods.find(m => m.getName().toUpperCase() === name.toUpperCase());\n if (found === undefined) {\n // try looking for ALIASes\n for (const alias of def.aliases) {\n if (alias.component.toUpperCase() === name.toUpperCase()) {\n found = impl.methods.find(m => m.getName().toUpperCase() === alias.name.toUpperCase());\n break;\n }\n }\n }\n if (found === undefined && def.superClassName !== undefined) {\n const clas = this.findClass(def.superClassName);\n if (clas) {\n return this.isImplemented(m, clas === null || clas === void 0 ? void 0 : clas.def, clas === null || clas === void 0 ? void 0 : clas.impl);\n }\n }\n if (found === undefined) {\n for (const i of def.interfaces) {\n const idef = this.findInterfaceByName(i.name);\n if (idef === undefined) {\n continue;\n }\n const ali = this.viaAliasInInterface(m, idef, impl);\n if (ali) {\n return ali;\n }\n }\n }\n return found !== undefined;\n }\n viaAliasInInterface(m, intf, impl) {\n for (const a of intf.aliases) {\n if (a.component.toUpperCase() === m.objectName.toUpperCase() + \"~\" + m.method.name.toUpperCase()) {\n const name = intf.name + \"~\" + a.name;\n const found = impl.methods.find(m => m.getName().toUpperCase() === name.toUpperCase());\n if (found) {\n return true;\n }\n }\n }\n return false;\n }\n}\nexports.ImplementMethods = ImplementMethods;\n//# sourceMappingURL=implement_methods.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/implement_methods.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/in_statement_indentation.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/in_statement_indentation.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InStatementIndentation = exports.InStatementIndentationConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass InStatementIndentationConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Additional indent for first statement of blocks */\n this.blockStatements = 2;\n /** Ignore global exception classes */\n this.ignoreExceptions = true;\n }\n}\nexports.InStatementIndentationConf = InStatementIndentationConf;\nclass InStatementIndentation extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new InStatementIndentationConf();\n }\n getMetadata() {\n return {\n key: \"in_statement_indentation\",\n title: \"In-statement indentation\",\n shortDescription: \"Checks alignment within statements which span multiple lines.\",\n extendedInformation: `Lines following the first line should be indented once (2 spaces).\r\n \r\nFor block declaration statements, lines after the first should be indented an additional time (default: +2 spaces)\r\nto distinguish them better from code within the block.`,\n badExample: `IF 1 = 1\r\n AND 2 = 2.\r\n WRITE 'hello' &&\r\n 'world'.\r\nENDIF.`,\n goodExample: `IF 1 = 1\r\n AND 2 = 2.\r\n WRITE 'hello' &&\r\n 'world'.\r\nENDIF.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Fix in-statement indentation\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const ret = [];\n const ddic = new ddic_1.DDIC(this.reg);\n if (obj instanceof objects_1.Class) {\n const definition = obj.getClassDefinition();\n if (definition === undefined) {\n return [];\n }\n else if (this.conf.ignoreExceptions && ddic.isException(definition, obj)) {\n return [];\n }\n }\n for (const s of file.getStatements()) {\n if (s.get() instanceof _statement_1.Comment || s.get() instanceof _statement_1.Unknown) {\n continue;\n }\n const tokens = s.getTokens();\n if (tokens.length === 0) {\n continue;\n }\n const beginLine = tokens[0].getRow();\n let expected = tokens[0].getCol() + 2;\n const type = s.get();\n if (type instanceof Statements.If\n || type instanceof Statements.While\n || type instanceof Statements.Module\n || type instanceof Statements.SelectLoop\n || type instanceof Statements.FunctionModule\n || type instanceof Statements.Do\n || type instanceof Statements.At\n || type instanceof Statements.Catch\n || type instanceof Statements.Case\n || type instanceof Statements.When\n || type instanceof Statements.Cleanup\n || type instanceof Statements.Loop\n || type instanceof Statements.Form\n || type instanceof Statements.Else\n || type instanceof Statements.ElseIf\n || type instanceof Statements.MethodImplementation) {\n expected = expected + this.conf.blockStatements;\n }\n for (const t of tokens) {\n if (t.getRow() === beginLine) {\n continue;\n }\n if (t.getCol() < expected) {\n const fix = edit_helper_1.EditHelper.replaceRange(file, new position_1.Position(t.getRow(), 1), t.getStart(), \" \".repeat(expected - 1));\n const issue = issue_1.Issue.atToken(file, t, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n ret.push(issue);\n break;\n }\n }\n }\n return ret;\n }\n}\nexports.InStatementIndentation = InStatementIndentation;\n//# sourceMappingURL=in_statement_indentation.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/in_statement_indentation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/indentation.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/indentation.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Indentation = exports.IndentationConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst indent_1 = __webpack_require__(/*! ../pretty_printer/indent */ \"./node_modules/@abaplint/core/build/src/pretty_printer/indent.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 _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.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 edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass IndentationConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore global exception classes */\n this.ignoreExceptions = true;\n /** Align TRY CATCH, TRY and CATCH should have the same indentation */\n this.alignTryCatch = false;\n /** Add indentation for SELECTION SCREEN BLOCK, standard pretty printer indents this from 754 */\n this.selectionScreenBlockIndentation = false;\n this.globalClassSkipFirst = false;\n this.ignoreGlobalClassDefinition = false;\n this.ignoreGlobalInterface = false;\n }\n}\nexports.IndentationConf = IndentationConf;\nclass Indentation extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new IndentationConf();\n }\n getMetadata() {\n return {\n key: \"indentation\",\n title: \"Indentation\",\n shortDescription: `Checks indentation`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a, _b;\n const MAX_ISSUES = 100;\n let skip = false;\n if (file.getStructure() === undefined) {\n return []; // syntax error in file\n }\n if (obj instanceof objects_1.Class) {\n const definition = obj.getClassDefinition();\n const ddic = new ddic_1.DDIC(this.reg);\n if (definition === undefined) {\n return [];\n }\n else if (this.conf.ignoreExceptions && ddic.isException(definition, obj)) {\n return [];\n }\n }\n const indentOpts = {\n selectionScreenBlockIndentation: (_a = this.conf) === null || _a === void 0 ? void 0 : _a.selectionScreenBlockIndentation,\n alignTryCatch: (_b = this.conf) === null || _b === void 0 ? void 0 : _b.alignTryCatch,\n globalClassSkipFirst: this.conf.globalClassSkipFirst,\n };\n const expected = new indent_1.Indent(indentOpts).getExpectedIndents(file);\n const ret = [];\n for (const statement of file.getStatements()) {\n const position = statement.getFirstToken().getStart();\n if (position instanceof position_1.VirtualPosition) {\n continue;\n }\n const indent = expected.shift();\n if (this.conf.ignoreGlobalClassDefinition) {\n if (statement.get() instanceof Statements.ClassDefinition\n && statement.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && statement.get() instanceof Statements.EndClass) {\n skip = false;\n continue;\n }\n else if (skip === true) {\n continue;\n }\n }\n if (this.conf.ignoreGlobalInterface) {\n if (statement.get() instanceof Statements.Interface\n && statement.findFirstExpression(Expressions.ClassGlobal)) {\n skip = true;\n continue;\n }\n else if (skip === true && statement.get() instanceof Statements.EndInterface) {\n skip = false;\n continue;\n }\n else if (skip === true) {\n continue;\n }\n }\n if (indent && indent > 0 && indent !== position.getCol()) {\n const expected = indent - 1;\n const fix = edit_helper_1.EditHelper.replaceRange(file, new position_1.Position(position.getRow(), 1), position, \" \".repeat(expected));\n const message = \"Indentation problem, expected \" + expected + \" spaces\";\n const issue = issue_1.Issue.atPosition(file, position, message, this.getMetadata().key, this.conf.severity, fix);\n ret.push(issue);\n if (ret.length >= MAX_ISSUES) {\n break;\n }\n }\n }\n return ret;\n }\n}\nexports.Indentation = Indentation;\n//# sourceMappingURL=indentation.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/indentation.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/index.js": +/*!**************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/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__(/*! ./7bit_ascii */ \"./node_modules/@abaplint/core/build/src/rules/7bit_ascii.js\"), exports);\n__exportStar(__webpack_require__(/*! ./abapdoc */ \"./node_modules/@abaplint/core/build/src/rules/abapdoc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./align_parameters */ \"./node_modules/@abaplint/core/build/src/rules/align_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./allowed_object_naming */ \"./node_modules/@abaplint/core/build/src/rules/allowed_object_naming.js\"), exports);\n__exportStar(__webpack_require__(/*! ./allowed_object_types */ \"./node_modules/@abaplint/core/build/src/rules/allowed_object_types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./ambiguous_statement */ \"./node_modules/@abaplint/core/build/src/rules/ambiguous_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./avoid_use */ \"./node_modules/@abaplint/core/build/src/rules/avoid_use.js\"), exports);\n__exportStar(__webpack_require__(/*! ./begin_end_names */ \"./node_modules/@abaplint/core/build/src/rules/begin_end_names.js\"), exports);\n__exportStar(__webpack_require__(/*! ./begin_single_include */ \"./node_modules/@abaplint/core/build/src/rules/begin_single_include.js\"), exports);\n__exportStar(__webpack_require__(/*! ./call_transaction_authority_check */ \"./node_modules/@abaplint/core/build/src/rules/call_transaction_authority_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_comment_style */ \"./node_modules/@abaplint/core/build/src/rules/cds_comment_style.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_legacy_view */ \"./node_modules/@abaplint/core/build/src/rules/cds_legacy_view.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cds_parser_error */ \"./node_modules/@abaplint/core/build/src/rules/cds_parser_error.js\"), exports);\n__exportStar(__webpack_require__(/*! ./chain_mainly_declarations */ \"./node_modules/@abaplint/core/build/src/rules/chain_mainly_declarations.js\"), exports);\n__exportStar(__webpack_require__(/*! ./change_if_to_case */ \"./node_modules/@abaplint/core/build/src/rules/change_if_to_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_abstract */ \"./node_modules/@abaplint/core/build/src/rules/check_abstract.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_comments */ \"./node_modules/@abaplint/core/build/src/rules/check_comments.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_ddic */ \"./node_modules/@abaplint/core/build/src/rules/check_ddic.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_include */ \"./node_modules/@abaplint/core/build/src/rules/check_include.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_subrc */ \"./node_modules/@abaplint/core/build/src/rules/check_subrc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_syntax */ \"./node_modules/@abaplint/core/build/src/rules/check_syntax.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_text_elements */ \"./node_modules/@abaplint/core/build/src/rules/check_text_elements.js\"), exports);\n__exportStar(__webpack_require__(/*! ./check_transformation_exists */ \"./node_modules/@abaplint/core/build/src/rules/check_transformation_exists.js\"), exports);\n__exportStar(__webpack_require__(/*! ./class_attribute_names */ \"./node_modules/@abaplint/core/build/src/rules/class_attribute_names.js\"), exports);\n__exportStar(__webpack_require__(/*! ./classic_exceptions_overlap */ \"./node_modules/@abaplint/core/build/src/rules/classic_exceptions_overlap.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cloud_types */ \"./node_modules/@abaplint/core/build/src/rules/cloud_types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./colon_missing_space */ \"./node_modules/@abaplint/core/build/src/rules/colon_missing_space.js\"), exports);\n__exportStar(__webpack_require__(/*! ./commented_code */ \"./node_modules/@abaplint/core/build/src/rules/commented_code.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constant_classes */ \"./node_modules/@abaplint/core/build/src/rules/constant_classes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./constructor_visibility_public */ \"./node_modules/@abaplint/core/build/src/rules/constructor_visibility_public.js\"), exports);\n__exportStar(__webpack_require__(/*! ./contains_tab */ \"./node_modules/@abaplint/core/build/src/rules/contains_tab.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cyclic_oo */ \"./node_modules/@abaplint/core/build/src/rules/cyclic_oo.js\"), exports);\n__exportStar(__webpack_require__(/*! ./cyclomatic_complexity */ \"./node_modules/@abaplint/core/build/src/rules/cyclomatic_complexity.js\"), exports);\n__exportStar(__webpack_require__(/*! ./dangerous_statement */ \"./node_modules/@abaplint/core/build/src/rules/dangerous_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./db_operation_in_loop */ \"./node_modules/@abaplint/core/build/src/rules/db_operation_in_loop.js\"), exports);\n__exportStar(__webpack_require__(/*! ./definitions_top */ \"./node_modules/@abaplint/core/build/src/rules/definitions_top.js\"), exports);\n__exportStar(__webpack_require__(/*! ./description_empty */ \"./node_modules/@abaplint/core/build/src/rules/description_empty.js\"), exports);\n__exportStar(__webpack_require__(/*! ./double_space */ \"./node_modules/@abaplint/core/build/src/rules/double_space.js\"), exports);\n__exportStar(__webpack_require__(/*! ./downport */ \"./node_modules/@abaplint/core/build/src/rules/downport.js\"), exports);\n__exportStar(__webpack_require__(/*! ./easy_to_find_messages */ \"./node_modules/@abaplint/core/build/src/rules/easy_to_find_messages.js\"), exports);\n__exportStar(__webpack_require__(/*! ./empty_line_in_statement */ \"./node_modules/@abaplint/core/build/src/rules/empty_line_in_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./empty_statement */ \"./node_modules/@abaplint/core/build/src/rules/empty_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./empty_structure */ \"./node_modules/@abaplint/core/build/src/rules/empty_structure.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exit_or_check */ \"./node_modules/@abaplint/core/build/src/rules/exit_or_check.js\"), exports);\n__exportStar(__webpack_require__(/*! ./expand_macros */ \"./node_modules/@abaplint/core/build/src/rules/expand_macros.js\"), exports);\n__exportStar(__webpack_require__(/*! ./exporting */ \"./node_modules/@abaplint/core/build/src/rules/exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./forbidden_identifier */ \"./node_modules/@abaplint/core/build/src/rules/forbidden_identifier.js\"), exports);\n__exportStar(__webpack_require__(/*! ./forbidden_pseudo_and_pragma */ \"./node_modules/@abaplint/core/build/src/rules/forbidden_pseudo_and_pragma.js\"), exports);\n__exportStar(__webpack_require__(/*! ./forbidden_void_type */ \"./node_modules/@abaplint/core/build/src/rules/forbidden_void_type.js\"), exports);\n__exportStar(__webpack_require__(/*! ./form_tables_obsolete */ \"./node_modules/@abaplint/core/build/src/rules/form_tables_obsolete.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fully_type_constants */ \"./node_modules/@abaplint/core/build/src/rules/fully_type_constants.js\"), exports);\n__exportStar(__webpack_require__(/*! ./fully_type_itabs */ \"./node_modules/@abaplint/core/build/src/rules/fully_type_itabs.js\"), exports);\n__exportStar(__webpack_require__(/*! ./function_module_recommendations */ \"./node_modules/@abaplint/core/build/src/rules/function_module_recommendations.js\"), exports);\n__exportStar(__webpack_require__(/*! ./functional_writing */ \"./node_modules/@abaplint/core/build/src/rules/functional_writing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./global_class */ \"./node_modules/@abaplint/core/build/src/rules/global_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identical_conditions */ \"./node_modules/@abaplint/core/build/src/rules/identical_conditions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identical_contents */ \"./node_modules/@abaplint/core/build/src/rules/identical_contents.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identical_descriptions */ \"./node_modules/@abaplint/core/build/src/rules/identical_descriptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./identical_form_names */ \"./node_modules/@abaplint/core/build/src/rules/identical_form_names.js\"), exports);\n__exportStar(__webpack_require__(/*! ./if_in_if */ \"./node_modules/@abaplint/core/build/src/rules/if_in_if.js\"), exports);\n__exportStar(__webpack_require__(/*! ./implement_methods */ \"./node_modules/@abaplint/core/build/src/rules/implement_methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./in_statement_indentation */ \"./node_modules/@abaplint/core/build/src/rules/in_statement_indentation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./indentation */ \"./node_modules/@abaplint/core/build/src/rules/indentation.js\"), exports);\n__exportStar(__webpack_require__(/*! ./inline_data_old_versions */ \"./node_modules/@abaplint/core/build/src/rules/inline_data_old_versions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./intf_referencing_clas */ \"./node_modules/@abaplint/core/build/src/rules/intf_referencing_clas.js\"), exports);\n__exportStar(__webpack_require__(/*! ./keep_single_parameter_on_one_line */ \"./node_modules/@abaplint/core/build/src/rules/keep_single_parameter_on_one_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./keyword_case */ \"./node_modules/@abaplint/core/build/src/rules/keyword_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./line_break_multiple_parameters */ \"./node_modules/@abaplint/core/build/src/rules/line_break_multiple_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./line_break_style */ \"./node_modules/@abaplint/core/build/src/rules/line_break_style.js\"), exports);\n__exportStar(__webpack_require__(/*! ./line_length */ \"./node_modules/@abaplint/core/build/src/rules/line_length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./line_only_punc */ \"./node_modules/@abaplint/core/build/src/rules/line_only_punc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./local_class_naming */ \"./node_modules/@abaplint/core/build/src/rules/local_class_naming.js\"), exports);\n__exportStar(__webpack_require__(/*! ./local_testclass_consistency */ \"./node_modules/@abaplint/core/build/src/rules/local_testclass_consistency.js\"), exports);\n__exportStar(__webpack_require__(/*! ./local_variable_names */ \"./node_modules/@abaplint/core/build/src/rules/local_variable_names.js\"), exports);\n__exportStar(__webpack_require__(/*! ./main_file_contents */ \"./node_modules/@abaplint/core/build/src/rules/main_file_contents.js\"), exports);\n__exportStar(__webpack_require__(/*! ./many_parentheses */ \"./node_modules/@abaplint/core/build/src/rules/many_parentheses.js\"), exports);\n__exportStar(__webpack_require__(/*! ./max_one_method_parameter_per_line */ \"./node_modules/@abaplint/core/build/src/rules/max_one_method_parameter_per_line.js\"), exports);\n__exportStar(__webpack_require__(/*! ./max_one_statement */ \"./node_modules/@abaplint/core/build/src/rules/max_one_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./message_exists */ \"./node_modules/@abaplint/core/build/src/rules/message_exists.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_implemented_twice */ \"./node_modules/@abaplint/core/build/src/rules/method_implemented_twice.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_length */ \"./node_modules/@abaplint/core/build/src/rules/method_length.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_overwrites_builtin */ \"./node_modules/@abaplint/core/build/src/rules/method_overwrites_builtin.js\"), exports);\n__exportStar(__webpack_require__(/*! ./method_parameter_names */ \"./node_modules/@abaplint/core/build/src/rules/method_parameter_names.js\"), exports);\n__exportStar(__webpack_require__(/*! ./mix_returning */ \"./node_modules/@abaplint/core/build/src/rules/mix_returning.js\"), exports);\n__exportStar(__webpack_require__(/*! ./modify_only_own_db_tables */ \"./node_modules/@abaplint/core/build/src/rules/modify_only_own_db_tables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./msag_consistency */ \"./node_modules/@abaplint/core/build/src/rules/msag_consistency.js\"), exports);\n__exportStar(__webpack_require__(/*! ./names_no_dash */ \"./node_modules/@abaplint/core/build/src/rules/names_no_dash.js\"), exports);\n__exportStar(__webpack_require__(/*! ./nesting */ \"./node_modules/@abaplint/core/build/src/rules/nesting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./newline_between_methods */ \"./node_modules/@abaplint/core/build/src/rules/newline_between_methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_aliases */ \"./node_modules/@abaplint/core/build/src/rules/no_aliases.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_chained_assignment */ \"./node_modules/@abaplint/core/build/src/rules/no_chained_assignment.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_external_form_calls */ \"./node_modules/@abaplint/core/build/src/rules/no_external_form_calls.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_inline_in_optional_branches */ \"./node_modules/@abaplint/core/build/src/rules/no_inline_in_optional_branches.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_public_attributes */ \"./node_modules/@abaplint/core/build/src/rules/no_public_attributes.js\"), exports);\n__exportStar(__webpack_require__(/*! ./no_yoda_conditions */ \"./node_modules/@abaplint/core/build/src/rules/no_yoda_conditions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./nrob_consistency */ \"./node_modules/@abaplint/core/build/src/rules/nrob_consistency.js\"), exports);\n__exportStar(__webpack_require__(/*! ./object_naming */ \"./node_modules/@abaplint/core/build/src/rules/object_naming.js\"), exports);\n__exportStar(__webpack_require__(/*! ./obsolete_statement */ \"./node_modules/@abaplint/core/build/src/rules/obsolete_statement.js\"), exports);\n__exportStar(__webpack_require__(/*! ./omit_parameter_name */ \"./node_modules/@abaplint/core/build/src/rules/omit_parameter_name.js\"), exports);\n__exportStar(__webpack_require__(/*! ./omit_preceding_zeros */ \"./node_modules/@abaplint/core/build/src/rules/omit_preceding_zeros.js\"), exports);\n__exportStar(__webpack_require__(/*! ./omit_receiving */ \"./node_modules/@abaplint/core/build/src/rules/omit_receiving.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parser_702_chaining */ \"./node_modules/@abaplint/core/build/src/rules/parser_702_chaining.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parser_error */ \"./node_modules/@abaplint/core/build/src/rules/parser_error.js\"), exports);\n__exportStar(__webpack_require__(/*! ./parser_missing_space */ \"./node_modules/@abaplint/core/build/src/rules/parser_missing_space.js\"), exports);\n__exportStar(__webpack_require__(/*! ./pragma_style */ \"./node_modules/@abaplint/core/build/src/rules/pragma_style.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_corresponding */ \"./node_modules/@abaplint/core/build/src/rules/prefer_corresponding.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_inline */ \"./node_modules/@abaplint/core/build/src/rules/prefer_inline.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_is_not */ \"./node_modules/@abaplint/core/build/src/rules/prefer_is_not.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_raise_exception_new */ \"./node_modules/@abaplint/core/build/src/rules/prefer_raise_exception_new.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_returning_to_exporting */ \"./node_modules/@abaplint/core/build/src/rules/prefer_returning_to_exporting.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefer_xsdbool */ \"./node_modules/@abaplint/core/build/src/rules/prefer_xsdbool.js\"), exports);\n__exportStar(__webpack_require__(/*! ./preferred_compare_operator */ \"./node_modules/@abaplint/core/build/src/rules/preferred_compare_operator.js\"), exports);\n__exportStar(__webpack_require__(/*! ./prefix_is_current_class */ \"./node_modules/@abaplint/core/build/src/rules/prefix_is_current_class.js\"), exports);\n__exportStar(__webpack_require__(/*! ./reduce_string_templates */ \"./node_modules/@abaplint/core/build/src/rules/reduce_string_templates.js\"), exports);\n__exportStar(__webpack_require__(/*! ./release_idoc */ \"./node_modules/@abaplint/core/build/src/rules/release_idoc.js\"), exports);\n__exportStar(__webpack_require__(/*! ./remove_descriptions */ \"./node_modules/@abaplint/core/build/src/rules/remove_descriptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./rfc_error_handling */ \"./node_modules/@abaplint/core/build/src/rules/rfc_error_handling.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_add_order_by */ \"./node_modules/@abaplint/core/build/src/rules/select_add_order_by.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_performance */ \"./node_modules/@abaplint/core/build/src/rules/select_performance.js\"), exports);\n__exportStar(__webpack_require__(/*! ./select_single_full_key */ \"./node_modules/@abaplint/core/build/src/rules/select_single_full_key.js\"), exports);\n__exportStar(__webpack_require__(/*! ./selection_screen_naming */ \"./node_modules/@abaplint/core/build/src/rules/selection_screen_naming.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sequential_blank */ \"./node_modules/@abaplint/core/build/src/rules/sequential_blank.js\"), exports);\n__exportStar(__webpack_require__(/*! ./short_case */ \"./node_modules/@abaplint/core/build/src/rules/short_case.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sicf_consistency */ \"./node_modules/@abaplint/core/build/src/rules/sicf_consistency.js\"), exports);\n__exportStar(__webpack_require__(/*! ./slow_parameter_passing */ \"./node_modules/@abaplint/core/build/src/rules/slow_parameter_passing.js\"), exports);\n__exportStar(__webpack_require__(/*! ./smim_consistency */ \"./node_modules/@abaplint/core/build/src/rules/smim_consistency.js\"), exports);\n__exportStar(__webpack_require__(/*! ./space_before_colon */ \"./node_modules/@abaplint/core/build/src/rules/space_before_colon.js\"), exports);\n__exportStar(__webpack_require__(/*! ./space_before_dot */ \"./node_modules/@abaplint/core/build/src/rules/space_before_dot.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_escape_host_variables */ \"./node_modules/@abaplint/core/build/src/rules/sql_escape_host_variables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sql_value_conversion */ \"./node_modules/@abaplint/core/build/src/rules/sql_value_conversion.js\"), exports);\n__exportStar(__webpack_require__(/*! ./start_at_tab */ \"./node_modules/@abaplint/core/build/src/rules/start_at_tab.js\"), exports);\n__exportStar(__webpack_require__(/*! ./static_call_via_instance */ \"./node_modules/@abaplint/core/build/src/rules/static_call_via_instance.js\"), exports);\n__exportStar(__webpack_require__(/*! ./strict_sql */ \"./node_modules/@abaplint/core/build/src/rules/strict_sql.js\"), exports);\n__exportStar(__webpack_require__(/*! ./superclass_final */ \"./node_modules/@abaplint/core/build/src/rules/superclass_final.js\"), exports);\n__exportStar(__webpack_require__(/*! ./superfluous_value */ \"./node_modules/@abaplint/core/build/src/rules/superfluous_value.js\"), exports);\n__exportStar(__webpack_require__(/*! ./sy_modification */ \"./node_modules/@abaplint/core/build/src/rules/sy_modification.js\"), exports);\n__exportStar(__webpack_require__(/*! ./tabl_enhancement_category */ \"./node_modules/@abaplint/core/build/src/rules/tabl_enhancement_category.js\"), exports);\n__exportStar(__webpack_require__(/*! ./try_without_catch */ \"./node_modules/@abaplint/core/build/src/rules/try_without_catch.js\"), exports);\n__exportStar(__webpack_require__(/*! ./type_form_parameters */ \"./node_modules/@abaplint/core/build/src/rules/type_form_parameters.js\"), exports);\n__exportStar(__webpack_require__(/*! ./types_naming */ \"./node_modules/@abaplint/core/build/src/rules/types_naming.js\"), exports);\n__exportStar(__webpack_require__(/*! ./uncaught_exception */ \"./node_modules/@abaplint/core/build/src/rules/uncaught_exception.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unknown_types */ \"./node_modules/@abaplint/core/build/src/rules/unknown_types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unnecessary_chaining */ \"./node_modules/@abaplint/core/build/src/rules/unnecessary_chaining.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unnecessary_pragma */ \"./node_modules/@abaplint/core/build/src/rules/unnecessary_pragma.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unnecessary_return */ \"./node_modules/@abaplint/core/build/src/rules/unnecessary_return.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unreachable_code */ \"./node_modules/@abaplint/core/build/src/rules/unreachable_code.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unsecure_fae */ \"./node_modules/@abaplint/core/build/src/rules/unsecure_fae.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unused_ddic */ \"./node_modules/@abaplint/core/build/src/rules/unused_ddic.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unused_methods */ \"./node_modules/@abaplint/core/build/src/rules/unused_methods.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unused_types */ \"./node_modules/@abaplint/core/build/src/rules/unused_types.js\"), exports);\n__exportStar(__webpack_require__(/*! ./unused_variables */ \"./node_modules/@abaplint/core/build/src/rules/unused_variables.js\"), exports);\n__exportStar(__webpack_require__(/*! ./use_bool_expression */ \"./node_modules/@abaplint/core/build/src/rules/use_bool_expression.js\"), exports);\n__exportStar(__webpack_require__(/*! ./use_class_based_exceptions */ \"./node_modules/@abaplint/core/build/src/rules/use_class_based_exceptions.js\"), exports);\n__exportStar(__webpack_require__(/*! ./use_line_exists */ \"./node_modules/@abaplint/core/build/src/rules/use_line_exists.js\"), exports);\n__exportStar(__webpack_require__(/*! ./use_new */ \"./node_modules/@abaplint/core/build/src/rules/use_new.js\"), exports);\n__exportStar(__webpack_require__(/*! ./when_others_last */ \"./node_modules/@abaplint/core/build/src/rules/when_others_last.js\"), exports);\n__exportStar(__webpack_require__(/*! ./whitespace_end */ \"./node_modules/@abaplint/core/build/src/rules/whitespace_end.js\"), exports);\n__exportStar(__webpack_require__(/*! ./xml_consistency */ \"./node_modules/@abaplint/core/build/src/rules/xml_consistency.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/index.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/inline_data_old_versions.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/inline_data_old_versions.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.InlineDataOldVersions = exports.InlineDataOldVersionsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass InlineDataOldVersionsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.InlineDataOldVersionsConf = InlineDataOldVersionsConf;\nclass InlineDataOldVersions extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new InlineDataOldVersionsConf();\n }\n getMetadata() {\n return {\n key: \"inline_data_old_versions\",\n title: \"Inline data, old versions\",\n shortDescription: `Checks for inline data declarations in older releases. Only active for versions less than v740sp02`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n if (this.reg.getConfig().getVersion() >= version_1.Version.v740sp02\n || this.reg.getConfig().getVersion() === version_1.Version.Cloud) {\n return [];\n }\n for (const statement of file.getStatements()) {\n // when parsed in old versions these expressions are NOT InlineData\n for (const target of statement.findAllExpressions(expressions_1.Target)) {\n const tokens = target.getAllTokens();\n if (tokens.length !== 4) {\n continue;\n }\n if (!tokens[0].getStr().match(/DATA/i)) {\n continue;\n }\n if (tokens[1].getStr() !== \"(\") {\n continue;\n }\n if (tokens[3].getStr() !== \")\") {\n continue;\n }\n const message = \"Inline DATA not possible in \" + this.reg.getConfig().getVersion();\n const issue = issue_1.Issue.atToken(file, tokens[0], message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.InlineDataOldVersions = InlineDataOldVersions;\n//# sourceMappingURL=inline_data_old_versions.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/inline_data_old_versions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/intf_referencing_clas.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/intf_referencing_clas.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IntfReferencingClas = exports.IntfReferencingClasConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nclass IntfReferencingClasConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** List of classes allowed to be referenced, regex, case insensitive\n * @uniqueItems true\n */\n this.allow = [];\n }\n}\nexports.IntfReferencingClasConf = IntfReferencingClasConf;\nclass IntfReferencingClas {\n constructor() {\n this.conf = new IntfReferencingClasConf();\n }\n getMetadata() {\n return {\n key: \"intf_referencing_clas\",\n title: \"INTF referencing CLAS\",\n shortDescription: `Interface contains references to class`,\n extendedInformation: `Only global interfaces are checked.\r\n Only first level references are checked.\r\n Exception class references are ignored.\r\n Void references are ignored.`,\n };\n }\n getConfig() {\n if (this.conf.allow === undefined) {\n this.conf.allow = [];\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof objects_1.Interface)) {\n return [];\n }\n return this.traverse(new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop());\n }\n ////////////////\n traverse(node) {\n var _a, _b;\n let ret = [];\n const message = \"Referencing CLAS: \";\n const ddic = new ddic_1.DDIC(this.reg);\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.ObjectOrientedReference\n && ((_a = r.extra) === null || _a === void 0 ? void 0 : _a.ooType) === \"CLAS\"\n && ((_b = r.extra) === null || _b === void 0 ? void 0 : _b.ooName) !== undefined) {\n const found = this.reg.getObject(\"CLAS\", r.extra.ooName) || undefined;\n if (found && ddic.isException(found.getClassDefinition(), found)) {\n continue;\n }\n else if (this.getConfig().allow.some(reg => new RegExp(reg, \"i\").test(r.extra.ooName))) {\n continue;\n }\n ret.push(issue_1.Issue.atIdentifier(r.position, message + r.extra.ooName, this.getMetadata().key, this.conf.severity));\n }\n }\n for (const c of node.getChildren()) {\n ret = ret.concat(this.traverse(c));\n }\n return ret;\n }\n}\nexports.IntfReferencingClas = IntfReferencingClas;\n//# sourceMappingURL=intf_referencing_clas.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/intf_referencing_clas.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/keep_single_parameter_on_one_line.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/keep_single_parameter_on_one_line.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.KeepSingleParameterCallsOnOneLine = exports.KeepSingleParameterCallsOnOneLineConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass KeepSingleParameterCallsOnOneLineConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Max line length, in characters */\n this.length = 120;\n }\n}\nexports.KeepSingleParameterCallsOnOneLineConf = KeepSingleParameterCallsOnOneLineConf;\nclass KeepSingleParameterCallsOnOneLine extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new KeepSingleParameterCallsOnOneLineConf();\n }\n getMetadata() {\n return {\n key: \"keep_single_parameter_on_one_line\",\n title: \"Keep single parameters on one line\",\n shortDescription: `Keep single parameter calls on one line`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-single-parameter-calls-on-one-line`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: `call_method(\\n 2 ).`,\n goodExample: `call_method( 2 ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n let issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const s of file.getStatements()) {\n if (this.isMultiLine(s) === false\n || this.calcStatementLength(s) > this.getConfig().length\n || this.containsNewLineValue(s)\n || this.containsNewLineTableExpression(s)\n || this.containsFieldAssigments(s)\n || this.containsNewLineTemplate(s)) {\n continue;\n }\n for (const c of s.findAllExpressions(Expressions.MethodCallParam)) {\n issues = issues.concat(this.check(c, file));\n }\n }\n return issues;\n }\n ///////////////////////////////////////\n containsFieldAssigments(s) {\n const fs = s.findAllExpressions(Expressions.FieldAssignment);\n return fs.length > 1;\n }\n containsNewLineTableExpression(s) {\n for (const st of s.findAllExpressions(Expressions.TableExpression)) {\n if (st.getFirstToken().getRow() !== st.getLastToken().getRow()) {\n return true;\n }\n }\n return false;\n }\n containsNewLineValue(s) {\n for (const st of s.findAllExpressions(Expressions.Source)) {\n const first = st.getFirstToken().getStr().toUpperCase();\n if (first === \"VALUE\" && st.getFirstToken().getRow() !== st.getLastToken().getRow()) {\n return true;\n }\n }\n return false;\n }\n containsNewLineTemplate(s) {\n for (const st of s.findAllExpressions(Expressions.StringTemplate)) {\n for (const t of st.getAllTokens()) {\n if (t.getStr().includes(\"\\\\n\")) {\n return true;\n }\n }\n }\n return false;\n }\n check(c, file) {\n if (this.isSingleParameter(c) === true && this.isMultiLine(c) === true) {\n for (const sub of c.findAllExpressions(Expressions.MethodCallParam)) {\n if (this.isSingleParameter(sub) === false\n && this.isWithoutParameters(sub) === false) {\n return [];\n }\n }\n const message = \"Keep single parameter on one line\";\n return [issue_1.Issue.atToken(file, c.getFirstToken(), message, this.getMetadata().key, this.conf.severity)];\n }\n return [];\n }\n // including first indentation, worst case calculation add space after each token\n calcStatementLength(c) {\n let length = 0;\n for (const t of c.getTokens()) {\n if (length === 0) {\n length = length + t.getStart().getCol();\n }\n length = length + t.getStr().length + 1;\n }\n return length;\n }\n isMultiLine(c) {\n const first = c.getFirstToken();\n const last = c.getLastToken();\n return first.getStart().getRow() < last.getStart().getRow();\n }\n isWithoutParameters(c) {\n return c.getChildren().length === 2;\n }\n isSingleParameter(c) {\n if (c.findDirectExpression(Expressions.Source)) {\n return true;\n }\n const list = c.findDirectExpression(Expressions.ParameterListS);\n if (list) {\n return list.getChildren().length === 1;\n }\n const param = c.findDirectExpression(Expressions.MethodParameters);\n if (param) {\n if (param.getChildren().length > 2) {\n return false;\n }\n const paramsource = param.findDirectExpression(Expressions.ParameterListS);\n if (paramsource && paramsource.getChildren().length === 1) {\n return true;\n }\n const paramtarget = param.findDirectExpression(Expressions.ParameterListT);\n if (paramtarget && paramtarget.getChildren().length === 1) {\n return true;\n }\n }\n return false;\n }\n}\nexports.KeepSingleParameterCallsOnOneLine = KeepSingleParameterCallsOnOneLine;\n//# sourceMappingURL=keep_single_parameter_on_one_line.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/keep_single_parameter_on_one_line.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/keyword_case.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/keyword_case.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.KeywordCase = exports.KeywordCaseConf = exports.KeywordCaseStyle = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/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 tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.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 _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.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 edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nvar KeywordCaseStyle;\n(function (KeywordCaseStyle) {\n KeywordCaseStyle[\"Upper\"] = \"upper\";\n KeywordCaseStyle[\"Lower\"] = \"lower\";\n})(KeywordCaseStyle || (exports.KeywordCaseStyle = KeywordCaseStyle = {}));\nclass KeywordCaseConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.style = KeywordCaseStyle.Upper;\n /** Ignore global exception classes */\n this.ignoreExceptions = true;\n this.ignoreLowerClassImplmentationStatement = true;\n this.ignoreGlobalClassDefinition = false;\n this.ignoreGlobalInterface = false;\n this.ignoreFunctionModuleName = false;\n // this ignores keywords in CLASS/ENDCLASS statements of a global class (and only in them, the rest is checked)\n this.ignoreGlobalClassBoundaries = false;\n /** A list of keywords to be ignored */\n this.ignoreKeywords = [];\n }\n}\nexports.KeywordCaseConf = KeywordCaseConf;\nclass Skip {\n constructor(conf) {\n this.skip = false;\n this.isGlobalClass = false;\n this.isGlobalIf = false;\n this.conf = conf;\n }\n skipStatement(statement) {\n const get = statement.get();\n if (get instanceof _statement_1.Unknown\n || get instanceof _statement_1.MacroContent\n || get instanceof _statement_1.MacroCall\n || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition\n || get instanceof _statement_1.Comment) {\n return true;\n }\n if (this.conf.ignoreGlobalClassBoundaries) {\n const node = get;\n if (node instanceof Statements.Interface && statement.findFirstExpression(Expressions.ClassGlobal)) {\n this.isGlobalIf = true;\n return true;\n }\n else if (this.isGlobalIf === true && node instanceof Statements.EndInterface) {\n return true;\n }\n if (node instanceof Statements.ClassDefinition && statement.findFirstExpression(Expressions.ClassGlobal)) {\n this.isGlobalClass = true;\n return true;\n }\n else if (this.isGlobalClass === true\n && (node instanceof Statements.EndClass || node instanceof Statements.ClassImplementation)) {\n return true;\n }\n }\n if (this.conf.ignoreGlobalClassDefinition) {\n if (get instanceof Statements.ClassDefinition\n && statement.findFirstExpression(Expressions.ClassGlobal)) {\n this.skip = true;\n return true;\n }\n else if (this.skip === true && get instanceof Statements.EndClass) {\n this.skip = false;\n return true;\n }\n else if (this.skip === true) {\n return true;\n }\n }\n if (this.conf.ignoreGlobalInterface) {\n if (get instanceof Statements.Interface\n && statement.findFirstExpression(Expressions.ClassGlobal)) {\n this.skip = true;\n return true;\n }\n else if (this.skip === true && get instanceof Statements.EndInterface) {\n this.skip = false;\n return true;\n }\n else if (this.skip === true) {\n return true;\n }\n }\n return false;\n }\n}\nclass KeywordCase extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new KeywordCaseConf();\n }\n getMetadata() {\n return {\n key: \"keyword_case\",\n title: \"Keyword case\",\n shortDescription: `Checks that keywords have the same case. Non-keywords must be lower case.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-your-pretty-printer-team-settings`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf === undefined) {\n this.conf = new KeywordCaseConf();\n }\n if (this.conf.style === undefined) {\n this.conf = new KeywordCaseConf();\n }\n if (this.conf.ignoreExceptions === undefined) {\n this.conf.ignoreExceptions = new KeywordCaseConf().ignoreExceptions;\n }\n }\n runParsed(file, obj) {\n const issues = [];\n const ddic = new ddic_1.DDIC(this.reg);\n const MAX_ISSUES = 100;\n if (this.conf.ignoreExceptions && obj instanceof objects_1.Class) {\n const definition = obj.getClassDefinition();\n if (definition === undefined || ddic.isException(definition, obj)) {\n return [];\n }\n }\n const skip = new Skip(this.getConfig());\n let prev = undefined;\n for (const statement of file.getStatements()) {\n if (skip.skipStatement(statement) === true) {\n continue;\n }\n let result = this.traverse(statement, statement.get());\n if (result.length > 0) {\n if (prev && result[0].token.getStart().equals(prev.getStart())) {\n continue;\n }\n if (statement.getColon() !== undefined) {\n // if its a chained statement, go token by token\n result = [result[0]];\n }\n const issue = this.build(result, file);\n issues.push(issue);\n if (issues.length > MAX_ISSUES) {\n break;\n }\n prev = result[0].token;\n }\n }\n return issues;\n }\n //////////////////\n build(tokens, file) {\n const first = tokens[0];\n const firstToken = tokens[0].token;\n const lastToken = tokens[tokens.length - 1].token;\n const firstTokenValue = firstToken.getStr();\n let description = \"\";\n if (first.keyword === true) {\n description = `Keyword should be ${this.conf.style} case: \"${firstTokenValue}\"`;\n }\n else {\n description = `Identifiers should be lower case: \"${firstTokenValue}\"`;\n }\n const draft = new edit_helper_1.EditDraft(file);\n for (const token of tokens) {\n const str = token.token.getStr();\n const pos = token.token.getStart();\n if (token.keyword === true) {\n if (this.conf.style === KeywordCaseStyle.Lower) {\n draft.replace(pos, str.toLowerCase());\n }\n else {\n draft.replace(pos, str.toUpperCase());\n }\n }\n else {\n draft.replace(pos, str.toLowerCase());\n }\n }\n const fix = draft.toEdit();\n return issue_1.Issue.atRange(file, firstToken.getStart(), lastToken.getEnd(), description, this.getMetadata().key, this.conf.severity, fix);\n }\n /** returns a list of tokens which violates the keyword_case rule */\n traverse(s, parent) {\n let ret = [];\n for (const child of s.getChildren()) {\n if (child instanceof nodes_1.TokenNodeRegex) {\n if (this.conf.ignoreLowerClassImplmentationStatement\n && parent instanceof Statements.ClassImplementation) {\n continue;\n }\n const str = child.get().getStr();\n const upper = str.toUpperCase();\n // todo, this is a hack, the parser should recongize OTHERS/TEXT as a keyword\n if (upper === \"OTHERS\" || upper === \"TEXT\") {\n continue;\n }\n if (this.conf.ignoreFunctionModuleName === true\n && parent instanceof Statements.FunctionModule && upper !== \"FUNCTION\") {\n continue;\n }\n // todo, this is a hack, the parser should recigize SCREEN as a keyword\n if (upper === \"SCREEN\"\n && (parent instanceof Statements.ModifyDatabase\n || parent instanceof Statements.ModifyInternal\n || parent instanceof Statements.Loop)) {\n continue;\n }\n if (str !== str.toLowerCase() && child.get() instanceof tokens_1.Identifier) {\n ret.push({ token: child.get(), keyword: false });\n }\n }\n else if (child instanceof nodes_1.TokenNode) {\n const str = child.get().getStr();\n if (this.violatesRule(str) && child.get() instanceof tokens_1.Identifier) {\n ret.push({ token: child.get(), keyword: true });\n }\n }\n else if (child instanceof nodes_1.ExpressionNode) {\n ret = ret.concat(this.traverse(child, parent));\n }\n else {\n throw new Error(\"keyword_case, traverseStatement, unexpected node type\");\n }\n }\n return ret;\n }\n violatesRule(keyword) {\n if (this.conf.ignoreKeywords && this.conf.ignoreKeywords.map(k => { return k.toUpperCase(); }).includes(keyword.toUpperCase())) {\n return false;\n }\n if (this.conf.style === KeywordCaseStyle.Lower) {\n return keyword !== keyword.toLowerCase();\n }\n else if (this.conf.style === KeywordCaseStyle.Upper) {\n return keyword !== keyword.toUpperCase();\n }\n return false;\n }\n}\nexports.KeywordCase = KeywordCase;\n//# sourceMappingURL=keyword_case.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/keyword_case.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/line_break_multiple_parameters.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/line_break_multiple_parameters.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LineBreakMultipleParameters = exports.LineBreakMultipleParametersConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass LineBreakMultipleParametersConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Amount of allowed parameters on one line */\n this.count = 1;\n }\n}\nexports.LineBreakMultipleParametersConf = LineBreakMultipleParametersConf;\nclass LineBreakMultipleParameters extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LineBreakMultipleParametersConf();\n }\n getMetadata() {\n return {\n key: \"line_break_multiple_parameters\",\n title: \"Line break multiple parameters\",\n shortDescription: `Line break multiple parameters`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#line-break-multiple-parameters`,\n badExample: `method( parameter1 = value parameter2 = value ).`,\n goodExample: `method( parameter1 = value\\n parameter2 = value ).`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n for (const s of file.getStatements()) {\n for (const e of s.findAllExpressions(Expressions.ParameterListS)) {\n if (s.getFirstToken().getStart() instanceof position_1.VirtualPosition) {\n continue; // skip macro content\n }\n const parameters = e.findDirectExpressions(Expressions.ParameterS);\n if (parameters.length <= 1) {\n continue;\n }\n let previous = parameters[0];\n for (let i = 1; i < parameters.length; i++) {\n const current = parameters[i];\n if (this.conf.count && i < this.conf.count) {\n previous = current;\n continue;\n }\n const first = current.getFirstToken();\n if (previous.getFirstToken().getRow() === first.getRow()) {\n const fix = edit_helper_1.EditHelper.insertAt(file, first.getStart(), \"\\n\" + \" \".repeat(parameters[0].getFirstToken().getStart().getCol() - 1));\n issues.push(issue_1.Issue.atToken(file, current.getFirstToken(), this.getMetadata().title, this.getMetadata().key, this.conf.severity, fix));\n }\n previous = current;\n }\n }\n }\n return issues;\n }\n}\nexports.LineBreakMultipleParameters = LineBreakMultipleParameters;\n//# sourceMappingURL=line_break_multiple_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/line_break_multiple_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/line_break_style.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/line_break_style.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LineBreakStyle = exports.LineBreakStyleConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass LineBreakStyleConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.LineBreakStyleConf = LineBreakStyleConf;\nclass LineBreakStyle {\n constructor() {\n this.conf = new LineBreakStyleConf();\n }\n getMetadata() {\n return {\n key: \"line_break_style\",\n title: \"Makes sure line breaks are consistent in the ABAP code\",\n shortDescription: `Enforces LF as newlines in ABAP files\r\n\r\nabapGit does not work with CRLF`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile],\n };\n }\n initialize(_reg) {\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const output = [];\n for (const file of obj.getFiles()) {\n if (file.getFilename().endsWith(\".abap\")) {\n const rows = file.getRawRows();\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].endsWith(\"\\r\") === true) {\n const message = \"Line contains carriage return\";\n const issue = issue_1.Issue.atRow(file, i + 1, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n break; // only one finding per file\n }\n }\n }\n }\n return output;\n }\n}\nexports.LineBreakStyle = LineBreakStyle;\n//# sourceMappingURL=line_break_style.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/line_break_style.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/line_length.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/line_length.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LineLength = exports.LineLengthConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass LineLengthConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Maximum line length in characters, trailing whitespace ignored */\n this.length = 120;\n }\n}\nexports.LineLengthConf = LineLengthConf;\nclass LineLength extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LineLengthConf();\n }\n getMetadata() {\n return {\n key: \"line_length\",\n title: \"Line length\",\n shortDescription: `Detects lines exceeding the provided maximum length.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#stick-to-a-reasonable-line-length\r\nhttps://docs.abapopenchecks.org/checks/04/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n // maximum line length in abap files\n const maxLineLength = 255;\n const array = file.getRawRows();\n for (let rowIndex = 0; rowIndex < array.length; rowIndex++) {\n const row = array[rowIndex].replace(\"\\r\", \"\");\n if (row.length > maxLineLength) {\n const message = `Maximum allowed line length of ${maxLineLength} exceeded, currently ${row.length}`;\n issues.push(issue_1.Issue.atRow(file, rowIndex + 1, message, this.getMetadata().key, this.conf.severity));\n }\n else if (row.length > this.conf.length) {\n const message = `Reduce line length to max ${this.conf.length}, currently ${row.length}`;\n issues.push(issue_1.Issue.atRow(file, rowIndex + 1, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.LineLength = LineLength;\n//# sourceMappingURL=line_length.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/line_length.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/line_only_punc.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/line_only_punc.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LineOnlyPunc = exports.LineOnlyPuncConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nclass LineOnlyPuncConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore lines with only puncutation in global exception classes */\n this.ignoreExceptions = true;\n }\n}\nexports.LineOnlyPuncConf = LineOnlyPuncConf;\nclass LineOnlyPunc extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LineOnlyPuncConf();\n }\n getMetadata() {\n return {\n key: \"line_only_punc\",\n title: \"Line containing only punctuation\",\n shortDescription: `Detects lines containing only punctuation.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#close-brackets-at-line-end\r\nhttps://docs.abapopenchecks.org/checks/16/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: \"zcl_class=>method(\\n).\",\n goodExample: \"zcl_class=>method( ).\",\n };\n }\n getMessage() {\n return \"A line should not contain only \\\".\\\" or \\\").\\\"\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n const ddic = new ddic_1.DDIC(this.reg);\n if (obj instanceof objects_1.Class) {\n const definition = obj.getClassDefinition();\n if (definition === undefined) {\n return [];\n }\n else if (this.conf.ignoreExceptions && ddic.isException(definition, obj)) {\n return [];\n }\n }\n const rows = file.getRawRows();\n const reg = new RegExp(\"^\\\\)?\\\\. *(\\\\\\\".*)?$\");\n for (let i = 0; i < rows.length; i++) {\n if (reg.exec(rows[i].trim())) {\n const column = rows[i].indexOf(\")\") >= 0 ? rows[i].indexOf(\")\") + 1 : rows[i].indexOf(\".\") + 1;\n const position = new position_1.Position(i + 1, column);\n // merge punc into previous row\n let rowContent = rows[i].trim();\n // if reported row contains a paranthesis, prefix with space if needed\n if (rowContent.length > 1 && !rows[i - 1].endsWith(\" \") && !rows[i - 1].endsWith(\" \\r\")) {\n rowContent = \" \" + rowContent;\n }\n let offset = 0;\n if (rows[i - 1].endsWith(\"\\r\")) {\n offset = -1;\n }\n const startPos = new position_1.Position(i, rows[i - 1].length + 1 + offset);\n const endPos = new position_1.Position(i + 1, rows[i].length + 1);\n const fix = edit_helper_1.EditHelper.replaceRange(file, startPos, endPos, rowContent);\n const issue = issue_1.Issue.atPosition(file, position, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.LineOnlyPunc = LineOnlyPunc;\n//# sourceMappingURL=line_only_punc.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/line_only_punc.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/local_class_naming.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/local_class_naming.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LocalClassNaming = exports.LocalClassNamingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"./node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nclass LocalClassNamingConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** The pattern for local class names */\n this.local = \"^LCL_.+$\";\n /** The pattern for local exception names */\n this.exception = \"^LCX_.+$\";\n /** The pattern for local test class names */\n this.test = \"^LTCL_.+$\";\n }\n}\nexports.LocalClassNamingConf = LocalClassNamingConf;\nclass LocalClassNaming extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LocalClassNamingConf();\n }\n getMetadata() {\n return {\n key: \"local_class_naming\",\n title: \"Local class naming conventions\",\n shortDescription: `Allows you to enforce a pattern, such as a prefix, for local class names.`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(expected, actual) {\n return this.conf.patternKind === \"required\" ?\n \"Local class name does not match pattern \" + expected + \": \" + actual :\n \"Local class name must not match pattern \" + expected + \": \" + actual;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n const ddic = new ddic_1.DDIC(this.reg);\n for (const classDef of file.getInfo().listClassDefinitions()) {\n if (classDef.isGlobal) {\n continue;\n }\n const className = classDef.name;\n let expected = \"\";\n if (classDef.isForTesting) {\n expected = this.conf.test;\n }\n else if (ddic.isException(classDef, obj)) {\n expected = this.conf.exception;\n }\n else {\n expected = this.conf.local;\n }\n if (expected === undefined || expected.length === 0) {\n continue;\n }\n const regex = new RegExp(expected, \"i\");\n if (name_validator_1.NameValidator.violatesRule(className, regex, this.conf)) {\n issues.push(issue_1.Issue.atIdentifier(classDef.identifier, this.getDescription(expected, className), this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.LocalClassNaming = LocalClassNaming;\n//# sourceMappingURL=local_class_naming.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/local_class_naming.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/local_testclass_consistency.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/local_testclass_consistency.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LocalTestclassConsistency = exports.LocalTestclassConsistencyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass LocalTestclassConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.LocalTestclassConsistencyConf = LocalTestclassConsistencyConf;\nclass LocalTestclassConsistency extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LocalTestclassConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"local_testclass_consistency\",\n title: \"Local testclass consistency\",\n shortDescription: `Checks that local test classes are placed in the test include, and class unit test flag is set`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a;\n const issues = [];\n if (this.reg.getConfig().getVersion() === version_1.Version.v700) {\n // 700 does not have testclass includes\n return [];\n }\n if (!(obj instanceof objects_1.Class)) {\n return [];\n }\n for (const c of file.getInfo().listClassDefinitions()) {\n if (c.isLocal && c.isForTesting && !file.getFilename().includes(\".testclasses.abap\")) {\n const message = \"Place local testclass \\\"\" + c.name + \"\\\" in the testclass include\";\n const issue = issue_1.Issue.atIdentifier(c.identifier, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (file.getFilename().includes(\".testclasses.\") === true\n && obj.getTestclassFile() !== undefined\n && ((_a = obj.getXML()) === null || _a === void 0 ? void 0 : _a.includes(\"X\")) === false) {\n const id = obj.getIdentifier();\n if (id) {\n const message = \"Has testclass, but XML does not set \";\n const issue = issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.LocalTestclassConsistency = LocalTestclassConsistency;\n//# sourceMappingURL=local_testclass_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/local_testclass_consistency.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/local_variable_names.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/local_variable_names.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LocalVariableNames = exports.LocalVariableNamesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.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 _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"./node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass LocalVariableNamesConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** The pattern for local variable names */\n this.expectedData = \"^L._.+$\";\n /** The pattern for local constant names */\n this.expectedConstant = \"^LC_.+$\";\n /** The pattern for field symbol names */\n this.expectedFS = \"^$\";\n }\n}\nexports.LocalVariableNamesConf = LocalVariableNamesConf;\nclass LocalVariableNames extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new LocalVariableNamesConf();\n }\n getMetadata() {\n return {\n key: \"local_variable_names\",\n title: \"Local variable naming conventions\",\n shortDescription: `\r\nAllows you to enforce a pattern, such as a prefix, for local variables, constants and field symbols.\r\nRegexes are case-insensitive.`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(expected, actual) {\n return this.conf.patternKind === \"required\" ?\n \"Local variable name does not match pattern \" + expected + \": \" + actual :\n \"Local variable name must not match pattern \" + expected + \": \" + actual;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const ret = [];\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n // inside METHOD, FORM, FUNCTION MODULE\n for (const node of stru.findAllStructures(Structures.Form)) {\n ret.push(...this.checkLocals(node, file));\n }\n for (const node of stru.findAllStructures(Structures.Method)) {\n ret.push(...this.checkLocals(node, file));\n }\n for (const node of stru.findAllStructures(Structures.FunctionModule)) {\n ret.push(...this.checkLocals(node, file));\n }\n return ret;\n }\n checkLocals(structure, file) {\n let ret = [];\n // data, field symbols\n for (const dat of structure.findAllStatements(Statements.Data)) {\n const parent = structure.findParent(dat);\n if (parent && parent.get() instanceof Structures.Data) {\n continue; // inside DATA BEGIN OF\n }\n const found = dat.findFirstExpression(Expressions.DefinitionName);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedData));\n }\n }\n // inline data\n for (const dat of structure.findAllExpressions(Expressions.InlineData)) {\n const found = dat.findFirstExpression(Expressions.TargetField);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedData));\n }\n }\n // data structures, data begin of, first level\n const dataStructures = structure.findAllStructures(Structures.Data);\n for (const struc of dataStructures) {\n // ignore nested DATA BEGIN\n const stat = struc.findFirstStatement(Statements.DataBegin);\n const found = stat === null || stat === void 0 ? void 0 : stat.findFirstExpression(Expressions.DefinitionName);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedData));\n }\n }\n for (const fieldsymbol of structure.findAllStatements(Statements.FieldSymbol)) {\n const found = fieldsymbol.findFirstExpression(Expressions.FieldSymbol);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedFS));\n }\n }\n // inline field symbols\n for (const fieldsymbol of structure.findAllExpressions(Expressions.InlineFS)) {\n const found = fieldsymbol.findFirstExpression(Expressions.TargetFieldSymbol);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedFS));\n }\n }\n const constants = structure.findAllStatements(Statements.Constant);\n for (const constant of constants) {\n const parent = structure.findParent(constant);\n if (parent && parent.get() instanceof Structures.Constants) {\n continue; // inside DATA BEGIN OF\n }\n const found = constant.findFirstExpression(Expressions.DefinitionName);\n if (found) {\n const token = found.getFirstToken();\n ret = ret.concat(this.checkName(token, file, this.conf.expectedConstant));\n }\n }\n return ret;\n }\n checkName(token, file, expected) {\n const ret = [];\n const regex = new RegExp(expected, \"i\");\n const name = token.getStr();\n if (name_validator_1.NameValidator.violatesRule(name, regex, this.conf)) {\n const message = this.getDescription(expected, name);\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n return ret;\n }\n}\nexports.LocalVariableNames = LocalVariableNames;\n//# sourceMappingURL=local_variable_names.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/local_variable_names.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/main_file_contents.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/main_file_contents.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MainFileContents = exports.MainFileContentsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.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 position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass MainFileContentsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MainFileContentsConf = MainFileContentsConf;\nclass MainFileContents {\n constructor() {\n this.conf = new MainFileContentsConf();\n }\n getMetadata() {\n return {\n key: \"main_file_contents\",\n title: \"Main file contents\",\n shortDescription: `Checks related to report declarations.`,\n extendedInformation: `Does not run if the target version is Cloud\r\n\r\n* PROGs must begin with \"REPORT .\" or \"PROGRAM .\r\n* TYPEs must begin with \"TYPE-POOL .\"\r\n`,\n };\n }\n getDescription(details) {\n return \"Main file must have specific contents: \" + details;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)\n || this.reg.getConfig().getVersion() === version_1.Version.Cloud) {\n return [];\n }\n const main = obj.getMainABAPFile();\n if (main === undefined) {\n return [];\n }\n const stru = main.getStructure();\n if (stru === undefined) {\n return [];\n }\n if (obj instanceof Objects.Program\n && obj.isInclude() === false\n && obj.isModulePool() === false) {\n let count = 0;\n let first = main.getStatements()[count];\n while (first !== undefined && first.get() instanceof _statement_1.Comment) {\n count = count + 1;\n first = main.getStatements()[count];\n }\n if (first === undefined || !(first.get() instanceof Statements.Report\n || first.get() instanceof Statements.Program)) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(main, position, this.getDescription(\"Report must begin with REPORT or PROGRAM\"), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n const name = first.findFirstExpression(Expressions.ReportName);\n if (name === undefined) {\n const token = first.getFirstToken();\n const issue = issue_1.Issue.atToken(main, token, this.getDescription(\"Add report name to REPORT or PROGRAM statement\"), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n else if (name.getFirstToken().getStr().toUpperCase() !== obj.getName()) {\n const token = name.getFirstToken();\n const issue = issue_1.Issue.atToken(main, token, this.getDescription(\"REPORT or PROGRAM name must match filename\"), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n }\n else if (obj instanceof Objects.TypePool) {\n let count = 0;\n let first = main.getStatements()[count];\n while (first !== undefined && first.get() instanceof _statement_1.Comment) {\n count = count + 1;\n first = main.getStatements()[count];\n }\n if (first === undefined || !(first.get() instanceof Statements.TypePool)) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(main, position, this.getDescription(\"Type pool must begin with TYPE-POOL\"), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n const name = first.getChildren()[3];\n if (name.getFirstToken().getStr().toUpperCase() !== obj.getName()) {\n const token = name.getFirstToken();\n const issue = issue_1.Issue.atToken(main, token, this.getDescription(\"TYPE-POOL name must match filename\"), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n }\n return [];\n }\n}\nexports.MainFileContents = MainFileContents;\n//# sourceMappingURL=main_file_contents.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/main_file_contents.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/many_parentheses.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/many_parentheses.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ManyParentheses = exports.ManyParenthesesConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass ManyParenthesesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ManyParenthesesConf = ManyParenthesesConf;\nclass ManyParentheses extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ManyParenthesesConf();\n }\n getMetadata() {\n return {\n key: \"many_parentheses\",\n title: \"Too many parentheses\",\n shortDescription: `Searches for expressions where extra parentheses can safely be removed`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `\r\nIF ( destination IS INITIAL ).\r\nENDIF.\r\nIF foo = boo AND ( bar = lar AND moo = loo ).\r\nENDIF.\r\n`,\n goodExample: `\r\nIF destination IS INITIAL.\r\nENDIF.\r\nIF foo = boo AND bar = lar AND moo = loo.\r\nENDIF.\r\n`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n for (const cond of structure.findAllExpressionsMulti([Expressions.Cond, Expressions.ComponentCond])) {\n issues.push(...this.analyze(file, cond));\n }\n for (const sub of structure.findAllExpressionsMulti([Expressions.CondSub, Expressions.ComponentCondSub])) {\n let cond = [];\n if (sub.get() instanceof Expressions.CondSub) {\n cond = sub.findDirectExpressions(Expressions.Cond);\n }\n else {\n cond = sub.findDirectExpressions(Expressions.ComponentCond);\n }\n if (cond.length !== 1) {\n continue;\n }\n if (cond[0].getChildren().length === 1) {\n const message = \"Too many parentheses, simple\";\n const fixText = sub.getChildren()[1].concatTokens();\n const fix = edit_helper_1.EditHelper.replaceRange(file, sub.getFirstToken().getStart(), sub.getLastToken().getEnd(), fixText);\n const issue = issue_1.Issue.atToken(file, sub.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n for (const m of structure.findAllStatements(Statements.Move)) {\n issues.push(...this.analyzeMove(file, m));\n }\n for (const m of structure.findAllStatements(Statements.Select)) {\n issues.push(...this.analyzeInto(file, m));\n }\n return issues;\n }\n ////////////////////\n analyzeInto(file, m) {\n const into = m.findFirstExpression(Expressions.SQLIntoStructure);\n if (into === undefined) {\n return [];\n }\n const second = into.getAllTokens()[1];\n if (second === undefined || second.getStr() !== \"(\") {\n return [];\n }\n const concat = into.concatTokens();\n if (concat.endsWith(\")\") === true && concat.includes(\",\") === false) {\n const issue = issue_1.Issue.atStatement(file, m, \"Too many parentheses\", this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n analyzeMove(file, m) {\n const issues = [];\n const children = m.getChildren();\n const last = children[children.length - 2];\n const lastChildren = last.getChildren();\n if (lastChildren.length === 3\n && lastChildren[0].getFirstToken().getStr() === \"(\"\n && lastChildren[2].getFirstToken().getStr() === \")\") {\n const issue = issue_1.Issue.atToken(file, last.getFirstToken(), \"Too many parentheses\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n return issues;\n }\n analyze(file, cond) {\n const issues = [];\n let comparator = \"\";\n let found = false;\n for (const c of cond.getChildren()) {\n let current = \"\";\n if (c instanceof nodes_1.TokenNode) {\n current = c.get().getStr().toUpperCase();\n }\n else if (c instanceof nodes_1.ExpressionNode\n && (c.get() instanceof Expressions.CondSub || c.get() instanceof Expressions.ComponentCondSub)) {\n if (c.getFirstToken().getStr().toUpperCase() === \"NOT\") {\n return [];\n }\n let i = c.findDirectExpression(Expressions.Cond);\n if (i === undefined) {\n i = c.findDirectExpression(Expressions.ComponentCond);\n }\n if (i === undefined) {\n return [];\n }\n current = this.findComparator(i);\n if (current !== \"\") {\n found = true; // dont report for the simple case that contains quick fixes\n }\n }\n if (comparator === \"\") {\n comparator = current;\n }\n else if (comparator !== \"\" && current !== \"\" && comparator !== current) {\n return [];\n }\n }\n if (comparator !== \"\" && comparator !== \"MIXED\" && found === true) {\n const message = \"Too many parentheses, complex\";\n const issue = issue_1.Issue.atToken(file, cond.getFirstToken(), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n return issues;\n }\n findComparator(cond) {\n let comparator = \"\";\n const children = cond.getChildren();\n for (const c of children) {\n if (c instanceof nodes_1.TokenNode) {\n const current = c.get().getStr().toUpperCase();\n if (comparator === \"\") {\n comparator = current;\n }\n else if (current !== comparator) {\n return \"MIXED\";\n }\n }\n }\n return comparator;\n }\n}\nexports.ManyParentheses = ManyParentheses;\n//# sourceMappingURL=many_parentheses.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/many_parentheses.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/max_one_method_parameter_per_line.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/max_one_method_parameter_per_line.js ***! + \******************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MaxOneMethodParameterPerLine = exports.MaxOneMethodParameterPerLineConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass MaxOneMethodParameterPerLineConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MaxOneMethodParameterPerLineConf = MaxOneMethodParameterPerLineConf;\nclass MaxOneMethodParameterPerLine extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MaxOneMethodParameterPerLineConf();\n }\n getMetadata() {\n return {\n key: \"max_one_method_parameter_per_line\",\n title: \"Max one method parameter definition per line\",\n shortDescription: `Keep max one method parameter description per line`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Whitespace],\n badExample: `\r\nMETHODS apps_scope_token\r\n IMPORTING\r\n body TYPE bodyapps_scope_token client_id TYPE str.`,\n goodExample: `\r\nMETHODS apps_scope_token\r\n IMPORTING\r\n body TYPE bodyapps_scope_token\r\n client_id TYPE str.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n for (const statement of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllStatements(Statements.MethodDef)) || []) {\n let prev = undefined;\n for (const p of statement.findAllExpressions(Expressions.MethodParam)) {\n if (prev === undefined) {\n prev = p;\n continue;\n }\n if (prev.getFirstToken().getStart().getRow() === p.getFirstToken().getStart().getRow()) {\n const issue = issue_1.Issue.atToken(file, prev.getFirstToken(), this.getMetadata().title, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n prev = p;\n }\n }\n return issues;\n }\n}\nexports.MaxOneMethodParameterPerLine = MaxOneMethodParameterPerLine;\n//# sourceMappingURL=max_one_method_parameter_per_line.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/max_one_method_parameter_per_line.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/max_one_statement.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/max_one_statement.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MaxOneStatement = exports.MaxOneStatementConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass MaxOneStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MaxOneStatementConf = MaxOneStatementConf;\nclass MaxOneStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MaxOneStatementConf();\n }\n getMetadata() {\n return {\n key: \"max_one_statement\",\n title: \"Max one statement per line\",\n shortDescription: `Checks that each line contains only a single statement.`,\n extendedInformation: `Does not report empty statements, use rule empty_statement for detecting empty statements.\r\n\r\nDoes not report anything for chained statements.\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#no-more-than-one-statement-per-line\r\nhttps://docs.abapopenchecks.org/checks/11/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `WRITE foo. WRITE bar.`,\n goodExample: `WRITE foo.\\nWRITE bar.`,\n };\n }\n getMessage() {\n return \"Only one statement is allowed per line\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let prev = 0;\n let reported = 0;\n for (const statement of file.getStatements()) {\n const term = statement.getTerminator();\n if (statement.get() instanceof _statement_1.Comment\n || statement.get() instanceof _statement_1.NativeSQL\n || term === \",\") {\n continue;\n }\n const pos = statement.getStart();\n if (pos instanceof position_1.VirtualPosition) {\n continue;\n }\n const row = pos.getRow();\n if (prev === row && row !== reported && statement.getFirstToken().getStr() !== \".\") {\n const fix = edit_helper_1.EditHelper.insertAt(file, pos, \"\\n\");\n const issue = issue_1.Issue.atPosition(file, pos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n reported = row;\n }\n prev = row;\n }\n return issues;\n }\n}\nexports.MaxOneStatement = MaxOneStatement;\n//# sourceMappingURL=max_one_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/max_one_statement.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/message_exists.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/message_exists.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MessageExistsRule = exports.MessageExistsConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass MessageExistsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MessageExistsConf = MessageExistsConf;\nclass MessageExistsRule extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MessageExistsConf();\n }\n getMetadata() {\n return {\n key: \"message_exists\",\n title: \"Check MESSAGE exists\",\n shortDescription: `In message statements, check that the message class + id exist`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const expressions = struc.findAllExpressionsMulti([Expressions.MessageClass, Expressions.MessageSource]);\n for (const node of expressions) {\n if (node.get() instanceof Expressions.MessageClass) {\n const token = node.getFirstToken();\n const name = token.getStr();\n if (this.reg.getObject(\"MSAG\", name) === undefined\n && new ddic_1.DDIC(this.reg).inErrorNamespace(name) === true) {\n const message = \"Message class \\\"\" + name + \"\\\" not found\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n for (const node of expressions) {\n if (node.get() instanceof Expressions.MessageSource) {\n const clas = node.findFirstExpression(Expressions.MessageClass);\n if (clas === undefined) {\n // todo, handle case where message class is defined on header level instead of in the statement\n continue;\n }\n const token = clas.getFirstToken();\n const name = token.getStr();\n const msag = this.reg.getObject(\"MSAG\", name);\n if (msag === undefined) {\n if (new ddic_1.DDIC(this.reg).inErrorNamespace(name) === true) {\n const message = \"Message class \\\"\" + token.getStr() + \"\\\" not found\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n continue;\n }\n const typeNumber = node.findFirstExpression(Expressions.MessageTypeAndNumber);\n if (typeNumber === undefined) {\n continue;\n }\n const numberToken = typeNumber.getFirstToken();\n const num = numberToken.getStr().substr(1);\n if (msag.getByNumber(num) === undefined) {\n const message = \"Message number \\\"\" + num + \"\\\" not found in class \\\"\" + name + \"\\\"\";\n const issue = issue_1.Issue.atToken(file, numberToken, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n // todo, check number of placeholders in message vs code matches\n return issues;\n }\n}\nexports.MessageExistsRule = MessageExistsRule;\n//# sourceMappingURL=message_exists.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/message_exists.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/method_implemented_twice.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/method_implemented_twice.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodImplementedTwice = exports.MethodImplementedTwiceConf = void 0;\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass MethodImplementedTwiceConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MethodImplementedTwiceConf = MethodImplementedTwiceConf;\nclass MethodImplementedTwice extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MethodImplementedTwiceConf();\n }\n getMetadata() {\n return {\n key: \"method_implemented_twice\",\n title: \"Method implemented twice\",\n shortDescription: `Reports an error if a method is implemented or defined twice`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const classDef of file.getInfo().listClassImplementations()) {\n const names = {};\n for (const m of classDef.methods) {\n const name = m.getName().toUpperCase();\n if (names[name] === undefined) {\n names[name] = true;\n }\n else {\n const message = `Method ${name} implemented twice`;\n issues.push(issue_1.Issue.atToken(file, m.getToken(), message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n for (const classDef of file.getInfo().listClassDefinitions()) {\n const names = {};\n for (const m of classDef.methods) {\n const name = m.name.toUpperCase();\n if (names[name] === undefined) {\n names[name] = true;\n }\n else {\n const message = `Method ${name} defined twice`;\n issues.push(issue_1.Issue.atToken(file, m.identifier.getToken(), message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n for (const iDef of file.getInfo().listInterfaceDefinitions()) {\n const names = {};\n for (const m of iDef.methods) {\n const name = m.name.toUpperCase();\n if (names[name] === undefined) {\n names[name] = true;\n }\n else {\n const message = `Method ${name} implemented twice`;\n issues.push(issue_1.Issue.atIdentifier(m.identifier, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n}\nexports.MethodImplementedTwice = MethodImplementedTwice;\n//# sourceMappingURL=method_implemented_twice.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/method_implemented_twice.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/method_length.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/method_length.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodLength = exports.MethodLengthConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst method_length_stats_1 = __webpack_require__(/*! ../utils/method_length_stats */ \"./node_modules/@abaplint/core/build/src/utils/method_length_stats.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst form_length_stats_1 = __webpack_require__(/*! ../utils/form_length_stats */ \"./node_modules/@abaplint/core/build/src/utils/form_length_stats.js\");\nclass MethodLengthConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Maximum method/form length in statements. */\n this.statements = 100;\n /** Checks for empty methods/forms. */\n this.errorWhenEmpty = true;\n /** Option to ignore test classes for this check. */\n this.ignoreTestClasses = false;\n /** Option to check forms. */\n this.checkForms = true;\n }\n}\nexports.MethodLengthConf = MethodLengthConf;\nvar IssueType;\n(function (IssueType) {\n IssueType[IssueType[\"EmptyMethod\"] = 0] = \"EmptyMethod\";\n IssueType[IssueType[\"MaxStatements\"] = 1] = \"MaxStatements\";\n})(IssueType || (IssueType = {}));\nclass MethodLength {\n constructor() {\n this.conf = new MethodLengthConf();\n }\n getMetadata() {\n return {\n key: \"method_length\",\n title: \"Method/Form Length\",\n shortDescription: `Checks relating to method/form length.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-methods-small`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(issueType, actual, type) {\n switch (issueType) {\n case IssueType.EmptyMethod: {\n return \"Empty \" + type;\n }\n case IssueType.MaxStatements: {\n return \"Reduce \" + type + \" length to max \" + this.conf.statements + \" statements, currently \" + actual;\n }\n default: {\n return \"\";\n }\n }\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n const methodStats = method_length_stats_1.MethodLengthStats.run(obj);\n const methodIssues = this.check(methodStats, \"METHOD\");\n let formIssues = [];\n if (this.conf.checkForms) {\n const formStats = form_length_stats_1.FormLengthStats.run(obj);\n formIssues = this.check(formStats, \"FORM\");\n }\n return methodIssues.concat(formIssues);\n }\n // ***********************\n check(stats, type) {\n const issues = [];\n for (const s of stats) {\n if ((this.conf.ignoreTestClasses === true)\n && s.file.getFilename().includes(\".testclasses.\")) {\n continue;\n }\n if (s.count === 0 && this.conf.errorWhenEmpty === true) {\n const issue = issue_1.Issue.atPosition(s.file, s.pos, this.getDescription(IssueType.EmptyMethod, \"0\", type), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n continue;\n }\n if (s.count > this.conf.statements) {\n const message = this.getDescription(IssueType.MaxStatements, s.count.toString(), type);\n const issue = issue_1.Issue.atPosition(s.file, s.pos, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.MethodLength = MethodLength;\n//# sourceMappingURL=method_length.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/method_length.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/method_overwrites_builtin.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/method_overwrites_builtin.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodOverwritesBuiltIn = exports.MethodOverwritesBuiltInConf = void 0;\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/index.js\");\nconst _builtin_1 = __webpack_require__(/*! ../abap/5_syntax/_builtin */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass MethodOverwritesBuiltInConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MethodOverwritesBuiltInConf = MethodOverwritesBuiltInConf;\nclass MethodOverwritesBuiltIn extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MethodOverwritesBuiltInConf();\n }\n getMetadata() {\n return {\n key: \"method_overwrites_builtin\",\n title: \"Method name overwrites builtin function\",\n shortDescription: `Checks Method names that overwrite builtin SAP functions`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abenbuilt_in_functions_overview.htm\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-obscuring-built-in-functions\r\n\r\nInterface method names are ignored`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let methods = [];\n for (const classDef of file.getInfo().listClassDefinitions()) {\n methods = methods.concat(classDef.methods);\n }\n const builtIn = new _builtin_1.BuiltIn();\n for (const method of methods) {\n if (builtIn.searchBuiltin(method.name.toUpperCase())) {\n const message = `Method name \"${method.name}\" overwrites built-in SAP function name`;\n issues.push(__1.Issue.atIdentifier(method.identifier, message, this.getMetadata().key));\n }\n }\n return issues;\n }\n}\nexports.MethodOverwritesBuiltIn = MethodOverwritesBuiltIn;\n//# sourceMappingURL=method_overwrites_builtin.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/method_overwrites_builtin.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/method_parameter_names.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/method_parameter_names.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodParameterNames = exports.MethodParameterNamesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"./node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nconst _abap_file_information_1 = __webpack_require__(/*! ../abap/4_file_information/_abap_file_information */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nclass MethodParameterNamesConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore parameters in methods of exception classes */\n this.ignoreExceptions = true;\n /** The pattern for importing parameters */\n this.importing = \"^I._.+$\";\n /** The pattern for returning parameters */\n this.returning = \"^R._.+$\";\n /** The pattern for changing parameters */\n this.changing = \"^C._.+$\";\n /** The pattern for exporting parameters */\n this.exporting = \"^E._.+$\";\n }\n}\nexports.MethodParameterNamesConf = MethodParameterNamesConf;\nclass MethodParameterNames {\n constructor() {\n this.conf = new MethodParameterNamesConf();\n }\n getMetadata() {\n return {\n key: \"method_parameter_names\",\n title: \"Method parameter naming conventions\",\n shortDescription: `Allows you to enforce a pattern, such as a prefix, for method parameter names`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(expected, actual) {\n return this.conf.patternKind === \"required\" ?\n \"Method parameter name does not match pattern \" + expected + \": \" + actual :\n \"Method parameter name must not match pattern \" + expected + \": \" + actual;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n let ret = [];\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const ddic = new ddic_1.DDIC(this.reg);\n for (const file of obj.getABAPFiles()) {\n for (const def of file.getInfo().listInterfaceDefinitions()) {\n for (const method of def.methods) {\n ret = ret.concat(this.checkMethod(method));\n }\n }\n for (const def of file.getInfo().listClassDefinitions()) {\n if (this.conf.ignoreExceptions && ddic.isException(def, obj)) {\n continue;\n }\n for (const method of def.methods) {\n if (method.isEventHandler) {\n continue;\n }\n ret = ret.concat(this.checkMethod(method));\n }\n }\n }\n return ret;\n }\n checkMethod(method) {\n let ret = [];\n for (const p of method.parameters) {\n switch (p.direction) {\n case _abap_file_information_1.MethodParameterDirection.Importing:\n ret = ret.concat(this.checkParameter(p, this.conf.importing));\n break;\n case _abap_file_information_1.MethodParameterDirection.Exporting:\n ret = ret.concat(this.checkParameter(p, this.conf.exporting));\n break;\n case _abap_file_information_1.MethodParameterDirection.Changing:\n ret = ret.concat(this.checkParameter(p, this.conf.changing));\n break;\n case _abap_file_information_1.MethodParameterDirection.Returning:\n ret = ret.concat(this.checkParameter(p, this.conf.returning));\n break;\n default:\n break;\n }\n }\n return ret;\n }\n checkParameter(param, expected) {\n const ret = [];\n const regex = new RegExp(expected, \"i\");\n const name = param.name;\n if (name_validator_1.NameValidator.violatesRule(name, regex, this.conf)) {\n const message = this.getDescription(expected, name);\n const issue = issue_1.Issue.atIdentifier(param.identifier, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n return ret;\n }\n}\nexports.MethodParameterNames = MethodParameterNames;\n//# sourceMappingURL=method_parameter_names.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/method_parameter_names.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/mix_returning.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/mix_returning.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MixReturning = exports.MixReturningConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.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 _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass MixReturningConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MixReturningConf = MixReturningConf;\nclass MixReturning extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new MixReturningConf();\n }\n getMetadata() {\n return {\n key: \"mix_returning\",\n title: \"Mix of returning and exporting\",\n shortDescription: `Checks that methods don't have a mixture of returning and exporting/changing parameters`,\n // eslint-disable-next-line max-len\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-either-returning-or-exporting-or-changing-but-not-a-combination`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Don't mix RETURNING and EXPORTING/CHANGING parameters in a single method.\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const ret = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const def of stru.findAllStatements(Statements.MethodDef)) {\n if (!def.findFirstExpression(Expressions.MethodDefReturning)) {\n continue;\n }\n if (def.findFirstExpression(Expressions.MethodDefExporting)\n || def.findFirstExpression(Expressions.MethodDefChanging)) {\n const token = def.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n }\n return ret;\n }\n}\nexports.MixReturning = MixReturning;\n//# sourceMappingURL=mix_returning.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/mix_returning.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/modify_only_own_db_tables.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/modify_only_own_db_tables.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ModifyOnlyOwnDBTables = exports.ModifyOnlyOwnDBTablesConf = void 0;\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 issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nclass ModifyOnlyOwnDBTablesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.reportDynamic = true;\n /** Case insensitve regex for own tables */\n this.ownTables = \"^[yz]\";\n }\n}\nexports.ModifyOnlyOwnDBTablesConf = ModifyOnlyOwnDBTablesConf;\nclass ModifyOnlyOwnDBTables {\n constructor() {\n this.conf = new ModifyOnlyOwnDBTablesConf();\n }\n getMetadata() {\n return {\n key: \"modify_only_own_db_tables\",\n title: \"Modify only own DB tables\",\n shortDescription: `Modify only own DB tables`,\n extendedInformation: `https://docs.abapopenchecks.org/checks/26/`,\n tags: [_irule_1.RuleTag.Security],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n var _a;\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n let spaghetti = undefined;\n const output = [];\n for (const file of obj.getABAPFiles()) {\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const regExp = new RegExp(this.getConfig().ownTables, \"i\");\n for (const s of file.getStatements()) {\n const g = s.get();\n if (g instanceof Statements.DeleteDatabase\n || g instanceof Statements.UpdateDatabase\n || g instanceof Statements.InsertDatabase\n || g instanceof Statements.ModifyDatabase) {\n const databaseTable = s.findFirstExpression(Expressions.DatabaseTable);\n if (databaseTable === undefined) {\n continue;\n }\n if (((_a = databaseTable.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Dynamic) {\n if (this.getConfig().reportDynamic === true) {\n output.push(issue_1.Issue.atStatement(file, s, this.getMetadata().title, this.getMetadata().key, this.getConfig().severity));\n }\n continue;\n }\n const concat = databaseTable.concatTokens().toUpperCase();\n if (regExp.test(concat) === false) {\n // must contain a ReferenceType.TableVoidReference or a ReferenceType.TableReference if its a dependency\n if (spaghetti === undefined) {\n spaghetti = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n }\n const start = databaseTable.getFirstToken().getStart();\n const scope = spaghetti.lookupPosition(start, file.getFilename());\n const found1 = scope === null || scope === void 0 ? void 0 : scope.findTableVoidReference(start);\n if (found1) {\n output.push(issue_1.Issue.atStatement(file, s, this.getMetadata().title, this.getMetadata().key, this.getConfig().severity));\n }\n const found2 = scope === null || scope === void 0 ? void 0 : scope.findTableReference(start);\n if (found2) {\n output.push(issue_1.Issue.atStatement(file, s, this.getMetadata().title, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n }\n }\n return output;\n }\n}\nexports.ModifyOnlyOwnDBTables = ModifyOnlyOwnDBTables;\n//# sourceMappingURL=modify_only_own_db_tables.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/modify_only_own_db_tables.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/msag_consistency.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/msag_consistency.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MSAGConsistency = exports.MSAGConsistencyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.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\");\nclass MSAGConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.MSAGConsistencyConf = MSAGConsistencyConf;\nclass MSAGConsistency {\n constructor() {\n this.conf = new MSAGConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"msag_consistency\",\n title: \"MSAG consistency check\",\n shortDescription: `Checks the validity of messages in message classes`,\n extendedInformation: `Message numbers must be 3 digits, message text must not be empty, no message number duplicates`,\n };\n }\n getDescription(reason) {\n return \"Message class invalid: \" + reason;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n const issues = [];\n if (!(obj instanceof objects_1.MessageClass)) {\n return [];\n }\n const numbers = new Set();\n for (const message of obj.getMessages()) {\n // todo, get the right positions in xml file\n if (!message.getNumber().match(/\\d\\d\\d/)) {\n const text = this.getDescription(\"Message number must be 3 digits: message \" + message.getNumber());\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (message.getMessage() === \"\") {\n const text = \"Message text empty: message \" + message.getNumber();\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n const num = message.getNumber();\n if (numbers.has(num)) {\n const text = \"Duplicate message number \" + num;\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n else {\n numbers.add(num);\n }\n }\n return issues;\n }\n}\nexports.MSAGConsistency = MSAGConsistency;\n//# sourceMappingURL=msag_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/msag_consistency.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/names_no_dash.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/names_no_dash.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NamesNoDash = exports.NamesNoDashConf = void 0;\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 _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst tokens_1 = __webpack_require__(/*! ../abap/1_lexer/tokens */ \"./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NamesNoDashConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NamesNoDashConf = NamesNoDashConf;\n// todo, also check for other characters like %&$, rename rule? and extend to more kinds of identifiers?\nclass NamesNoDash extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NamesNoDashConf();\n }\n getMetadata() {\n return {\n key: \"names_no_dash\",\n title: \"No dashes in FORM and DATA names\",\n shortDescription: `Checks for a \"-\" in FORM, DATA, PARAMETER and SELECT-OPTION names`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Naming],\n badExample: \"DATA foo-bar TYPE i.\",\n goodExample: \"DATA foobar TYPE i.\",\n };\n }\n getMessage() {\n return \"No dash allowed in FORM and DATA names\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return issues;\n }\n if (obj.getType() !== \"CLAS\" && obj.getType() !== \"INTF\") {\n for (const form of struc.findAllStatements(Statements.Form)) {\n const expr = form.findFirstExpression(expressions_1.FormName);\n for (const token of expr.getTokens()) {\n if (token instanceof tokens_1.Dash || token instanceof tokens_1.DashW) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n break;\n }\n }\n }\n for (const form of struc.findAllStatements(Statements.Parameter)) {\n const expr = form.findFirstExpression(Expressions.FieldSub);\n for (const token of expr.getTokens()) {\n if (token instanceof tokens_1.Dash || token instanceof tokens_1.DashW) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n break;\n }\n }\n }\n for (const form of struc.findAllStatements(Statements.SelectOption)) {\n const expr = form.findFirstExpression(Expressions.FieldSub);\n for (const token of expr.getTokens()) {\n if (token instanceof tokens_1.Dash || token instanceof tokens_1.DashW) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n break;\n }\n }\n }\n }\n for (const name of struc.findAllExpressions(Expressions.DefinitionName)) {\n const text = name.concatTokens();\n if (text.includes(\"-\")) {\n const issue = issue_1.Issue.atToken(file, name.getFirstToken(), this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.NamesNoDash = NamesNoDash;\n//# sourceMappingURL=names_no_dash.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/names_no_dash.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/nesting.js": +/*!****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/nesting.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Nesting = exports.NestingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NestingConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Maximum allowed nesting depth */\n this.depth = 5;\n }\n}\nexports.NestingConf = NestingConf;\nclass Nesting extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NestingConf();\n }\n getMetadata() {\n return {\n key: \"nesting\",\n title: \"Check nesting depth\",\n shortDescription: `Checks for methods exceeding a maximum nesting depth`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#keep-the-nesting-depth-low\r\nhttps://docs.abapopenchecks.org/checks/74/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(max) {\n return \"Reduce nesting depth to max \" + max;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let depth = 0;\n for (const statement of file.getStatements()) {\n const type = statement.get();\n if (type instanceof Statements.If\n || type instanceof Statements.Case\n || type instanceof Statements.While\n || type instanceof Statements.Loop\n || type instanceof Statements.SelectLoop\n || type instanceof Statements.Do\n || type instanceof Statements.Try) {\n depth = depth + 1;\n }\n else if (type instanceof Statements.EndIf\n || type instanceof Statements.EndCase\n || type instanceof Statements.EndWhile\n || type instanceof Statements.EndLoop\n || type instanceof Statements.EndSelect\n || type instanceof Statements.EndDo\n || type instanceof Statements.EndTry) {\n depth = depth - 1;\n }\n if (depth > this.conf.depth) {\n const pos = statement.getFirstToken().getStart();\n const issue = issue_1.Issue.atPosition(file, pos, this.getDescription(this.conf.depth.toString()), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n break; // only one finding per file\n }\n }\n return issues;\n }\n}\nexports.Nesting = Nesting;\n//# sourceMappingURL=nesting.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/nesting.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/newline_between_methods.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/newline_between_methods.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NewlineBetweenMethods = exports.NewlineBetweenMethodsConf = exports.NewlineLogic = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst sequential_blank_1 = __webpack_require__(/*! ./sequential_blank */ \"./node_modules/@abaplint/core/build/src/rules/sequential_blank.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nvar NewlineLogic;\n(function (NewlineLogic) {\n NewlineLogic[\"Exact\"] = \"exact\";\n NewlineLogic[\"Less\"] = \"less\";\n})(NewlineLogic || (exports.NewlineLogic = NewlineLogic = {}));\nclass NewlineBetweenMethodsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Amount of newlines, works in conjunction with \"newlineLogic\" */\n this.count = 3;\n /**\n * Exact: the exact number of required newlines between methods is defined by \"newlineAmount\"\n *\n * Less: the required number of newlines has to be less than \"newlineAmount\"\n */\n this.logic = NewlineLogic.Less;\n }\n}\nexports.NewlineBetweenMethodsConf = NewlineBetweenMethodsConf;\nclass NewlineBetweenMethods extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NewlineBetweenMethodsConf();\n }\n getMetadata() {\n return {\n key: \"newline_between_methods\",\n title: \"New line between methods\",\n shortDescription: `Checks for newlines between method implementations.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n switch (this.conf.logic) {\n case NewlineLogic.Exact: return `Exactly ${this.conf.count} newlines are required in between methods`;\n case NewlineLogic.Less: return `Less than ${this.conf.count} newlines and at least a single newline are required in between methods`;\n default: return \"\";\n }\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n const rows = file.getRawRows();\n if (!this.isConfigurationValid()) {\n return [];\n }\n for (const statement of file.getStatements()) {\n let nextRow = statement.getStart().getRow();\n if (!(statement.get() instanceof Statements.EndMethod) || ((_a = rows[nextRow]) === null || _a === void 0 ? void 0 : _a.toUpperCase().includes(\"ENDCLASS.\"))) {\n continue;\n }\n let counter = 0;\n while (sequential_blank_1.SequentialBlank.isBlankOrWhitespace(rows[nextRow]) && (counter <= this.conf.count + 1)) {\n counter++;\n nextRow++;\n }\n if ((counter !== this.conf.count && this.conf.logic === NewlineLogic.Exact)\n || (counter >= this.conf.count && this.conf.logic === NewlineLogic.Less)\n || counter === 0) {\n issues.push(issue_1.Issue.atStatement(file, statement, this.getMessage(), this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n isConfigurationValid() {\n if (this.conf.count < 1 || (this.conf.count === 1 && this.conf.logic === NewlineLogic.Less)) {\n return false;\n }\n else {\n return true;\n }\n }\n}\nexports.NewlineBetweenMethods = NewlineBetweenMethods;\n//# sourceMappingURL=newline_between_methods.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/newline_between_methods.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/no_aliases.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/no_aliases.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoAliases = exports.NoAliasesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NoAliasesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NoAliasesConf = NoAliasesConf;\nclass NoAliases extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoAliasesConf();\n }\n getMetadata() {\n return {\n key: \"no_aliases\",\n title: \"No ALIASES\",\n shortDescription: `Detects use of the ALIAS statement`,\n extendedInformation: `Only one issue is reported for chained statements`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const message = \"Do not use ALIASES\";\n let prev = undefined;\n for (const stat of file.getStatements()) {\n if (stat.get() instanceof Statements.Aliases) {\n if (prev && prev.getColon() === stat.getColon()) {\n continue;\n }\n issues.push(issue_1.Issue.atStatement(file, stat, message, this.getMetadata().key, this.conf.severity));\n prev = stat;\n }\n }\n return issues;\n }\n}\nexports.NoAliases = NoAliases;\n//# sourceMappingURL=no_aliases.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/no_aliases.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/no_chained_assignment.js": +/*!******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/no_chained_assignment.js ***! + \******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoChainedAssignment = exports.NoChainedAssignmentConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NoChainedAssignmentConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NoChainedAssignmentConf = NoChainedAssignmentConf;\nclass NoChainedAssignment extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoChainedAssignmentConf();\n }\n getMetadata() {\n return {\n key: \"no_chained_assignment\",\n title: \"No chained assignment\",\n shortDescription: `Find chained assingments and reports issues`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-chain-assignments`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],\n badExample: `var1 = var2 = var3.`,\n goodExample: `var2 = var3.\r\nvar1 = var2.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const s of file.getStatements()) {\n if (!(s.get() instanceof Statements.Move)) {\n continue;\n }\n if (s.findDirectExpressions(Expressions.Target).length >= 2) {\n const message = \"No chained assignment\";\n const issue = issue_1.Issue.atStatement(file, s, message, this.getMetadata().key);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.NoChainedAssignment = NoChainedAssignment;\n//# sourceMappingURL=no_chained_assignment.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/no_chained_assignment.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/no_external_form_calls.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/no_external_form_calls.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoExternalFormCalls = exports.NoExternalFormCallsConf = void 0;\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 _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NoExternalFormCallsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NoExternalFormCallsConf = NoExternalFormCallsConf;\nclass NoExternalFormCalls extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoExternalFormCallsConf();\n }\n getMetadata() {\n return {\n key: \"no_external_form_calls\",\n title: \"No external FORM calls\",\n shortDescription: `Detect external form calls`,\n badExample: `PERFORM foo IN PROGRAM bar.\r\n\r\nPERFORM foo(bar).`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues; // parser error\n }\n for (const p of stru.findAllStatements(Statements.Perform)) {\n if (p.findDirectExpression(Expressions.IncludeName) || p.findDirectTokenByText(\"PROGRAM\")) {\n const message = \"No external FORM calls\";\n issues.push(issue_1.Issue.atStatement(file, p, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.NoExternalFormCalls = NoExternalFormCalls;\n//# sourceMappingURL=no_external_form_calls.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/no_external_form_calls.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/no_inline_in_optional_branches.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/no_inline_in_optional_branches.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoInlineInOptionalBranches = exports.NoInlineInOptionalBranchesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass NoInlineInOptionalBranchesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NoInlineInOptionalBranchesConf = NoInlineInOptionalBranchesConf;\nclass NoInlineInOptionalBranches extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoInlineInOptionalBranchesConf();\n }\n getMetadata() {\n return {\n key: \"no_inline_in_optional_branches\",\n title: \"Don't declare inline in optional branches\",\n shortDescription: `Don't declare inline in optional branches`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-declare-inline-in-optional-branches\r\n\r\nConsidered optional branches:\r\n* inside IF/ELSEIF/ELSE\r\n* inside LOOP\r\n* inside WHILE\r\n* inside CASE/WHEN, CASE TYPE OF\r\n* inside DO\r\n* inside SELECT loops\r\n\r\nNot considered optional branches:\r\n* TRY/CATCH/CLEANUP`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const output = [];\n const version = this.reg.getConfig().getVersion();\n if (version === version_1.Version.v700\n || version === version_1.Version.v702\n || version === version_1.Version.OpenABAP) {\n return [];\n }\n const struc = file.getStructure();\n if (struc === undefined) {\n return []; // syntax error\n }\n const candidates = [\n ...struc.findAllStructures(Structures.If),\n ...struc.findAllStructures(Structures.Loop),\n ...struc.findAllStructures(Structures.While),\n ...struc.findAllStructures(Structures.Case),\n ...struc.findAllStructures(Structures.CaseType),\n ...struc.findAllStructures(Structures.Do),\n ...struc.findAllStructures(Structures.Select)\n ];\n for (const c of candidates) {\n const inline = c.findFirstExpression(Expressions.InlineData);\n if (inline) {\n const message = \"Don't declare inline in optional branches\";\n const issue = issue_1.Issue.atToken(file, inline.getFirstToken(), message, this.getMetadata().key, this.getConfig().severity);\n output.push(issue);\n }\n }\n return output;\n }\n}\nexports.NoInlineInOptionalBranches = NoInlineInOptionalBranches;\n//# sourceMappingURL=no_inline_in_optional_branches.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/no_inline_in_optional_branches.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/no_public_attributes.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/no_public_attributes.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoPublicAttributes = exports.NoPublicAttributesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst visibility_1 = __webpack_require__(/*! ../abap/4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst _abap_file_information_1 = __webpack_require__(/*! ../abap/4_file_information/_abap_file_information */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/_abap_file_information.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NoPublicAttributesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allows public attributes, if they are declared as READ-ONLY. */\n this.allowReadOnly = false;\n /** Option to ignore test classes for this check. */\n this.ignoreTestClasses = false;\n }\n}\nexports.NoPublicAttributesConf = NoPublicAttributesConf;\nclass NoPublicAttributes extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoPublicAttributesConf();\n }\n getMetadata() {\n return {\n key: \"no_public_attributes\",\n title: \"No public attributes\",\n shortDescription: `Checks that classes and interfaces don't contain any public attributes.\r\nExceptions are excluded from this rule.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#members-private-by-default-protected-only-if-needed`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(name) {\n return \"Public attributes are not allowed, attribute \\\"\" + name + \"\\\"\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n this.file = file;\n const attributes = this.getAllPublicAttributes(obj);\n return this.findAllIssues(attributes);\n }\n getAllPublicAttributes(obj) {\n let attributes = [];\n attributes = attributes.concat(this.getAllPublicClassAttributes(obj));\n attributes = attributes.concat(this.getAllPublicInterfaceAttributes());\n return attributes;\n }\n getAllPublicClassAttributes(obj) {\n let attributes = [];\n const ddic = new ddic_1.DDIC(this.reg);\n for (const classDef of this.file.getInfo().listClassDefinitions()) {\n if (ddic.isException(classDef, obj)) {\n continue;\n }\n attributes = attributes.concat(classDef.attributes.filter(a => a.visibility === visibility_1.Visibility.Public));\n }\n return attributes;\n }\n getAllPublicInterfaceAttributes() {\n let attributes = [];\n for (const interfaceDef of this.file.getInfo().listInterfaceDefinitions()) {\n attributes = attributes.concat(interfaceDef.attributes.filter(a => a.visibility === visibility_1.Visibility.Public));\n }\n return attributes;\n }\n findAllIssues(attributes) {\n const issues = [];\n for (const attr of attributes) {\n if (this.conf.allowReadOnly === true && attr.readOnly) {\n continue;\n }\n else if (attr.level === _abap_file_information_1.AttributeLevel.Constant) {\n continue;\n }\n else if ((this.conf.ignoreTestClasses === true)\n && this.file.getFilename().includes(\".testclasses.\")) {\n continue;\n }\n const issue = issue_1.Issue.atIdentifier(attr.identifier, this.getDescription(attr.name), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n return issues;\n }\n}\nexports.NoPublicAttributes = NoPublicAttributes;\n//# sourceMappingURL=no_public_attributes.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/no_public_attributes.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/no_yoda_conditions.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/no_yoda_conditions.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NoYodaConditions = exports.NoYodaConditionsConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass NoYodaConditionsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Only report issues where the left side is a constant */\n this.onlyConstants = false;\n }\n}\nexports.NoYodaConditionsConf = NoYodaConditionsConf;\nclass NoYodaConditions extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new NoYodaConditionsConf();\n }\n getMetadata() {\n return {\n key: \"no_yoda_conditions\",\n title: \"No Yoda conditions\",\n shortDescription: `Finds Yoda conditions and reports issues`,\n extendedInformation: `https://en.wikipedia.org/wiki/Yoda_conditions\r\n\r\nConditions with operators CP, NP, CS, NS, CA, NA, CO, CN are ignored`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `IF 0 <> sy-subrc.\r\nENDIF.`,\n goodExample: `IF sy-subrc <> 0.\r\nENDIF.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b;\n const issues = [];\n for (const c of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.Compare)) || []) {\n const operator = (_b = c.findDirectExpression(Expressions.CompareOperator)) === null || _b === void 0 ? void 0 : _b.concatTokens().toUpperCase();\n if (operator === undefined\n || operator === \"CP\"\n || operator === \"NP\"\n || operator === \"CS\"\n || operator === \"NS\"\n || operator === \"CA\"\n || operator === \"NA\"\n || operator === \"CO\"\n || operator === \"CN\") {\n continue;\n }\n const sources = c.findDirectExpressions(Expressions.Source);\n if (sources.length !== 2) {\n continue;\n }\n if (this.conf.onlyConstants === true) {\n if (this.isConstant(sources[0]) === true && this.isConstant(sources[1]) === false) {\n const start = sources[0].getFirstToken().getStart();\n const end = sources[1].getLastToken().getEnd();\n const issue = issue_1.Issue.atRange(file, start, end, \"No Yoda conditions\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n continue;\n }\n // Scenarios:\n // constant COMPARE chain\n // constant COMPARE multiple tokens with spaces\n // fieldChain COMPARE multiple tokens with spaces\n if ((this.withoutSpaces(sources[0]) === false && this.withoutSpaces(sources[1]) === true) || ((this.isConstant(sources[0]) === true && this.isFieldChain(sources[1]) === true))) {\n const start = sources[0].getFirstToken().getStart();\n const end = sources[1].getLastToken().getEnd();\n const issue = issue_1.Issue.atRange(file, start, end, \"No Yoda conditions\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n isConstant(node) {\n var _a;\n if (node.getChildren().length > 1) {\n return false;\n }\n return ((_a = node.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Constant;\n }\n isFieldChain(node) {\n var _a;\n if (node.getChildren().length > 1) {\n return false;\n }\n return ((_a = node.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.FieldChain;\n }\n withoutSpaces(node) {\n return node.concatTokensWithoutStringsAndComments().includes(\" \");\n }\n}\nexports.NoYodaConditions = NoYodaConditions;\n//# sourceMappingURL=no_yoda_conditions.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/no_yoda_conditions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/nrob_consistency.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/nrob_consistency.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NROBConsistency = exports.NROBConsistencyConf = void 0;\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nclass NROBConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.NROBConsistencyConf = NROBConsistencyConf;\nclass NROBConsistency {\n constructor() {\n this.conf = new NROBConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"nrob_consistency\",\n title: \"Number range consistency\",\n shortDescription: `Consistency checks for number ranges`,\n extendedInformation: `Issue reported if percentage warning is over 50%\r\n\r\nIssue reported if the referenced domain is not found(taking error namespace into account)`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof Objects.NumberRange)) {\n return [];\n }\n const issues = [];\n const id = obj.getIdentifier();\n if (id === undefined) {\n return [];\n }\n if (obj.getPercentage() || 0 > 50) {\n const message = \"Percentage more than 50\";\n issues.push(issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.getConfig().severity));\n }\n const domain = obj.getDomain();\n if (domain\n && this.reg.getObject(\"DOMA\", domain) === undefined\n && this.reg.inErrorNamespace(domain) === true) {\n const message = \"Domain \" + domain + \" not found\";\n issues.push(issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.getConfig().severity));\n }\n return [];\n }\n}\nexports.NROBConsistency = NROBConsistency;\n//# sourceMappingURL=nrob_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/nrob_consistency.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/object_naming.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/object_naming.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ObjectNaming = exports.ObjectNamingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"./node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nclass ObjectNamingConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** The regex pattern for global class names */\n this.clas = \"^ZC(L|X)\";\n /** The regex pattern for global interface names */\n this.intf = \"^ZIF\";\n /** The regex pattern for program (report) names */\n this.prog = \"^Z\";\n /** The regex pattern for function group names */\n this.fugr = \"^Z\";\n /** The regex pattern for DDIC table names */\n this.tabl = \"^Z\";\n /** The regex pattern for DDIC table type names */\n this.ttyp = \"^Z\";\n /** The regex pattern for data element names */\n this.dtel = \"^Z\";\n /** The regex pattern for domain names */\n this.doma = \"^Z\";\n /** The regex pattern for message class names */\n this.msag = \"^Z\";\n /** The regex pattern for transaction names */\n this.tran = \"^Z\";\n /** The regex pattern for lock object names */\n this.enqu = \"^EZ\";\n /** The regex pattern for authorization object names */\n this.auth = \"^Z\";\n /** The regex pattern for package interface names */\n this.pinf = \"^Z\";\n /** The regex pattern for idoc names */\n this.idoc = \"^Z\";\n /** The regex pattern for transformation names */\n this.xslt = \"^Z\";\n /** The regex pattern for smartform names */\n this.ssfo = \"^Z\";\n /** The regex pattern for smartstyle names */\n this.ssst = \"^Z\";\n /** The regex pattern for search helps */\n this.shlp = \"^Z\";\n /** The regex pattern for BADI Implementation */\n this.sxci = \"^Z\";\n /** The regex pattern for Enhancement Spot */\n this.enhs = \"^Z\";\n /** The regex pattern for Enhancement Implementation */\n this.enho = \"^Z\";\n /** The regex pattern for Customer enhancement projects */\n this.cmod = \"^Z\";\n /** The regex pattern for SAPscript form */\n this.form = \"^Z\";\n /** The regex pattern for Adobe Form Definition */\n this.sfpf = \"^Z\";\n /** The regex pattern for Adobe Interface Definition */\n this.sfpi = \"^Z\";\n /** The regex pattern for ABAP Query: Query */\n this.aqqu = \"^Z\";\n /** The regex pattern for ABAP Query: Functional area */\n this.aqsg = \"^Z\";\n /** The regex pattern for ABAP Query: User group */\n this.aqbg = \"^Z\";\n /** The regex pattern for Authorization Object */\n this.suso = \"^Z\";\n /** The regex pattern for Authorization Group */\n this.sucu = \"^Z\";\n /** The regex pattern for Web Dynpro Application */\n this.wdya = \"^Z\";\n /** The regex pattern for Web Dynpro Component */\n this.wdyn = \"^Z\";\n }\n}\nexports.ObjectNamingConf = ObjectNamingConf;\nclass ObjectNaming {\n constructor() {\n this.conf = new ObjectNamingConf();\n }\n getMetadata() {\n return {\n key: \"object_naming\",\n title: \"Object naming conventions\",\n shortDescription: `Allows you to enforce a pattern, such as a prefix, for object names`,\n tags: [_irule_1.RuleTag.Naming],\n };\n }\n getDescription(expected, actual) {\n return this.conf.patternKind === \"required\" ?\n \"Object name does not match pattern \" + expected + \": \" + actual :\n \"Object name must not match pattern \" + expected + \": \" + actual;\n }\n getConfig() {\n if (typeof this.conf === \"boolean\" && this.conf === true) {\n return new ObjectNamingConf();\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n let message = undefined;\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n const abapType = obj.getType().toLowerCase();\n const config = this.getConfig();\n // @ts-ignore\n const pattern = config[abapType];\n if (pattern === undefined) {\n return [];\n }\n const regex = new RegExp(pattern, \"i\");\n if (name_validator_1.NameValidator.violatesRule(obj.getName(), regex, this.conf)) {\n message = this.getDescription(pattern, obj.getName());\n }\n if (message) {\n return [issue_1.Issue.atRow(obj.getFiles()[0], 1, message, this.getMetadata().key, this.conf.severity)];\n }\n return [];\n }\n}\nexports.ObjectNaming = ObjectNaming;\n//# sourceMappingURL=object_naming.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/object_naming.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/obsolete_statement.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/obsolete_statement.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ObsoleteStatement = exports.ObsoleteStatementConf = void 0;\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 issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nclass ObsoleteStatementConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Check for REFRESH statement */\n this.refresh = true;\n /** Check for COMPUTE statement */\n this.compute = true;\n /** Check for ADD statement */\n this.add = true;\n /** Check for SUBTRACT statement */\n this.subtract = true;\n /** Check for MULTIPLY statement */\n this.multiply = true;\n /** Check for DIVIDE statement */\n this.divide = true;\n /** Check for MOVE statement */\n this.move = true;\n /** Checks for usages of IS REQUESTED */\n this.requested = true;\n /** Checks for usages of OCCURS */\n this.occurs = true;\n /** Checks for SET EXTENDED CHECK */\n this.setExtended = true;\n /** Checks for WITH HEADER LINE */\n this.withHeaderLine = true;\n /** Checks for FIELD-SYMBOLS ... STRUCTURE */\n this.fieldSymbolStructure = true;\n /** Checks for TYPE-POOLS */\n this.typePools = true;\n /** Checks for addition LOAD */\n this.load = true;\n /** Checks for PARAMETER */\n this.parameter = true;\n /** Checks for RANGES */\n this.ranges = true;\n /** Checks for COMMUNICATION */\n this.communication = true;\n /** Checks for PACK */\n this.pack = true;\n /** Checks for SELECT without INTO */\n this.selectWithoutInto = true;\n /** FREE MEMORY, without ID */\n this.freeMemory = true;\n /** Checks for EXIT FROM SQL */\n this.exitFromSQL = true;\n /** Checks for SORT itab BY */\n this.sortByFS = true;\n /** Checks for CALL TRANSFORMATION OBJECTS */\n this.callTransformation = true;\n /** Check for POSIX REGEX usage */\n this.regex = true;\n /** Check for OCCURENCES vs OCCURRENCES usage */\n this.occurences = true;\n /** Check for CLIENT SPECIFIED */\n this.clientSpecified = true;\n /** Check for FORM DEFINITION */\n this.formDefinition = true;\n /** Check for FORM IMPLEMENTATION */\n this.formImplementation = true;\n }\n}\nexports.ObsoleteStatementConf = ObsoleteStatementConf;\nclass ObsoleteStatement extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ObsoleteStatementConf();\n }\n getMetadata() {\n return {\n key: \"obsolete_statement\",\n title: \"Obsolete statements\",\n shortDescription: `Checks for usages of certain obsolete statements`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix],\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-functional-to-procedural-language-constructs\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-obsolete-language-elements\r\n\r\nSET EXTENDED CHECK: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapset_extended_check.htm\r\n\r\nIS REQUESTED: https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abenlogexp_requested.htm\r\n\r\nWITH HEADER LINE: https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abapdata_header_line.htm\r\n\r\nFIELD-SYMBOLS STRUCTURE: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapfield-symbols_obsolete_typing.htm\r\n\r\nTYPE-POOLS: from 702, https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-71-program_load.htm\r\n\r\nLOAD addition: from 702, https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-71-program_load.htm\r\n\r\nCOMMUICATION: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapcommunication.htm\r\n\r\nOCCURS: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapdata_occurs.htm\r\n\r\nPARAMETER: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapparameter.htm\r\n\r\nRANGES: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapranges.htm\r\n\r\nPACK: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abappack.htm\r\n\r\nMOVE: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abapmove_obs.htm\r\n\r\nSELECT without INTO: https://help.sap.com/doc/abapdocu_731_index_htm/7.31/en-US/abapselect_obsolete.htm\r\nSELECT COUNT(*) is considered okay\r\n\r\nFREE MEMORY: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abapfree_mem_id_obsolete.htm\r\n\r\nSORT BY FS: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapsort_itab_obsolete.htm\r\n\r\nCALL TRANSFORMATION OBJECTS: https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapcall_transformation_objects.htm\r\n\r\nPOSIX REGEX: https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm\r\n\r\nOCCURENCES: check for OCCURENCES vs OCCURRENCES\r\n\r\nCLIENT SPECIFIED, from 754: https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm?file=abapselect_client_obsolete.htm`,\n badExample: `REFRESH itab.\r\n\r\nCOMPUTE foo = 2 + 2.\r\n\r\nMULTIPLY lv_foo BY 2.\r\n\r\nINTERFACE intf LOAD.\r\n\r\nIF foo IS SUPPLIED.\r\nENDIF.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b, _c;\n const issues = [];\n const statements = file.getStatements();\n let prev = undefined;\n const configVersion = this.reg.getConfig().getVersion();\n for (const staNode of statements) {\n const sta = staNode.get();\n if ((sta instanceof Statements.Refresh && this.conf.refresh)\n || (sta instanceof Statements.Compute && this.conf.compute)\n || (sta instanceof Statements.Add && this.conf.add)\n || (sta instanceof Statements.Subtract && this.conf.subtract)\n || (sta instanceof Statements.ClassDefinitionLoad && this.conf.load && configVersion >= version_1.Version.v702)\n || (sta instanceof Statements.InterfaceLoad && this.conf.load && configVersion >= version_1.Version.v702)\n || (sta instanceof Statements.Multiply && this.conf.multiply)\n || (sta instanceof Statements.Divide && this.conf.divide)\n || (sta instanceof Statements.Move && this.conf.move\n && staNode.getTokens()[0].getStr().toUpperCase() === \"MOVE\"\n && staNode.getTokens()[1].getStr() !== \"-\"\n && staNode.getTokens()[1].getStr().toUpperCase() !== \"EXACT\")) {\n if (prev === undefined || staNode.getStart().getCol() !== prev.getCol() || staNode.getStart().getRow() !== prev.getRow()) {\n const message = \"Statement \\\"\" + staNode.getFirstToken().getStr() + \"\\\" is obsolete\";\n const fix = this.getFix(file, sta, staNode);\n const issue = issue_1.Issue.atStatement(file, staNode, message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n prev = staNode.getStart();\n }\n if (this.conf.setExtended && sta instanceof Statements.SetExtendedCheck) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"SET EXTENDED CHECK is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (this.conf.communication && sta instanceof Statements.Communication) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"COMMUNICATION is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (this.conf.pack && sta instanceof Statements.Pack) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"PACK is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (this.conf.parameter && sta instanceof Statements.Parameter) {\n const token = staNode.getFirstToken();\n if (token.getStr().toUpperCase() === \"PARAMETER\") {\n const fix = edit_helper_1.EditHelper.replaceToken(file, token, \"PARAMETERS\");\n const issue = issue_1.Issue.atStatement(file, staNode, \"Use PARAMETERS instead of PARAMETER\", this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n if (this.conf.ranges && sta instanceof Statements.Ranges) {\n const children = staNode.getChildren();\n let fix = undefined;\n if (children.length === 5) {\n const simpleNameString = children[1].concatTokens();\n const fieldSubString = children[3].concatTokens();\n const replacement = \"TYPES \" + simpleNameString + \" LIKE RANGE OF \" + fieldSubString + \".\";\n fix = edit_helper_1.EditHelper.replaceRange(file, staNode.getStart(), staNode.getEnd(), replacement);\n }\n const issue = issue_1.Issue.atStatement(file, staNode, \"Use LIKE RANGE OF instead of RANGES\", this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n if (this.conf.selectWithoutInto\n && (sta instanceof Statements.Select || sta instanceof Statements.SelectLoop)\n && staNode.findFirstExpression(Expressions.SQLIntoStructure) === undefined\n && staNode.findFirstExpression(Expressions.SQLIntoTable) === undefined) {\n const concat = (_a = staNode.findFirstExpression(Expressions.SQLFieldList)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n if (concat !== \"COUNT(*)\" && concat !== \"COUNT( * )\") {\n const issue = issue_1.Issue.atStatement(file, staNode, \"SELECT without INTO\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.requested && sta instanceof Statements.If) {\n for (const compare of staNode.findAllExpressions(Expressions.Compare)) {\n const token = compare.findDirectTokenByText(\"REQUESTED\");\n if (token) {\n const fix = edit_helper_1.EditHelper.replaceToken(file, token, \"SUPPLIED\");\n const issue = issue_1.Issue.atToken(file, token, \"IS REQUESTED is obsolete\", this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n }\n if (this.conf.occurs) {\n if ((sta instanceof Statements.Describe)\n || (sta instanceof Statements.Ranges)\n || (sta instanceof Statements.DataBegin)\n || (sta instanceof Statements.TypeBegin)) {\n const token = staNode.findDirectTokenByText(\"OCCURS\");\n if (token) {\n const issue = issue_1.Issue.atToken(file, token, \"OCCURS is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n for (const dataDef of staNode.findAllExpressions(Expressions.DataDefinition)) {\n const token = (_b = dataDef.findDirectExpression(Expressions.TypeTable)) === null || _b === void 0 ? void 0 : _b.findDirectTokenByText(\"OCCURS\");\n if (token) {\n const issue = issue_1.Issue.atToken(file, token, \"OCCURS is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n if (this.conf.withHeaderLine === true && sta instanceof Statements.Data) {\n if (staNode.concatTokens().toUpperCase().includes(\"WITH HEADER LINE\")) {\n const token = staNode.getTokens().find(t => t.getStr().toUpperCase() === \"WITH\");\n if (token) {\n const issue = issue_1.Issue.atToken(file, token, \"WITH HEADER LINE is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n if (this.conf.fieldSymbolStructure && sta instanceof Statements.FieldSymbol) {\n const token = staNode.findDirectTokenByText(\"STRUCTURE\");\n if (token) {\n const issue = issue_1.Issue.atToken(file, token, \"FIELD-SYMBOLS ... STRUCTURE is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.typePools && sta instanceof Statements.TypePools && configVersion >= version_1.Version.v702) {\n const fix = edit_helper_1.EditHelper.deleteStatement(file, staNode);\n const issue = issue_1.Issue.atStatement(file, staNode, \"Statement \\\"TYPE-POOLS\\\" is obsolete\", this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n if (this.conf.freeMemory && sta instanceof Statements.FreeMemory) {\n const concat = staNode.concatTokens().toUpperCase();\n if (concat === \"FREE MEMORY.\") {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Statement \\\"FREE MEMORY\\\" without ID is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.exitFromSQL && sta instanceof Statements.Exit) {\n const concat = staNode.concatTokens().toUpperCase();\n if (concat === \"EXIT FROM SQL.\") {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Statement \\\"EXIT FROM SQL\\\" is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.sortByFS && sta instanceof Statements.Sort) {\n const afterBy = staNode.findExpressionAfterToken(\"BY\");\n if (afterBy instanceof nodes_1.ExpressionNode && afterBy.get() instanceof expressions_1.SourceFieldSymbol) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Statement \\\"SORT itab BY \\\" is obsolete\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.callTransformation && sta instanceof Statements.CallTransformation) {\n const objects = staNode.findExpressionAfterToken(\"OBJECTS\");\n if (objects) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Use PARAMETERS instead of OBJECTS\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.occurences && sta instanceof Statements.Replace) {\n const concat = staNode.concatTokens().toUpperCase();\n if (concat.includes(\" OCCURENCES \")) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Use \\\"OCCURRENCES\\\"\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.conf.formDefinition && sta instanceof Statements.FormDefinition) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"FORM DEFINITION\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n if (this.conf.formImplementation && sta instanceof Statements.Form) {\n if (staNode.findDirectTokenByText(\"IMPLEMENTATION\")) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"FORM IMPLEMENTATION\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (configVersion >= version_1.Version.v754 && this.conf.clientSpecified\n && (sta instanceof Statements.Select\n || sta instanceof Statements.SelectLoop\n || sta instanceof Statements.DeleteDatabase\n || sta instanceof Statements.InsertDatabase\n || sta instanceof Statements.ModifyDatabase\n || sta instanceof Statements.UpdateDatabase)) {\n const concat = staNode.concatTokens().toUpperCase();\n if (concat.includes(\" CLIENT SPECIFIED\")) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"Use USING CLIENT\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (configVersion >= version_1.Version.v756 && this.conf.regex) {\n if (sta instanceof Statements.Find || sta instanceof Statements.Replace) {\n if ((_c = staNode.findFirstExpression(Expressions.FindType)) === null || _c === void 0 ? void 0 : _c.concatTokens().includes(\"REGEX\")) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"REGEX obsolete, use PCRE\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n else {\n const classNameExpression = staNode.findAllExpressions(Expressions.ClassName);\n const methodNameExpression = staNode.findAllExpressions(Expressions.MethodName);\n if (classNameExpression.length !== 0 && methodNameExpression.length !== 0) {\n const className = classNameExpression[0].concatTokens();\n const methodName = methodNameExpression[0].concatTokens();\n if (className === \"cl_abap_regex\") {\n if (methodName === \"create_posix\") {\n const issue = issue_1.Issue.atStatement(file, staNode, \"create_posix obsolete, use create_pcre\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n else if (className === \"cl_abap_matcher\") {\n if (methodName.includes(\"posix\")) {\n const issue = issue_1.Issue.atStatement(file, staNode, \"posix methods obsolete, use pcre methods\", this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n }\n }\n }\n return issues;\n }\n getFix(file, statement, statementNode) {\n if (statement instanceof Statements.Refresh) {\n if (statementNode.getChildren().length === 6) {\n return undefined;\n }\n return edit_helper_1.EditHelper.replaceToken(file, statementNode.getFirstToken(), \"CLEAR\");\n }\n else if (statement instanceof Statements.Compute) {\n const children = statementNode.getChildren();\n if (children.length === 5) {\n const tokenForDeletion = statementNode.getFirstToken();\n let endPosition = tokenForDeletion.getEnd();\n endPosition = new position_1.Position(endPosition.getRow(), endPosition.getCol() + 1);\n return edit_helper_1.EditHelper.deleteRange(file, tokenForDeletion.getStart(), endPosition);\n }\n else {\n const targetString = children[2].concatTokens();\n const sourceString = children[4].concatTokens();\n const replacement = targetString + \" = EXACT #( \" + sourceString + \" ).\";\n return edit_helper_1.EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);\n }\n }\n else if (statement instanceof Statements.Add ||\n statement instanceof Statements.Subtract) {\n const children = statementNode.getChildren();\n const sourceString = children[1].concatTokens();\n const targetString = children[3].concatTokens();\n let replacement = \"\";\n if (statement instanceof Statements.Add) {\n replacement = targetString + \" = \" + targetString + \" + \" + sourceString + \".\";\n }\n else if (statement instanceof Statements.Subtract) {\n replacement = targetString + \" = \" + targetString + \" - \" + sourceString + \".\";\n }\n return edit_helper_1.EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);\n }\n else if (statement instanceof Statements.Multiply ||\n statement instanceof Statements.Divide) {\n const children = statementNode.getChildren();\n const targetString = children[1].concatTokens();\n const sourceString = children[3].concatTokens();\n let replacement = \"\";\n if (statement instanceof Statements.Multiply) {\n replacement = targetString + \" = \" + targetString + \" * \" + sourceString + \".\";\n }\n else if (statement instanceof Statements.Divide) {\n replacement = targetString + \" = \" + targetString + \" / \" + sourceString + \".\";\n }\n return edit_helper_1.EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);\n }\n else if (statement instanceof Statements.Move) {\n if (statementNode.getColon() !== undefined) {\n return undefined;\n }\n const children = statementNode.getChildren();\n const sourceString = children[1].concatTokens();\n const targetString = children[3].concatTokens();\n let operator = children[2].concatTokens();\n if (operator === \"TO\") {\n operator = \" = \";\n }\n else {\n operator = \" ?= \";\n }\n const replacement = targetString + operator + sourceString + \".\";\n return edit_helper_1.EditHelper.replaceRange(file, statementNode.getStart(), statementNode.getEnd(), replacement);\n }\n else if (statement instanceof Statements.ClassDefinitionLoad ||\n statement instanceof Statements.InterfaceLoad) {\n let token = undefined;\n if (statement instanceof Statements.ClassDefinitionLoad) {\n token = statementNode.getChildren()[3].getFirstToken();\n }\n else {\n token = statementNode.getChildren()[2].getFirstToken();\n }\n let startPosition = token.getStart();\n startPosition = new position_1.Position(startPosition.getRow(), startPosition.getCol() - 1);\n return edit_helper_1.EditHelper.deleteRange(file, startPosition, token.getEnd());\n }\n return undefined;\n }\n}\nexports.ObsoleteStatement = ObsoleteStatement;\n//# sourceMappingURL=obsolete_statement.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/obsolete_statement.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/omit_parameter_name.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/omit_parameter_name.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OmitParameterName = exports.OmitParameterNameConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst method_definition_1 = __webpack_require__(/*! ../abap/types/method_definition */ \"./node_modules/@abaplint/core/build/src/abap/types/method_definition.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _builtin_1 = __webpack_require__(/*! ../abap/5_syntax/_builtin */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_builtin.js\");\nclass OmitParameterNameConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.OmitParameterNameConf = OmitParameterNameConf;\nclass OmitParameterName {\n constructor() {\n this.conf = new OmitParameterNameConf();\n }\n getMetadata() {\n return {\n key: \"omit_parameter_name\",\n title: \"Omit parameter name\",\n shortDescription: `Omit the parameter name in single parameter calls`,\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-the-parameter-name-in-single-parameter-calls\r\n\r\nEXPORTING must already be omitted for this rule to take effect, https://rules.abaplint.org/exporting/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix],\n badExample: `method( param = 2 ).`,\n goodExample: `method( 2 ).`,\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n var _a, _b;\n const issues = [];\n if (!(obj instanceof _abap_object_1.ABAPObject) || obj.getType() === \"INTF\") {\n return [];\n }\n const spaghetti = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n for (const file of obj.getABAPFiles()) {\n const stru = file.getStructure();\n if (stru === undefined) {\n continue;\n }\n for (const c of stru.findAllExpressions(Expressions.MethodCall)) {\n if (c.findFirstExpression(Expressions.MethodParameters)) {\n continue;\n }\n // hmm, this will break for nested method calls?\n const parameters = c.findAllExpressions(Expressions.ParameterS);\n if (parameters.length > 1 || parameters.length === 0) {\n continue;\n }\n const name = c.findDirectExpression(Expressions.MethodName);\n if (name === undefined) {\n continue;\n }\n const param = c.findDirectExpression(Expressions.MethodCallParam);\n if (param === undefined) {\n continue;\n }\n const ref = this.findMethodReference(name.getFirstToken(), spaghetti, file.getFilename());\n if (ref === undefined) {\n continue;\n }\n const i = ref.getDefaultImporting();\n if (i === undefined) {\n continue;\n }\n const p = (_a = parameters[0].findDirectExpression(Expressions.ParameterName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n if ((p === null || p === void 0 ? void 0 : p.getStr().toUpperCase()) === i.toUpperCase()) {\n const message = \"Omit default parameter name \\\"\" + i + \"\\\"\";\n const end = (_b = parameters[0].findDirectExpression(Expressions.Source)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStart();\n if (end) {\n const fix = edit_helper_1.EditHelper.deleteRange(file, p.getStart(), end);\n issues.push(issue_1.Issue.atRange(file, p.getStart(), end, message, this.getMetadata().key, this.getConfig().severity, fix));\n }\n else {\n issues.push(issue_1.Issue.atToken(file, name.getFirstToken(), message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n }\n return issues;\n }\n ///////////////////\n findMethodReference(token, spaghetti, filename) {\n const scope = spaghetti.lookupPosition(token.getStart(), filename);\n if (scope === undefined) {\n return undefined;\n }\n for (const r of scope.getData().references) {\n if (r.referenceType !== _reference_1.ReferenceType.MethodReference\n && r.referenceType !== _reference_1.ReferenceType.BuiltinMethodReference) {\n continue;\n }\n else if (r.position.getStart().equals(token.getStart())) {\n if (r.resolved instanceof _builtin_1.BuiltInMethod) {\n return r.resolved;\n }\n else if (r.resolved instanceof method_definition_1.MethodDefinition) {\n return r.resolved.getParameters();\n }\n }\n }\n return undefined;\n }\n}\nexports.OmitParameterName = OmitParameterName;\n//# sourceMappingURL=omit_parameter_name.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/omit_parameter_name.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/omit_preceding_zeros.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/omit_preceding_zeros.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OmitPrecedingZeros = exports.OmitPrecedingZerosConf = void 0;\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass OmitPrecedingZerosConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.OmitPrecedingZerosConf = OmitPrecedingZerosConf;\nclass OmitPrecedingZeros extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new OmitPrecedingZerosConf();\n }\n getMetadata() {\n return {\n key: \"omit_preceding_zeros\",\n title: \"Omit preceding zeros\",\n shortDescription: `Omit preceding zeros from integer constants`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `int = -001.`,\n goodExample: `int = -1.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n const message = \"Omit preceding zeros\";\n for (const s of file.getStatements()) {\n for (const i of s.findAllExpressions(Expressions.Integer)) {\n const token = i.getLastToken();\n const str = token.getStr();\n if (str.length > 1 && str.startsWith(\"0\")) {\n if (s.get() instanceof statements_1.CallScreen || s.get() instanceof statements_1.SetScreen) {\n continue;\n }\n const replace = str.replace(/^0+/, \"\");\n const fix = edit_helper_1.EditHelper.replaceRange(file, token.getStart(), token.getEnd(), replace);\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.getConfig().severity, fix);\n issues.push(issue);\n }\n }\n for (const i of s.findAllExpressions(Expressions.ParameterException)) {\n const token = (_a = i.findDirectExpression(Expressions.SimpleName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();\n const str = token === null || token === void 0 ? void 0 : token.getStr();\n if (token && str && str.length > 1 && str.startsWith(\"0\")) {\n const replace = str.replace(/^0+/, \"\");\n const fix = edit_helper_1.EditHelper.replaceRange(file, token.getStart(), token.getEnd(), replace);\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.getConfig().severity, fix);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n}\nexports.OmitPrecedingZeros = OmitPrecedingZeros;\n//# sourceMappingURL=omit_preceding_zeros.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/omit_preceding_zeros.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/omit_receiving.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/omit_receiving.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.OmitReceiving = exports.OmitReceivingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nclass OmitReceivingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.OmitReceivingConf = OmitReceivingConf;\nclass OmitReceiving extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new OmitReceivingConf();\n }\n getMetadata() {\n return {\n key: \"omit_receiving\",\n title: \"Omit RECEIVING\",\n shortDescription: `Omit RECEIVING`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-receiving`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: `\r\n upload_pack(\r\n EXPORTING\r\n io_client = lo_client\r\n iv_url = iv_url\r\n iv_deepen_level = iv_deepen_level\r\n it_hashes = lt_hashes\r\n RECEIVING\r\n rt_objects = et_objects ).`,\n goodExample: `\r\n et_objects = upload_pack(\r\n io_client = lo_client\r\n iv_url = iv_url\r\n iv_deepen_level = iv_deepen_level\r\n it_hashes = lt_hashes ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n for (const e of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.MethodCallParam)) || []) {\n const p = e.findDirectExpression(Expressions.MethodParameters);\n if (p === undefined) {\n continue;\n }\n const r = p.findDirectTokenByText(\"RECEIVING\");\n if (r === undefined) {\n continue;\n }\n const ex = p.findDirectTokenByText(\"EXCEPTIONS\");\n if (ex !== undefined) {\n continue;\n }\n issues.push(issue_1.Issue.atToken(file, r, \"Omit RECEIVING\", this.getMetadata().key, this.getConfig().severity));\n }\n return issues;\n }\n}\nexports.OmitReceiving = OmitReceiving;\n//# sourceMappingURL=omit_receiving.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/omit_receiving.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/parser_702_chaining.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/parser_702_chaining.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Parser702Chaining = exports.Parser702ChainingConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass Parser702ChainingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.Parser702ChainingConf = Parser702ChainingConf;\nclass Parser702Chaining extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new Parser702ChainingConf();\n }\n getMetadata() {\n return {\n key: \"parser_702_chaining\",\n title: \"Parser Error, bad chanining on 702\",\n shortDescription: `ABAP on 702 does not allow for method chaining with IMPORTING/EXPORTING/CHANGING keywords,\r\nthis rule finds these and reports errors.\r\nOnly active on target version 702 and below.`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n if (this.reg.getConfig().getVersion() !== version_1.Version.v702\n && this.reg.getConfig().getVersion() !== version_1.Version.v700) {\n return [];\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const chain of stru.findAllExpressions(Expressions.MethodCallChain)) {\n const calls = chain.findDirectExpressions(Expressions.MethodCall);\n if (calls.length < 2) {\n continue;\n }\n for (const call of calls) {\n const callParam = call.findDirectExpression(Expressions.MethodCallParam);\n if (callParam === undefined) {\n continue;\n }\n const param = callParam.findDirectExpression(Expressions.MethodParameters);\n if (param === undefined) {\n continue;\n }\n if (param.findDirectTokenByText(\"IMPORTING\")\n || param.findDirectTokenByText(\"CHANGING\")\n || param.findDirectTokenByText(\"EXCEPTIONS\")) {\n const message = \"This kind of method chaining not possible in 702\";\n const issue = issue_1.Issue.atPosition(file, param.getFirstToken().getStart(), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n}\nexports.Parser702Chaining = Parser702Chaining;\n//# sourceMappingURL=parser_702_chaining.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/parser_702_chaining.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/parser_error.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/parser_error.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParserError = exports.ParserErrorConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst statement_parser_1 = __webpack_require__(/*! ../abap/2_statements/statement_parser */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statement_parser.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass ParserErrorConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ParserErrorConf = ParserErrorConf;\nclass ParserError {\n constructor() {\n this.conf = new ParserErrorConf();\n }\n getMetadata() {\n return {\n key: \"parser_error\",\n title: \"Parser error\",\n shortDescription: `Checks for syntax not recognized by abaplint.\r\n\r\nSee recognized syntax at https://syntax.abaplint.org`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.SingleFile],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n const issues = [];\n issues.push(...obj.getParsingIssues());\n if (obj instanceof _abap_object_1.ABAPObject) {\n for (const file of obj.getABAPFiles()) {\n for (const statement of file.getStatements()) {\n if (!(statement.get() instanceof _statement_1.Unknown)) {\n continue;\n }\n if (statement.getTokens().length > statement_parser_1.STATEMENT_MAX_TOKENS) {\n const message = \"Statement too long, refactor statement\";\n const issue = issue_1.Issue.atToken(file, statement.getTokens()[0], message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n else {\n const tok = statement.getFirstToken();\n const message = \"Statement does not exist in ABAP\" + this.reg.getConfig().getVersion() + \"(or a parser error), \\\"\" + tok.getStr() + \"\\\"\";\n const issue = issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n if (this.reg.getConfig().getVersion() === version_1.Version.v700) {\n for (const statement of file.getStatements()) {\n if (statement.getPragmas().length > 0) {\n const message = \"Pragmas not allowed in v700\";\n const issue = issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n }\n }\n return issues;\n }\n}\nexports.ParserError = ParserError;\n//# sourceMappingURL=parser_error.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/parser_error.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/parser_missing_space.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/parser_missing_space.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ParserMissingSpace = exports.ParserMissingSpaceConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\n// todo: this rule needs refactoring\nclass ParserMissingSpaceConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ParserMissingSpaceConf = ParserMissingSpaceConf;\nclass ParserMissingSpace extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ParserMissingSpaceConf();\n }\n getMetadata() {\n return {\n key: \"parser_missing_space\",\n title: \"Parser Error, missing space\",\n shortDescription: `In special cases the ABAP language allows for not having spaces before or after string literals.\r\nThis rule makes sure the spaces are consistently required across the language.`,\n tags: [_irule_1.RuleTag.Syntax, _irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile],\n badExample: `IF ( foo = 'bar').`,\n goodExample: `IF ( foo = 'bar' ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let start = new position_1.Position(0, 0);\n for (const statement of file.getStatements()) {\n const missing = this.missingSpace(statement);\n if (missing) {\n const message = \"Missing space between string or character literal and parentheses\";\n start = missing;\n const issue = issue_1.Issue.atPosition(file, start, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n missingSpace(statement) {\n const found = statement.findAllExpressionsMulti([Expressions.CondSub, Expressions.SQLCond,\n Expressions.ValueBodyLine, Expressions.NewObject, Expressions.Cond,\n Expressions.ComponentCond, Expressions.ComponentCondSub, Expressions.MethodCallParam], true);\n let pos = undefined;\n for (const f of found) {\n const type = f.get();\n if (type instanceof Expressions.Cond) {\n pos = this.checkCond(f);\n }\n else if (type instanceof Expressions.CondSub) {\n pos = this.checkCondSub(f);\n }\n else if (type instanceof Expressions.ComponentCond) {\n pos = this.checkComponentCond(f);\n }\n else if (type instanceof Expressions.ComponentCondSub) {\n pos = this.checkComponentCondSub(f);\n }\n else if (type instanceof Expressions.SQLCond) {\n pos = this.checkSQLCond(f);\n }\n else if (type instanceof Expressions.ValueBodyLine) {\n pos = this.checkValueBodyLine(f);\n }\n else if (type instanceof Expressions.NewObject) {\n pos = this.checkNewObject(f);\n }\n else if (type instanceof Expressions.MethodCallParam) {\n pos = this.checkMethodCallParam(f);\n }\n if (pos) {\n return pos;\n }\n }\n return undefined;\n }\n checkSQLCond(cond) {\n const children = cond.getChildren();\n for (let i = 0; i < children.length; i++) {\n if (children[i].get() instanceof Expressions.SQLCond) {\n const current = children[i];\n const prev = children[i - 1].getLastToken();\n const next = children[i + 1].getFirstToken();\n if (prev.getStr() === \"(\"\n && prev.getRow() === current.getFirstToken().getRow()\n && prev.getCol() + 1 === current.getFirstToken().getStart().getCol()) {\n return current.getFirstToken().getStart();\n }\n if (next.getStr() === \")\"\n && next.getRow() === current.getLastToken().getRow()\n && next.getCol() === current.getLastToken().getEnd().getCol()) {\n return current.getLastToken().getEnd();\n }\n }\n }\n return undefined;\n }\n checkNewObject(cond) {\n const children = cond.getChildren();\n {\n const first = children[children.length - 2].getLastToken();\n const second = children[children.length - 1].getFirstToken();\n if (first.getRow() === second.getRow()\n && first.getEnd().getCol() === second.getStart().getCol()) {\n return second.getStart();\n }\n }\n return undefined;\n }\n checkCondSub(cond) {\n const children = cond.getChildren();\n for (let i = 0; i < children.length; i++) {\n if (children[i].get() instanceof Expressions.Cond) {\n const current = children[i];\n const prev = children[i - 1].getLastToken();\n const next = children[i + 1].getFirstToken();\n if (prev.getStr() === \"(\"\n && prev.getRow() === current.getFirstToken().getRow()\n && prev.getCol() + 1 === current.getFirstToken().getStart().getCol()) {\n return current.getFirstToken().getStart();\n }\n if (next.getStr() === \")\"\n && next.getRow() === current.getLastToken().getRow()\n && next.getCol() === current.getLastToken().getEnd().getCol()) {\n return current.getLastToken().getEnd();\n }\n }\n }\n return undefined;\n }\n checkComponentCondSub(cond) {\n const children = cond.getChildren();\n for (let i = 0; i < children.length; i++) {\n if (children[i].get() instanceof Expressions.ComponentCond) {\n const current = children[i];\n const prev = children[i - 1].getLastToken();\n const next = children[i + 1].getFirstToken();\n if (prev.getStr() === \"(\"\n && prev.getRow() === current.getFirstToken().getRow()\n && prev.getCol() + 1 === current.getFirstToken().getStart().getCol()) {\n return current.getFirstToken().getStart();\n }\n if (next.getStr() === \")\"\n && next.getRow() === current.getLastToken().getRow()\n && next.getCol() === current.getLastToken().getEnd().getCol()) {\n return current.getLastToken().getEnd();\n }\n }\n }\n return undefined;\n }\n checkComponentCond(cond) {\n const children = cond.getAllTokens();\n for (let i = 0; i < children.length - 1; i++) {\n const current = children[i];\n const next = children[i + 1];\n if (next.getStr().startsWith(\"'\")\n && next.getRow() === current.getRow()\n && next.getCol() === current.getEnd().getCol()) {\n return current.getEnd();\n }\n }\n return undefined;\n }\n checkValueBodyLine(vb) {\n var _a, _b;\n const children = vb.getChildren();\n for (let i = 0; i < children.length; i++) {\n const current = children[i];\n if (current instanceof nodes_1.TokenNode) {\n const prev = (_a = children[i - 1]) === null || _a === void 0 ? void 0 : _a.getLastToken();\n const next = (_b = children[i + 1]) === null || _b === void 0 ? void 0 : _b.getFirstToken();\n if (current.getFirstToken().getStr() === \"(\"\n && next\n && next.getRow() === current.getLastToken().getRow()\n && next.getCol() === current.getLastToken().getEnd().getCol()) {\n return current.getFirstToken().getStart();\n }\n if (current.getFirstToken().getStr() === \")\"\n && prev\n && prev.getRow() === current.getFirstToken().getRow()\n && prev.getEnd().getCol() === current.getFirstToken().getStart().getCol()) {\n return current.getLastToken().getEnd();\n }\n }\n }\n return undefined;\n }\n checkCond(cond) {\n const children = cond.getAllTokens();\n for (let i = 0; i < children.length - 1; i++) {\n const current = children[i];\n const next = children[i + 1];\n if (next.getStr().startsWith(\"'\")\n && next.getRow() === current.getRow()\n && next.getCol() === current.getEnd().getCol()) {\n return current.getEnd();\n }\n }\n return undefined;\n }\n checkMethodCallParam(call) {\n const children = call.getChildren();\n {\n const first = children[0].getFirstToken();\n const second = children[1].getFirstToken();\n if (first.getRow() === second.getRow()\n && first.getCol() + 1 === second.getStart().getCol()) {\n return second.getStart();\n }\n }\n {\n const first = children[children.length - 2].getLastToken();\n const second = children[children.length - 1].getFirstToken();\n if (first.getRow() === second.getRow()\n && first.getEnd().getCol() === second.getStart().getCol()) {\n return second.getStart();\n }\n }\n return undefined;\n }\n}\nexports.ParserMissingSpace = ParserMissingSpace;\n//# sourceMappingURL=parser_missing_space.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/parser_missing_space.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/pragma_style.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/pragma_style.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PragmaStyle = exports.PragmaStyleConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst keyword_case_1 = __webpack_require__(/*! ./keyword_case */ \"./node_modules/@abaplint/core/build/src/rules/keyword_case.js\");\nclass PragmaStyleConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.style = keyword_case_1.KeywordCaseStyle.Upper;\n }\n}\nexports.PragmaStyleConf = PragmaStyleConf;\nclass PragmaStyle extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PragmaStyleConf();\n }\n getMetadata() {\n return {\n key: \"pragma_style\",\n title: \"Pragma Style\",\n shortDescription: `Check pragmas placement and case`,\n tags: [_irule_1.RuleTag.SingleFile],\n extendedInformation: `https://help.sap.com/doc/abapdocu_cp_index_htm/CLOUD/en-US/abenpragma.htm`,\n badExample: `DATA field ##NO_TEXT TYPE i.`,\n goodExample: `DATA field TYPE i ##NO_TEXT.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.style === undefined) {\n this.conf.style = keyword_case_1.KeywordCaseStyle.Upper;\n }\n }\n runParsed(file) {\n const issues = [];\n for (const s of file.getStatements()) {\n if (s.getPragmas().length === 0) {\n continue;\n }\n for (const p of s.getPragmas()) {\n const children = s.getChildren();\n if (children.length === 1) {\n break; // empty statement with pragma\n }\n if (children[children.length - 2].getLastToken().getStart().isAfter(p.getStart())) {\n const message = \"Place pragma at end of statement\";\n const issue = issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n continue; // max one finding per statement\n }\n if (this.conf.style === keyword_case_1.KeywordCaseStyle.Upper && p.getStr() !== p.getStr().toUpperCase()) {\n const message = \"Upper case pragmas\";\n const issue = issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n else if (this.conf.style === keyword_case_1.KeywordCaseStyle.Lower && p.getStr() !== p.getStr().toLowerCase()) {\n const message = \"Lower case pragmas\";\n const issue = issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n return issues;\n }\n}\nexports.PragmaStyle = PragmaStyle;\n//# sourceMappingURL=pragma_style.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/pragma_style.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/prefer_corresponding.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/prefer_corresponding.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferCorresponding = exports.PreferCorrespondingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass PreferCorrespondingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferCorrespondingConf = PreferCorrespondingConf;\nclass PreferCorresponding extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferCorrespondingConf();\n }\n getMetadata() {\n return {\n key: \"prefer_corresponding\",\n title: \"Prefer corresponding( ) to MOVE-CORRESPONDING\",\n shortDescription: `Prefer corresponding( ) to MOVE-CORRESPONDING, from v740sp05 and up`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-functional-to-procedural-language-constructs`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Upport, _irule_1.RuleTag.Styleguide],\n badExample: `MOVE-CORRESPONDING foo TO bar.`,\n goodExample: `bar = CORRESPONDING #( foo ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp05) {\n return issues;\n }\n const message = \"Use CORRESPONDING type( ... ) instead of MOVE-CORRESPONDING\";\n for (const stat of file.getStatements()) {\n if (stat.get() instanceof Statements.MoveCorresponding\n && stat.getChildren().length === 7) {\n issues.push(issue_1.Issue.atStatement(file, stat, message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.PreferCorresponding = PreferCorresponding;\n//# sourceMappingURL=prefer_corresponding.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/prefer_corresponding.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/prefer_inline.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/prefer_inline.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferInline = exports.PreferInlineConf = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.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 _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass PreferInlineConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferInlineConf = PreferInlineConf;\nclass PreferInline {\n constructor() {\n this.conf = new PreferInlineConf();\n }\n getMetadata() {\n return {\n key: \"prefer_inline\",\n title: \"Prefer Inline Declarations\",\n shortDescription: `Prefer inline to up-front declarations.`,\n extendedInformation: `EXPERIMENTAL\r\n\r\nActivates if language version is v740sp02 or above.\r\n\r\nVariables must be local(METHOD or FORM).\r\n\r\nNo generic or void typed variables. No syntax errors.\r\n\r\nFirst position used must be a full/pure write.\r\n\r\nMove statment is not a cast(?=)\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-inline-to-up-front-declarations`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Upport, _irule_1.RuleTag.Experimental, _irule_1.RuleTag.Quickfix],\n badExample: `DATA foo TYPE i.\r\nfoo = 2.\r\nDATA percentage TYPE decfloat34.\r\npercentage = ( comment_number / abs_statement_number ) * 100.`,\n goodExample: `DATA(foo) = 2.\r\nDATA(percentage) = CONV decfloat34( comment_number / abs_statement_number ) * 100.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (obj.getType() === \"INTF\") {\n return [];\n }\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp02 && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n else if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const run = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (run.issues.length > 0) {\n return [];\n }\n const scopes = this.findScopeCandidates(run.spaghetti.getTop());\n const ret = [];\n for (const s of scopes) {\n ret.push(...this.analyzeScope(s, obj));\n }\n return ret;\n }\n ///////////////////////////\n analyzeScope(node, obj) {\n var _a, _b;\n const ret = [];\n const vars = node.getData().vars;\n for (const name in vars) {\n const identifier = vars[name];\n if (this.isLocalDefinition(node, identifier) === false\n || identifier.getMeta().includes(\"inline\" /* IdentifierMeta.InlineDefinition */)\n || identifier.getMeta().includes(\"form_parameter\" /* IdentifierMeta.FormParameter */)) {\n continue;\n }\n else if (identifier.getType().isGeneric() === true) {\n continue;\n }\n else if (identifier.getType().containsVoid() === true) {\n continue;\n }\n const write = this.firstUseIsWrite(node, identifier);\n if (write === undefined) {\n continue;\n }\n // check that it is a pure write, eg not sub component assignment\n const next = this.findNextToken(write, obj);\n if (next === undefined) {\n continue;\n }\n else if ((next === null || next === void 0 ? void 0 : next.getStart().equals(write.position.getEnd())) && next.getStr() !== \".\" && next.getStr() !== \",\") {\n continue;\n }\n const file = obj.getABAPFileByName(identifier.getFilename());\n const writeStatement = edit_helper_1.EditHelper.findStatement(next, file);\n const statementType = writeStatement === null || writeStatement === void 0 ? void 0 : writeStatement.get();\n if (statementType === undefined) {\n continue;\n }\n // for now only allow some specific target statements, todo refactor\n if (!(statementType instanceof Statements.Move\n || statementType instanceof Statements.Catch\n || statementType instanceof Statements.ReadTable\n || statementType instanceof Statements.Loop)\n || ((_a = writeStatement === null || writeStatement === void 0 ? void 0 : writeStatement.concatTokens()) === null || _a === void 0 ? void 0 : _a.includes(\"?=\"))\n || ((_b = writeStatement === null || writeStatement === void 0 ? void 0 : writeStatement.concatTokens()) === null || _b === void 0 ? void 0 : _b.includes(\" #(\"))) {\n continue;\n }\n const statement = edit_helper_1.EditHelper.findStatement(identifier.getToken(), file);\n const concat = statement === null || statement === void 0 ? void 0 : statement.concatTokens().toUpperCase();\n if (concat === null || concat === void 0 ? void 0 : concat.includes(\"BEGIN OF\")) {\n continue;\n }\n let fix = undefined;\n if (file && statement) {\n const fix1 = edit_helper_1.EditHelper.deleteStatement(file, statement);\n const name = identifier.getName();\n const replace = name.startsWith(\"<\") ? \"FIELD-SYMBOL(\" + name + \")\" : \"DATA(\" + name + \")\";\n const fix2 = edit_helper_1.EditHelper.replaceRange(file, write.position.getStart(), write.position.getEnd(), replace);\n fix = edit_helper_1.EditHelper.merge(fix1, fix2);\n }\n const message = this.getMetadata().title + \", \" + name;\n ret.push(issue_1.Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity, fix));\n }\n return ret;\n }\n ////////////////////////\n findNextToken(ref, obj) {\n const file = obj.getABAPFileByName(ref.resolved.getFilename());\n if (file === undefined) {\n return undefined;\n }\n for (const t of file.getTokens()) {\n if (t.getStart().isAfter(ref.position.getEnd())) {\n return t;\n }\n }\n return undefined;\n }\n firstUseIsWrite(node, identifier) {\n // assumption: variables are local, so only the current scope must be searched\n var _a, _b, _c;\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.TypeReference\n && ((_a = r.resolved) === null || _a === void 0 ? void 0 : _a.getStart().equals(identifier.getStart())) === true) {\n return undefined;\n }\n }\n let firstRead = undefined;\n for (const r of node.getData().references) {\n if (r.referenceType !== _reference_1.ReferenceType.DataReadReference\n || ((_b = r.resolved) === null || _b === void 0 ? void 0 : _b.getStart().equals(identifier.getStart())) === false) {\n continue;\n }\n if (r.resolved) {\n firstRead = { position: r.position, resolved: r.resolved };\n break;\n }\n }\n let firstWrite = undefined;\n for (const w of node.getData().references) {\n if (w.referenceType !== _reference_1.ReferenceType.DataWriteReference\n || ((_c = w.resolved) === null || _c === void 0 ? void 0 : _c.getStart().equals(identifier.getStart())) === false) {\n continue;\n }\n if (w.resolved) {\n firstWrite = { position: w.position, resolved: w.resolved };\n break;\n }\n }\n if (firstRead === undefined) {\n return firstWrite;\n }\n else if (firstWrite === undefined) {\n return undefined;\n }\n else if (firstWrite.position.getStart().getRow() === firstRead.position.getStart().getRow()) {\n // if the same statement both reads and write the same variable\n // note that currently just the line number is compared, this is not correct, it should check if its the same statement\n return undefined;\n }\n else if (firstWrite.position.getStart().isBefore(firstRead.position.getStart())) {\n return firstWrite;\n }\n return undefined;\n }\n isLocalDefinition(node, identifier) {\n const { start, end } = node.calcCoverage();\n if (identifier.getStart().isAfter(start) && identifier.getStart().isBefore(end)) {\n return true;\n }\n else {\n return false;\n }\n }\n findScopeCandidates(node) {\n if (node.getIdentifier().stype === _scope_type_1.ScopeType.Form\n || node.getIdentifier().stype === _scope_type_1.ScopeType.Method) {\n return [node];\n }\n let ret = [];\n for (const c of node.getChildren()) {\n ret = ret.concat(this.findScopeCandidates(c));\n }\n return ret;\n }\n}\nexports.PreferInline = PreferInline;\n//# sourceMappingURL=prefer_inline.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/prefer_inline.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/prefer_is_not.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/prefer_is_not.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferIsNot = exports.PreferIsNotConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nclass PreferIsNotConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferIsNotConf = PreferIsNotConf;\nclass PreferIsNot extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferIsNotConf();\n }\n getMetadata() {\n return {\n key: \"prefer_is_not\",\n title: \"Prefer IS NOT to NOT IS\",\n shortDescription: `Prefer IS NOT to NOT IS`,\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-is-not-to-not-is\r\n\r\n\"if not is_valid( ).\" examples are skipped`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n goodExample: `IF variable IS NOT INITIAL.\r\nIF variable NP 'TODO*'.\r\nIF variable <> 42.\r\nIF variable CO 'hello'.`,\n badExample: `IF NOT variable IS INITIAL.\r\nIF NOT variable CP 'TODO*'.\r\nIF NOT variable = 42.\r\nIF NOT variable CA 'hello'.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n for (const s of file.getStatements()) {\n for (const c of s.findAllExpressions(Expressions.Compare)) {\n if (c.concatTokens().toUpperCase().startsWith(\"NOT \") === false) {\n continue;\n }\n else if (c.getChildren().length === 2 && c.getChildren()[1].get() instanceof Expressions.MethodCallChain) {\n continue;\n }\n const message = \"Prefer IS NOT to NOT IS\";\n const fix = this.getFix(file, c);\n issues.push(issue_1.Issue.atToken(file, c.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix));\n }\n }\n return issues;\n }\n getFix(file, c) {\n let insertFix;\n if (c.getChildren()[2].getFirstToken().getStr().toUpperCase() === \"IS\") {\n const tokenPositionBeforeDelete = c.getChildren()[2].getLastToken().getEnd();\n const tokenPosition = new position_1.Position(tokenPositionBeforeDelete.getRow(), tokenPositionBeforeDelete.getCol() + 1);\n insertFix = edit_helper_1.EditHelper.insertAt(file, tokenPosition, \"NOT \");\n }\n else if (c.getChildren()[2].getFirstToken().getStr().toUpperCase() === \"IN\" || c.getChildren()[2].getFirstToken().getStr().toUpperCase() === \"BETWEEN\") {\n const tokenPositionBeforeDelete = c.getChildren()[1].getLastToken().getEnd();\n const tokenPosition = new position_1.Position(tokenPositionBeforeDelete.getRow(), tokenPositionBeforeDelete.getCol() + 1);\n insertFix = edit_helper_1.EditHelper.insertAt(file, tokenPosition, \"NOT \");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \"=\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \"<>\");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \"<>\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \"=\");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \"<\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \">\");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \">\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \"<\");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \"<=\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \">=\");\n }\n else if (c.getChildren()[2].getFirstToken().getStr() === \">=\") {\n insertFix = edit_helper_1.EditHelper.replaceToken(file, c.getChildren()[2].getLastToken(), \"<=\");\n }\n else {\n return;\n }\n const endCol = c.getChildren()[0].getFirstToken().getEnd().getCol() + 1;\n const endPosition = new position_1.Position(c.getChildren()[0].getFirstToken().getEnd().getRow(), endCol);\n const deleteFix = edit_helper_1.EditHelper.deleteRange(file, c.getChildren()[0].getFirstToken().getStart(), endPosition);\n const finalFix = edit_helper_1.EditHelper.merge(insertFix, deleteFix);\n return finalFix;\n }\n}\nexports.PreferIsNot = PreferIsNot;\n//# sourceMappingURL=prefer_is_not.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/prefer_is_not.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/prefer_raise_exception_new.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/prefer_raise_exception_new.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferRaiseExceptionNew = exports.PreferRaiseExceptionNewConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass PreferRaiseExceptionNewConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferRaiseExceptionNewConf = PreferRaiseExceptionNewConf;\nclass PreferRaiseExceptionNew extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferRaiseExceptionNewConf();\n }\n getMetadata() {\n return {\n key: \"prefer_raise_exception_new\",\n title: \"Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE\",\n shortDescription: `Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE`,\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-raise-exception-new-to-raise-exception-type\r\n\r\nFrom 752 and up`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Upport],\n goodExample: `RAISE EXCEPTION NEW cx_generation_error( previous = exception ).`,\n badExample: `RAISE EXCEPTION TYPE cx_generation_error\r\n EXPORTING\r\n previous = exception.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n if (this.reg.getConfig().getVersion() < __1.Version.v752) {\n return [];\n }\n const issues = [];\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof __1.Statements.Raise) {\n const concat = statement.concatTokens().toUpperCase();\n if (concat.includes(\" MESSAGE\")) {\n continue;\n }\n if (concat.startsWith(\"RAISE EXCEPTION TYPE \")) {\n const message = \"Prefer RAISE EXCEPTION NEW to RAISE EXCEPTION TYPE\";\n const fix = this.getFix(file, statement, concat.includes(\" EXPORTING\") ? true : false);\n issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix));\n }\n }\n }\n return issues;\n }\n getFix(file, statement, withExporting) {\n const children = statement.getChildren();\n let contentFix = undefined;\n if (withExporting) {\n const fixText = \"( \" + children[5].concatTokens() + \" ).\";\n contentFix = edit_helper_1.EditHelper.replaceRange(file, children[3].getLastToken().getEnd(), statement.getEnd(), fixText);\n }\n else {\n contentFix = edit_helper_1.EditHelper.replaceRange(file, children[3].getLastToken().getEnd(), statement.getEnd(), \"( ).\");\n }\n const replaceType = edit_helper_1.EditHelper.replaceToken(file, children[2].getFirstToken(), \"NEW\");\n return edit_helper_1.EditHelper.merge(contentFix, replaceType);\n }\n}\nexports.PreferRaiseExceptionNew = PreferRaiseExceptionNew;\n//# sourceMappingURL=prefer_raise_exception_new.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/prefer_raise_exception_new.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/prefer_returning_to_exporting.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/prefer_returning_to_exporting.js ***! + \**************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferReturningToExporting = exports.PreferReturningToExportingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.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 _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass PreferReturningToExportingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferReturningToExportingConf = PreferReturningToExportingConf;\nclass PreferReturningToExporting extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferReturningToExportingConf();\n }\n getMetadata() {\n return {\n key: \"prefer_returning_to_exporting\",\n title: \"Prefer RETURNING to EXPORTING\",\n shortDescription: `Prefer RETURNING to EXPORTING. Generic types cannot be RETURNING.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-returning-to-exporting\r\nhttps://docs.abapopenchecks.org/checks/44/`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const ret = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n for (const def of stru.findAllStatements(Statements.MethodDef)) {\n if (def.findFirstExpression(Expressions.MethodDefChanging)) {\n continue;\n }\n const exporting = def.findFirstExpression(Expressions.MethodDefExporting);\n if (exporting === undefined) {\n continue;\n }\n const returning = def.findFirstExpression(Expressions.MethodDefReturning);\n if (returning !== undefined) {\n continue;\n }\n const params = exporting.findDirectExpressions(Expressions.MethodParam);\n if (params.length !== 1) {\n continue;\n }\n const concat = params[0].concatTokens().toUpperCase();\n if (concat.endsWith(\"TYPE ANY\")\n || concat.endsWith(\"TYPE ANY TABLE\")\n || concat.endsWith(\"TYPE C\")\n || concat.endsWith(\"TYPE CLIKE\")\n || concat.endsWith(\"TYPE CSEQUENCE\")\n || concat.endsWith(\"TYPE DATA\")\n || concat.endsWith(\"TYPE DECFLOAT\")\n || concat.endsWith(\"TYPE HASHED TABLE\")\n || concat.endsWith(\"TYPE INDEX TABLE\")\n || concat.endsWith(\"TYPE N\")\n || concat.endsWith(\"TYPE NUMERIC\")\n || concat.endsWith(\"TYPE OBJECT\")\n || concat.endsWith(\"TYPE P\")\n || concat.endsWith(\"TYPE SIMPLE\")\n || concat.endsWith(\"TYPE SORTED TABLE\")\n || concat.endsWith(\"TYPE STANDARD TABLE\")\n || concat.endsWith(\"TYPE TABLE\")\n || concat.endsWith(\"TYPE X\")\n || concat.endsWith(\"TYPE XSEQUENCE\")) {\n continue;\n }\n const token = params[0].getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, \"Prefer RETURNING to EXPORTING\", this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n return ret;\n }\n}\nexports.PreferReturningToExporting = PreferReturningToExporting;\n//# sourceMappingURL=prefer_returning_to_exporting.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/prefer_returning_to_exporting.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/prefer_xsdbool.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/prefer_xsdbool.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferXsdbool = exports.PreferXsdboolConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass PreferXsdboolConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.PreferXsdboolConf = PreferXsdboolConf;\nclass PreferXsdbool extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferXsdboolConf();\n }\n getMetadata() {\n return {\n key: \"prefer_xsdbool\",\n title: \"Prefer xsdbool over boolc\",\n shortDescription: `Prefer xsdbool over boolc`,\n extendedInformation: `Activates if language version is v740sp08 or above.\r\n\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-xsdbool-to-set-boolean-variables`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Upport, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `DATA(sdf) = boolc( 1 = 2 ).`,\n goodExample: `DATA(sdf) = xsdbool( 1 = 2 ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp08 && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n for (const s of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.Source)) || []) {\n if (s.concatTokens().toUpperCase().startsWith(\"BOOLC( \") === false) {\n continue;\n }\n const token = s.getFirstToken();\n const message = \"Prefer xsdbool over boolc\";\n const fix = edit_helper_1.EditHelper.replaceToken(file, token, \"xsdbool\");\n issues.push(issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix));\n }\n return issues;\n }\n}\nexports.PreferXsdbool = PreferXsdbool;\n//# sourceMappingURL=prefer_xsdbool.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/prefer_xsdbool.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/preferred_compare_operator.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/preferred_compare_operator.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PreferredCompareOperator = exports.PreferredCompareOperatorConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass PreferredCompareOperatorConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Operators which are not allowed */\n this.badOperators = [\"EQ\", \"><\", \"NE\", \"GE\", \"GT\", \"LT\", \"LE\"];\n }\n}\nexports.PreferredCompareOperatorConf = PreferredCompareOperatorConf;\nclass PreferredCompareOperator extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PreferredCompareOperatorConf();\n this.operatorMapping = new Map();\n }\n getMetadata() {\n return {\n key: \"preferred_compare_operator\",\n title: \"Preferred compare operator\",\n shortDescription: `Configure undesired operator variants`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n };\n }\n getDescription(operator) {\n return \"Compare operator \\\"\" + operator + \"\\\" not preferred\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n this.buildMapping();\n const issues = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const operators = struc.findAllExpressionsMulti([Expressions.CompareOperator, Expressions.SQLCompareOperator]);\n for (const op of operators) {\n const token = op.getLastToken();\n // todo, performance, lookup in hash map instead(JS object)\n if (this.conf.badOperators.indexOf(token.getStr().toUpperCase()) >= 0) {\n issues.push(this.createIssue(token, file));\n }\n }\n return issues;\n }\n buildMapping() {\n if (this.operatorMapping.size === 0) {\n this.operatorMapping.set(\"EQ\", \"=\");\n this.operatorMapping.set(\"><\", \"<>\");\n this.operatorMapping.set(\"NE\", \"<>\");\n this.operatorMapping.set(\"GE\", \">=\");\n this.operatorMapping.set(\"GT\", \">\");\n this.operatorMapping.set(\"LT\", \"<\");\n this.operatorMapping.set(\"LE\", \"<=\");\n this.operatorMapping.set(\"=\", \"EQ\");\n this.operatorMapping.set(\"<>\", \"NE\");\n this.operatorMapping.set(\">=\", \"GE\");\n this.operatorMapping.set(\">\", \"GT\");\n this.operatorMapping.set(\"<\", \"LT\");\n this.operatorMapping.set(\"<=\", \"LE\");\n }\n }\n createIssue(token, file) {\n var _a;\n const message = this.getDescription(token.getStr());\n const replacementToken = (_a = this.operatorMapping) === null || _a === void 0 ? void 0 : _a.get(token.getStr());\n // values in badOperators can be entered by the user and may not necessarily be actual operators\n if (replacementToken) {\n const fix = edit_helper_1.EditHelper.replaceRange(file, token.getStart(), token.getEnd(), replacementToken);\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity, fix);\n return issue;\n }\n else {\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n return issue;\n }\n }\n}\nexports.PreferredCompareOperator = PreferredCompareOperator;\n//# sourceMappingURL=preferred_compare_operator.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/preferred_compare_operator.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/prefix_is_current_class.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/prefix_is_current_class.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PrefixIsCurrentClass = exports.PrefixIsCurrentClassConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass PrefixIsCurrentClassConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /**\n * Checks usages of self references with 'me' when calling instance methods\n */\n this.omitMeInstanceCalls = true;\n }\n}\nexports.PrefixIsCurrentClassConf = PrefixIsCurrentClassConf;\nclass PrefixIsCurrentClass extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new PrefixIsCurrentClassConf();\n }\n getMetadata() {\n return {\n key: \"prefix_is_current_class\",\n title: \"Prefix is current class\",\n shortDescription: `Reports errors if the current class or interface references itself with \"current_class=>\"`,\n // eslint-disable-next-line max-len\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-the-self-reference-me-when-calling-an-instance-attribute-or-method`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n return this.checkClasses(file).concat(this.checkInterfaces(file));\n }\n checkInterfaces(file) {\n var _a;\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const issues = [];\n for (const s of struc.findDirectStructures(Structures.Interface)) {\n const name = (_a = s.findFirstExpression(expressions_1.InterfaceName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr().toUpperCase();\n if (name === undefined) {\n continue;\n }\n const staticAccess = name + \"=>\";\n for (const e of s.findAllExpressions(expressions_1.TypeName)) {\n const concat = e.concatTokens().toUpperCase();\n if (concat.startsWith(staticAccess)) {\n const stat = e.findDirectTokenByText(\"=>\");\n if (stat === undefined) {\n continue;\n }\n const start = new position_1.Position(stat.getRow(), stat.getCol() - name.length);\n const end = new position_1.Position(stat.getRow(), stat.getCol() + 2);\n const fix = edit_helper_1.EditHelper.deleteRange(file, start, end);\n issues.push(issue_1.Issue.atToken(file, e.getFirstToken(), \"Reference to current interface can be omitted\", this.getMetadata().key, this.conf.severity, fix));\n }\n }\n }\n return issues;\n }\n checkClasses(file) {\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const issues = [];\n const classStructures = struc.findDirectStructures(Structures.ClassImplementation);\n classStructures.push(...struc.findDirectStructures(Structures.ClassDefinition));\n const meAccess = \"ME->\";\n for (const c of classStructures) {\n const className = c.findFirstExpression(expressions_1.ClassName).getFirstToken().getStr().toUpperCase();\n const staticAccess = className + \"=>\";\n for (const s of c.findAllStatementNodes()) {\n const concat = s.concatTokensWithoutStringsAndComments().toUpperCase();\n if (concat.includes(staticAccess)) {\n const tokenPos = s.findTokenSequencePosition(className, \"=>\");\n if (tokenPos) {\n const end = new position_1.Position(tokenPos.getRow(), tokenPos.getCol() + className.length + 2);\n const fix = edit_helper_1.EditHelper.deleteRange(file, tokenPos, end);\n issues.push(issue_1.Issue.atRange(file, tokenPos, end, \"Reference to current class can be omitted: \\\"\" + staticAccess + \"\\\"\", this.getMetadata().key, this.conf.severity, fix));\n }\n }\n else if (this.conf.omitMeInstanceCalls === true\n && concat.includes(meAccess)\n && s.findFirstExpression(expressions_1.MethodCall)) {\n const tokenPos = s.findTokenSequencePosition(\"me\", \"->\");\n if (tokenPos) {\n const end = new position_1.Position(tokenPos.getRow(), tokenPos.getCol() + 4);\n const fix = edit_helper_1.EditHelper.deleteRange(file, tokenPos, end);\n issues.push(issue_1.Issue.atRange(file, tokenPos, end, \"Omit 'me->' in instance calls\", this.getMetadata().key, this.conf.severity, fix));\n }\n }\n }\n }\n return issues;\n }\n}\nexports.PrefixIsCurrentClass = PrefixIsCurrentClass;\n//# sourceMappingURL=prefix_is_current_class.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/prefix_is_current_class.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/reduce_string_templates.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/reduce_string_templates.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReduceStringTemplates = exports.ReduceStringTemplatesConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ReduceStringTemplatesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ReduceStringTemplatesConf = ReduceStringTemplatesConf;\nclass ReduceStringTemplates extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ReduceStringTemplatesConf();\n }\n getMetadata() {\n return {\n key: \"reduce_string_templates\",\n title: \"Reduce string templates\",\n shortDescription: `Checks for string templates`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `WRITE |{ |sdf| }|.\\nWRITE |{ 'sdf' }|.`,\n goodExample: `WRITE |sdf|.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, _obj) {\n const issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n for (const template of structure.findAllExpressions(Expressions.StringTemplate)) {\n for (const ts of template.findAllExpressions(Expressions.StringTemplateSource)) {\n for (const source of ts.findDirectExpressions(Expressions.Source)) {\n for (const second of source.findDirectExpressions(Expressions.StringTemplate)) {\n issues.push(issue_1.Issue.atToken(file, second.getFirstToken(), \"Nested string templates, reduce\", this.getMetadata().key, this.conf.severity));\n }\n if (ts.findDirectExpression(Expressions.StringTemplateFormatting)) {\n continue;\n }\n for (const constant of source.findDirectExpressions(Expressions.Constant)) {\n for (const constantString of constant.findDirectExpressions(Expressions.ConstantString)) {\n issues.push(issue_1.Issue.atToken(file, constantString.getFirstToken(), \"Constant string in text template, reduce\", this.getMetadata().key, this.conf.severity));\n }\n }\n }\n }\n }\n for (const source of structure.findAllExpressions(Expressions.Source)) {\n const children = source.getChildren();\n if (children.length !== 3) {\n continue;\n }\n else if (!(children[0].get() instanceof Expressions.StringTemplate)) {\n continue;\n }\n else if (children[1].getFirstToken().getStr() !== \"&&\") {\n continue;\n }\n else if (!(children[2].get() instanceof Expressions.Source)) {\n continue;\n }\n const sub = children[2].getChildren();\n if (sub.length !== 1) {\n continue;\n }\n const start = children[0].getFirstToken().getStart();\n const end = sub[0].getLastToken().getEnd();\n if (start.getRow() === end.getRow()) {\n const message = \"Reduce template, remove \\\"&&\\\"\";\n issues.push(issue_1.Issue.atToken(file, children[1].getFirstToken(), message, this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.ReduceStringTemplates = ReduceStringTemplates;\n//# sourceMappingURL=reduce_string_templates.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/reduce_string_templates.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/release_idoc.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/release_idoc.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ReleaseIdoc = exports.ReleaseIdocConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Objects = __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\");\nclass ReleaseIdocConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.ReleaseIdocConf = ReleaseIdocConf;\nclass ReleaseIdoc {\n constructor() {\n this.conf = new ReleaseIdocConf();\n }\n getMetadata() {\n return {\n key: \"release_idoc\",\n title: \"Release iDoc\",\n shortDescription: `Checks idoc types and segments are set to status released`,\n };\n }\n getMessage() {\n return \"Idoc type/segement status must be set to released\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n const file = obj.getXMLFile();\n if (file === undefined) {\n return [];\n }\n if (obj instanceof Objects.Table) {\n if (file.getRaw().includes(\"\") === false) {\n return [];\n }\n }\n else if (!(obj instanceof Objects.Idoc)) {\n return [];\n }\n if (file.getRaw().includes(\"X\") === false) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, this.getMessage(), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n else {\n return [];\n }\n }\n}\nexports.ReleaseIdoc = ReleaseIdoc;\n//# sourceMappingURL=release_idoc.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/release_idoc.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/remove_descriptions.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/remove_descriptions.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RemoveDescriptions = exports.RemoveDescriptionsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst fast_xml_parser_1 = __webpack_require__(/*! fast-xml-parser */ \"./node_modules/fast-xml-parser/src/fxp.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nconst xml_utils_1 = __webpack_require__(/*! ../xml_utils */ \"./node_modules/@abaplint/core/build/src/xml_utils.js\");\nclass RemoveDescriptionsConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Ignore global exception classes */\n this.ignoreExceptions = false;\n /** Ignore global workflow classes */\n this.ignoreWorkflow = true;\n }\n}\nexports.RemoveDescriptionsConf = RemoveDescriptionsConf;\nclass RemoveDescriptions {\n constructor() {\n this.conf = new RemoveDescriptionsConf();\n }\n getMetadata() {\n return {\n key: \"remove_descriptions\",\n title: \"Remove descriptions\",\n shortDescription: `Ensures you have no descriptions in metadata of methods, parameters, etc.\r\n\r\nClass descriptions are required, see rule description_empty.\r\n\r\nConsider using ABAP Doc for documentation.`,\n tags: [],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n // plan is omitting knowledge about descriptions in abaplint, so this rule must parse the XML\n const ddic = new ddic_1.DDIC(this.reg);\n if (obj instanceof Objects.Class) {\n let def;\n try {\n def = obj.getClassDefinition();\n }\n catch (_a) {\n return [];\n }\n if (def === undefined) {\n return [];\n }\n else if (this.conf.ignoreExceptions && ddic.isException(def, obj)) {\n return [];\n }\n else if (this.conf.ignoreWorkflow === true && def.interfaces.find(e => e.name.toUpperCase() === \"IF_WORKFLOW\")) {\n return [];\n }\n return this.checkClass(obj);\n }\n else if (obj instanceof Objects.Interface) {\n return this.checkInterface(obj);\n }\n return [];\n }\n //////////////\n checkInterface(obj) {\n const xml = obj.getXML();\n if (xml === undefined) {\n return [];\n }\n const file = obj.getXMLFile();\n if (file === undefined) {\n return [];\n }\n return this.checkXML(xml, file);\n }\n checkClass(obj) {\n const xml = obj.getXML();\n if (xml === undefined) {\n return [];\n }\n const file = obj.getXMLFile();\n if (file === undefined) {\n return [];\n }\n return this.checkXML(xml, file);\n }\n checkXML(xml, file) {\n const parsed = new fast_xml_parser_1.XMLParser({ parseTagValue: false, ignoreAttributes: true, trimValues: false }).parse(xml);\n if (parsed === undefined || parsed.abapGit[\"asx:abap\"][\"asx:values\"] === undefined) {\n return [];\n }\n const desc = parsed.abapGit[\"asx:abap\"][\"asx:values\"].DESCRIPTIONS;\n if (desc === undefined) {\n return [];\n }\n const reported = {}; // there might be multiple translations\n const ret = [];\n for (const d of (0, xml_utils_1.xmlToArray)(desc.SEOCOMPOTX)) {\n const message = \"Remove description for \" + d.CMPNAME;\n if (reported[d.CMPNAME] !== undefined) {\n continue;\n }\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(file, position, message, this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n reported[d.CMPNAME] = true;\n }\n return ret;\n }\n}\nexports.RemoveDescriptions = RemoveDescriptions;\n//# sourceMappingURL=remove_descriptions.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/remove_descriptions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/rfc_error_handling.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/rfc_error_handling.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RFCErrorHandling = exports.RFCErrorHandlingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.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 _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass RFCErrorHandlingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.RFCErrorHandlingConf = RFCErrorHandlingConf;\nclass RFCErrorHandling extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new RFCErrorHandlingConf();\n }\n getMetadata() {\n return {\n key: \"rfc_error_handling\",\n title: \"RFC error handling\",\n tags: [_irule_1.RuleTag.SingleFile],\n shortDescription: `Checks that exceptions 'system_failure' and 'communication_failure' are handled in RFC calls`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abenrfc_exception.htm`,\n badExample: `\r\nCALL FUNCTION 'ZRFC'\r\n DESTINATION lv_rfc.`,\n goodExample: `\r\nCALL FUNCTION 'ZRFC'\r\n DESTINATION lv_rfc\r\n EXCEPTIONS\r\n system_failure = 1 MESSAGE msg\r\n communication_failure = 2 MESSAGE msg\r\n resource_failure = 3\r\n OTHERS = 4.`,\n };\n }\n getMessage() {\n return \"RFC error handling: At least one unhandled exception from SYSTEM_FAILURE, COMMUNICATION_FAILURE, RESOURCE_FAILURE\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const output = [];\n for (const stat of file.getStatements()) {\n const token = stat.getFirstToken();\n if (!(stat.get() instanceof Statements.CallFunction)) {\n continue;\n }\n if (!stat.findFirstExpression(Expressions.Destination)) {\n continue;\n }\n const list = stat.findFirstExpression(Expressions.ParameterListExceptions);\n if (list === undefined) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n output.push(issue);\n continue;\n }\n const parameters = list.findAllExpressions(Expressions.ParameterName);\n const names = [];\n for (const par of parameters) {\n names.push(par.getFirstToken().getStr().toUpperCase());\n }\n if (names.indexOf(\"SYSTEM_FAILURE\") < 0\n || names.indexOf(\"COMMUNICATION_FAILURE\") < 0\n || names.indexOf(\"RESOURCE_FAILURE\") < 0) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n output.push(issue);\n continue;\n }\n }\n return output;\n }\n}\nexports.RFCErrorHandling = RFCErrorHandling;\n//# sourceMappingURL=rfc_error_handling.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/rfc_error_handling.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/select_add_order_by.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/select_add_order_by.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectAddOrderBy = exports.SelectAddOrderByConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.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 basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass SelectAddOrderByConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SelectAddOrderByConf = SelectAddOrderByConf;\nclass SelectAddOrderBy {\n constructor() {\n this.conf = new SelectAddOrderByConf();\n }\n getMetadata() {\n return {\n key: \"select_add_order_by\",\n title: \"SELECT add ORDER BY\",\n shortDescription: `SELECTs add ORDER BY clause`,\n extendedInformation: `\r\nThis will make sure that the SELECT statement returns results in the same sequence on different databases\r\n\r\nadd ORDER BY PRIMARY KEY if in doubt\r\n\r\nIf the target is a sorted/hashed table, no issue is reported`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n var _a;\n const issues = [];\n if (!(obj instanceof _abap_object_1.ABAPObject) || obj.getType() === \"INTF\") {\n return [];\n }\n const spaghetti = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n for (const file of obj.getABAPFiles()) {\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues;\n }\n const selects = stru.findAllStatements(Statements.Select);\n selects.push(...stru.findAllStatements(Statements.SelectLoop));\n for (const s of selects) {\n const c = s.concatTokens().toUpperCase();\n if (c.startsWith(\"SELECT SINGLE \")) {\n continue;\n }\n // skip COUNT(*)\n const list = s.findAllExpressions(Expressions.SQLField);\n if (list.length === 1 && ((_a = list[0].getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.SQLAggregation) {\n continue;\n }\n else if (s.findFirstExpression(Expressions.SQLOrderBy)) {\n continue;\n }\n if (this.isTargetSortedOrHashed(s, spaghetti, file)) {\n continue;\n }\n else if (s.findFirstExpression(Expressions.SQLJoin) && s.findFirstExpression(Expressions.SQLForAllEntries)) {\n // see https://github.com/abaplint/abaplint/issues/2957\n continue;\n }\n issues.push(issue_1.Issue.atStatement(file, s, \"Add ORDER BY\", this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n isTargetSortedOrHashed(s, spaghetti, file) {\n var _a, _b;\n const target = (_a = s.findFirstExpression(Expressions.SQLIntoTable)) === null || _a === void 0 ? void 0 : _a.findFirstExpression(Expressions.Target);\n if (target) {\n const start = target.getFirstToken().getStart();\n const scope = spaghetti.lookupPosition(start, file.getFilename());\n let type = (_b = scope === null || scope === void 0 ? void 0 : scope.findWriteReference(start)) === null || _b === void 0 ? void 0 : _b.getType();\n const children = target.getChildren();\n if (type instanceof basic_1.StructureType && children.length >= 3 && children[1].concatTokens() === \"-\") {\n const found = type.getComponentByName(children[2].concatTokens());\n if (found === undefined) {\n return false;\n }\n type = found;\n }\n if (type instanceof basic_1.TableType\n && ((type === null || type === void 0 ? void 0 : type.getAccessType()) === basic_1.TableAccessType.sorted\n || (type === null || type === void 0 ? void 0 : type.getAccessType()) === basic_1.TableAccessType.hashed)) {\n return true;\n }\n }\n return false;\n }\n}\nexports.SelectAddOrderBy = SelectAddOrderBy;\n//# sourceMappingURL=select_add_order_by.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/select_add_order_by.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/select_performance.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/select_performance.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectPerformance = exports.SelectPerformanceConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst structure_type_1 = __webpack_require__(/*! ../abap/types/basic/structure_type */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/structure_type.js\");\nconst DEFAULT_COLUMNS = 10;\nclass SelectPerformanceConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Detects ENDSELECT */\n this.endSelect = true;\n /** Detects SELECT * */\n this.selectStar = true;\n /** \"SELECT\" * is considered okay if the table is less than X columns, the table must be known to the linter */\n this.starOkayIfFewColumns = DEFAULT_COLUMNS;\n }\n}\nexports.SelectPerformanceConf = SelectPerformanceConf;\nclass SelectPerformance {\n constructor() {\n this.conf = new SelectPerformanceConf();\n }\n getMetadata() {\n return {\n key: \"select_performance\",\n title: \"SELECT performance\",\n shortDescription: `Various checks regarding SELECT performance.`,\n extendedInformation: `ENDSELECT: not reported when the corresponding SELECT has PACKAGE SIZE\r\n\r\nSELECT *: not reported if using INTO/APPENDING CORRESPONDING FIELDS OF`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Performance],\n badExample: `SELECT field1, field2 FROM table\r\n INTO @DATA(structure) UP TO 1 ROWS ORDER BY field3 DESCENDING.\r\nENDSELECT.`,\n goodExample: `SELECT field1, field2 FROM table UP TO 1 ROWS\r\n INTO TABLE @DATA(table) ORDER BY field3 DESCENDING`,\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n if (this.conf.starOkayIfFewColumns === undefined) {\n this.conf.starOkayIfFewColumns = DEFAULT_COLUMNS;\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const issues = [];\n for (const file of obj.getABAPFiles()) {\n const stru = file.getStructure();\n if (stru === undefined) {\n return issues;\n }\n if (this.conf.endSelect) {\n for (const s of stru.findAllStructures(Structures.Select) || []) {\n const select = s.findDirectStatement(Statements.SelectLoop);\n if (select === undefined || select.concatTokens().toUpperCase().includes(\"PACKAGE SIZE\")) {\n continue;\n }\n const message = \"Avoid use of ENDSELECT\";\n issues.push(issue_1.Issue.atStatement(file, select, message, this.getMetadata().key, this.conf.severity));\n }\n }\n if (this.conf.selectStar) {\n const spaghetti = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n const selects = stru.findAllStatements(Statements.Select);\n selects.push(...stru.findAllStatements(Statements.SelectLoop));\n for (const s of selects) {\n const concat = s.concatTokens().toUpperCase();\n if (concat.startsWith(\"SELECT * \") === false\n && concat.startsWith(\"SELECT SINGLE * \") === false) {\n continue;\n }\n else if (concat.includes(\" INTO CORRESPONDING FIELDS OF \")\n || concat.includes(\" APPENDING CORRESPONDING FIELDS OF \")) {\n continue;\n }\n const columnCount = this.findNumberOfColumns(s, file, spaghetti);\n if (columnCount\n && columnCount <= this.getConfig().starOkayIfFewColumns) {\n continue;\n }\n const message = \"Avoid use of SELECT *\";\n issues.push(issue_1.Issue.atToken(file, s.getFirstToken(), message, this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n findNumberOfColumns(s, file, spaghetti) {\n const dbnames = s.findAllExpressions(Expressions.DatabaseTable);\n if (dbnames.length === 1) {\n const start = dbnames[0].getFirstToken().getStart();\n const scope = spaghetti.lookupPosition(start, file.getFilename());\n const name = scope === null || scope === void 0 ? void 0 : scope.findTableReference(start);\n const tabl = this.reg.getObject(\"TABL\", name);\n const parsed = tabl === null || tabl === void 0 ? void 0 : tabl.parseType(this.reg);\n if (parsed instanceof structure_type_1.StructureType) {\n return parsed.getComponents().length;\n }\n }\n return undefined;\n }\n}\nexports.SelectPerformance = SelectPerformance;\n//# sourceMappingURL=select_performance.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/select_performance.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/select_single_full_key.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/select_single_full_key.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectSingleFullKey = exports.SelectSingleFullKeyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst __1 = __webpack_require__(/*! .. */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass SelectSingleFullKeyConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.allowPseudo = true;\n }\n}\nexports.SelectSingleFullKeyConf = SelectSingleFullKeyConf;\nclass SelectSingleFullKey {\n constructor() {\n this.conf = new SelectSingleFullKeyConf();\n }\n getMetadata() {\n return {\n key: \"select_single_full_key\",\n title: \"Detect SELECT SINGLE which are possibily not unique\",\n shortDescription: `Detect SELECT SINGLE which are possibily not unique`,\n extendedInformation: `Table definitions must be known, ie. inside the errorNamespace\r\n\r\nIf the statement contains a JOIN it is not checked`,\n pseudoComment: \"EC CI_NOORDER\",\n tags: [],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n if (this.conf === undefined) {\n this.conf = {\n allowPseudo: true,\n };\n }\n if (this.conf.allowPseudo === undefined) {\n this.conf.allowPseudo = true;\n }\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n var _a, _b;\n if (!(obj instanceof __1.ABAPObject)) {\n return [];\n }\n const syntax = new __1.SyntaxLogic(this.reg, obj).run();\n if (syntax.issues.length > 0) {\n return [];\n }\n const issues = [];\n const message = \"SELECT SINGLE possibily not unique\";\n for (const file of obj.getABAPFiles()) {\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const s = statements[i];\n if (!(s.get() instanceof __1.Statements.Select)) {\n continue;\n }\n else if (s.findFirstExpression(__1.Expressions.SQLJoin)) {\n continue;\n }\n else if (s.findTokenSequencePosition(\"SELECT\", \"SINGLE\") === undefined) {\n continue;\n }\n const databaseTable = s.findFirstExpression(__1.Expressions.DatabaseTable);\n if (databaseTable === undefined) {\n continue;\n }\n const next = statements[i + 1];\n if ((next === null || next === void 0 ? void 0 : next.get()) instanceof __1.Comment\n && next.concatTokens().includes(this.getMetadata().pseudoComment + \"\")) {\n if (this.getConfig().allowPseudo !== true) {\n issues.push(issue_1.Issue.atStatement(file, s, \"Pseudo comment not allowed\", this.getMetadata().key, this.getConfig().severity));\n }\n continue;\n }\n const tabl = this.findReference(databaseTable.getFirstToken().getStart(), syntax.spaghetti, file);\n const table = this.reg.getObject(\"TABL\", tabl);\n if (table === undefined) {\n continue;\n }\n const keys = table.listKeys(this.reg);\n const cond = s.findFirstExpression(__1.Expressions.SQLCond);\n const set = new Set();\n for (const key of keys) {\n if (key === \"MANDT\") {\n // todo, it should check for the correct type instead\n continue;\n }\n set.add(key);\n }\n for (const compare of (cond === null || cond === void 0 ? void 0 : cond.findAllExpressionsRecursive(__1.Expressions.SQLCompare)) || []) {\n if (compare.getChildren().length === 3) {\n const fname = (_a = compare.findDirectExpression(__1.Expressions.SQLFieldName)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\n const operator = (_b = compare.findDirectExpression(__1.Expressions.SQLCompareOperator)) === null || _b === void 0 ? void 0 : _b.concatTokens().toUpperCase();\n if (fname && (operator === \"=\" || operator === \"EQ\")) {\n set.delete(fname);\n }\n }\n }\n if (set.size > 0) {\n issues.push(issue_1.Issue.atStatement(file, s, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n findReference(position, spaghetti, file) {\n const scope = spaghetti.lookupPosition(position, file.getFilename());\n return scope === null || scope === void 0 ? void 0 : scope.findTableReference(position);\n }\n}\nexports.SelectSingleFullKey = SelectSingleFullKey;\n//# sourceMappingURL=select_single_full_key.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/select_single_full_key.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/selection_screen_naming.js": +/*!********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/selection_screen_naming.js ***! + \********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SelectionScreenNaming = exports.SelectionScreenNamingConf = void 0;\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _naming_rule_config_1 = __webpack_require__(/*! ./_naming_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_naming_rule_config.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst name_validator_1 = __webpack_require__(/*! ../utils/name_validator */ \"./node_modules/@abaplint/core/build/src/utils/name_validator.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass SelectionScreenNamingConf extends _naming_rule_config_1.NamingRuleConfig {\n constructor() {\n super(...arguments);\n /** The pattern for selection-screen parameters */\n this.parameter = \"^P_.+$\";\n /** The pattern for selection-screen select-options */\n this.selectOption = \"^S_.+$\";\n /** The pattern for selection-screen screen elements */\n this.screenElement = \"^SC_.+$\";\n }\n}\nexports.SelectionScreenNamingConf = SelectionScreenNamingConf;\nclass SelectionScreenNaming extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SelectionScreenNamingConf();\n }\n getMetadata() {\n return {\n key: \"selection_screen_naming\",\n title: \"Selection screen naming conventions\",\n shortDescription: `Allows you to enforce a pattern, such as a prefix, for selection-screen variable names.`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getDescription(expected, actual) {\n return this.conf.patternKind === \"required\" ?\n `Selection-Screen variable name does not match pattern ${expected}: ${actual}` :\n `Selection-Screen variable name must not match pattern ${expected}: ${actual}`;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n if (this.conf.patternKind === undefined) {\n this.conf.patternKind = \"required\";\n }\n let parameterCheckDisabled = false;\n let selectOptionDisabled = false;\n let screenElementDisabled = false;\n if (this.conf.parameter === undefined || this.conf.parameter.length === 0) {\n parameterCheckDisabled = true;\n }\n if (this.conf.selectOption === undefined || this.conf.selectOption.length === 0) {\n selectOptionDisabled = true;\n }\n if (this.conf.screenElement === undefined || this.conf.screenElement.length === 0) {\n screenElementDisabled = true;\n }\n for (const stat of file.getStatements()) {\n if ((stat.get() instanceof statements_1.Parameter && !parameterCheckDisabled)\n || (stat.get() instanceof statements_1.SelectOption && !selectOptionDisabled)\n || (stat.get() instanceof statements_1.SelectionScreen && !screenElementDisabled)) {\n const fieldNode = this.getFieldForStatementNode(stat);\n const regex = new RegExp(this.getPatternForStatement(stat.get()), \"i\");\n if (fieldNode && name_validator_1.NameValidator.violatesRule(fieldNode.getFirstToken().getStr(), regex, this.conf)) {\n issues.push(issue_1.Issue.atToken(file, fieldNode.getFirstToken(), this.getDescription(this.getPatternForStatement(stat.get()), fieldNode.getFirstToken().getStr()), this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n getPatternForStatement(statement) {\n let pattern = \"\";\n if (statement instanceof statements_1.Parameter) {\n pattern = this.conf.parameter;\n }\n else if (statement instanceof statements_1.SelectOption) {\n pattern = this.conf.selectOption;\n }\n else if (statement instanceof statements_1.SelectionScreen) {\n pattern = this.conf.screenElement;\n }\n return pattern;\n }\n getFieldForStatementNode(statNode) {\n if (statNode.get() instanceof statements_1.Parameter) {\n return statNode.findFirstExpression(expressions_1.FieldSub);\n }\n else if (statNode.get() instanceof statements_1.SelectOption) {\n return statNode.findFirstExpression(expressions_1.FieldSub);\n }\n else if (statNode.get() instanceof statements_1.SelectionScreen) {\n return statNode.findFirstExpression(expressions_1.InlineField);\n }\n else {\n return undefined;\n }\n }\n}\nexports.SelectionScreenNaming = SelectionScreenNaming;\n//# sourceMappingURL=selection_screen_naming.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/selection_screen_naming.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/sequential_blank.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/sequential_blank.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SequentialBlank = exports.SequentialBlankConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass SequentialBlankConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** An equal or higher number of sequential blank lines will trigger a violation.\n * Example: if lines = 3, a maximum of 2 is allowed.\n */\n this.lines = 4;\n }\n}\nexports.SequentialBlankConf = SequentialBlankConf;\nclass SequentialBlank extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SequentialBlankConf();\n }\n static isBlankOrWhitespace(line) {\n return /^\\s*$/.test(line);\n }\n getMetadata() {\n return {\n key: \"sequential_blank\",\n title: \"Sequential blank lines\",\n shortDescription: `Checks that code does not contain more than the configured number of blank lines in a row.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Remove sequential blank lines\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const rows = file.getRawRows();\n let blanks = 0;\n for (let i = 0; i < rows.length; i++) {\n if (SequentialBlank.isBlankOrWhitespace(rows[i])) {\n blanks++;\n }\n else {\n blanks = 0;\n }\n if (blanks === this.conf.lines) {\n let blankCounter = 1;\n while (i + blankCounter < rows.length && SequentialBlank.isBlankOrWhitespace(rows[i + blankCounter])) {\n ++blankCounter;\n }\n const reportPos = new position_1.Position(i + 1, 1);\n // fix has to start at end of previous row for it to properly delete the first row\n const startPos = new position_1.Position(i, rows[i].length + 1);\n const endPos = new position_1.Position(i + blankCounter, rows[i + blankCounter - 1].length + 1);\n const fix = edit_helper_1.EditHelper.deleteRange(file, startPos, endPos);\n const issue = issue_1.Issue.atPosition(file, reportPos, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.SequentialBlank = SequentialBlank;\n//# sourceMappingURL=sequential_blank.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/sequential_blank.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/short_case.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/short_case.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ShortCase = exports.ShortCaseConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.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 Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass ShortCaseConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** The smallest number of WHEN branches which will trigger a violation.\n * Example: if length = 1, at least 2 branches are required\n */\n this.length = 1;\n /** List of inputs for CASE which are allowed\n * @uniqueItems true\n */\n this.allow = [];\n }\n}\nexports.ShortCaseConf = ShortCaseConf;\nclass ShortCase extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new ShortCaseConf();\n }\n getMetadata() {\n return {\n key: \"short_case\",\n title: \"Short CASE\",\n shortDescription: `Checks for CASE statements which have fewer than the specified number of branches`,\n extendedInformation: `Short CASE constructs can be changed to IF`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: \"CASE moo.\\nWHEN 'X'.\\nENDCASE.\",\n goodExample: \"IF moo = 'X'.\\nENDIF.\",\n };\n }\n getMessage() {\n return \"CASE construct too short, it must have a minimum of \" + (this.conf.length + 1) + \" WHEN branches\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n for (const c of struc.findAllStructures(Structures.Case)) {\n const clist = c.findDirectStatements(Statements.Case);\n if (clist.length > 0 && this.conf.allow && this.conf.allow.find((e) => { return e === clist[0].getTokens()[1].getStr(); })) {\n continue;\n }\n if (c.findDirectStructures(Structures.When).length <= this.conf.length) {\n if (c.findAllExpressions(Expressions.Or).length > 0) {\n continue;\n }\n const issue = issue_1.Issue.atToken(file, c.getFirstToken(), this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.ShortCase = ShortCase;\n//# sourceMappingURL=short_case.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/short_case.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/sicf_consistency.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/sicf_consistency.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SICFConsistency = exports.SICFConsistencyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.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\");\nclass SICFConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** skip specific names, case insensitive\n * @uniqueItems true\n */\n this.skipNames = [];\n }\n}\nexports.SICFConsistencyConf = SICFConsistencyConf;\nclass SICFConsistency {\n constructor() {\n this.conf = new SICFConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"sicf_consistency\",\n title: \"SICF consistency\",\n shortDescription: `Checks the validity of ICF services`,\n extendedInformation: `* Class defined in handler must exist\r\n* Class must not have any syntax errors\r\n* Class must implement interface IF_HTTP_EXTENSION`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.skipNames === undefined) {\n this.conf.skipNames = [];\n }\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n const issues = [];\n if (!(obj instanceof objects_1.ICFService)) {\n return [];\n }\n const handlers = obj.getHandlerList();\n if (handlers === undefined) {\n return [];\n }\n for (const h of handlers) {\n const clas = this.reg.getObject(\"CLAS\", h);\n if (clas === undefined) {\n if (this.conf.skipNames && this.conf.skipNames.some((a) => a.toUpperCase() === h.toUpperCase())) {\n continue;\n }\n const pattern = new RegExp(this.reg.getConfig().getSyntaxSetttings().errorNamespace, \"i\");\n if (pattern.test(h) === true) {\n const message = \"Handler class \" + h + \" not found\";\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], new position_1.Position(1, 1), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n continue;\n }\n const def = clas.getClassDefinition();\n if (def === undefined) {\n const message = \"Syntax error in class \" + h;\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], new position_1.Position(1, 1), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n continue;\n }\n const implementing = this.findImplementing(def);\n if (implementing.findIndex((i) => { return i.name.toUpperCase() === \"IF_HTTP_EXTENSION\"; }) < 0) {\n const message = \"Handler class \" + h + \" must implement IF_HTTP_EXTENSION\";\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], new position_1.Position(1, 1), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n continue;\n }\n }\n return issues;\n }\n ///////////////////////////\n findImplementing(def) {\n let ret = def.interfaces;\n let superName = def.superClassName;\n while (superName !== undefined) {\n const clas = this.reg.getObject(\"CLAS\", superName);\n if (clas === undefined) {\n break;\n }\n const superDef = clas.getClassDefinition();\n if (superDef === undefined) {\n break;\n }\n ret = ret.concat(superDef.interfaces);\n superName = superDef.superClassName;\n }\n return ret;\n }\n}\nexports.SICFConsistency = SICFConsistency;\n//# sourceMappingURL=sicf_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/sicf_consistency.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/slow_parameter_passing.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/slow_parameter_passing.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SlowParameterPassing = exports.SlowParameterPassingConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.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 _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass SlowParameterPassingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SlowParameterPassingConf = SlowParameterPassingConf;\nclass SlowParameterPassing {\n constructor() {\n this.conf = new SlowParameterPassingConf();\n }\n getMetadata() {\n return {\n key: \"slow_parameter_passing\",\n title: \"Slow Parameter Passing\",\n shortDescription: `Detects slow pass by value passing for methods where parameter is not changed`,\n tags: [_irule_1.RuleTag.Performance],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n const issues = [];\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const top = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop();\n const methods = this.listMethodNodes(top);\n for (const m of methods) {\n const vars = m.getData().vars;\n for (const v in vars) {\n const id = vars[v];\n if (id.getMeta().includes(\"pass_by_value\" /* IdentifierMeta.PassByValue */) === false) {\n continue;\n }\n const writes = this.listWritePositions(m, id);\n if (writes.length === 0) {\n const message = \"Parameter \" + id.getName() + \" passed by VALUE but not changed\";\n if (this.reg.isFileDependency(id.getFilename()) === true) {\n continue;\n }\n issues.push(issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n }\n return issues;\n }\n listWritePositions(node, id) {\n var _a, _b;\n const ret = [];\n for (const v of node.getData().references) {\n if (v.referenceType === _reference_1.ReferenceType.DataWriteReference\n && ((_a = v.resolved) === null || _a === void 0 ? void 0 : _a.getFilename()) === id.getFilename()\n && ((_b = v.resolved) === null || _b === void 0 ? void 0 : _b.getStart().equals(id.getStart()))) {\n ret.push(v.position.getStart());\n }\n }\n return ret;\n }\n listMethodNodes(node) {\n const ret = [];\n if (node.getIdentifier().stype === _scope_type_1.ScopeType.Method) {\n ret.push(node);\n }\n else {\n for (const c of node.getChildren()) {\n ret.push(...this.listMethodNodes(c));\n }\n }\n return ret;\n }\n}\nexports.SlowParameterPassing = SlowParameterPassing;\n//# sourceMappingURL=slow_parameter_passing.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/slow_parameter_passing.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/smim_consistency.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/smim_consistency.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SMIMConsistency = exports.SMIMConsistencyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.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\");\nclass SMIMConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SMIMConsistencyConf = SMIMConsistencyConf;\nclass SMIMConsistency {\n constructor() {\n this.conf = new SMIMConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"smim_consistency\",\n title: \"SMIM consistency check\",\n shortDescription: `SMIM consistency check`,\n extendedInformation: \"Check folders exists\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n const issues = [];\n if (!(obj instanceof objects_1.MIMEObject)) {\n return [];\n }\n const base = this.base(obj.getURL() || \"\");\n if (base !== \"\" && this.findFolder(base) === false) {\n const message = `Parent folder \"${base}\" not found`;\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n return issues;\n }\n base(full) {\n const components = full.split(\"/\");\n components.pop();\n return components.join(\"/\");\n }\n findFolder(base) {\n for (const smim of this.reg.getObjectsByType(\"SMIM\")) {\n const mime = smim;\n if (base === mime.getURL() && mime.isFolder() === true) {\n return true;\n }\n }\n return false;\n }\n}\nexports.SMIMConsistency = SMIMConsistency;\n//# sourceMappingURL=smim_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/smim_consistency.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/space_before_colon.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/space_before_colon.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SpaceBeforeColon = exports.SpaceBeforeColonConf = void 0;\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass SpaceBeforeColonConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SpaceBeforeColonConf = SpaceBeforeColonConf;\nclass SpaceBeforeColon extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SpaceBeforeColonConf();\n }\n getMetadata() {\n return {\n key: \"space_before_colon\",\n title: \"Space before colon\",\n shortDescription: `Checks that there are no spaces in front of colons in chained statements.`,\n extendedInformation: `https://docs.abapopenchecks.org/checks/80/`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `DATA : foo TYPE string.`,\n goodExample: `DATA: foo TYPE string.`,\n };\n }\n getMessage() {\n return \"Remove space before colon\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let prev = file.getTokens()[0];\n for (const token of file.getTokens()) {\n if (token.getStr() === \":\" && !prev) {\n const issue = issue_1.Issue.atToken(file, token, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n else if (token.getStr() === \":\"\n && prev.getRow() === token.getRow()\n && prev.getCol() + prev.getStr().length < token.getCol()) {\n const start = new position_1.Position(token.getRow(), prev.getEnd().getCol());\n const end = new position_1.Position(token.getRow(), token.getStart().getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, start, end);\n const issue = issue_1.Issue.atRowRange(file, start.getRow(), start.getCol(), end.getCol(), this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n prev = token;\n }\n return issues;\n }\n}\nexports.SpaceBeforeColon = SpaceBeforeColon;\n//# sourceMappingURL=space_before_colon.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/space_before_colon.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/space_before_dot.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/space_before_dot.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SpaceBeforeDot = exports.SpaceBeforeDotConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\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\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nclass SpaceBeforeDotConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n this.ignoreGlobalDefinition = true;\n this.ignoreExceptions = true;\n }\n}\nexports.SpaceBeforeDotConf = SpaceBeforeDotConf;\nclass SpaceBeforeDot extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SpaceBeforeDotConf();\n }\n getMetadata() {\n return {\n key: \"space_before_dot\",\n title: \"Space before dot\",\n shortDescription: `Checks for extra spaces before dots at the ends of statements`,\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#be-consistent\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#condense-your-code`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: `WRITE bar .`,\n goodExample: `WRITE bar.`,\n };\n }\n getMessage() {\n return \"Remove space before \\\",\\\" or \\\".\\\"\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n let prev = undefined;\n let startRow = 0;\n if (file.getStructure() === undefined) {\n // some parser error exists in file\n return [];\n }\n const ddic = new ddic_1.DDIC(this.reg);\n if (this.conf.ignoreGlobalDefinition) {\n const structure = file.getStructure();\n if (obj instanceof objects_1.Class && structure !== undefined) {\n const endclass = structure.findFirstStatement(Statements.EndClass);\n if (endclass !== undefined) {\n startRow = endclass.getFirstToken().getRow();\n }\n const definition = obj.getClassDefinition();\n if (definition !== undefined && this.conf.ignoreExceptions && ddic.isException(definition, obj)) {\n return [];\n }\n }\n else if (obj instanceof objects_1.Interface && structure !== undefined) {\n const endinterface = structure.findFirstStatement(Statements.EndInterface);\n if (endinterface !== undefined) {\n startRow = endinterface.getFirstToken().getRow();\n }\n }\n }\n for (const t of file.getTokens()) {\n if (t.getRow() < startRow) {\n continue;\n }\n if (prev !== undefined && t instanceof tokens_1.Punctuation && prev.getCol() + prev.getStr().length < t.getCol()) {\n const start = new position_1.Position(t.getStart().getRow(), prev.getEnd().getCol());\n const end = new position_1.Position(t.getStart().getRow(), t.getStart().getCol());\n const fix = edit_helper_1.EditHelper.deleteRange(file, start, end);\n const issue = issue_1.Issue.atRange(file, start, end, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n prev = t;\n }\n return issues;\n }\n}\nexports.SpaceBeforeDot = SpaceBeforeDot;\n//# sourceMappingURL=space_before_dot.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/space_before_dot.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/sql_escape_host_variables.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/sql_escape_host_variables.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLEscapeHostVariables = exports.SQLEscapeHostVariablesConf = void 0;\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 issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass SQLEscapeHostVariablesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SQLEscapeHostVariablesConf = SQLEscapeHostVariablesConf;\nclass SQLEscapeHostVariables extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SQLEscapeHostVariablesConf();\n }\n getMetadata() {\n return {\n key: \"sql_escape_host_variables\",\n title: \"Escape SQL host variables\",\n shortDescription: `Escape SQL host variables, from 740sp05`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-obsolete-language-elements`,\n tags: [_irule_1.RuleTag.Upport, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Syntax],\n badExample: `SELECT * FROM tab INTO TABLE res WHERE field = val.`,\n goodExample: `SELECT * FROM tab INTO TABLE @res WHERE field = @val.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n const type = obj.getType();\n if (type === \"INTF\" || type === \"TYPE\") {\n return [];\n }\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp02\n && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n for (const s of file.getStatements()) {\n if (s.get() instanceof Statements.UpdateDatabase\n || s.get() instanceof Statements.ModifyDatabase\n || s.get() instanceof Statements.Select\n || s.get() instanceof Statements.SelectLoop\n || s.get() instanceof Statements.InsertDatabase\n || s.get() instanceof Statements.DeleteDatabase) {\n for (const o of s.findAllExpressionsMulti([Expressions.SQLSource, Expressions.SQLSourceSimple])) {\n const first = o.getFirstChild();\n if (((first === null || first === void 0 ? void 0 : first.get()) instanceof Expressions.Source && first.getChildren()[0].get() instanceof Expressions.FieldChain)\n || ((first === null || first === void 0 ? void 0 : first.get()) instanceof Expressions.SimpleSource3 && first.getChildren()[0].get() instanceof Expressions.FieldChain)) {\n const message = \"Escape SQL host variables\";\n const firstToken = o.getFirstChild().getFirstToken();\n const fix = edit_helper_1.EditHelper.replaceToken(file, firstToken, \"@\" + (firstToken === null || firstToken === void 0 ? void 0 : firstToken.getStr()));\n const issue = issue_1.Issue.atToken(file, first.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n break;\n }\n }\n for (const o of s.findAllExpressions(Expressions.SQLTarget)) {\n const escaped = o.findDirectTokenByText(\"@\");\n if (escaped !== undefined) {\n continue;\n }\n const message = \"Escape SQL host variables\";\n const firstToken = o.getFirstChild().getFirstToken();\n const fix = edit_helper_1.EditHelper.replaceToken(file, firstToken, \"@\" + (firstToken === null || firstToken === void 0 ? void 0 : firstToken.getStr()));\n const issue = issue_1.Issue.atToken(file, o.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n break;\n }\n }\n }\n return issues;\n }\n}\nexports.SQLEscapeHostVariables = SQLEscapeHostVariables;\n//# sourceMappingURL=sql_escape_host_variables.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/sql_escape_host_variables.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/sql_value_conversion.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/sql_value_conversion.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SQLValueConversion = exports.SQLValueConversionConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.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\");\nclass SQLValueConversionConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SQLValueConversionConf = SQLValueConversionConf;\nclass SQLValueConversion {\n constructor() {\n this.conf = new SQLValueConversionConf();\n }\n getMetadata() {\n return {\n key: \"sql_value_conversion\",\n title: \"Implicit SQL Value Conversion\",\n shortDescription: `Ensure types match when selecting from database`,\n extendedInformation: `\r\n* Integer to CHAR conversion\r\n* Integer to NUMC conversion\r\n* NUMC to Integer conversion\r\n* CHAR to Integer conversion\r\n* Source field longer than database field, CHAR -> CHAR\r\n* Source field longer than database field, NUMC -> NUMC`,\n tags: [],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject) || obj instanceof objects_1.Interface) {\n return [];\n }\n // messages defined in sql_compare.ts\n const issues = this.traverse(new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop());\n return issues;\n }\n traverse(node) {\n const ret = [];\n for (const r of node.getData().sqlConversion) {\n const file = this.reg.getFileByName(node.getIdentifier().filename);\n if (file === undefined) {\n continue;\n }\n ret.push(issue_1.Issue.atToken(file, r.token, r.message, this.getMetadata().key, this.getConfig().severity));\n }\n for (const c of node.getChildren()) {\n ret.push(...this.traverse(c));\n }\n return ret;\n }\n}\nexports.SQLValueConversion = SQLValueConversion;\n//# sourceMappingURL=sql_value_conversion.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/sql_value_conversion.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/start_at_tab.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/start_at_tab.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StartAtTab = exports.StartAtTabConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass StartAtTabConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.StartAtTabConf = StartAtTabConf;\nclass StartAtTab extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new StartAtTabConf();\n }\n getMetadata() {\n return {\n key: \"start_at_tab\",\n title: \"Start at tab\",\n shortDescription: `Checks that statements start at tabstops.`,\n extendedInformation: `Reports max 100 issues per file\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#indent-and-snap-to-tab`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: ` WRITE a.`,\n goodExample: ` WRITE a.`,\n };\n }\n getMessage() {\n return \"Start statement at tab position\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let inType = false;\n let previous = undefined;\n const raw = file.getRawRows();\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n else if (statement.get() instanceof statements_1.TypeBegin) {\n inType = true;\n }\n else if (statement.get() instanceof statements_1.TypeEnd) {\n inType = false;\n }\n else if (inType) {\n continue;\n }\n const pos = statement.getStart();\n if (previous !== undefined && pos.getRow() === previous.getRow()) {\n continue;\n }\n // just skip rows that contains tabs, this will be reported by the contains_tab rule\n if ((pos.getCol() - 1) % 2 !== 0 && raw[pos.getRow() - 1].includes(\"\\t\") === false) {\n const issue = issue_1.Issue.atPosition(file, pos, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n if (issues.length >= 100) {\n return issues; // only max 100 issues perfile\n }\n }\n previous = pos;\n }\n return issues;\n }\n}\nexports.StartAtTab = StartAtTab;\n//# sourceMappingURL=start_at_tab.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/start_at_tab.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/static_call_via_instance.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/static_call_via_instance.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StaticCallViaInstance = exports.StaticCallViaInstanceConf = void 0;\n/* eslint-disable max-len */\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.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 StaticCallViaInstanceConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allow in test class includes */\n this.allowInTestclassIncludes = false;\n }\n}\nexports.StaticCallViaInstanceConf = StaticCallViaInstanceConf;\nclass StaticCallViaInstance extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new StaticCallViaInstanceConf();\n }\n getMetadata() {\n return {\n key: \"static_call_via_instance\",\n title: \"Static call via instance variable\",\n shortDescription: `Static method call via instance variable`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-call-static-methods-through-instance-variables`,\n tags: [_irule_1.RuleTag.Styleguide],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n if (this.getConfig().allowInTestclassIncludes === true && file.getFilename().includes(\".testclasses.\")) {\n return [];\n }\n const staticMethodCalls = this.listMethodCalls(file.getFilename(), new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti.getTop());\n const tokens = file.getTokens();\n for (let i = 0; i < tokens.length - 1; i++) {\n const token = tokens[i];\n if (token.getStr() !== \"->\") {\n continue;\n }\n const next = tokens[i + 1];\n for (const s of staticMethodCalls) {\n if (s.equals(next.getStart())) {\n const message = \"Avoid calling static method via instance\";\n issues.push(issue_1.Issue.atToken(file, token, message, this.getMetadata().key));\n break;\n }\n }\n }\n return issues;\n }\n listMethodCalls(filename, node) {\n const ret = [];\n for (const r of node.getData().references) {\n if (r.referenceType !== _reference_1.ReferenceType.MethodReference || r.position.getFilename() !== filename) {\n continue;\n }\n if (r.resolved instanceof types_1.MethodDefinition && r.resolved.isStatic() === true) {\n ret.push(r.position.getStart());\n }\n }\n for (const child of node.getChildren()) {\n ret.push(...this.listMethodCalls(filename, child));\n }\n return ret;\n }\n}\nexports.StaticCallViaInstance = StaticCallViaInstance;\n//# sourceMappingURL=static_call_via_instance.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/static_call_via_instance.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/strict_sql.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/strict_sql.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.StrictSQL = exports.StrictSQLConf = void 0;\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 issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass StrictSQLConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.StrictSQLConf = StrictSQLConf;\nclass StrictSQL extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new StrictSQLConf();\n }\n getMetadata() {\n return {\n key: \"strict_sql\",\n title: \"Strict SQL\",\n shortDescription: `Strict SQL`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-US/abapinto_clause.htm\r\n\r\nhttps://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abenopensql_strict_mode_750.htm\r\n\r\nAlso see separate rule sql_escape_host_variables\r\n\r\nActivates from v750 and up`,\n tags: [_irule_1.RuleTag.Upport, _irule_1.RuleTag.Quickfix],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n const type = obj.getType();\n if (type === \"INTF\" || type === \"TYPE\") {\n return [];\n }\n if (this.reg.getConfig().getVersion() < version_1.Version.v750\n && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n for (const s of file.getStatements()) {\n if (s.get() instanceof Statements.Select\n || s.get() instanceof Statements.SelectLoop) {\n const expr = s.findDirectExpression(Expressions.Select);\n const where = expr === null || expr === void 0 ? void 0 : expr.findDirectExpression(Expressions.SQLCond);\n const order = expr === null || expr === void 0 ? void 0 : expr.findDirectExpression(Expressions.SQLOrderBy);\n const into = (expr === null || expr === void 0 ? void 0 : expr.findDirectExpression(Expressions.SQLIntoStructure))\n || (expr === null || expr === void 0 ? void 0 : expr.findDirectExpression(Expressions.SQLIntoTable));\n if (into === undefined || where === undefined) {\n continue;\n }\n else if (where.getFirstToken().getStart().isBefore(into.getFirstToken().getStart())) {\n continue;\n }\n const fix1 = edit_helper_1.EditHelper.deleteRange(file, into.getFirstToken().getStart(), into.getLastToken().getEnd());\n let last = where.getLastToken();\n if (order && order.getLastToken().getEnd().isAfter(last.getEnd())) {\n last = order.getLastToken();\n }\n const fix2 = edit_helper_1.EditHelper.insertAt(file, last.getEnd(), \" \" + into.concatTokens());\n const fix = edit_helper_1.EditHelper.merge(fix2, fix1);\n const message = \"INTO/APPENDING must be last in strict SQL\";\n const issue = issue_1.Issue.atToken(file, s.getFirstToken(), message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.StrictSQL = StrictSQL;\n//# sourceMappingURL=strict_sql.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/strict_sql.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/superclass_final.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/superclass_final.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SuperclassFinal = exports.SuperclassFinalConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass SuperclassFinalConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SuperclassFinalConf = SuperclassFinalConf;\nclass SuperclassFinal extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SuperclassFinalConf();\n }\n getMetadata() {\n return {\n key: \"superclass_final\",\n title: \"Super class final\",\n shortDescription: `Checks that classes which are inherited from are not declared as FINAL.`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getMessage() {\n return \"Superclasses cannot be FINAL\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const output = [];\n for (const definition of file.getInfo().listClassDefinitions()) {\n const sup = definition.superClassName;\n if (sup === undefined) {\n continue;\n }\n let localLookup = true;\n if (obj instanceof Objects.Class && file.getFilename().match(/\\.clas\\.abap$/)) {\n localLookup = false;\n }\n let found = undefined;\n if (localLookup) {\n for (const f of obj.getABAPFiles()) {\n found = f.getInfo().getClassDefinitionByName(sup);\n if (found !== undefined) {\n break;\n }\n }\n }\n if (found === undefined) {\n const clas = this.reg.getObject(\"CLAS\", sup);\n if (clas) {\n found = clas.getClassDefinition();\n }\n }\n if (found === undefined) {\n const message = \"Super class \\\"\" + sup + \"\\\" not found\";\n const issue = issue_1.Issue.atIdentifier(definition.identifier, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n continue;\n }\n if (found.isFinal === true) {\n const issue = issue_1.Issue.atIdentifier(definition.identifier, this.getMessage(), this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n return output;\n }\n}\nexports.SuperclassFinal = SuperclassFinal;\n//# sourceMappingURL=superclass_final.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/superclass_final.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/superfluous_value.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/superfluous_value.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SuperfluousValue = exports.SuperfluousValueConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nclass SuperfluousValueConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SuperfluousValueConf = SuperfluousValueConf;\nclass SuperfluousValue extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SuperfluousValueConf();\n }\n getMetadata() {\n return {\n key: \"superfluous_value\",\n title: \"Superfluous VALUE\",\n shortDescription: `Find superfluous VALUE expressions`,\n extendedInformation: `Left hand side is inline, VALUE is inferred, value body is simple, from v740sp02 and up`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `DATA(message_entry) = VALUE #( message_table[ msgno = msgno ] ).`,\n goodExample: `DATA(message_entry) = message_table[ msgno = msgno ].`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b;\n const output = [];\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp02\n && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n const struc = file.getStructure();\n if (struc === undefined) {\n return []; // syntax error\n }\n for (const m of struc.findAllStatements(Statements.Move)) {\n if (((_a = m.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.InlineData)) === undefined) {\n continue;\n }\n const source = m.findDirectExpression(Expressions.Source);\n if (source === undefined) {\n continue;\n }\n const type = (_b = source.findDirectExpression(Expressions.TypeNameOrInfer)) === null || _b === void 0 ? void 0 : _b.concatTokens();\n if (type !== \"#\") {\n continue;\n }\n const body = source.findDirectExpression(Expressions.ValueBody);\n if (body === undefined) {\n continue;\n }\n if (body.getChildren().length === 1) {\n const message = \"Superfluous VALUE expression\";\n const issue = issue_1.Issue.atStatement(file, m, message, this.getMetadata().key, this.conf.severity);\n output.push(issue);\n }\n }\n return output;\n }\n}\nexports.SuperfluousValue = SuperfluousValue;\n//# sourceMappingURL=superfluous_value.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/superfluous_value.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/sy_modification.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/sy_modification.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SyModification = exports.SyModificationConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass SyModificationConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.SyModificationConf = SyModificationConf;\nclass SyModification extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new SyModificationConf();\n }\n getMetadata() {\n return {\n key: \"sy_modification\",\n title: \"Modification of SY fields\",\n shortDescription: `Finds modification of sy fields`,\n extendedInformation: `https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abensystem_fields.htm\r\n\r\nChanges to SY-TVAR* fields are not reported`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `sy-uname = 2.\r\nsy = sy.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a;\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n for (const t of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.Target)) || []) {\n const firstChild = t.getChildren()[0];\n if (firstChild.get() instanceof Expressions.TargetField\n && firstChild.getFirstToken().getStr().toUpperCase() === \"SY\") {\n if (t.concatTokens().toUpperCase().startsWith(\"SY-TVAR\")) {\n continue;\n }\n const message = \"Modification of SY field\";\n const issue = issue_1.Issue.atToken(file, firstChild.getFirstToken(), message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.SyModification = SyModification;\n//# sourceMappingURL=sy_modification.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/sy_modification.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/tabl_enhancement_category.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/tabl_enhancement_category.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TABLEnhancementCategory = exports.TABLEnhancementCategoryConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.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\");\nclass TABLEnhancementCategoryConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.TABLEnhancementCategoryConf = TABLEnhancementCategoryConf;\nclass TABLEnhancementCategory {\n constructor() {\n this.conf = new TABLEnhancementCategoryConf();\n }\n getMetadata() {\n return {\n key: \"tabl_enhancement_category\",\n title: \"TABL enhancement category must be set\",\n shortDescription: `Checks that tables do not have the enhancement category 'not classified'.`,\n extendedInformation: `SAP note 3063227 changes the default to 'Cannot be enhanced'.\r\n\r\nYou may use standard report RS_DDIC_CLASSIFICATION_FINAL for adjustment.`,\n tags: [],\n };\n }\n getDescription(name) {\n return \"TABL enhancement category not classified in \" + name;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n if (!(obj instanceof objects_1.Table)) {\n return [];\n }\n if (obj.getEnhancementCategory() === objects_1.EnhancementCategory.NotClassified) {\n const position = new position_1.Position(1, 1);\n const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, this.getDescription(obj.getName()), this.getMetadata().key, this.conf.severity);\n return [issue];\n }\n return [];\n }\n}\nexports.TABLEnhancementCategory = TABLEnhancementCategory;\n//# sourceMappingURL=tabl_enhancement_category.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/tabl_enhancement_category.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/try_without_catch.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/try_without_catch.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TryWithoutCatch = exports.TryWithoutCatchConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst structures_1 = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass TryWithoutCatchConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.TryWithoutCatchConf = TryWithoutCatchConf;\nclass TryWithoutCatch extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new TryWithoutCatchConf();\n }\n getMetadata() {\n return {\n key: \"try_without_catch\",\n title: \"TRY without CATCH\",\n shortDescription: `Checks for TRY blocks without a CATCH and CLEANUP block`,\n badExample: `TRY.\\n WRITE 'hello world'.\\nENDTRY.`,\n tags: [_irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"A TRY block must have a corresponding CATCH or CLEANUP block.\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n const tries = stru.findAllStructures(structures_1.Try);\n for (const t of tries) {\n const clean = t.findDirectStructures(structures_1.Cleanup);\n const c = t.findDirectStructures(structures_1.Catch);\n if (c.length === 0 && clean.length === 0) {\n const issue = issue_1.Issue.atToken(file, t.getFirstToken(), this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.TryWithoutCatch = TryWithoutCatch;\n//# sourceMappingURL=try_without_catch.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/try_without_catch.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/type_form_parameters.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/type_form_parameters.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypeFormParameters = exports.TypeFormParametersConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass TypeFormParametersConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.TypeFormParametersConf = TypeFormParametersConf;\nclass TypeFormParameters extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new TypeFormParametersConf();\n }\n getMetadata() {\n return {\n key: \"type_form_parameters\",\n title: \"Type FORM parameters\",\n shortDescription: `Checks for untyped FORM parameters`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `FORM foo USING bar.\r\nENDFORM.`,\n goodExample: `FORM foo USING bar TYPE string.\r\nENDFORM.`,\n };\n }\n getDescription(parameterName) {\n return \"Add TYPE for FORM parameter \\\"\" + parameterName + \"\\\"\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const ret = [];\n const stru = file.getStructure();\n if (obj instanceof objects_1.Class || stru === undefined) {\n return ret;\n }\n for (const formparam of stru.findAllExpressions(Expressions.FormParam)) {\n if (formparam.findFirstExpression(Expressions.FormParamType) === undefined) {\n const token = formparam.getFirstToken();\n const issue = issue_1.Issue.atToken(file, token, this.getDescription(token.getStr()), this.getMetadata().key, this.conf.severity);\n ret.push(issue);\n }\n }\n return ret;\n }\n}\nexports.TypeFormParameters = TypeFormParameters;\n//# sourceMappingURL=type_form_parameters.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/type_form_parameters.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/types_naming.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/types_naming.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.TypesNaming = exports.TypesNamingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.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 _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nclass TypesNamingConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** The pattern for TYPES */\n this.pattern = \"^TY_.+$\";\n }\n}\nexports.TypesNamingConf = TypesNamingConf;\nclass TypesNaming extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new TypesNamingConf();\n }\n getMetadata() {\n return {\n key: \"types_naming\",\n title: \"TYPES naming conventions\",\n shortDescription: `Allows you to enforce a pattern for TYPES definitions`,\n extendedInformation: `Does not run for TYPE POOLS`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.SingleFile],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n const testRegex = new RegExp(this.conf.pattern, \"i\");\n let nesting = 0;\n if (obj instanceof objects_1.TypePool) {\n return [];\n }\n for (const stat of file.getStatements()) {\n let expr = undefined;\n if (stat.get() instanceof Statements.Type && nesting === 0) {\n expr = stat.findFirstExpression(Expressions.NamespaceSimpleName);\n }\n else if (stat.get() instanceof Statements.TypeBegin\n || stat.get() instanceof Statements.TypeEnumBegin) {\n if (nesting === 0) {\n expr = stat.findFirstExpression(Expressions.NamespaceSimpleName);\n }\n nesting = nesting + 1;\n }\n else if (stat.get() instanceof Statements.TypeEnd\n || stat.get() instanceof Statements.TypeEnumEnd) {\n nesting = nesting - 1;\n continue;\n }\n else {\n continue;\n }\n if (expr === undefined) {\n continue;\n }\n const token = expr.getFirstToken();\n if (testRegex.exec(token.getStr())) {\n continue;\n }\n else {\n const message = \"Bad TYPES naming, expected \\\"\" + this.conf.pattern + \"\\\", got \\\"\" + token.getStr() + \"\\\"\";\n const issue = issue_1.Issue.atToken(file, token, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.TypesNaming = TypesNaming;\n//# sourceMappingURL=types_naming.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/types_naming.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/uncaught_exception.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/uncaught_exception.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UncaughtException = exports.UncaughtExceptionConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.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 Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst nodes_1 = __webpack_require__(/*! ../abap/nodes */ \"./node_modules/@abaplint/core/build/src/abap/nodes/index.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst ddic_1 = __webpack_require__(/*! ../ddic */ \"./node_modules/@abaplint/core/build/src/ddic.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.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 UncaughtExceptionConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UncaughtExceptionConf = UncaughtExceptionConf;\nclass UncaughtException extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UncaughtExceptionConf();\n this.issues = [];\n }\n getMetadata() {\n return {\n key: \"uncaught_exception\",\n title: \"Uncaught Exception\",\n shortDescription: `Checks for uncaught static exception`,\n extendedInformation: `Does not report any issues if the code contains syntax errors`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n initialize(reg) {\n super.initialize(reg);\n this.findGlobalExceptions();\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n if (obj.getType() === \"INTF\") { // nothing can be raised in interfaces\n return [];\n }\n if (obj instanceof objects_1.Program && obj.isInclude() === true) {\n return [];\n }\n const stru = file.getStructure();\n if (stru === undefined) {\n return [];\n }\n this.findLocalExceptions(obj);\n this.syntax = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (this.syntax.issues.length > 0) {\n return [];\n }\n this.issues = [];\n this.sinked = undefined;\n for (const c of stru.getChildren()) {\n this.traverse(c, file);\n }\n return this.issues;\n }\n traverse(n, file) {\n var _a;\n const get = n.get();\n if (get instanceof Structures.ClassDefinition\n || get instanceof Structures.Interface) {\n return; // to optimize performance\n }\n if (n instanceof nodes_1.StructureNode) {\n if (get instanceof Structures.Try) {\n // note that TRY-CATCH might be arbitrarily nested\n const previous = this.sinked ? this.sinked.slice() : undefined;\n this.addFromTryStructure(n);\n for (const c of n.getChildren()) {\n this.traverse(c, file);\n }\n this.sinked = previous;\n return;\n }\n else {\n for (const c of n.getChildren()) {\n this.traverse(c, file);\n }\n }\n }\n else if (n instanceof nodes_1.StatementNode) {\n if (get instanceof Statements.MethodImplementation) {\n this.setSinkedFromMethod(n, file);\n }\n else if (get instanceof Statements.EndMethod) {\n this.sinked = undefined; // back to top level\n }\n else if (get instanceof Statements.Form) {\n this.sinked = [];\n const raising = n.findDirectExpression(Expressions.FormRaising);\n for (const c of (raising === null || raising === void 0 ? void 0 : raising.findAllExpressions(Expressions.ClassName)) || []) {\n this.sinked.push(c.concatTokens().toUpperCase());\n }\n }\n else if (get instanceof Statements.EndForm) {\n this.sinked = undefined; // back to top level\n }\n else if (get instanceof Statements.Raise) {\n let name = undefined;\n const concat = n.concatTokens().toUpperCase();\n if (concat.startsWith(\"RAISE EXCEPTION TYPE \")) {\n name = (_a = n.findFirstExpression(Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.getFirstToken().getStr().toUpperCase();\n }\n this.check(name, n, file);\n }\n else if (get instanceof Statements.Perform) {\n // todo, PERFORM, or is this not statically checked?\n }\n else {\n this.checkForMethodCalls(n, file);\n }\n }\n }\n ////////////////////////////////\n check(name, n, file) {\n if (this.isSinked(name) === false) {\n const issue = issue_1.Issue.atStatement(file, n, \"Uncaught exception \" + name, this.getMetadata().key, this.getConfig().severity);\n this.issues.push(issue);\n }\n }\n checkForMethodCalls(n, file) {\n const start = n.getFirstToken().getStart();\n const end = n.getLastToken().getEnd();\n const scope = this.syntax.spaghetti.lookupPosition(start, file.getFilename());\n for (const r of (scope === null || scope === void 0 ? void 0 : scope.getData().references) || []) {\n if (r.referenceType === _reference_1.ReferenceType.MethodReference\n && r.position.getStart().isAfter(start)\n && r.position.getEnd().isBefore(end)\n && r.resolved instanceof types_1.MethodDefinition) {\n for (const name of r.resolved.getRaising()) {\n this.check(name, n, file);\n }\n }\n }\n }\n addFromTryStructure(s) {\n if (this.sinked === undefined) {\n return;\n }\n for (const structure of s.findDirectStructures(Structures.Catch)) {\n const c = structure.findDirectStatement(Statements.Catch);\n if (c === undefined) {\n continue;\n }\n for (const cn of c.findDirectExpressions(Expressions.ClassName)) {\n this.sinked.push(cn.concatTokens());\n }\n }\n }\n setSinkedFromMethod(s, file) {\n this.sinked = [];\n const scope = this.syntax.spaghetti.lookupPosition(s.getLastToken().getEnd(), file.getFilename());\n let def = undefined;\n for (const r of (scope === null || scope === void 0 ? void 0 : scope.getData().references) || []) {\n // there should be only one, so the first is okay\n if (r.referenceType === _reference_1.ReferenceType.MethodImplementationReference\n && r.resolved instanceof types_1.MethodDefinition) {\n def = r.resolved;\n break;\n }\n }\n if (def === undefined) {\n return; // this should not occur, so just report everything as errors\n }\n def.getRaising().forEach(r => { var _a; return (_a = this.sinked) === null || _a === void 0 ? void 0 : _a.push(r); });\n }\n isSinked(name) {\n if (this.sinked === undefined || name === undefined) {\n return true;\n }\n const sup = this.globalExceptions[name.toUpperCase()];\n if (sup === \"CX_DYNAMIC_CHECK\" || sup === \"CX_NO_CHECK\") {\n return true;\n }\n const lsup = this.localExceptions[name.toUpperCase()];\n if (lsup === \"CX_DYNAMIC_CHECK\" || lsup === \"CX_NO_CHECK\") {\n return true;\n }\n return this.sinked.some(a => a.toUpperCase() === name.toUpperCase())\n || (sup !== undefined && this.isSinked(sup) === true)\n || (lsup !== undefined && this.isSinked(lsup) === true);\n }\n findGlobalExceptions() {\n var _a, _b;\n this.globalExceptions = {};\n const ddic = new ddic_1.DDIC(this.reg);\n for (const o of this.reg.getObjects()) {\n if (!(o instanceof objects_1.Class)) {\n continue;\n }\n const def = (_a = o.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().getClassDefinitionByName(o.getName());\n if (def === undefined || ddic.isException(def, o) === false) {\n continue;\n }\n this.globalExceptions[o.getName().toUpperCase()] = (_b = def.superClassName) === null || _b === void 0 ? void 0 : _b.toUpperCase();\n }\n }\n findLocalExceptions(obj) {\n var _a;\n this.localExceptions = {};\n for (const file of obj.getABAPFiles()) {\n for (const def of file.getInfo().listClassDefinitions()) {\n if (def.isLocal === true && def.superClassName !== undefined) {\n this.localExceptions[def.name.toUpperCase()] = (_a = def.superClassName) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n }\n }\n }\n }\n}\nexports.UncaughtException = UncaughtException;\n//# sourceMappingURL=uncaught_exception.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/uncaught_exception.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/unknown_types.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/unknown_types.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnknownTypes = exports.UnknownTypesConf = void 0;\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst BasicTypes = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ \"./node_modules/@abaplint/core/build/src/abap/types/_typed_identifier.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 _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst basic_1 = __webpack_require__(/*! ../abap/types/basic */ \"./node_modules/@abaplint/core/build/src/abap/types/basic/index.js\");\nclass UnknownTypesConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnknownTypesConf = UnknownTypesConf;\nclass UnknownTypes {\n constructor() {\n this.conf = new UnknownTypesConf();\n }\n getMetadata() {\n return {\n key: \"unknown_types\",\n title: \"Unknown types\",\n shortDescription: `Enables check for unknown data types, respects errorNamespace`,\n tags: [_irule_1.RuleTag.Syntax],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n const spaghetti = new syntax_1.SyntaxLogic(this.reg, obj).run().spaghetti;\n const found = this.traverse(spaghetti.getTop());\n return this.removeDuplicates(found);\n }\n /////////////////////\n removeDuplicates(list) {\n const deduplicated = [];\n for (const result of list) {\n let cont = false;\n for (const d of deduplicated) {\n if (result.getStart().equals(d.getStart())) {\n cont = true;\n break;\n }\n }\n if (cont === true) {\n continue;\n }\n deduplicated.push(result);\n }\n return deduplicated;\n }\n traverse(node) {\n var _a;\n const ret = [];\n const nodeData = node.getData();\n for (const r of nodeData.references) {\n if (r.referenceType === _reference_1.ReferenceType.ObjectOrientedUnknownReference && ((_a = r.extra) === null || _a === void 0 ? void 0 : _a.ooName)) {\n const message = r.extra.ooName + \" unknown\";\n ret.push(issue_1.Issue.atIdentifier(r.position, message, this.getMetadata().key, this.conf.severity));\n }\n if (r.referenceType === _reference_1.ReferenceType.TypeReference\n && r.resolved instanceof _typed_identifier_1.TypedIdentifier\n && r.resolved.getType() instanceof basic_1.UnknownType) {\n const message = r.resolved.getType().getError();\n ret.push(issue_1.Issue.atIdentifier(r.position, message, this.getMetadata().key, this.conf.severity));\n }\n }\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.ClassImplementation) {\n const vars = nodeData.vars;\n for (const name in vars) {\n const identifier = vars[name];\n const found = this.containsUnknown(identifier.getType());\n if (found) {\n const message = \"Variable \\\"\" + name + \"\\\" contains unknown: \" + found;\n ret.push(issue_1.Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity));\n }\n }\n const types = nodeData.types;\n for (const name in types) {\n const identifier = types[name];\n const found = this.containsUnknown(identifier.getType());\n if (found) {\n const message = \"Type \\\"\" + name + \"\\\" contains unknown: \" + found;\n ret.push(issue_1.Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity));\n }\n }\n }\n for (const v of nodeData.idefs) {\n const found = this.checkParameters(v);\n if (found) {\n const message = \"Contains unknown, \" + found.found;\n ret.push(issue_1.Issue.atIdentifier(found.id, message, this.getMetadata().key, this.conf.severity));\n }\n }\n for (const name in nodeData.cdefs) {\n const v = nodeData.cdefs[name];\n const found = this.checkParameters(v);\n if (found) {\n const message = \"Contains unknown, \" + found.found;\n ret.push(issue_1.Issue.atIdentifier(found.id, message, this.getMetadata().key, this.conf.severity));\n }\n }\n for (const n of node.getChildren()) {\n ret.push(...this.traverse(n));\n }\n return ret;\n }\n checkParameters(idef) {\n var _a;\n for (const m of ((_a = idef.getMethodDefinitions()) === null || _a === void 0 ? void 0 : _a.getAll()) || []) {\n for (const p of m.getParameters().getAll()) {\n const found = this.containsUnknown(p.getType());\n if (found) {\n return { id: p, found };\n }\n }\n }\n for (const e of idef.getEvents() || []) {\n for (const p of e.getParameters()) {\n const found = this.containsUnknown(p.getType());\n if (found) {\n return { id: p, found };\n }\n }\n }\n return undefined;\n }\n containsUnknown(type) {\n if (type instanceof BasicTypes.UnknownType) {\n return type.getError();\n }\n else if (type instanceof BasicTypes.StructureType) {\n for (const c of type.getComponents()) {\n const found = this.containsUnknown(c.type instanceof _typed_identifier_1.TypedIdentifier ? c.type.getType() : c.type);\n if (found) {\n return found;\n }\n }\n }\n else if (type instanceof BasicTypes.TableType) {\n return this.containsUnknown(type.getRowType());\n }\n return undefined;\n }\n}\nexports.UnknownTypes = UnknownTypes;\n//# sourceMappingURL=unknown_types.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/unknown_types.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/unnecessary_chaining.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/unnecessary_chaining.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnnecessaryChaining = exports.UnnecessaryChainingConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass UnnecessaryChainingConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnnecessaryChainingConf = UnnecessaryChainingConf;\nclass UnnecessaryChaining extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UnnecessaryChainingConf();\n }\n getMetadata() {\n return {\n key: \"unnecessary_chaining\",\n title: \"Unnecessary Chaining\",\n shortDescription: `Find unnecessary chaining, all statements are checked`,\n extendedInformation: ``,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `WRITE: bar.`,\n goodExample: `WRITE bar.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const colon = statements[i].getColon();\n if (colon === undefined) {\n continue;\n }\n let j = 1;\n let nextStatement = statements[i + j];\n while ((nextStatement === null || nextStatement === void 0 ? void 0 : nextStatement.get()) instanceof _statement_1.Comment) {\n j++;\n nextStatement = statements[i + j];\n }\n j = 1;\n let prevStatement = statements[i - j];\n while ((prevStatement === null || prevStatement === void 0 ? void 0 : prevStatement.get()) instanceof _statement_1.Comment) {\n j--;\n prevStatement = statements[i - j];\n }\n const next = nextStatement === null || nextStatement === void 0 ? void 0 : nextStatement.getColon();\n const prev = prevStatement === null || prevStatement === void 0 ? void 0 : prevStatement.getColon();\n if (next !== undefined && colon.getStart().equals(next.getStart())) {\n continue;\n }\n else if (prev !== undefined && colon.getStart().equals(prev.getStart())) {\n continue;\n }\n const fix = edit_helper_1.EditHelper.deleteRange(file, colon.getStart(), colon.getEnd());\n const message = \"Unnecessary chaining\";\n const issue = issue_1.Issue.atToken(file, colon, message, this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n return issues;\n }\n}\nexports.UnnecessaryChaining = UnnecessaryChaining;\n//# sourceMappingURL=unnecessary_chaining.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/unnecessary_chaining.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/unnecessary_pragma.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/unnecessary_pragma.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnnecessaryPragma = exports.UnnecessaryPragmaConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.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 _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass UnnecessaryPragmaConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** Allow NO_TEXT in global CLAS and INTF definitions,\n its added automatically by SE24 in some cases where it should not */\n this.allowNoTextGlobal = false;\n }\n}\nexports.UnnecessaryPragmaConf = UnnecessaryPragmaConf;\nclass UnnecessaryPragma extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UnnecessaryPragmaConf();\n }\n getMetadata() {\n return {\n key: \"unnecessary_pragma\",\n title: \"Unnecessary Pragma\",\n shortDescription: `Finds pragmas which can be removed`,\n extendedInformation: `* NO_HANDLER with handler\r\n\r\n* NEEDED without definition\r\n\r\n* NO_TEXT without texts\r\n\r\n* SUBRC_OK where sy-subrc is checked`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `TRY.\r\n ...\r\n CATCH zcx_abapgit_exception ##NO_HANDLER.\r\n RETURN. \" it has a handler\r\nENDTRY.\r\nMESSAGE w125(zbar) WITH c_foo INTO message ##NEEDED ##NO_TEXT.\r\nSELECT SINGLE * FROM tadir INTO @DATA(sdfs) ##SUBRC_OK.\r\nIF sy-subrc <> 0.\r\nENDIF.`,\n goodExample: `TRY.\r\n ...\r\n CATCH zcx_abapgit_exception.\r\n RETURN.\r\nENDTRY.\r\nMESSAGE w125(zbar) WITH c_foo INTO message.\r\nSELECT SINGLE * FROM tadir INTO @DATA(sdfs).\r\nIF sy-subrc <> 0.\r\nENDIF.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n let noHandler = false;\n let globalDefinition = false;\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const statement = statements[i];\n const nextStatement = statements[i + 1];\n if (statement.get() instanceof Statements.EndTry) {\n noHandler = false;\n }\n else if (statement.get() instanceof Statements.ClassDefinition\n || statement.get() instanceof Statements.Interface) {\n if (statement.findDirectExpression(Expressions.ClassGlobal)) {\n globalDefinition = true;\n }\n }\n else if (statement.get() instanceof Statements.EndClass\n || statement.get() instanceof Statements.EndInterface) {\n globalDefinition = false;\n }\n else if (statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n else if (noHandler === true && !(statement.get() instanceof Statements.Catch)) {\n const message = \"NO_HANDLER pragma or pseudo comment can be removed\";\n const issue = issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n noHandler = false;\n }\n else {\n noHandler = this.containsNoHandler(statement, statements[i + 1]);\n }\n if (this.getConfig().allowNoTextGlobal === true && globalDefinition === true) {\n // skip\n }\n else {\n issues.push(...this.checkText(statement, file));\n }\n issues.push(...this.checkNeeded(statement, file));\n if (globalDefinition === false) {\n issues.push(...this.checkSubrc(statement, nextStatement, file));\n }\n }\n return issues;\n }\n checkText(statement, file) {\n const p = statement.getPragmas().find(t => t.getStr().toUpperCase() === \"##NO_TEXT\");\n if (p === undefined) {\n return [];\n }\n if (statement.findFirstExpression(Expressions.ConstantString) === undefined\n && statement.findFirstExpression(Expressions.StringTemplate) === undefined) {\n const message = \"There is no text, NO_TEXT can be removed\";\n return [issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.getConfig().severity)];\n }\n return [];\n }\n checkSubrc(statement, next, file) {\n const p = statement.getPragmas().find(t => t.getStr().toUpperCase() === \"##SUBRC_OK\");\n if (p === undefined) {\n return [];\n }\n const concat = next.concatTokens().toUpperCase();\n if (concat.includes(\" SY-SUBRC\")) {\n const message = \"SUBRC_OK can be removed as sy-subrc is checked\";\n return [issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.getConfig().severity)];\n }\n return [];\n }\n checkNeeded(statement, file) {\n const p = statement.getPragmas().find(t => t.getStr().toUpperCase() === \"##NEEDED\");\n if (p === undefined) {\n return [];\n }\n if (statement.findFirstExpression(Expressions.InlineData) === undefined\n && !(statement.get() instanceof Statements.Parameter)\n && !(statement.get() instanceof Statements.Data)\n && !(statement.get() instanceof Statements.DataEnd)\n && !(statement.get() instanceof Statements.Type)\n && !(statement.get() instanceof Statements.Form)\n && !(statement.get() instanceof Statements.Tables)\n && !(statement.get() instanceof Statements.TypeEnd)\n && !(statement.get() instanceof Statements.Constant)\n && !(statement.get() instanceof Statements.ConstantEnd)\n && !(statement.get() instanceof Statements.TypeEnum)\n && !(statement.get() instanceof Statements.TypeEnumEnd)\n && !(statement.get() instanceof Statements.MethodImplementation)\n && !(statement.get() instanceof Statements.MethodDef)\n && statement.findFirstExpression(Expressions.InlineFS) === undefined) {\n const message = \"There is no data definition, NEEDED can be removed\";\n return [issue_1.Issue.atToken(file, p, message, this.getMetadata().key, this.getConfig().severity)];\n }\n return [];\n }\n containsNoHandler(statement, next) {\n for (const t of statement.getPragmas()) {\n if (t.getStr().toUpperCase() === \"##NO_HANDLER\") {\n return true;\n }\n }\n if (next\n && next.get() instanceof _statement_1.Comment\n && next.concatTokens().toUpperCase().includes(\"#EC NO_HANDLER\")) {\n return true;\n }\n return false;\n }\n}\nexports.UnnecessaryPragma = UnnecessaryPragma;\n//# sourceMappingURL=unnecessary_pragma.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/unnecessary_pragma.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/unnecessary_return.js": +/*!***************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/unnecessary_return.js ***! + \***************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnnecessaryReturn = exports.UnnecessaryReturnConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass UnnecessaryReturnConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnnecessaryReturnConf = UnnecessaryReturnConf;\nclass UnnecessaryReturn extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UnnecessaryReturnConf();\n }\n getMetadata() {\n return {\n key: \"unnecessary_return\",\n title: \"Unnecessary Return\",\n shortDescription: `Finds unnecessary RETURN statements`,\n extendedInformation: `Finds unnecessary RETURN statements`,\n tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],\n badExample: `FORM hello1.\r\n WRITE 'world'.\r\n RETURN.\r\nENDFORM.`,\n goodExample: `FORM hello2.\r\n WRITE 'world'.\r\nENDFORM.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const structure = file.getStructure();\n if (structure === undefined) {\n return [];\n }\n const statements = file.getStatements();\n for (let i = 0; i < statements.length - 1; i++) {\n const node = statements[i];\n const next = statements[i + 1];\n if (node.get() instanceof Statements.Return\n && (next.get() instanceof Statements.EndMethod\n || next.get() instanceof Statements.EndForm\n || next.get() instanceof Statements.EndFunction)) {\n const message = \"Unnecessary RETURN\";\n const fix = edit_helper_1.EditHelper.deleteStatement(file, node);\n issues.push(issue_1.Issue.atStatement(file, node, message, this.getMetadata().key, this.getConfig().severity, fix));\n }\n }\n return issues;\n }\n}\nexports.UnnecessaryReturn = UnnecessaryReturn;\n//# sourceMappingURL=unnecessary_return.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/unnecessary_return.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/unreachable_code.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/unreachable_code.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnreachableCode = exports.UnreachableCodeConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.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 _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass UnreachableCodeConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnreachableCodeConf = UnreachableCodeConf;\nclass UnreachableCode extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UnreachableCodeConf();\n }\n getMetadata() {\n return {\n key: \"unreachable_code\",\n title: \"Unreachable code\",\n shortDescription: `Checks for unreachable code.`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `RETURN.\\nWRITE 'hello'.`,\n goodExample: `WRITE 'hello'.\\nRETURN.`,\n };\n }\n getMessage() {\n return \"Unreachable code\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const output = [];\n let exit = false;\n for (const node of file.getStatements()) {\n if (node.get() instanceof _statement_1.Comment\n || node.get() instanceof _statement_1.MacroContent\n || node.get() instanceof _statement_1.Empty) {\n continue;\n }\n else if (this.isExit(node)) {\n exit = true;\n continue;\n }\n else if (this.isStructure(node.get())) {\n exit = false;\n continue;\n }\n if (exit === true) {\n const issue = issue_1.Issue.atStatement(file, node, this.getMessage(), this.getMetadata().key, this.conf.severity);\n output.push(issue);\n exit = false;\n }\n }\n return output;\n }\n isExit(n) {\n const s = n.get();\n // todo, RESUMABLE exception\n if (s instanceof Statements.Submit && n.findFirstExpression(Expressions.AndReturn) === undefined) {\n return true;\n }\n else if (s instanceof Statements.Leave && n.findFirstExpression(Expressions.AndReturn) === undefined) {\n const concat = n.concatTokens();\n if (concat.includes(\" TO LIST-PROCESSING\")) {\n return false;\n }\n return true;\n }\n else if (s instanceof Statements.Return\n || s instanceof Statements.Continue\n || s instanceof Statements.Exit\n || s instanceof Statements.Raise) {\n return true;\n }\n return false;\n }\n isStructure(s) {\n if (s instanceof Statements.EndIf\n || s instanceof Statements.Else\n || s instanceof Statements.EndLoop\n || s instanceof Statements.EndTry\n || s instanceof Statements.EndMethod\n || s instanceof Statements.EndModule\n || s instanceof Statements.EndForm\n || s instanceof Statements.EndAt\n || s instanceof Statements.EndSelect\n || s instanceof Statements.AtSelectionScreen\n || s instanceof Statements.EndFunction\n || s instanceof Statements.EndCase\n || s instanceof Statements.EndWhile\n || s instanceof Statements.EndDo\n || s instanceof Statements.Cleanup\n || s instanceof Statements.When\n || s instanceof Statements.WhenOthers\n || s instanceof Statements.WhenType\n || s instanceof Statements.Catch\n || s instanceof Statements.ElseIf) {\n return true;\n }\n return false;\n }\n}\nexports.UnreachableCode = UnreachableCode;\n//# sourceMappingURL=unreachable_code.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/unreachable_code.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/unsecure_fae.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/unsecure_fae.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnsecureFAE = exports.UnsecureFAEConf = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nclass UnsecureFAEConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnsecureFAEConf = UnsecureFAEConf;\nclass UnsecureFAE {\n constructor() {\n this.conf = new UnsecureFAEConf();\n }\n getMetadata() {\n return {\n key: \"unsecure_fae\",\n title: \"Unsecure FAE\",\n shortDescription: `Checks for unsecure FAE`,\n extendedInformation: `Issues from rule check_syntax must be fixed before this rule takes effect`,\n tags: [_irule_1.RuleTag.Experimental, _irule_1.RuleTag.Performance],\n };\n }\n getConfig() {\n return this.conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n var _a;\n const issues = [];\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return issues;\n }\n const syntaxResult = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (syntaxResult.issues.length > 0) {\n return issues;\n }\n for (const f of obj.getABAPFiles()) {\n // todo\n for (const e of ((_a = f.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllExpressions(Expressions.SQLForAllEntries)) || []) {\n const token = e.getFirstToken();\n const message = \"Unsecure FAE\";\n issues.push(issue_1.Issue.atToken(f, token, message, this.getMetadata().key, this.getConfig().severity));\n }\n }\n return issues;\n }\n}\nexports.UnsecureFAE = UnsecureFAE;\n//# sourceMappingURL=unsecure_fae.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/unsecure_fae.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/unused_ddic.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/unused_ddic.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnusedDDIC = exports.UnusedDDICConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nclass UnusedDDICConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnusedDDICConf = UnusedDDICConf;\nclass UnusedDDIC {\n constructor() {\n this.conf = new UnusedDDICConf();\n }\n getMetadata() {\n return {\n key: \"unused_ddic\",\n title: \"Unused DDIC\",\n shortDescription: `Checks the usage of DDIC objects`,\n extendedInformation: `Objects checked: DOMA + DTEL + TABL + TTYP + VIEW`,\n tags: [],\n };\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n run(obj) {\n if (obj instanceof Objects.Domain\n || obj instanceof Objects.TableType\n || obj instanceof Objects.View\n || obj instanceof Objects.Table\n || obj instanceof Objects.DataElement) {\n return this.check(obj);\n }\n return [];\n }\n check(obj) {\n const id = obj.getIdentifier();\n const refs = this.reg.getDDICReferences();\n const list = refs.listWhereUsed(obj);\n if (id && list.length === 0) {\n const message = obj.getType() + \" \" + obj.getName() + \" not statically referenced\";\n return [issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.conf.severity)];\n }\n return [];\n }\n}\nexports.UnusedDDIC = UnusedDDIC;\n//# sourceMappingURL=unused_ddic.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/unused_ddic.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/unused_methods.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/unused_methods.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnusedMethods = exports.UnusedMethodsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.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 _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 _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst visibility_1 = __webpack_require__(/*! ../abap/4_file_information/visibility */ \"./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass UnusedMethodsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UnusedMethodsConf = UnusedMethodsConf;\nclass WorkArea {\n constructor() {\n this.list = [];\n this.list = [];\n }\n push(id) {\n this.list.push(id);\n }\n removeIfExists(id) {\n for (let i = 0; i < this.list.length; i++) {\n if (id.equals(this.list[i].identifier)) {\n this.list.splice(i, 1);\n return;\n }\n }\n }\n containsProteted() {\n for (const m of this.list) {\n if (m.visibility === visibility_1.Visibility.Protected) {\n return true;\n }\n }\n return false;\n }\n getLength() {\n return this.list.length;\n }\n get() {\n return this.list;\n }\n}\n// todo: add possibility to also search public methods\n// todo: for protected methods, also search subclasses\nclass UnusedMethods {\n constructor() {\n this.conf = new UnusedMethodsConf();\n }\n getMetadata() {\n return {\n key: \"unused_methods\",\n title: \"Unused methods\",\n shortDescription: `Checks for unused methods`,\n extendedInformation: `Checks private and protected methods.\r\n\r\nUnused methods are not reported if the object contains parser or syntax errors.\r\n\r\nSkips:\r\n* methods FOR TESTING\r\n* methods SETUP + TEARDOWN + CLASS_SETUP + CLASS_TEARDOWN in testclasses\r\n* class_constructor + constructor methods\r\n* event handlers\r\n* methods that are redefined\r\n* INCLUDEs\r\n`,\n tags: [],\n pragma: \"##CALLED\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n else if (obj instanceof objects_1.Interface) { // todo, how to handle interfaces?\n return [];\n }\n else if (obj instanceof objects_1.Program && obj.isInclude() === true) {\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof _statement_1.Unknown) {\n return []; // contains parser errors\n }\n }\n }\n // dont report anything when there are syntax errors\n const syntax = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (syntax.issues.length > 0) {\n return [];\n }\n this.wa = new WorkArea();\n for (const file of obj.getABAPFiles()) {\n for (const def of file.getInfo().listClassDefinitions()) {\n for (const method of def.methods) {\n if (method.isForTesting === true\n || method.isRedefinition === true\n || method.isEventHandler === true) {\n continue;\n }\n else if (def.isForTesting === true\n && (method.name.toUpperCase() === \"SETUP\"\n || method.name.toUpperCase() === \"CLASS_SETUP\"\n || method.name.toUpperCase() === \"TEARDOWN\"\n || method.name.toUpperCase() === \"CLASS_TEARDOWN\")) {\n continue;\n }\n else if (method.name.toUpperCase() === \"CONSTRUCTOR\"\n || method.name.toUpperCase() === \"CLASS_CONSTRUCTOR\") {\n continue;\n }\n if (method.visibility === visibility_1.Visibility.Private\n || method.visibility === visibility_1.Visibility.Protected) {\n this.wa.push(method);\n }\n }\n }\n }\n this.traverse(syntax.spaghetti.getTop());\n this.searchGlobalSubclasses(obj);\n const issues = [];\n for (const i of this.wa.get()) {\n const file = obj.getABAPFileByName(i.identifier.getFilename());\n if (file === undefined) {\n continue;\n }\n const statement = edit_helper_1.EditHelper.findStatement(i.identifier.getToken(), file);\n if (statement === undefined) {\n continue;\n }\n if (statement.getPragmas().some(t => t.getStr() === this.getMetadata().pragma)) {\n continue;\n }\n const message = \"Method \\\"\" + i.identifier.getName() + \"\\\" not used\";\n issues.push(issue_1.Issue.atIdentifier(i.identifier, message, this.getMetadata().key, this.conf.severity));\n }\n return issues;\n }\n searchGlobalSubclasses(obj) {\n var _a, _b;\n if (this.wa.getLength() === 0\n || !(obj instanceof objects_1.Class)\n || this.wa.containsProteted() === false) {\n return;\n }\n const sup = obj.getDefinition();\n if (sup === undefined) {\n return;\n }\n for (const r of this.reg.getObjects()) {\n if (r instanceof objects_1.Class\n && ((_b = (_a = r.getDefinition()) === null || _a === void 0 ? void 0 : _a.getSuperClass()) === null || _b === void 0 ? void 0 : _b.toUpperCase()) === sup.getName().toUpperCase()) {\n const syntax = new syntax_1.SyntaxLogic(this.reg, r).run();\n this.traverse(syntax.spaghetti.getTop());\n // recurse to sub-sub-* classes\n this.searchGlobalSubclasses(r);\n }\n }\n }\n traverse(node) {\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.BuiltIn) {\n this.checkNode(node);\n }\n for (const c of node.getChildren()) {\n this.traverse(c);\n }\n }\n checkNode(node) {\n for (const v of node.getData().references) {\n if (v.referenceType === _reference_1.ReferenceType.MethodReference && v.resolved) {\n this.wa.removeIfExists(v.resolved);\n }\n }\n }\n}\nexports.UnusedMethods = UnusedMethods;\n//# sourceMappingURL=unused_methods.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/unused_methods.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/unused_types.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/unused_types.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnusedTypes = exports.UnusedTypesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.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 _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass WorkArea {\n constructor() {\n this.workarea = [];\n }\n push(id) {\n for (const w of this.workarea) {\n if (id.equals(w)) {\n return;\n }\n }\n this.workarea.push(id);\n }\n removeIfExists(id) {\n for (let i = 0; i < this.workarea.length; i++) {\n if (id.equals(this.workarea[i])) {\n this.workarea.splice(i, 1);\n return;\n }\n }\n }\n get() {\n return this.workarea;\n }\n count() {\n return this.workarea.length;\n }\n}\nclass UnusedTypesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** skip specific names, case insensitive\n * @uniqueItems true\n */\n this.skipNames = [];\n }\n}\nexports.UnusedTypesConf = UnusedTypesConf;\nclass UnusedTypes {\n constructor() {\n this.conf = new UnusedTypesConf();\n }\n getMetadata() {\n return {\n key: \"unused_types\",\n title: \"Unused types\",\n shortDescription: `Checks for unused TYPE definitions`,\n extendedInformation: `Unused types are not reported if the object contains parser or syntax errors.`,\n tags: [_irule_1.RuleTag.Quickfix],\n pragma: \"##NEEDED\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.skipNames === undefined) {\n this.conf.skipNames = [];\n }\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof _statement_1.Unknown) {\n return []; // contains parser errors\n }\n }\n }\n // dont report unused variables when there are syntax errors\n const syntax = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (syntax.issues.length > 0) {\n return [];\n }\n this.workarea = new WorkArea();\n this.traverse(syntax.spaghetti.getTop(), obj, true);\n this.traverse(syntax.spaghetti.getTop(), obj, false);\n if (this.workarea.count() === 0) {\n return []; // exit early if all types are used in the current object\n }\n for (const o of this.reg.getObjects()) {\n if (o === obj) {\n continue;\n }\n else if (o instanceof _abap_object_1.ABAPObject) {\n if (this.reg.isDependency(o)) {\n continue; // do not search in dependencies\n }\n const syntax = new syntax_1.SyntaxLogic(this.reg, o).run();\n this.traverse(syntax.spaghetti.getTop(), o, false);\n }\n if (this.workarea.count() === 0) {\n return []; // exit early if all types are used\n }\n }\n // what is left is unused\n const ret = [];\n for (const t of this.workarea.get()) {\n const message = \"Type \\\"\" + t.getName() + \"\\\" not used\";\n const file = obj.getABAPFileByName(t.getFilename());\n if (file === undefined) {\n continue;\n }\n const statement = edit_helper_1.EditHelper.findStatement(t.getToken(), file);\n if (statement === undefined) {\n continue;\n }\n if (statement.getPragmas().some(t => t.getStr() === this.getMetadata().pragma)) {\n continue;\n }\n const fix = this.buildFix(file, statement);\n ret.push(issue_1.Issue.atIdentifier(t, message, this.getMetadata().key, this.conf.severity, fix));\n }\n return ret;\n }\n ////////////////////////////\n traverse(node, obj, add) {\n if (node.getIdentifier().stype !== _scope_type_1.ScopeType.BuiltIn) {\n this.checkNode(node, obj, add);\n }\n for (const c of node.getChildren()) {\n this.traverse(c, obj, add);\n }\n }\n checkNode(node, obj, add) {\n const ret = [];\n if (add === true) {\n const types = node.getData().types;\n for (const name in types) {\n const identifier = types[name];\n if (obj.containsFile(identifier.getFilename()) === false) {\n continue;\n }\n else if (this.conf.skipNames\n && this.conf.skipNames.length > 0\n && this.conf.skipNames.some((a) => a.toUpperCase() === name)) {\n continue;\n }\n else if (name !== identifier.getName().toUpperCase()) {\n continue; // may have aliases via interfaces\n }\n this.workarea.push(identifier);\n }\n }\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.TypeReference && r.resolved) {\n this.workarea.removeIfExists(r.resolved);\n }\n }\n return ret;\n }\n buildFix(file, statement) {\n if (statement.concatTokens().toUpperCase().includes(\"BEGIN OF\")) {\n return undefined;\n }\n return edit_helper_1.EditHelper.deleteStatement(file, statement);\n }\n}\nexports.UnusedTypes = UnusedTypes;\n//# sourceMappingURL=unused_types.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/unused_types.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/unused_variables.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/unused_variables.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UnusedVariables = exports.UnusedVariablesConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.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 _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 edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/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 _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js\");\nclass UnusedVariablesConf extends _basic_rule_config_1.BasicRuleConfig {\n constructor() {\n super(...arguments);\n /** skip specific names, case insensitive\n * @uniqueItems true\n */\n this.skipNames = [];\n }\n}\nexports.UnusedVariablesConf = UnusedVariablesConf;\nclass WorkArea {\n constructor() {\n this.workarea = [];\n }\n push(id, count = 1) {\n for (const w of this.workarea) {\n if (id.equals(w.id)) {\n return;\n }\n }\n this.workarea.push({ id, count });\n }\n removeIfExists(id) {\n if (id === undefined) {\n return;\n }\n for (let i = 0; i < this.workarea.length; i++) {\n if (id.equals(this.workarea[i].id)) {\n this.workarea[i].count--;\n if (this.workarea[i].count === 0) {\n this.workarea.splice(i, 1);\n }\n return;\n }\n }\n }\n get() {\n return this.workarea;\n }\n count() {\n return this.workarea.length;\n }\n}\nclass UnusedVariables {\n constructor() {\n this.conf = new UnusedVariablesConf();\n }\n getMetadata() {\n return {\n key: \"unused_variables\",\n title: \"Unused variables\",\n shortDescription: `Checks for unused variables and constants`,\n extendedInformation: `Skips event parameters.\r\n\r\nNote that this currently does not work if the source code uses macros.\r\n\r\nUnused variables are not reported if the object contains parser or syntax errors.\r\n\r\nErrors found in INCLUDES are reported for the main program.`,\n tags: [_irule_1.RuleTag.Quickfix],\n pragma: \"##NEEDED\",\n pseudoComment: \"EC NEEDED\",\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n if (this.conf.skipNames === undefined) {\n this.conf.skipNames = [];\n }\n }\n initialize(reg) {\n this.reg = reg;\n return this;\n }\n run(obj) {\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n else if (obj instanceof objects_1.Interface) { // todo, how to handle interfaces?\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof _statement_1.Unknown) {\n return []; // contains parser errors\n }\n }\n }\n // dont report unused variables when there are syntax errors\n const syntax = new syntax_1.SyntaxLogic(this.reg, obj).run();\n if (syntax.issues.length > 0) {\n return []; // contains syntax errors\n }\n this.workarea = new WorkArea();\n const top = syntax.spaghetti.getTop();\n this.buildWorkarea(top, obj);\n if (this.workarea.count() === 0) {\n return this.buildIssues(obj); // exit early if all variables are used\n }\n this.findUses(top, obj);\n for (const o of this.reg.getObjects()) {\n if (o === obj) {\n continue;\n }\n else if (o instanceof _abap_object_1.ABAPObject) {\n if (this.reg.isDependency(o)) {\n continue; // do not search in dependencies\n }\n const syntax = new syntax_1.SyntaxLogic(this.reg, o).run();\n this.findUses(syntax.spaghetti.getTop(), o);\n if (this.workarea.count() === 0) {\n return this.buildIssues(obj); // exit early if all variables are used\n }\n }\n }\n return this.buildIssues(obj);\n }\n findUses(node, obj) {\n for (const r of node.getData().references) {\n if (r.referenceType === _reference_1.ReferenceType.DataReadReference\n || r.referenceType === _reference_1.ReferenceType.DataWriteReference\n || r.referenceType === _reference_1.ReferenceType.TypeReference) {\n this.workarea.removeIfExists(r.resolved);\n }\n }\n for (const c of node.getChildren()) {\n this.findUses(c, obj);\n }\n }\n buildWorkarea(node, obj) {\n const stype = node.getIdentifier().stype;\n if (stype === _scope_type_1.ScopeType.OpenSQL) {\n return;\n }\n for (const c of node.getChildren()) {\n this.buildWorkarea(c, obj);\n }\n if (stype !== _scope_type_1.ScopeType.BuiltIn) {\n const vars = node.getData().vars;\n for (const name in vars) {\n const meta = vars[name].getMeta();\n if (this.conf.skipNames\n && this.conf.skipNames.length > 0\n && this.conf.skipNames.some((a) => a.toUpperCase() === name)) {\n continue;\n }\n else if (name === \"ME\"\n || name === \"SUPER\"\n || meta.includes(\"selection_screen_tab\" /* IdentifierMeta.SelectionScreenTab */)\n || meta.includes(\"event_parameter\" /* IdentifierMeta.EventParameter */)) {\n // todo, workaround for \"me\" and \"super\", these should somehow be typed to built-in\n continue;\n }\n const isInline = meta.includes(\"inline\" /* IdentifierMeta.InlineDefinition */);\n this.workarea.push(vars[name], isInline ? 2 : 1);\n }\n }\n }\n buildIssues(obj) {\n const ret = [];\n for (const w of this.workarea.get()) {\n const filename = w.id.getFilename();\n if (this.reg.isFileDependency(filename) === true) {\n continue;\n }\n else if (obj instanceof objects_1.Program === false && obj.containsFile(filename) === false) {\n continue;\n }\n const statement = this.findStatement(w.id);\n if (statement === null || statement === void 0 ? void 0 : statement.getPragmas().map(t => t.getStr()).includes(this.getMetadata().pragma + \"\")) {\n continue;\n }\n else if (this.suppressedbyPseudo(statement, w.id, obj)) {\n continue;\n }\n const name = w.id.getName();\n const message = \"Variable \\\"\" + name.toLowerCase() + \"\\\" not used\";\n const fix = this.buildFix(w.id, obj);\n ret.push(issue_1.Issue.atIdentifier(w.id, message, this.getMetadata().key, this.conf.severity, fix));\n }\n return ret;\n }\n suppressedbyPseudo(statement, v, obj) {\n if (statement === undefined) {\n return false;\n }\n const file = obj.getABAPFileByName(v.getFilename());\n if (file === undefined) {\n return false;\n }\n let next = false;\n for (const s of file.getStatements()) {\n if (next === true && s.get() instanceof _statement_1.Comment) {\n return s.concatTokens().includes(this.getMetadata().pseudoComment + \"\");\n }\n if (s === statement) {\n next = true;\n }\n }\n return false;\n }\n findStatement(v) {\n const file = this.reg.getFileByName(v.getFilename());\n if (file === undefined) {\n return undefined;\n }\n const object = this.reg.findObjectForFile(file);\n if (!(object instanceof _abap_object_1.ABAPObject)) {\n return undefined;\n }\n const abapfile = object.getABAPFileByName(v.getFilename());\n if (abapfile === undefined) {\n return undefined;\n }\n const statement = edit_helper_1.EditHelper.findStatement(v.getToken(), abapfile);\n return statement;\n }\n buildFix(v, obj) {\n const file = obj.getABAPFileByName(v.getFilename());\n if (file === undefined) {\n return undefined;\n }\n const statement = edit_helper_1.EditHelper.findStatement(v.getToken(), file);\n if (statement === undefined) {\n return undefined;\n }\n else if (statement.get() instanceof Statements.Data) {\n return edit_helper_1.EditHelper.deleteStatement(file, statement);\n }\n return undefined;\n }\n}\nexports.UnusedVariables = UnusedVariables;\n//# sourceMappingURL=unused_variables.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/unused_variables.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/use_bool_expression.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/use_bool_expression.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UseBoolExpression = exports.UseBoolExpressionConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.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 Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\n// note this rule assumes abap_true and abap_false is used for boolean variables\n// some other rule will in the future find assignments to abap_bool that are not abap_true/abap_false/abap_undefined\nclass UseBoolExpressionConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UseBoolExpressionConf = UseBoolExpressionConf;\nclass UseBoolExpression extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UseBoolExpressionConf();\n }\n getMetadata() {\n return {\n key: \"use_bool_expression\",\n title: \"Use boolean expression\",\n shortDescription: `Use boolean expression, xsdbool from 740sp08 and up, boolc from 702 and up`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-xsdbool-to-set-boolean-variables`,\n tags: [_irule_1.RuleTag.Upport, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n badExample: `IF line IS INITIAL.\r\n has_entries = abap_false.\r\nELSE.\r\n has_entries = abap_true.\r\nENDIF.\r\n\r\nDATA(fsdf) = COND #( WHEN foo <> bar THEN abap_true ELSE abap_false ).`,\n goodExample: `DATA(has_entries) = xsdbool( line IS NOT INITIAL ).\r\n\r\nDATA(fsdf) = xsdbool( foo <> bar ).`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n const issues = [];\n const stru = file.getStructure();\n const version = this.reg.getConfig().getVersion();\n if (stru === undefined || (version < version_1.Version.v702 && version !== version_1.Version.Cloud)) {\n return [];\n }\n for (const i of stru.findAllStructures(Structures.If)) {\n if (i.findDirectStructure(Structures.ElseIf) !== undefined) {\n continue;\n }\n const bodyNodes = (_a = i.findDirectStructure(Structures.Body)) === null || _a === void 0 ? void 0 : _a.findAllStatementNodes();\n if (bodyNodes === undefined || bodyNodes.length !== 1) {\n continue;\n }\n const bodyStatement = bodyNodes[0];\n if (!(bodyStatement.get() instanceof Statements.Move)) {\n continue;\n }\n const elseNodes = (_c = (_b = i.findDirectStructure(Structures.Else)) === null || _b === void 0 ? void 0 : _b.findDirectStructure(Structures.Body)) === null || _c === void 0 ? void 0 : _c.findAllStatementNodes();\n if (elseNodes === undefined || elseNodes.length !== 1) {\n continue;\n }\n const elseStatement = elseNodes[0];\n if (!(elseStatement.get() instanceof Statements.Move)) {\n continue;\n }\n let bodyTarget = (_d = bodyStatement.findFirstExpression(Expressions.Target)) === null || _d === void 0 ? void 0 : _d.concatTokens();\n if (bodyTarget === null || bodyTarget === void 0 ? void 0 : bodyTarget.startsWith(\"DATA(\")) {\n bodyTarget = bodyTarget.substr(5, bodyTarget.length - 6);\n }\n const elseTarget = (_e = elseStatement.findFirstExpression(Expressions.Target)) === null || _e === void 0 ? void 0 : _e.concatTokens();\n if (bodyTarget === undefined\n || elseTarget === undefined\n || bodyTarget.toUpperCase() !== elseTarget.toUpperCase()) {\n continue;\n }\n const bodySource = (_f = bodyStatement.findFirstExpression(Expressions.Source)) === null || _f === void 0 ? void 0 : _f.concatTokens().toUpperCase();\n const elseSource = (_g = elseStatement.findFirstExpression(Expressions.Source)) === null || _g === void 0 ? void 0 : _g.concatTokens().toUpperCase();\n if ((bodySource === \"ABAP_TRUE\" && elseSource === \"ABAP_FALSE\")\n || (bodySource === \"ABAP_FALSE\" && elseSource === \"ABAP_TRUE\")) {\n const func = (this.reg.getConfig().getVersion() >= version_1.Version.v740sp08\n || this.reg.getConfig().getVersion() === version_1.Version.Cloud) ? \"xsdbool\" : \"boolc\";\n const negate = bodySource === \"ABAP_FALSE\";\n const message = `Use ${func} instead of IF` + (negate ? \", negate expression\" : \"\");\n const start = i.getFirstToken().getStart();\n const end = i.getLastToken().getEnd();\n const statement = bodyTarget + \" = \" + func + \"( \" +\n (negate ? \"NOT ( \" : \"\") +\n ((_j = (_h = i.findFirstStatement(Statements.If)) === null || _h === void 0 ? void 0 : _h.findFirstExpression(Expressions.Cond)) === null || _j === void 0 ? void 0 : _j.concatTokens()) +\n (negate ? \" )\" : \"\") +\n \" ).\";\n const fix = edit_helper_1.EditHelper.replaceRange(file, start, end, statement);\n issues.push(issue_1.Issue.atRange(file, start, end, message, this.getMetadata().key, this.conf.severity, fix));\n }\n }\n if (version >= version_1.Version.v740sp08 || version === version_1.Version.Cloud) {\n for (const b of stru.findAllExpressions(Expressions.CondBody)) {\n const concat = b.concatTokens().toUpperCase();\n if (concat.endsWith(\" THEN ABAP_TRUE ELSE ABAP_FALSE\")\n || concat.endsWith(\" THEN ABAP_TRUE\")\n || concat.endsWith(\" THEN ABAP_FALSE ELSE ABAP_TRUE\")) {\n const message = \"Use xsdbool\";\n // eslint-disable-next-line max-len\n issues.push(issue_1.Issue.atRange(file, b.getFirstToken().getStart(), b.getLastToken().getEnd(), message, this.getMetadata().key, this.conf.severity));\n }\n }\n }\n return issues;\n }\n}\nexports.UseBoolExpression = UseBoolExpression;\n//# sourceMappingURL=use_bool_expression.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/use_bool_expression.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/use_class_based_exceptions.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/use_class_based_exceptions.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UseClassBasedExceptions = exports.UseClassBasedExceptionsConf = void 0;\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.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 issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nclass UseClassBasedExceptionsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UseClassBasedExceptionsConf = UseClassBasedExceptionsConf;\nclass UseClassBasedExceptions extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UseClassBasedExceptionsConf();\n }\n getMetadata() {\n return {\n key: \"use_class_based_exceptions\",\n title: \"Use class based exceptions\",\n shortDescription: `Use class based exceptions, checks interface and class definitions`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-class-based-exceptions`,\n tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Use class based exceptions\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n var _a;\n const issues = [];\n for (const s of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllStatements(Statements.MethodDef)) || []) {\n if (s.findDirectExpression(Expressions.MethodDefExceptions)) {\n issues.push(issue_1.Issue.atStatement(file, s, this.getMessage(), this.getMetadata().key));\n }\n }\n return issues;\n }\n}\nexports.UseClassBasedExceptions = UseClassBasedExceptions;\n//# sourceMappingURL=use_class_based_exceptions.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/use_class_based_exceptions.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/use_line_exists.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/use_line_exists.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UseLineExists = exports.UseLineExistsConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.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 _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst version_1 = __webpack_require__(/*! ../version */ \"./node_modules/@abaplint/core/build/src/version.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass UseLineExistsConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UseLineExistsConf = UseLineExistsConf;\nclass UseLineExists extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UseLineExistsConf();\n }\n getMetadata() {\n return {\n key: \"use_line_exists\",\n title: \"Use line_exists\",\n shortDescription: `Use line_exists, from 740sp02 and up`,\n extendedInformation: `\r\nhttps://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-line_exists-to-read-table-or-loop-at\r\n\r\nNot reported if the READ TABLE statement contains BINARY SEARCH.`,\n tags: [_irule_1.RuleTag.Upport, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],\n badExample: `READ TABLE my_table TRANSPORTING NO FIELDS WITH KEY key = 'A'.\r\nIF sy-subrc = 0.\r\nENDIF.`,\n goodExample: `IF line_exists( my_table[ key = 'A' ] ).\r\nENDIF.`,\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n const vers = this.reg.getConfig().getVersion();\n if (vers === version_1.Version.OpenABAP) {\n return [];\n }\n else if (vers < version_1.Version.v740sp02 && vers !== version_1.Version.Cloud) {\n return [];\n }\n const statements = file.getStatements();\n for (let i = 0; i < statements.length; i++) {\n const statement = statements[i];\n if (!(statement.get() instanceof Statements.ReadTable)) {\n continue;\n }\n const concat = statement.concatTokens().toUpperCase();\n if (concat.includes(\" TRANSPORTING NO FIELDS\") === true\n && concat.includes(\" BINARY SEARCH\") === false\n && this.checksSubrc(i, statements) === true\n && this.usesTabix(i, statements) === false) {\n issues.push(issue_1.Issue.atStatement(file, statement, \"Use line_exists\", this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n ///////////////////////\n checksSubrc(index, statements) {\n for (let i = index + 1; i < statements.length; i++) {\n const statement = statements[i];\n if (statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n for (const c of statement.findAllExpressions(Expressions.Cond)) {\n for (const s of c.findAllExpressions(Expressions.Source)) {\n if (s.concatTokens().toUpperCase() === \"SY-SUBRC\") {\n return true;\n }\n }\n }\n return false;\n }\n return false;\n }\n // this is a heuristic, data flow analysis is required to get the correct result\n usesTabix(index, statements) {\n for (let i = index + 1; i < index + 5; i++) {\n const statement = statements[i];\n if (statement === undefined) {\n break;\n }\n else if (statement.get() instanceof _statement_1.Comment) {\n continue;\n }\n else if (statement.concatTokens().toUpperCase().includes(\" SY-TABIX\")) {\n return true;\n }\n }\n return false;\n }\n}\nexports.UseLineExists = UseLineExists;\n//# sourceMappingURL=use_line_exists.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/use_line_exists.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/use_new.js": +/*!****************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/use_new.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.UseNew = exports.UseNewConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.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 _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/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 _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nclass UseNewConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.UseNewConf = UseNewConf;\nclass UseNew extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new UseNewConf();\n }\n getMetadata() {\n return {\n key: \"use_new\",\n title: \"Use NEW\",\n shortDescription: `Checks for deprecated CREATE OBJECT statements.`,\n extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-new-to-create-object\r\n\r\nIf the target variable is referenced in the CREATE OBJECT statement, no errors are issued\r\n\r\nApplicable from v740sp02 and up`,\n badExample: `CREATE OBJECT ref.`,\n goodExample: `ref = NEW #( ).`,\n tags: [_irule_1.RuleTag.Upport, _irule_1.RuleTag.Styleguide, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Use NEW #( ) to instantiate object.\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file, obj) {\n var _a;\n const issues = [];\n if (obj.getType() === \"INTF\") {\n return [];\n }\n if (this.reg.getConfig().getVersion() < version_1.Version.v740sp02 && this.reg.getConfig().getVersion() !== version_1.Version.Cloud) {\n return [];\n }\n for (const statement of file.getStatements()) {\n if (statement.get() instanceof Statements.CreateObject) {\n if (statement.findFirstExpression(expressions_1.Dynamic)) {\n continue;\n }\n else if (statement.findDirectExpression(expressions_1.ParameterListExceptions)) {\n continue;\n }\n else if (statement.findDirectTokenByText(\"AREA\")) {\n continue;\n }\n const target = ((_a = statement.findDirectExpression(expressions_1.Target)) === null || _a === void 0 ? void 0 : _a.concatTokens()) + \"->\";\n if (statement.concatTokens().includes(target)) {\n continue;\n }\n const fix = this.buildFix(file, statement);\n const issue = issue_1.Issue.atPosition(file, statement.getStart(), this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n buildFix(file, statement) {\n var _a, _b;\n const target = (_a = statement.findDirectExpression(Expressions.Target)) === null || _a === void 0 ? void 0 : _a.concatTokens();\n if (target === undefined) {\n return undefined;\n }\n const parameters = statement.findDirectExpression(Expressions.ParameterListS);\n const param = parameters ? parameters.concatTokens() + \" \" : \"\";\n let type = (_b = statement.findDirectExpression(Expressions.ClassName)) === null || _b === void 0 ? void 0 : _b.getFirstToken().getStr();\n if (type === undefined) {\n type = \"#\";\n }\n const string = `${target} = NEW ${type}( ${param}).`;\n return edit_helper_1.EditHelper.replaceRange(file, statement.getStart(), statement.getEnd(), string);\n }\n}\nexports.UseNew = UseNew;\n//# sourceMappingURL=use_new.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/use_new.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/when_others_last.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/when_others_last.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhenOthersLast = exports.WhenOthersLastConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass WhenOthersLastConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.WhenOthersLastConf = WhenOthersLastConf;\nclass WhenOthersLast extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new WhenOthersLastConf();\n }\n getMetadata() {\n return {\n key: \"when_others_last\",\n title: \"WHEN OTHERS last\",\n shortDescription: `Checks that WHEN OTHERS is placed the last within a CASE statement.`,\n tags: [_irule_1.RuleTag.SingleFile],\n badExample: `CASE bar.\r\n WHEN OTHERS.\r\n WHEN 2.\r\nENDCASE.`,\n goodExample: `CASE bar.\r\n WHEN 2.\r\n WHEN OTHERS.\r\nENDCASE.`,\n };\n }\n getMessage() {\n return \"WHEN OTHERS should be the last branch in a CASE statement.\";\n }\n runParsed(file) {\n const issues = [];\n const struc = file.getStructure();\n if (struc === undefined) {\n return [];\n }\n const cases = struc.findAllStructures(Structures.Case);\n for (const c of cases) {\n const whentop = c.findDirectStructures(Structures.When);\n for (let i = 0; i < whentop.length - 1; i++) {\n const whens = whentop[i].findDirectStatements(Statements.When).concat(whentop[i].findDirectStatements(Statements.WhenOthers));\n for (const when of whens) {\n if (when.get() instanceof Statements.WhenOthers) {\n const start = when.getFirstToken().getStart();\n const issue = issue_1.Issue.atPosition(file, start, this.getMessage(), this.getMetadata().key, this.conf.severity);\n issues.push(issue);\n }\n }\n }\n }\n return issues;\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n}\nexports.WhenOthersLast = WhenOthersLast;\n//# sourceMappingURL=when_others_last.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/when_others_last.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/whitespace_end.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/whitespace_end.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.WhitespaceEnd = exports.WhitespaceEndConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ \"./node_modules/@abaplint/core/build/src/rules/_abap_rule.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst edit_helper_1 = __webpack_require__(/*! ../edit_helper */ \"./node_modules/@abaplint/core/build/src/edit_helper.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nclass WhitespaceEndConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.WhitespaceEndConf = WhitespaceEndConf;\nclass WhitespaceEnd extends _abap_rule_1.ABAPRule {\n constructor() {\n super(...arguments);\n this.conf = new WhitespaceEndConf();\n }\n getMetadata() {\n return {\n key: \"whitespace_end\",\n title: \"Whitespace at end of line\",\n shortDescription: `Checks for redundant whitespace at the end of each line.`,\n tags: [_irule_1.RuleTag.Whitespace, _irule_1.RuleTag.Quickfix, _irule_1.RuleTag.SingleFile],\n };\n }\n getMessage() {\n return \"Remove whitespace at end of line\";\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n runParsed(file) {\n const issues = [];\n const rows = file.getRawRows();\n for (let i = 0; i < rows.length; i++) {\n if (rows[i].endsWith(\" \") || rows[i].endsWith(\" \\r\")) {\n const match = / +\\r?$/.exec(rows[i]);\n const start = new position_1.Position(i + 1, match.index + 1);\n const end = new position_1.Position(i + 1, rows[i].length + 1);\n const fix = edit_helper_1.EditHelper.deleteRange(file, start, end);\n const issue = issue_1.Issue.atRange(file, start, end, this.getMessage(), this.getMetadata().key, this.conf.severity, fix);\n issues.push(issue);\n }\n }\n return issues;\n }\n}\nexports.WhitespaceEnd = WhitespaceEnd;\n//# sourceMappingURL=whitespace_end.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/whitespace_end.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules/xml_consistency.js": +/*!************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules/xml_consistency.js ***! + \************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.XMLConsistency = exports.XMLConsistencyConf = void 0;\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _irule_1 = __webpack_require__(/*! ./_irule */ \"./node_modules/@abaplint/core/build/src/rules/_irule.js\");\nconst Objects = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ \"./node_modules/@abaplint/core/build/src/rules/_basic_rule_config.js\");\nconst fast_xml_parser_1 = __webpack_require__(/*! fast-xml-parser */ \"./node_modules/fast-xml-parser/src/fxp.js\");\nclass XMLConsistencyConf extends _basic_rule_config_1.BasicRuleConfig {\n}\nexports.XMLConsistencyConf = XMLConsistencyConf;\nclass XMLConsistency {\n constructor() {\n this.conf = new XMLConsistencyConf();\n }\n getMetadata() {\n return {\n key: \"xml_consistency\",\n title: \"XML consistency\",\n shortDescription: `Checks the consistency of main XML files, eg. naming for CLAS and INTF objects`,\n tags: [_irule_1.RuleTag.Naming, _irule_1.RuleTag.Syntax],\n };\n }\n getConfig() {\n return this.conf;\n }\n setConfig(conf) {\n this.conf = conf;\n }\n initialize(_reg) {\n return this;\n }\n run(obj) {\n var _a, _b;\n const issues = [];\n const file = obj.getXMLFile();\n if (file === undefined) {\n return issues;\n }\n const xml = obj.getXML();\n if (xml) {\n const res = fast_xml_parser_1.XMLValidator.validate(xml);\n if (res !== true) {\n issues.push(issue_1.Issue.atRow(file, 1, \"XML parser error: \" + res.err.msg, this.getMetadata().key, this.conf.severity));\n }\n }\n // todo, have some XML validation in each object?\n if (obj instanceof Objects.Class) {\n const name = obj.getNameFromXML();\n if (name === undefined) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Name undefined in XML\", this.getMetadata().key, this.conf.severity));\n }\n else if (obj.getDescription() && obj.getDescription().length > 60) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Description too long\", this.getMetadata().key, this.conf.severity));\n }\n else if (name !== obj.getName().toUpperCase()) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Name in XML does not match object\", this.getMetadata().key, this.conf.severity));\n }\n else if (((_a = obj.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getStructure()) !== undefined && obj.getClassDefinition() === undefined) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Class matching XML name not found in ABAP file\", this.getMetadata().key, this.conf.severity));\n }\n }\n if (obj instanceof Objects.Interface) {\n const name = obj.getNameFromXML();\n if (name === undefined) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Name undefined in XML\", this.getMetadata().key, this.conf.severity));\n }\n else if (obj.getDescription() && obj.getDescription().length > 60) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Description too long\", this.getMetadata().key, this.conf.severity));\n }\n else if (name !== obj.getName().toUpperCase()) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Name in XML does not match object\", this.getMetadata().key, this.conf.severity));\n }\n else if (obj.getDefinition() !== undefined && ((_b = obj.getDefinition()) === null || _b === void 0 ? void 0 : _b.getName().toUpperCase()) !== name.toUpperCase()) {\n issues.push(issue_1.Issue.atRow(file, 1, \"Interface matching XML name not found in ABAP file\", this.getMetadata().key, this.conf.severity));\n }\n }\n return issues;\n }\n}\nexports.XMLConsistency = XMLConsistency;\n//# sourceMappingURL=xml_consistency.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules/xml_consistency.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/rules_runner.js": +/*!***************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/rules_runner.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RulesRunner = void 0;\nconst syntax_1 = __webpack_require__(/*! ./abap/5_syntax/syntax */ \"./node_modules/@abaplint/core/build/src/abap/5_syntax/syntax.js\");\nconst artifacts_rules_1 = __webpack_require__(/*! ./artifacts_rules */ \"./node_modules/@abaplint/core/build/src/artifacts_rules.js\");\nconst _abap_object_1 = __webpack_require__(/*! ./objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst skip_logic_1 = __webpack_require__(/*! ./skip_logic */ \"./node_modules/@abaplint/core/build/src/skip_logic.js\");\nconst excludeHelper_1 = __webpack_require__(/*! ./utils/excludeHelper */ \"./node_modules/@abaplint/core/build/src/utils/excludeHelper.js\");\nclass RulesRunner {\n constructor(reg) {\n this.reg = reg;\n }\n objectsToCheck(objects) {\n const check = [];\n const skipLogic = new skip_logic_1.SkipLogic(this.reg);\n for (const obj of objects) {\n if (skipLogic.skip(obj) || this.reg.isDependency(obj)) {\n continue;\n }\n check.push(obj);\n }\n return check;\n }\n runRules(objects, input) {\n var _a, _b, _c, _d, _e, _f;\n const rulePerformance = {};\n const issues = [];\n const rules = this.reg.getConfig().getEnabledRules();\n const check = this.objectsToCheck(objects);\n // note: SyntaxLogic is cached, logic is run as first step in order\n // not to penalize the performance of the first rule using SyntaxLogic information\n (_a = input === null || input === void 0 ? void 0 : input.progress) === null || _a === void 0 ? void 0 : _a.set(check.length, \"Run Syntax\");\n for (const obj of check) {\n (_b = input === null || input === void 0 ? void 0 : input.progress) === null || _b === void 0 ? void 0 : _b.tick(\"Run Syntax - \" + obj.getName());\n if (obj instanceof _abap_object_1.ABAPObject) {\n new syntax_1.SyntaxLogic(this.reg, obj).run();\n }\n }\n (_c = input === null || input === void 0 ? void 0 : input.progress) === null || _c === void 0 ? void 0 : _c.set(rules.length, \"Initialize Rules\");\n for (const rule of rules) {\n (_d = input === null || input === void 0 ? void 0 : input.progress) === null || _d === void 0 ? void 0 : _d.tick(\"Initialize Rules - \" + rule.getMetadata().key);\n if (rule.initialize === undefined) {\n throw new Error(rule.getMetadata().key + \" missing initialize method\");\n }\n rule.initialize(this.reg);\n rulePerformance[rule.getMetadata().key] = 0;\n }\n (_e = input === null || input === void 0 ? void 0 : input.progress) === null || _e === void 0 ? void 0 : _e.set(check.length, \"Finding Issues\");\n for (const obj of check) {\n (_f = input === null || input === void 0 ? void 0 : input.progress) === null || _f === void 0 ? void 0 : _f.tick(\"Finding Issues - \" + obj.getType() + \" \" + obj.getName());\n for (const rule of rules) {\n const before = Date.now();\n issues.push(...rule.run(obj));\n const runtime = Date.now() - before;\n rulePerformance[rule.getMetadata().key] = rulePerformance[rule.getMetadata().key] + runtime;\n }\n }\n if ((input === null || input === void 0 ? void 0 : input.outputPerformance) === true) {\n const perf = [];\n for (const p in rulePerformance) {\n if (rulePerformance[p] > 100) { // ignore rules if it takes less than 100ms\n perf.push({ name: p, time: rulePerformance[p] });\n }\n }\n perf.sort((a, b) => { return b.time - a.time; });\n for (const p of perf) {\n process.stderr.write(\"\\t\" + p.time + \"ms\\t\" + p.name + \"\\n\");\n }\n }\n return this.excludeIssues(issues);\n }\n excludeIssues(issues) {\n var _a;\n const ret = issues;\n const globalNoIssues = this.reg.getConfig().getGlobal().noIssues || [];\n const globalNoIssuesPatterns = globalNoIssues.map(x => new RegExp(x, \"i\"));\n if (globalNoIssuesPatterns.length > 0) {\n for (let i = ret.length - 1; i >= 0; i--) {\n const filename = ret[i].getFilename();\n if (excludeHelper_1.ExcludeHelper.isExcluded(filename, globalNoIssuesPatterns)) {\n ret.splice(i, 1);\n }\n }\n }\n // exclude issues, as now we know both the filename and issue key\n for (const rule of artifacts_rules_1.ArtifactsRules.getRules()) {\n const key = rule.getMetadata().key;\n const ruleExclude = (_a = this.reg.getConfig().readByKey(key, \"exclude\")) !== null && _a !== void 0 ? _a : [];\n if (ruleExclude.length === 0) {\n continue;\n }\n const ruleExcludePatterns = ruleExclude.map(x => new RegExp(x, \"i\"));\n for (let i = ret.length - 1; i >= 0; i--) {\n if (ret[i].getKey() !== key) {\n continue;\n }\n const filename = ret[i].getFilename();\n if (excludeHelper_1.ExcludeHelper.isExcluded(filename, ruleExcludePatterns)) {\n ret.splice(i, 1);\n }\n }\n }\n return ret;\n }\n}\nexports.RulesRunner = RulesRunner;\n//# sourceMappingURL=rules_runner.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/rules_runner.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/severity.js": +/*!***********************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/severity.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Severity = void 0;\nvar Severity;\n(function (Severity) {\n Severity[\"Error\"] = \"Error\";\n Severity[\"Warning\"] = \"Warning\";\n Severity[\"Info\"] = \"Info\";\n})(Severity || (exports.Severity = Severity = {}));\n//# sourceMappingURL=severity.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/severity.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/skip_logic.js": +/*!*************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/skip_logic.js ***! + \*************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.SkipLogic = void 0;\nconst objects_1 = __webpack_require__(/*! ./objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst include_graph_1 = __webpack_require__(/*! ./utils/include_graph */ \"./node_modules/@abaplint/core/build/src/utils/include_graph.js\");\nclass SkipLogic {\n constructor(reg) {\n this.reg = reg;\n this.tobj = undefined;\n }\n skip(obj) {\n const global = this.reg.getConfig().getGlobal();\n if (global.skipGeneratedGatewayClasses === true\n && obj instanceof objects_1.Class\n && this.isGeneratedGatewayClass(obj)) {\n return true;\n }\n else if (global.skipIncludesWithoutMain === true\n && obj instanceof objects_1.Program\n && obj.isInclude() === true) {\n const ig = new include_graph_1.IncludeGraph(this.reg);\n const file = obj.getMainABAPFile();\n if (file && ig.listMainForInclude(file.getFilename()).length === 0) {\n return true;\n }\n }\n else if (global.skipGeneratedPersistentClasses === true\n && obj instanceof objects_1.Class\n && this.isGeneratedPersistentClass(obj)) {\n return true;\n }\n else if (global.skipGeneratedFunctionGroups === true\n && obj instanceof objects_1.FunctionGroup\n && this.isGeneratedFunctionGroup(obj)) {\n return true;\n }\n else if (global.skipGeneratedProxyClasses === true\n && obj instanceof objects_1.Class\n && this.isGeneratedProxyClass(obj)) {\n return true;\n }\n else if (global.skipGeneratedProxyInterfaces === true\n && obj instanceof objects_1.Interface\n && this.isGeneratedProxyInterface(obj)) {\n return true;\n }\n else if (global.skipGeneratedBOPFInterfaces === true\n && obj instanceof objects_1.Interface\n && this.isGeneratedBOPFInterface(obj)) {\n return true;\n }\n return false;\n }\n ///////////////////////////\n isGeneratedBOPFInterface(obj) {\n var _a;\n const implementing = (_a = obj.getDefinition()) === null || _a === void 0 ? void 0 : _a.getImplementing();\n if (implementing === undefined) {\n return false;\n }\n for (const i of implementing) {\n if (i.name.toUpperCase() === \"/BOBF/IF_LIB_CONSTANTS\") {\n return true;\n }\n }\n return false;\n }\n isGeneratedProxyInterface(obj) {\n const xml = obj.getXML();\n if (!xml) {\n return false;\n }\n const result = xml.match(/(.)<\\/CLSPROXY>/);\n if (result) {\n return true;\n }\n else {\n return false;\n }\n }\n isGeneratedProxyClass(obj) {\n const xml = obj.getXML();\n if (!xml) {\n return false;\n }\n const result = xml.match(/(.)<\\/CLSPROXY>/);\n if (result) {\n return true;\n }\n else {\n return false;\n }\n }\n isGeneratedFunctionGroup(group) {\n var _a;\n if (this.tobj === undefined) {\n this.tobj = {};\n for (const obj of this.reg.getObjects()) {\n if (obj.getType() !== \"TOBJ\") {\n continue;\n }\n const tobj = obj;\n const area = (_a = tobj.getArea()) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n if (area) {\n this.tobj[area] = true;\n }\n }\n }\n return this.tobj[group.getName().toUpperCase()];\n }\n isGeneratedGatewayClass(obj) {\n var _a;\n let sup = undefined;\n const definition = obj.getClassDefinition();\n if (definition) {\n sup = (_a = definition.superClassName) === null || _a === void 0 ? void 0 : _a.toUpperCase();\n }\n if (obj.getName().match(/_MPC$/i) && sup === \"/IWBEP/CL_MGW_PUSH_ABS_MODEL\") {\n return true;\n }\n else if (obj.getName().match(/_DPC$/i) && sup === \"/IWBEP/CL_MGW_PUSH_ABS_DATA\") {\n return true;\n }\n else if (sup === \"CL_SADL_GTK_EXPOSURE_MPC\") {\n return true;\n }\n return false;\n }\n isGeneratedPersistentClass(obj) {\n if (obj.getCategory() === objects_1.ClassCategory.Persistent) {\n return true;\n }\n else if (obj.getCategory() === objects_1.ClassCategory.PersistentFactory) {\n return true;\n }\n const main = obj.getClassDefinition();\n if (main) {\n const sup = main.superClassName;\n if (sup) {\n const sclass = this.reg.getObject(\"CLAS\", sup.toUpperCase());\n if (sclass && sclass.getCategory() === objects_1.ClassCategory.PersistentFactory) {\n return true;\n }\n }\n }\n return false;\n }\n}\nexports.SkipLogic = SkipLogic;\n//# sourceMappingURL=skip_logic.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/skip_logic.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/utils/cyclomatic_complexity_stats.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/utils/cyclomatic_complexity_stats.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CyclomaticComplexityStats = void 0;\nconst Expressions = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst Structures = __webpack_require__(/*! ../abap/3_structures/structures */ \"./node_modules/@abaplint/core/build/src/abap/3_structures/structures/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nclass CyclomaticComplexityStats {\n static run(obj) {\n var _a, _b, _c;\n const res = [];\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const m of ((_a = file.getStructure()) === null || _a === void 0 ? void 0 : _a.findAllStructures(Structures.Method)) || []) {\n let count = 0;\n for (const s of m.findAllStatementNodes()) {\n const type = s.get();\n if (type instanceof Statements.Assert\n || type instanceof Statements.Check\n || type instanceof Statements.ElseIf\n || type instanceof Statements.If\n || type instanceof Statements.While\n || type instanceof Statements.Case\n || type instanceof Statements.SelectLoop\n || type instanceof Statements.Catch\n || type instanceof Statements.Cleanup\n || type instanceof Statements.EndAt\n || type instanceof Statements.Loop) {\n count += 1;\n }\n }\n const name = (_c = (_b = m.findDirectStatement(Statements.MethodImplementation)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.MethodName)) === null || _c === void 0 ? void 0 : _c.getFirstToken().getStr();\n res.push({\n file,\n pos: m.getFirstToken().getStart(),\n name: name ? name : \"Error!\",\n count,\n });\n }\n }\n return res;\n }\n}\nexports.CyclomaticComplexityStats = CyclomaticComplexityStats;\n//# sourceMappingURL=cyclomatic_complexity_stats.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/utils/cyclomatic_complexity_stats.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/utils/excludeHelper.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/utils/excludeHelper.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ExcludeHelper = void 0;\nclass ExcludeHelper {\n static isExcluded(filename, excludePatterns) {\n for (const exclude of excludePatterns) {\n if (exclude.exec(filename)) {\n return true;\n }\n }\n return false;\n }\n}\nexports.ExcludeHelper = ExcludeHelper;\n//# sourceMappingURL=excludeHelper.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/utils/excludeHelper.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/utils/form_length_stats.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/utils/form_length_stats.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.FormLengthStats = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass FormLengthStats {\n static run(obj) {\n const res = [];\n let pos = undefined;\n let name = \"\";\n let count = 0;\n let form = false;\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const stat of file.getStatements()) {\n const type = stat.get();\n if (type instanceof Statements.Form) {\n pos = stat.getFirstToken().getStart();\n name = this.findName(stat);\n form = true;\n count = 0;\n }\n else if (type instanceof Statements.EndForm) {\n if (pos) {\n res.push({ name, count, file, pos });\n }\n else {\n continue;\n }\n form = false;\n }\n else if (form === true\n && !(type instanceof _statement_1.Comment)\n && !(type instanceof _statement_1.Empty)) {\n count = count + 1;\n }\n }\n }\n return res;\n }\n static findName(stat) {\n let name = \"\";\n const nameExpr = stat.findFirstExpression(expressions_1.FormName);\n if (nameExpr) {\n name = nameExpr.getFirstToken().getStr();\n }\n else {\n throw new Error(\"FormLength, findName, expected FormName\");\n }\n return name;\n }\n}\nexports.FormLengthStats = FormLengthStats;\n//# sourceMappingURL=form_length_stats.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/utils/form_length_stats.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/utils/include_graph.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/utils/include_graph.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.IncludeGraph = void 0;\nconst statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst objects_1 = __webpack_require__(/*! ../objects */ \"./node_modules/@abaplint/core/build/src/objects/index.js\");\nconst check_include_1 = __webpack_require__(/*! ../rules/check_include */ \"./node_modules/@abaplint/core/build/src/rules/check_include.js\");\nconst position_1 = __webpack_require__(/*! ../position */ \"./node_modules/@abaplint/core/build/src/position.js\");\nconst issue_1 = __webpack_require__(/*! ../issue */ \"./node_modules/@abaplint/core/build/src/issue.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst severity_1 = __webpack_require__(/*! ../severity */ \"./node_modules/@abaplint/core/build/src/severity.js\");\n// todo, check for cycles/circular dependencies, method findTop\n// todo, add configurable error for multiple use includes\nfunction getABAPObjects(reg) {\n const ret = [];\n for (const o of reg.getObjects()) {\n if (o instanceof _abap_object_1.ABAPObject) {\n ret.push(o);\n }\n }\n return ret;\n}\nclass Graph {\n constructor() {\n this.vertices = [];\n this.edges = [];\n }\n addVertex(vertex) {\n this.vertices.push(vertex);\n }\n findInclude(includeName) {\n for (const v of this.vertices) {\n if (v.includeName.toUpperCase() === includeName.toUpperCase()) {\n return v;\n }\n }\n return undefined;\n }\n findVertex(filename) {\n for (const v of this.vertices) {\n if (v.filename.toUpperCase() === filename.toUpperCase()) {\n return v;\n }\n }\n return undefined;\n }\n addEdge(from, toFilename) {\n this.edges.push({ from: from.filename, to: toFilename });\n }\n findTop(filename) {\n const ret = [];\n for (const e of this.edges) {\n if (e.from === filename) {\n ret.push(...this.findTop(e.to));\n }\n }\n if (ret.length === 0) {\n const found = this.findVertex(filename);\n if (found !== undefined) {\n ret.push(found);\n }\n }\n return ret;\n }\n}\nclass IncludeGraph {\n constructor(reg) {\n this.reg = reg;\n this.issues = [];\n this.graph = new Graph();\n this.build();\n }\n getIssues() {\n return this.issues;\n }\n listMainForInclude(filename) {\n const ret = [];\n if (filename === undefined) {\n return [];\n }\n for (const f of this.graph.findTop(filename)) {\n if (f.include === false) {\n ret.push(f.filename);\n }\n }\n return ret;\n }\n getIssuesFile(file) {\n const ret = [];\n for (const i of this.issues) {\n if (i.getFilename() === file.getFilename()) {\n ret.push(i);\n }\n }\n return ret;\n }\n ///////////////////////////////\n build() {\n this.addVertices();\n for (const o of getABAPObjects(this.reg)) {\n for (const f of o.getABAPFiles()) {\n for (const s of f.getStatements()) {\n if (s.get() instanceof statements_1.Include) {\n const ifFound = s.concatTokens().toUpperCase().includes(\"IF FOUND\");\n const iexp = s.findFirstExpression(expressions_1.IncludeName);\n if (iexp === undefined) {\n throw new Error(\"unexpected Include node\");\n }\n const name = iexp.getFirstToken().getStr().toUpperCase();\n if (name.match(/^(\\/\\w+\\/)?L.+XX$/)) { // function module XX includes, possibily namespaced\n continue;\n }\n const found = this.graph.findInclude(name);\n if (found === undefined) {\n if (ifFound === false) {\n const issue = issue_1.Issue.atStatement(f, s, \"Include \" + name + \" not found\", new check_include_1.CheckInclude().getMetadata().key, severity_1.Severity.Error);\n this.issues.push(issue);\n }\n }\n else if (found.include === false) {\n const issue = issue_1.Issue.atStatement(f, s, \"Not possible to INCLUDE a main program\", new check_include_1.CheckInclude().getMetadata().key, severity_1.Severity.Error);\n this.issues.push(issue);\n }\n else {\n this.graph.addEdge(found, f.getFilename());\n }\n }\n }\n }\n }\n this.findUnusedIncludes();\n }\n findUnusedIncludes() {\n for (const v of this.graph.vertices) {\n if (v.include === true) {\n if (this.listMainForInclude(v.filename).length === 0) {\n const f = this.reg.getFileByName(v.filename);\n if (f === undefined) {\n throw new Error(\"findUnusedIncludes internal error\");\n }\n const issue = issue_1.Issue.atPosition(f, new position_1.Position(1, 1), \"INCLUDE not used anywhere\", new check_include_1.CheckInclude().getMetadata().key, severity_1.Severity.Error);\n this.issues.push(issue);\n }\n }\n }\n }\n addVertices() {\n for (const o of getABAPObjects(this.reg)) {\n if (o instanceof objects_1.Program) {\n const file = o.getMainABAPFile();\n if (file) {\n this.graph.addVertex({\n filename: file.getFilename(),\n includeName: o.getName(),\n include: o.isInclude()\n });\n }\n }\n else if (o instanceof objects_1.TypePool) {\n const file = o.getMainABAPFile();\n if (file) {\n this.graph.addVertex({\n filename: file.getFilename(),\n includeName: o.getName(),\n include: false\n });\n }\n }\n else if (o instanceof objects_1.Class) {\n for (const f of o.getSequencedFiles()) {\n this.graph.addVertex({\n filename: f.getFilename(),\n includeName: o.getName(),\n include: false\n });\n }\n }\n else if (o instanceof objects_1.FunctionGroup) {\n for (const i of o.getIncludeFiles()) {\n this.graph.addVertex({\n filename: i.file.getFilename(),\n includeName: i.name,\n include: true\n });\n }\n const file = o.getMainABAPFile();\n if (file) {\n this.graph.addVertex({\n filename: file.getFilename(),\n includeName: o.getName(),\n include: false\n });\n }\n }\n }\n }\n}\nexports.IncludeGraph = IncludeGraph;\n//# sourceMappingURL=include_graph.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/utils/include_graph.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/utils/method_length_stats.js": +/*!****************************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/utils/method_length_stats.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MethodLengthStats = void 0;\nconst Statements = __webpack_require__(/*! ../abap/2_statements/statements */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/index.js\");\nconst expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js\");\nconst _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ \"./node_modules/@abaplint/core/build/src/objects/_abap_object.js\");\nconst _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ \"./node_modules/@abaplint/core/build/src/abap/2_statements/statements/_statement.js\");\nclass MethodLengthStats {\n static run(obj) {\n const res = [];\n let pos = undefined;\n let name = \"\";\n let count = 0;\n let method = false;\n if (!(obj instanceof _abap_object_1.ABAPObject)) {\n return [];\n }\n for (const file of obj.getABAPFiles()) {\n for (const stat of file.getStatements()) {\n const type = stat.get();\n if (type instanceof Statements.MethodImplementation) {\n pos = stat.getFirstToken().getStart();\n name = this.findName(stat);\n method = true;\n count = 0;\n }\n else if (type instanceof Statements.EndMethod) {\n if (pos) {\n res.push({ name, count, file, pos });\n }\n else {\n continue;\n }\n method = false;\n }\n else if (method === true\n && !(type instanceof _statement_1.Comment)\n && !(type instanceof _statement_1.Empty)) {\n count = count + 1;\n }\n }\n }\n return res;\n }\n static findName(stat) {\n let name = \"\";\n const nameExpr = stat.findFirstExpression(expressions_1.MethodName);\n if (nameExpr) {\n name = nameExpr.getFirstToken().getStr();\n }\n else {\n throw new Error(\"MethodLength, findName, expected MethodName\");\n }\n return name;\n }\n}\nexports.MethodLengthStats = MethodLengthStats;\n//# sourceMappingURL=method_length_stats.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/utils/method_length_stats.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/utils/name_validator.js": +/*!***********************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/utils/name_validator.js ***! + \***********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.NameValidator = void 0;\nclass NameValidator {\n static violatesRule(name, pattern, params) {\n if (params.ignoreNames && params.ignoreNames.indexOf(name.toUpperCase()) >= 0) {\n return false;\n }\n for (const ignored of params.ignorePatterns || []) {\n if (new RegExp(ignored, \"i\").test(name)) {\n return false;\n }\n }\n return !params.patternKind || params.patternKind === \"required\" ?\n pattern.test(name) === false :\n pattern.test(name) === true;\n }\n}\nexports.NameValidator = NameValidator;\n//# sourceMappingURL=name_validator.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/utils/name_validator.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/version.js": +/*!**********************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/version.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getPreviousVersion = exports.defaultVersion = exports.Version = void 0;\nvar Version;\n(function (Version) {\n Version[\"OpenABAP\"] = \"open-abap\";\n Version[\"v700\"] = \"v700\";\n Version[\"v702\"] = \"v702\";\n Version[\"v740sp02\"] = \"v740sp02\";\n Version[\"v740sp05\"] = \"v740sp05\";\n Version[\"v740sp08\"] = \"v740sp08\";\n Version[\"v750\"] = \"v750\";\n Version[\"v751\"] = \"v751\";\n Version[\"v752\"] = \"v752\";\n Version[\"v753\"] = \"v753\";\n Version[\"v754\"] = \"v754\";\n Version[\"v755\"] = \"v755\";\n Version[\"v756\"] = \"v756\";\n Version[\"v757\"] = \"v757\";\n Version[\"Cloud\"] = \"Cloud\";\n})(Version || (exports.Version = Version = {}));\nexports.defaultVersion = Version.v757;\nfunction getPreviousVersion(v) {\n if (v === Version.OpenABAP) {\n return Version.v702;\n }\n const all = Object.values(Version);\n const found = all.indexOf(v);\n if (found < 0) {\n throw \"Unknown version: \" + v;\n }\n else if (found === 0) {\n throw \"Nothing lower: \" + v;\n }\n return all[found - 1];\n}\nexports.getPreviousVersion = getPreviousVersion;\n//# sourceMappingURL=version.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/version.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/core/build/src/xml_utils.js": +/*!************************************************************!*\ + !*** ./node_modules/@abaplint/core/build/src/xml_utils.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.unescape = exports.xmlToArray = void 0;\nfunction xmlToArray(data) {\n if (data === undefined) {\n return [];\n }\n else if (data.length) { // input data is an Array\n return data;\n }\n else {\n return [data];\n }\n}\nexports.xmlToArray = xmlToArray;\nfunction unescape(str) {\n if (str === undefined) {\n return \"\";\n }\n str = str.replace(/&/g, \"&\");\n str = str.replace(/>/g, \">\");\n str = str.replace(/</g, \"<\");\n str = str.replace(/"/g, \"\\\"\");\n str = str.replace(/'/g, \"'\");\n return str;\n}\nexports.unescape = unescape;\n//# sourceMappingURL=xml_utils.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/core/build/src/xml_utils.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_code_action_provider.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_code_action_provider.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPCodeActionProvider = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass ABAPCodeActionProvider {\n constructor(reg) {\n this.reg = reg;\n }\n provideCodeActions(model, range, context, token) {\n const ls = new core_1.LanguageServer(this.reg);\n const r = {\n start: { line: range.startLineNumber - 1, character: range.startColumn - 1 },\n end: { line: range.endLineNumber - 1, character: range.endColumn - 1 }\n };\n const param = {\n textDocument: { uri: model.uri.toString() },\n range: r,\n context: { diagnostics: [] },\n };\n const found = ls.codeActions(param);\n const actions = [];\n for (const f of found) {\n if (f.edit === undefined) {\n continue;\n }\n actions.push({\n title: f.title,\n kind: f.kind,\n diagnostics: this.mapDiagnostics(f.diagnostics),\n edit: this.map(f.edit)\n });\n }\n const list = {\n actions: actions,\n dispose: () => { return; }\n };\n return list;\n }\n mapDiagnostics(input) {\n if (input === undefined) {\n return [];\n }\n const ret = [];\n for (const diagnostic of input) {\n ret.push({\n severity: monaco.MarkerSeverity.Error,\n message: diagnostic.message,\n startLineNumber: diagnostic.range.start.line + 1,\n startColumn: diagnostic.range.start.character + 1,\n endLineNumber: diagnostic.range.end.line + 1,\n endColumn: diagnostic.range.end.character + 1,\n });\n }\n return [];\n }\n map(input) {\n const edits = [];\n for (const filename in input.changes) {\n for (const c of input.changes[filename]) {\n edits.push({\n resource: monaco.Uri.parse(filename),\n versionId: undefined,\n textEdit: this.mapText(c)\n });\n }\n }\n return { edits };\n }\n mapText(input) {\n const i = input;\n return { range: new monaco.Range(i.range.start.line + 1, i.range.start.character + 1, i.range.end.line + 1, i.range.end.character + 1),\n text: i.newText };\n }\n}\nexports.ABAPCodeActionProvider = ABAPCodeActionProvider;\n//# sourceMappingURL=abap_code_action_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_code_action_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_definition_provider.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_definition_provider.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPDefinitionProvider = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass ABAPDefinitionProvider {\n constructor(reg) {\n this.reg = reg;\n }\n provideDefinition(model, position, token) {\n const ls = new core_1.LanguageServer(this.reg);\n const def = ls.gotoDefinition({\n textDocument: { uri: model.uri.toString() },\n position: { line: position.lineNumber - 1, character: position.column - 1 }\n });\n if (def) {\n return {\n uri: monaco.Uri.parse(def.uri),\n range: new monaco.Range(def.range.start.line + 1, def.range.start.character + 1, def.range.end.line + 1, def.range.end.character + 1),\n };\n }\n else {\n return undefined;\n }\n }\n}\nexports.ABAPDefinitionProvider = ABAPDefinitionProvider;\n//# sourceMappingURL=abap_definition_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_definition_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_document_highlight_provider.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_document_highlight_provider.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPDocumentHighlightProvider = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass ABAPDocumentHighlightProvider {\n constructor(reg) {\n this.reg = reg;\n }\n provideDocumentHighlights(model, position, token) {\n const ls = new core_1.LanguageServer(this.reg);\n const pos = {\n textDocument: { uri: model.uri.toString() },\n position: { line: position.lineNumber - 1, character: position.column - 1 }\n };\n const ret = [];\n for (const found of ls.documentHighlight(pos)) {\n ret.push({ range: new monaco.Range(found.range.start.line + 1, found.range.start.character + 1, found.range.end.line + 1, found.range.end.character + 1),\n });\n }\n return ret;\n }\n}\nexports.ABAPDocumentHighlightProvider = ABAPDocumentHighlightProvider;\n//# sourceMappingURL=abap_document_highlight_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_document_highlight_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_formatting_provider.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_formatting_provider.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPFormattingProvider = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass ABAPFormattingProvider {\n constructor(reg) {\n this.reg = reg;\n }\n provideDocumentFormattingEdits(model, options, token) {\n const ls = new core_1.LanguageServer(this.reg);\n const edit = ls.documentFormatting({\n textDocument: { uri: model.uri.toString() },\n });\n if (edit && edit.length === 1) {\n return [{\n range: {\n startLineNumber: edit[0].range.start.line,\n startColumn: edit[0].range.start.character,\n endLineNumber: edit[0].range.end.line,\n endColumn: edit[0].range.end.character,\n },\n text: edit[0].newText,\n }];\n }\n else {\n return undefined;\n }\n }\n}\nexports.ABAPFormattingProvider = ABAPFormattingProvider;\n//# sourceMappingURL=abap_formatting_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_formatting_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_hover_provider.js": +/*!********************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_hover_provider.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPHoverProvider = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass ABAPHoverProvider {\n constructor(reg) {\n this.reg = reg;\n }\n provideHover(model, position) {\n const ls = new core_1.LanguageServer(this.reg);\n const hov = ls.hover({\n textDocument: { uri: model.uri.toString() },\n position: { line: position.lineNumber - 1, character: position.column - 1 }\n });\n if (hov) {\n return {\n range: new monaco.Range(position.lineNumber, position.column, position.lineNumber, position.column),\n contents: [{ value: hov.contents.value }],\n };\n }\n else {\n return undefined;\n }\n }\n}\nexports.ABAPHoverProvider = ABAPHoverProvider;\n//# sourceMappingURL=abap_hover_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_hover_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_implementation_provider.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_implementation_provider.js ***! + \*****************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPImplementationProvider = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass ABAPImplementationProvider {\n constructor(reg) {\n this.reg = reg;\n }\n provideImplementation(model, position, _token) {\n const ls = new core_1.LanguageServer(this.reg);\n const pos = {\n textDocument: { uri: model.uri.toString() },\n position: { line: position.lineNumber - 1, character: position.column - 1 }\n };\n const ret = [];\n for (const found of ls.implementation(pos)) {\n ret.push({\n uri: monaco.Uri.parse(found.uri),\n range: new monaco.Range(found.range.start.line + 1, found.range.start.character + 1, found.range.end.line + 1, found.range.end.character + 1),\n });\n }\n return ret;\n }\n}\nexports.ABAPImplementationProvider = ABAPImplementationProvider;\n//# sourceMappingURL=abap_implementation_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_implementation_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_references_provider.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_references_provider.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPReferencesProvider = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass ABAPReferencesProvider {\n constructor(reg) {\n this.reg = reg;\n }\n provideReferences(model, position, context, token) {\n const ls = new core_1.LanguageServer(this.reg);\n const pos = {\n textDocument: { uri: model.uri.toString() },\n position: { line: position.lineNumber - 1, character: position.column - 1 }\n };\n const ret = [];\n for (const found of ls.references(pos)) {\n ret.push({\n uri: monaco.Uri.parse(found.uri),\n range: new monaco.Range(found.range.start.line + 1, found.range.start.character + 1, found.range.end.line + 1, found.range.end.character + 1),\n });\n }\n return ret;\n }\n}\nexports.ABAPReferencesProvider = ABAPReferencesProvider;\n//# sourceMappingURL=abap_references_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_references_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_rename_provider.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_rename_provider.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPRenameProvider = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nconst vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nclass ABAPRenameProvider {\n constructor(reg) {\n this.reg = reg;\n }\n provideRenameEdits(model, position, newName, token) {\n const rename = new core_1.LanguageServer(this.reg).rename({\n textDocument: { uri: model.uri.toString() },\n position: { line: position.lineNumber - 1, character: position.column - 1 },\n newName\n });\n const edit = { edits: [] };\n for (const r of (rename === null || rename === void 0 ? void 0 : rename.documentChanges) || []) {\n if (vscode_languageserver_types_1.TextDocumentEdit.is(r)) {\n for (const e of r.edits) {\n const textedit = { range: new monaco.Range(e.range.start.line + 1, e.range.start.character + 1, e.range.end.line + 1, e.range.end.character + 1), text: newName };\n const wte = {\n resource: model.uri,\n versionId: undefined,\n textEdit: textedit\n };\n edit.edits.push(wte);\n }\n }\n }\n return edit;\n }\n resolveRenameLocation(model, position, token) {\n const rename = new core_1.LanguageServer(this.reg).prepareRename({\n textDocument: { uri: model.uri.toString() },\n position: { line: position.lineNumber - 1, character: position.column - 1 }\n });\n if (rename) {\n return {\n range: new monaco.Range(rename.range.start.line + 1, rename.range.start.character + 1, rename.range.end.line + 1, rename.range.end.character + 1),\n text: rename.placeholder,\n };\n }\n throw new Error(\"Cannot be renamed\");\n }\n}\nexports.ABAPRenameProvider = ABAPRenameProvider;\n//# sourceMappingURL=abap_rename_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_rename_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_semantic_tokens_delta_provider.js": +/*!************************************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_semantic_tokens_delta_provider.js ***! + \************************************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPSemanticTokensDeltaProvider = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass ABAPSemanticTokensDeltaProvider {\n constructor(reg) {\n this.reg = reg;\n }\n getLegend() {\n return core_1.LanguageServer.semanticTokensLegend();\n }\n provideDocumentRangeSemanticTokens(model, range, token) {\n const result = new core_1.LanguageServer(this.reg).semanticTokensRange({\n textDocument: { uri: model.uri.toString() },\n start: { line: range.startLineNumber, character: range.startColumn },\n end: { line: range.endLineNumber, character: range.endColumn },\n });\n const data = Uint32Array.from(result.data);\n return { data };\n }\n}\nexports.ABAPSemanticTokensDeltaProvider = ABAPSemanticTokensDeltaProvider;\n//# sourceMappingURL=abap_semantic_tokens_delta_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_semantic_tokens_delta_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_snippet_provider.js": +/*!**********************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_snippet_provider.js ***! + \**********************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPSnippetProvider = void 0;\nclass ABAPSnippetProvider {\n provideCompletionItems(model, position, context, token) {\n const suggestions = [\n {\n label: \"method\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Empty method implementation\",\n insertText: \"METHOD ${1:method_name}.\\r\\n\\t$0\\r\\nENDMETHOD.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"tbo\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Type definition (types begin of)\",\n insertText: \"TYPES BEGIN OF ${1:type_name},\\r\\n\\tcomponent TYPE string,\\r\\nEND OF ${1:type_name}.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"bool\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"abap_bool\",\n insertText: \"abap_bool\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"true\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"abap_true\",\n insertText: \"abap_true\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"false\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"abap_false\",\n insertText: \"abap_false\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"imp\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"importing parameter\",\n insertText: \"IMPORTING\\r\\n\\t$0\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"exp\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"exporting parameter\",\n insertText: \"EXPORTING\\r\\n\\t$0\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"cha\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"changing parameter\",\n insertText: \"CHANGING\\r\\n\\t$0\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"ret\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"returning parameter\",\n insertText: \"RETURNING VALUE(${1:name}) TYPE $0.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"trycatch\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Try/Catch block\",\n insertText: \"TRY.\\r\\n\\t${TM_SELECTED_TEXT}$0\\r\\n\\tCATCH cx_root INTO DATA(cx).\\r\\n\\t\\\" handle error\\r\\nENDTRY.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"alias\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Interface method alias\",\n insertText: \"${1:method_name} FOR ${2:if_name}~${1:method_name},\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"trt\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Type ref to\",\n insertText: \"TYPE REF TO $0\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"tt\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"General table snippet\",\n insertText: \"TYPE ${1|STANDARD,SORTED,HASHED|} TABLE OF ${2:type} WITH ${3|UNIQUE,NON-UNIQUE|} KEY ${4:table_line}.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"ttt\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Standard table definition\",\n insertText: \"TYPE STANDARD TABLE OF ${1:type} WITH KEY ${2:table_line}.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"tst\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Sorted table definition\",\n insertText: \"TYPE SORTED TABLE OF ${1:type} WITH UNIQUE KEY ${2:table_line}.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"tht\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Hashed table definition\",\n insertText: \"TYPE HASHED TABLE OF ${1:type} WITH UNIQUE KEY ${2:table_line}.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"ii\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Is initial\",\n insertText: \"IS INITIAL\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"ini\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Is not initial\",\n insertText: \"IS NOT INITIAL\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"ib\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Is bound\",\n insertText: \"IS BOUND\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"inb\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Is not bound\",\n insertText: \"IS NOT BOUND\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"loop\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Loop into data\",\n insertText: \"LOOP AT ${1:itab} INTO DATA(x).\\r\\n\\t$0\\r\\nENDLOOP.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"loopfs\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Loop into field symbol\",\n insertText: \"LOOP AT ${1:itab} ASSIGNING FIELD-SYMBOL().\\r\\n\\t$0\\r\\nENDLOOP.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"assert\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Assert (ABAP Unit)\",\n insertText: \"cl_abap_unit_assert=>$0\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"if\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"IF block\",\n insertText: \"IF ${1:log_exp}.\\r\\n\\t${TM_SELECTED_TEXT}$0\\r\\nENDIF.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"cond\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"COND expression\",\n insertText: \"COND #( WHEN ${1:log_exp}\\r\\n\\tTHEN ${2:abap_true}\\r\\n\\tELSE ${3:abap_false} )\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"forw\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"FOR expression with where clause\",\n insertText: \"FOR x IN ${1:itab} WHERE ( ${2:cond} )\\r\\n\\t( x$0 )\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"for\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"FOR expression\",\n insertText: \"FOR x IN ${1:itab}\\r\\n\\t( x$0 )\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"value\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"VALUE expression\",\n insertText: \"VALUE ${1:#}( $0 )\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"var\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Variable declaration (inline data style)\",\n insertText: \"DATA(${1:x}) = $0.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"data\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Variable declaration (legacy style)\",\n insertText: \"DATA: ${1:x} $0\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"class\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Class declaration\",\n insertText: `CLASS $\\{1:class_name\\} DEFINITION PUBLIC FINAL.\r\n\\tPUBLIC SECTION.\r\n\\t$0\r\nENDCLASS.\r\n\r\nCLASS $\\{1:class_name\\} IMPLEMENTATION.\r\nENDCLASS.\r\n `,\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"case\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Case block\",\n insertText: `CASE $\\{1:var_name\\}.\r\n\\tWHEN $\\{2:value\\}.\r\n\\t\\t$\\{TM_SELECTED_TEXT\\}$0\r\n\\tWHEN OTHERS.\r\nENDCASE.`,\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"throw\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Raise exception new\",\n insertText: \"RAISE EXCEPTION NEW ${1:cx_type}( $2 ).\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"ro\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Read-only\",\n insertText: \"READ-ONLY.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"this\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"me->\",\n insertText: \"me->\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"self\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"me->\",\n insertText: \"me->\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"gwt\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Test method template (given-when-then)\",\n insertText: `METHOD test.\r\n\\t\" given\r\n\\t$0\r\n\\t\" when\r\n\\t\" then\r\nENDMETHOD.`,\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"ctor\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Constructor definition\",\n insertText: \"METHODS constructor.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"cctor\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Class constructor definition\",\n insertText: \"CLASS-METHODS class_constructor.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n {\n label: \"enum\",\n kind: monaco.languages.CompletionItemKind.Snippet,\n documentation: \"Enum definition\",\n insertText: \"TYPES:\\r\\n\\tBEGIN OF ENUM ${1:enum_name},\\r\\n\\t\\t${2:value},\\r\\n\\tEND OF ENUM ${1:enum_name}.\",\n insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n },\n ];\n return {\n suggestions: suggestions,\n };\n }\n}\nexports.ABAPSnippetProvider = ABAPSnippetProvider;\n//# sourceMappingURL=abap_snippet_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_snippet_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/abap_symbol_provider.js": +/*!*********************************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/abap_symbol_provider.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ABAPSymbolProvider = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nclass ABAPSymbolProvider {\n constructor(reg) {\n this.reg = reg;\n }\n provideDocumentSymbols(model, token) {\n const ls = new core_1.LanguageServer(this.reg);\n const symbols = ls.documentSymbol({\n textDocument: { uri: model.uri.toString() },\n });\n const ret = [];\n for (const symbol of symbols) {\n ret.push({\n range: {\n startLineNumber: symbol.range.start.line + 1,\n startColumn: symbol.range.start.character + 1,\n endLineNumber: symbol.range.end.line + 1,\n endColumn: symbol.range.end.character + 1,\n },\n name: symbol.name,\n kind: symbol.kind,\n detail: symbol.detail ? symbol.detail : \"\",\n tags: [],\n selectionRange: {\n startLineNumber: symbol.selectionRange.start.line + 1,\n startColumn: symbol.selectionRange.start.character + 1,\n endLineNumber: symbol.selectionRange.end.line + 1,\n endColumn: symbol.selectionRange.end.character + 1,\n },\n });\n }\n return ret;\n }\n}\nexports.ABAPSymbolProvider = ABAPSymbolProvider;\n//# sourceMappingURL=abap_symbol_provider.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/abap_symbol_provider.js?"); + +/***/ }), + +/***/ "./node_modules/@abaplint/monaco/build/index.js": +/*!******************************************************!*\ + !*** ./node_modules/@abaplint/monaco/build/index.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.updateMarkers = exports.registerABAP = void 0;\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\nconst abap_snippet_provider_1 = __webpack_require__(/*! ./abap_snippet_provider */ \"./node_modules/@abaplint/monaco/build/abap_snippet_provider.js\");\nconst abap_rename_provider_1 = __webpack_require__(/*! ./abap_rename_provider */ \"./node_modules/@abaplint/monaco/build/abap_rename_provider.js\");\nconst abap_hover_provider_1 = __webpack_require__(/*! ./abap_hover_provider */ \"./node_modules/@abaplint/monaco/build/abap_hover_provider.js\");\nconst abap_formatting_provider_1 = __webpack_require__(/*! ./abap_formatting_provider */ \"./node_modules/@abaplint/monaco/build/abap_formatting_provider.js\");\nconst abap_symbol_provider_1 = __webpack_require__(/*! ./abap_symbol_provider */ \"./node_modules/@abaplint/monaco/build/abap_symbol_provider.js\");\nconst abap_definition_provider_1 = __webpack_require__(/*! ./abap_definition_provider */ \"./node_modules/@abaplint/monaco/build/abap_definition_provider.js\");\nconst abap_document_highlight_provider_1 = __webpack_require__(/*! ./abap_document_highlight_provider */ \"./node_modules/@abaplint/monaco/build/abap_document_highlight_provider.js\");\nconst abap_code_action_provider_1 = __webpack_require__(/*! ./abap_code_action_provider */ \"./node_modules/@abaplint/monaco/build/abap_code_action_provider.js\");\nconst abap_implementation_provider_1 = __webpack_require__(/*! ./abap_implementation_provider */ \"./node_modules/@abaplint/monaco/build/abap_implementation_provider.js\");\nconst abap_references_provider_1 = __webpack_require__(/*! ./abap_references_provider */ \"./node_modules/@abaplint/monaco/build/abap_references_provider.js\");\nconst abap_semantic_tokens_delta_provider_1 = __webpack_require__(/*! ./abap_semantic_tokens_delta_provider */ \"./node_modules/@abaplint/monaco/build/abap_semantic_tokens_delta_provider.js\");\nconst vscode_languageserver_types_1 = __webpack_require__(/*! vscode-languageserver-types */ \"./node_modules/vscode-languageserver-types/lib/esm/main.js\");\nfunction registerABAP(reg) {\n monaco.languages.registerCompletionItemProvider(\"abap\", new abap_snippet_provider_1.ABAPSnippetProvider());\n monaco.languages.registerHoverProvider(\"abap\", new abap_hover_provider_1.ABAPHoverProvider(reg));\n monaco.languages.registerDocumentFormattingEditProvider(\"abap\", new abap_formatting_provider_1.ABAPFormattingProvider(reg));\n monaco.languages.registerDocumentSymbolProvider(\"abap\", new abap_symbol_provider_1.ABAPSymbolProvider(reg));\n monaco.languages.registerDefinitionProvider(\"abap\", new abap_definition_provider_1.ABAPDefinitionProvider(reg));\n monaco.languages.registerRenameProvider(\"abap\", new abap_rename_provider_1.ABAPRenameProvider(reg));\n monaco.languages.registerDocumentHighlightProvider(\"abap\", new abap_document_highlight_provider_1.ABAPDocumentHighlightProvider(reg));\n monaco.languages.registerCodeActionProvider(\"abap\", new abap_code_action_provider_1.ABAPCodeActionProvider(reg));\n monaco.languages.registerImplementationProvider(\"abap\", new abap_implementation_provider_1.ABAPImplementationProvider(reg));\n monaco.languages.registerReferenceProvider(\"abap\", new abap_references_provider_1.ABAPReferencesProvider(reg));\n monaco.languages.registerDocumentRangeSemanticTokensProvider(\"abap\", new abap_semantic_tokens_delta_provider_1.ABAPSemanticTokensDeltaProvider(reg));\n}\nexports.registerABAP = registerABAP;\nfunction updateMarkers(reg, model) {\n var _a;\n // see https://github.com/microsoft/monaco-editor/issues/1604\n reg.parse();\n const ls = new core_1.LanguageServer(reg);\n const diagnostics = ls.diagnostics({ uri: model.uri.toString() });\n const markers = [];\n for (const diagnostic of diagnostics) {\n let codeValue = diagnostic.code || \"\";\n if (typeof codeValue === \"number\") {\n codeValue = \"\";\n }\n const codeTarget = monaco.Uri.parse(((_a = diagnostic.codeDescription) === null || _a === void 0 ? void 0 : _a.href) || \"\");\n let severity = monaco.MarkerSeverity.Error;\n if (diagnostic.severity === vscode_languageserver_types_1.DiagnosticSeverity.Warning) {\n severity = monaco.MarkerSeverity.Warning;\n }\n else if (diagnostic.severity === vscode_languageserver_types_1.DiagnosticSeverity.Information) {\n severity = monaco.MarkerSeverity.Info;\n }\n markers.push({\n severity: severity,\n message: diagnostic.message,\n code: {\n value: codeValue,\n target: codeTarget,\n },\n startLineNumber: diagnostic.range.start.line + 1,\n startColumn: diagnostic.range.start.character + 1,\n endLineNumber: diagnostic.range.end.line + 1,\n endColumn: diagnostic.range.end.character + 1,\n });\n }\n monaco.editor.setModelMarkers(model, \"abaplint\", markers);\n}\nexports.updateMarkers = updateMarkers;\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://web-transpiler/./node_modules/@abaplint/monaco/build/index.js?"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css": +/*!*************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.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 {\n\twhite-space: nowrap;\n\theight: 100%;\n}\n\n.monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\theight: 100%;\n\twidth: 100%;\n\talign-items: center;\n}\n\n.monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-action-bar .action-item {\n\tdisplay: block;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-action-bar .action-item .icon,\n.monaco-action-bar .action-item .codicon {\n\tdisplay: block;\n}\n\n.monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 16px;\n\theight: 16px;\n}\n\n.monaco-action-bar .action-label {\n\tdisplay: flex;\n\tfont-size: 11px;\n\tpadding: 3px;\n\tborder-radius: 5px;\n}\n\n.monaco-action-bar .action-item.disabled .action-label,\n.monaco-action-bar .action-item.disabled .action-label::before,\n.monaco-action-bar .action-item.disabled .action-label:hover {\n\topacity: 0.6;\n}\n\n/* Vertical actions */\n\n.monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid #bbb;\n\tpadding-top: 1px;\n\tmargin-left: .8em;\n\tmargin-right: .8em;\n}\n\n.monaco-action-bar .action-item .action-label.separator {\n\twidth: 1px;\n\theight: 16px;\n\tmargin: 5px 4px !important;\n\tcursor: default;\n\tmin-width: 1px;\n\tpadding: 0;\n\tbackground-color: #bbb;\n}\n\n.secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item {\n\tdisplay: flex;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator {\n\tdisplay: flex;\n\talign-items: center;\n\tcursor: default;\n}\n\n.monaco-action-bar .action-item.action-dropdown-item > .action-dropdown-item-separator > div {\n\twidth: 1px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.css": +/*!***************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.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-aria-container {\n\tposition: absolute; /* try to hide from window but not from screen readers */\n\tleft:-999em;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.css": +/*!*******************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.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-text-button {\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\twidth: 100%;\n\tpadding: 4px;\n\tborder-radius: 2px;\n\ttext-align: center;\n\tcursor: pointer;\n\tjustify-content: center;\n\talign-items: center;\n\tborder: 1px solid var(--vscode-button-border, transparent);\n\tline-height: 18px;\n}\n\n.monaco-text-button:focus {\n\toutline-offset: 2px !important;\n}\n\n.monaco-text-button:hover {\n\ttext-decoration: none !important;\n}\n\n.monaco-button.disabled:focus,\n.monaco-button.disabled {\n\topacity: 0.4 !important;\n\tcursor: default;\n}\n\n.monaco-text-button .codicon {\n\tmargin: 0 0.2em;\n\tcolor: inherit !important;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label {\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tpadding: 0 4px;\n\toverflow: hidden;\n\theight: 28px;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label {\n\tflex-basis: 100%;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {\n\tflex-grow: 1;\n\twidth: 0;\n\toverflow: hidden;\n}\n\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label,\n.monaco-text-button.monaco-text-button-with-short-label > .monaco-button-label-short {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tfont-weight: normal;\n\tfont-style: inherit;\n\tpadding: 4px 0;\n}\n\n.monaco-button-dropdown {\n\tdisplay: flex;\n\tcursor: pointer;\n}\n\n.monaco-button-dropdown.disabled {\n\tcursor: default;\n}\n\n.monaco-button-dropdown > .monaco-button:focus {\n\toutline-offset: -1px !important;\n}\n\n.monaco-button-dropdown.disabled > .monaco-button.disabled,\n.monaco-button-dropdown.disabled > .monaco-button.disabled:focus,\n.monaco-button-dropdown.disabled > .monaco-button-dropdown-separator {\n\topacity: 0.4 !important;\n}\n\n.monaco-button-dropdown > .monaco-button.monaco-text-button {\n\tborder-right-width: 0 !important;\n}\n\n.monaco-button-dropdown .monaco-button-dropdown-separator {\n\tpadding: 4px 0;\n\tcursor: default;\n}\n\n.monaco-button-dropdown .monaco-button-dropdown-separator > div {\n\theight: 100%;\n\twidth: 1px;\n}\n\n.monaco-button-dropdown > .monaco-button.monaco-dropdown-button {\n\tborder: 1px solid var(--vscode-button-border, transparent);\n\tborder-left-width: 0 !important;\n\tborder-radius: 0 2px 2px 0;\n}\n\n.monaco-button-dropdown > .monaco-button.monaco-text-button {\n\tborder-radius: 2px 0 0 2px;\n}\n\n.monaco-description-button {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tmargin: 4px 5px; /* allows button focus outline to be visible */\n}\n\n.monaco-description-button .monaco-button-description {\n\tfont-style: italic;\n\tfont-size: 11px;\n\tpadding: 4px 20px;\n}\n\n.monaco-description-button .monaco-button-label,\n.monaco-description-button .monaco-button-description {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.monaco-description-button .monaco-button-label > .codicon,\n.monaco-description-button .monaco-button-description > .codicon {\n\tmargin: 0 0.2em;\n\tcolor: inherit !important;\n}\n\n/* default color styles - based on CSS variables */\n\n.monaco-button.default-colors,\n.monaco-button-dropdown.default-colors > .monaco-button{\n\tcolor: var(--vscode-button-foreground);\n\tbackground-color: var(--vscode-button-background);\n}\n\n.monaco-button.default-colors:hover,\n.monaco-button-dropdown.default-colors > .monaco-button:hover {\n\tbackground-color: var(--vscode-button-hoverBackground);\n}\n\n.monaco-button.default-colors.secondary,\n.monaco-button-dropdown.default-colors > .monaco-button.secondary {\n\tcolor: var(--vscode-button-secondaryForeground);\n\tbackground-color: var(--vscode-button-secondaryBackground);\n}\n\n.monaco-button.default-colors.secondary:hover,\n.monaco-button-dropdown.default-colors > .monaco-button.secondary:hover {\n\tbackground-color: var(--vscode-button-secondaryHoverBackground);\n}\n\n.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator {\n\tbackground-color: var(--vscode-button-background);\n\tborder-top: 1px solid var(--vscode-button-border);\n\tborder-bottom: 1px solid var(--vscode-button-border);\n}\n\n.monaco-button-dropdown.default-colors .monaco-button.secondary + .monaco-button-dropdown-separator {\n\tbackground-color: var(--vscode-button-secondaryBackground);\n}\n\n.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator > div {\n\tbackground-color: var(--vscode-button-separator);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css": +/*!****************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.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.codicon-wrench-subaction {\n\topacity: 0.5;\n}\n\n@keyframes codicon-spin {\n\t100% {\n\t\ttransform:rotate(360deg);\n\t}\n}\n\n.codicon-sync.codicon-modifier-spin,\n.codicon-loading.codicon-modifier-spin,\n.codicon-gear.codicon-modifier-spin,\n.codicon-notebook-state-executing.codicon-modifier-spin {\n\t/* Use steps to throttle FPS to reduce CPU usage */\n\tanimation: codicon-spin 1.5s steps(30) infinite;\n}\n\n.codicon-modifier-disabled {\n\topacity: 0.4;\n}\n\n/* custom speed & easing for loading icon */\n.codicon-loading,\n.codicon-tree-item-loading::before {\n\tanimation-duration: 1s !important;\n\tanimation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css": +/*!******************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.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__(/*! ./codicon.ttf */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf\"), __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@font-face {\n\tfont-family: \"codicon\";\n\tfont-display: block;\n\tsrc: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) format(\"truetype\");\n}\n\n.codicon[class*='codicon-'] {\n\tfont: normal normal normal 16px/1 codicon;\n\tdisplay: inline-block;\n\ttext-decoration: none;\n\ttext-rendering: auto;\n\ttext-align: center;\n\ttext-transform: none;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n/* icon rules are dynamically created by the platform theme service (see iconsStyleSheet.ts) */\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css": +/*!*****************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.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.context-view {\n\tposition: absolute;\n}\n\n.context-view.fixed {\n\tall: initial;\n\tfont-family: inherit;\n\tfont-size: 13px;\n\tposition: fixed;\n\tcolor: inherit;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css": +/*!***************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.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-count-badge {\n\tpadding: 3px 6px;\n\tborder-radius: 11px;\n\tfont-size: 11px;\n\tmin-width: 18px;\n\tmin-height: 18px;\n\tline-height: 11px;\n\tfont-weight: normal;\n\ttext-align: center;\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n}\n\n.monaco-count-badge.long {\n\tpadding: 2px 3px;\n\tborder-radius: 2px;\n\tmin-height: auto;\n\tline-height: normal;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css": +/*!***********************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.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-dropdown {\n\theight: 100%;\n\tpadding: 0;\n}\n\n.monaco-dropdown > .dropdown-label {\n\tcursor: pointer;\n\theight: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.monaco-dropdown > .dropdown-label > .action-label.disabled {\n\tcursor: default;\n}\n\n.monaco-dropdown-with-primary {\n\tdisplay: flex !important;\n\tflex-direction: row;\n\tborder-radius: 5px;\n}\n\n.monaco-dropdown-with-primary > .action-container > .action-label {\n\tmargin-right: 0;\n}\n\n.monaco-dropdown-with-primary > .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-primary > .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://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css": +/*!*************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.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/* ---------- Find input ---------- */\n\n.monaco-findInput {\n\tposition: relative;\n}\n\n.monaco-findInput .monaco-inputbox {\n\tfont-size: 13px;\n\twidth: 100%;\n}\n\n.monaco-findInput > .controls {\n\tposition: absolute;\n\ttop: 3px;\n\tright: 2px;\n}\n\n.vs .monaco-findInput.disabled {\n\tbackground-color: #E1E1E1;\n}\n\n/* Theming */\n.vs-dark .monaco-findInput.disabled {\n\tbackground-color: #333;\n}\n\n/* Highlighting */\n.monaco-findInput.highlight-0 .controls,\n.hc-light .monaco-findInput.highlight-0 .controls {\n\tanimation: monaco-findInput-highlight-0 100ms linear 0s;\n}\n\n.monaco-findInput.highlight-1 .controls,\n.hc-light .monaco-findInput.highlight-1 .controls {\n\tanimation: monaco-findInput-highlight-1 100ms linear 0s;\n}\n\n.hc-black .monaco-findInput.highlight-0 .controls,\n.vs-dark .monaco-findInput.highlight-0 .controls {\n\tanimation: monaco-findInput-highlight-dark-0 100ms linear 0s;\n}\n\n.hc-black .monaco-findInput.highlight-1 .controls,\n.vs-dark .monaco-findInput.highlight-1 .controls {\n\tanimation: monaco-findInput-highlight-dark-1 100ms linear 0s;\n}\n\n@keyframes monaco-findInput-highlight-0 {\n\t0% { background: rgba(253, 255, 0, 0.8); }\n\t100% { background: transparent; }\n}\n@keyframes monaco-findInput-highlight-1 {\n\t0% { background: rgba(253, 255, 0, 0.8); }\n\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\n\t99% { background: transparent; }\n}\n\n@keyframes monaco-findInput-highlight-dark-0 {\n\t0% { background: rgba(255, 255, 255, 0.44); }\n\t100% { background: transparent; }\n}\n@keyframes monaco-findInput-highlight-dark-1 {\n\t0% { background: rgba(255, 255, 255, 0.44); }\n\t/* Made intentionally different such that the CSS minifier does not collapse the two animations into a single one*/\n\t99% { background: transparent; }\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hover.css": +/*!*****************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/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-hover {\n\tcursor: default;\n\tposition: absolute;\n\toverflow: hidden;\n\tuser-select: text;\n\t-webkit-user-select: text;\n\tbox-sizing: border-box;\n\tanimation: fadein 100ms linear;\n\tline-height: 1.5em;\n}\n\n.monaco-hover.hidden {\n\tdisplay: none;\n}\n\n.monaco-hover a:hover:not(.disabled) {\n\tcursor: pointer;\n}\n\n.monaco-hover .hover-contents:not(.html-hover-contents) {\n\tpadding: 4px 8px;\n}\n\n.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) {\n\tmax-width: 500px;\n\tword-wrap: break-word;\n}\n\n.monaco-hover .markdown-hover > .hover-contents:not(.code-hover-contents) hr {\n\tmin-width: 100%;\n}\n\n.monaco-hover p,\n.monaco-hover .code,\n.monaco-hover ul,\n.monaco-hover h1,\n.monaco-hover h2,\n.monaco-hover h3,\n.monaco-hover h4,\n.monaco-hover h5,\n.monaco-hover h6 {\n\tmargin: 8px 0;\n}\n\n.monaco-hover h1,\n.monaco-hover h2,\n.monaco-hover h3,\n.monaco-hover h4,\n.monaco-hover h5,\n.monaco-hover h6 {\n\tline-height: 1.1;\n}\n\n.monaco-hover code {\n\tfont-family: var(--monaco-monospace-font);\n}\n\n.monaco-hover hr {\n\tbox-sizing: border-box;\n\tborder-left: 0px;\n\tborder-right: 0px;\n\tmargin-top: 4px;\n\tmargin-bottom: -4px;\n\tmargin-left: -8px;\n\tmargin-right: -8px;\n\theight: 1px;\n}\n\n.monaco-hover p:first-child,\n.monaco-hover .code:first-child,\n.monaco-hover ul:first-child {\n\tmargin-top: 0;\n}\n\n.monaco-hover p:last-child,\n.monaco-hover .code:last-child,\n.monaco-hover ul:last-child {\n\tmargin-bottom: 0;\n}\n\n/* MarkupContent Layout */\n.monaco-hover ul {\n\tpadding-left: 20px;\n}\n.monaco-hover ol {\n\tpadding-left: 20px;\n}\n\n.monaco-hover li > p {\n\tmargin-bottom: 0;\n}\n\n.monaco-hover li > ul {\n\tmargin-top: 0;\n}\n\n.monaco-hover code {\n\tborder-radius: 3px;\n\tpadding: 0 0.4em;\n}\n\n.monaco-hover .monaco-tokenized-source {\n\twhite-space: pre-wrap;\n}\n\n.monaco-hover .hover-row.status-bar {\n\tfont-size: 12px;\n\tline-height: 22px;\n}\n\n.monaco-hover .hover-row.status-bar .info {\n\tfont-style: italic;\n\tpadding: 0px 8px;\n}\n\n.monaco-hover .hover-row.status-bar .actions {\n\tdisplay: flex;\n\tpadding: 0px 8px;\n}\n\n.monaco-hover .hover-row.status-bar .actions .action-container {\n\tmargin-right: 16px;\n\tcursor: pointer;\n}\n\n.monaco-hover .hover-row.status-bar .actions .action-container .action .icon {\n\tpadding-right: 4px;\n}\n\n.monaco-hover .markdown-hover .hover-contents .codicon {\n\tcolor: inherit;\n\tfont-size: inherit;\n\tvertical-align: middle;\n}\n\n.monaco-hover .hover-contents a.code-link:hover,\n.monaco-hover .hover-contents a.code-link {\n\tcolor: inherit;\n}\n\n.monaco-hover .hover-contents a.code-link:before {\n\tcontent: '(';\n}\n\n.monaco-hover .hover-contents a.code-link:after {\n\tcontent: ')';\n}\n\n.monaco-hover .hover-contents 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-foreground);\n}\n\n.monaco-hover .hover-contents a.code-link > span:hover {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n/** Spans in markdown hovers need a margin-bottom to avoid looking cramped: https://github.com/microsoft/vscode/issues/101496 **/\n.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span {\n\tmargin-bottom: 4px;\n\tdisplay: inline-block;\n}\n\n.monaco-hover-content .action-container a {\n\t-webkit-user-select: none;\n\tuser-select: none;\n}\n\n.monaco-hover-content .action-container.disabled {\n\tpointer-events: none;\n\topacity: 0.4;\n\tcursor: default;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hover.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css": +/*!*************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.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/* ---------- Icon label ---------- */\n\n.monaco-icon-label {\n\tdisplay: flex; /* required for icons support :before rule */\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.monaco-icon-label::before {\n\n\t/* svg icons rendered as background image */\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\tline-height: inherit !important;\n\tdisplay: inline-block;\n\n\t/* fonts icons */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tvertical-align: top;\n\n\tflex-shrink: 0; /* fix for https://github.com/microsoft/vscode/issues/13787 */\n}\n\n.monaco-icon-label-container.disabled {\n\tcolor: var(--vscode-disabledForeground);\n}\n.monaco-icon-label > .monaco-icon-label-container {\n\tmin-width: 0;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tflex: 1;\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name {\n\tcolor: inherit;\n\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-name-container > .label-name > .label-separator {\n\tmargin: 0 2px;\n\topacity: 0.5;\n}\n\n.monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\topacity: .7;\n\tmargin-left: 0.5em;\n\tfont-size: 0.9em;\n\twhite-space: pre; /* enable to show labels that include multiple whitespaces */\n}\n\n.monaco-icon-label.nowrap > .monaco-icon-label-container > .monaco-icon-description-container > .label-description{\n\twhite-space: nowrap\n}\n\n.vs .monaco-icon-label > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\topacity: .95;\n}\n\n.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,\n.monaco-icon-label.italic > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\tfont-style: italic;\n}\n\n.monaco-icon-label.deprecated {\n\ttext-decoration: line-through;\n\topacity: 0.66;\n}\n\n/* make sure apply italic font style to decorations as well */\n.monaco-icon-label.italic::after {\n\tfont-style: italic;\n}\n\n.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-name-container > .label-name,\n.monaco-icon-label.strikethrough > .monaco-icon-label-container > .monaco-icon-description-container > .label-description {\n\ttext-decoration: line-through;\n}\n\n.monaco-icon-label::after {\n\topacity: 0.75;\n\tfont-size: 90%;\n\tfont-weight: 600;\n\tmargin: auto 16px 0 5px; /* https://github.com/microsoft/vscode/issues/113223 */\n\ttext-align: center;\n}\n\n/* make sure selection color wins when a label is being selected */\n.monaco-list:focus .selected .monaco-icon-label, /* list */\n.monaco-list:focus .selected .monaco-icon-label::after\n{\n\tcolor: inherit !important;\n}\n\n.monaco-list-row.focused.selected .label-description,\n.monaco-list-row.selected .label-description {\n\topacity: .8;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css": +/*!***********************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.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-inputbox {\n\tposition: relative;\n\tdisplay: block;\n\tpadding: 0;\n\tbox-sizing:\tborder-box;\n\tborder-radius: 2px;\n\n\t/* Customizable */\n\tfont-size: inherit;\n}\n\n.monaco-inputbox > .ibwrapper > .input,\n.monaco-inputbox > .ibwrapper > .mirror {\n\n\t/* Customizable */\n\tpadding: 4px 6px;\n}\n\n.monaco-inputbox > .ibwrapper {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-inputbox > .ibwrapper > .input {\n\tdisplay: inline-block;\n\tbox-sizing:\tborder-box;\n\twidth: 100%;\n\theight: 100%;\n\tline-height: inherit;\n\tborder: none;\n\tfont-family: inherit;\n\tfont-size: inherit;\n\tresize: none;\n\tcolor: inherit;\n}\n\n.monaco-inputbox > .ibwrapper > input {\n\ttext-overflow: ellipsis;\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input {\n\tdisplay: block;\n\tscrollbar-width: none; /* Firefox: hide scrollbars */\n\toutline: none;\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input::-webkit-scrollbar {\n\tdisplay: none; /* Chrome + Safari: hide scrollbar */\n}\n\n.monaco-inputbox > .ibwrapper > textarea.input.empty {\n\twhite-space: nowrap;\n}\n\n.monaco-inputbox > .ibwrapper > .mirror {\n\tposition: absolute;\n\tdisplay: inline-block;\n\twidth: 100%;\n\ttop: 0;\n\tleft: 0;\n\tbox-sizing: border-box;\n\twhite-space: pre-wrap;\n\tvisibility: hidden;\n\tword-wrap: break-word;\n}\n\n/* Context view */\n\n.monaco-inputbox-container {\n\ttext-align: right;\n}\n\n.monaco-inputbox-container .monaco-inputbox-message {\n\tdisplay: inline-block;\n\toverflow: hidden;\n\ttext-align: left;\n\twidth: 100%;\n\tbox-sizing:\tborder-box;\n\tpadding: 0.4em;\n\tfont-size: 12px;\n\tline-height: 17px;\n\tmargin-top: -1px;\n\tword-wrap: break-word;\n}\n\n/* Action bar support */\n.monaco-inputbox .monaco-action-bar {\n\tposition: absolute;\n\tright: 2px;\n\ttop: 4px;\n}\n\n.monaco-inputbox .monaco-action-bar .action-item {\n\tmargin-left: 2px;\n}\n\n.monaco-inputbox .monaco-action-bar .action-item .codicon {\n\tbackground-repeat: no-repeat;\n\twidth: 16px;\n\theight: 16px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css": +/*!*************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.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-keybinding {\n\tdisplay: flex;\n\talign-items: center;\n\tline-height: 10px;\n}\n\n.monaco-keybinding > .monaco-keybinding-key {\n\tdisplay: inline-block;\n\tborder-style: solid;\n\tborder-width: 1px;\n\tborder-radius: 3px;\n\tvertical-align: middle;\n\tfont-size: 11px;\n\tpadding: 3px 5px;\n\tmargin: 0 2px;\n}\n\n.monaco-keybinding > .monaco-keybinding-key:first-child {\n\tmargin-left: 0;\n}\n\n.monaco-keybinding > .monaco-keybinding-key:last-child {\n\tmargin-right: 0;\n}\n\n.monaco-keybinding > .monaco-keybinding-key-separator {\n\tdisplay: inline-block;\n}\n\n.monaco-keybinding > .monaco-keybinding-key-chord-separator {\n\twidth: 6px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css": +/*!***************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.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-list {\n\tposition: relative;\n\theight: 100%;\n\twidth: 100%;\n\twhite-space: nowrap;\n}\n\n.monaco-list.mouse-support {\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n.monaco-list > .monaco-scrollable-element {\n\theight: 100%;\n}\n\n.monaco-list-rows {\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.monaco-list.horizontal-scrolling .monaco-list-rows {\n\twidth: auto;\n\tmin-width: 100%;\n}\n\n.monaco-list-row {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\toverflow: hidden;\n\twidth: 100%;\n}\n\n.monaco-list.mouse-support .monaco-list-row {\n\tcursor: pointer;\n\ttouch-action: none;\n}\n\n/* for OS X ballistic scrolling */\n.monaco-list-row.scrolling {\n\tdisplay: none !important;\n}\n\n/* Focus */\n.monaco-list.element-focused,\n.monaco-list.selection-single,\n.monaco-list.selection-multiple {\n\toutline: 0 !important;\n}\n\n/* Dnd */\n.monaco-drag-image {\n\tdisplay: inline-block;\n\tpadding: 1px 7px;\n\tborder-radius: 10px;\n\tfont-size: 12px;\n\tposition: absolute;\n\tz-index: 1000;\n}\n\n/* Filter */\n\n.monaco-list-type-filter-message {\n\tposition: absolute;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tpadding: 40px 1em 1em 1em;\n\ttext-align: center;\n\twhite-space: normal;\n\topacity: 0.7;\n\tpointer-events: none;\n}\n\n.monaco-list-type-filter-message:empty {\n\tdisplay: none;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css": +/*!*****************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.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-mouse-cursor-text {\n\tcursor: text;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css": +/*!*****************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.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-progress-container {\n\twidth: 100%;\n\theight: 5px;\n\toverflow: hidden; /* keep progress bit in bounds */\n}\n\n.monaco-progress-container .progress-bit {\n\twidth: 2%;\n\theight: 5px;\n\tposition: absolute;\n\tleft: 0;\n\tdisplay: none;\n}\n\n.monaco-progress-container.active .progress-bit {\n\tdisplay: inherit;\n}\n\n.monaco-progress-container.discrete .progress-bit {\n\tleft: 0;\n\ttransition: width 100ms linear;\n}\n\n.monaco-progress-container.discrete.done .progress-bit {\n\twidth: 100%;\n}\n\n.monaco-progress-container.infinite .progress-bit {\n\tanimation-name: progress;\n\tanimation-duration: 4s;\n\tanimation-iteration-count: infinite;\n\ttransform: translate3d(0px, 0px, 0px);\n\tanimation-timing-function: linear;\n}\n\n.monaco-progress-container.infinite.infinite-long-running .progress-bit {\n\t/*\n\t\tThe more smooth \\`linear\\` timing function can cause\n\t\thigher GPU consumption as indicated in\n\t\thttps://github.com/microsoft/vscode/issues/97900 &\n\t\thttps://github.com/microsoft/vscode/issues/138396\n\t*/\n\tanimation-timing-function: steps(100);\n}\n\n/**\n * The progress bit has a width: 2% (1/50) of the parent container. The animation moves it from 0% to 100% of\n * that container. Since translateX is relative to the progress bit size, we have to multiple it with\n * its relative size to the parent container:\n * parent width: 5000%\n * bit width: 100%\n * translateX should be as follow:\n * 50%: 5000% * 50% - 50% (set to center) = 2450%\n * 100%: 5000% * 100% - 100% (do not overflow) = 4900%\n */\n@keyframes progress { from { transform: translateX(0%) scaleX(1) } 50% { transform: translateX(2500%) scaleX(3) } to { transform: translateX(4900%) scaleX(1) } }\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css": +/*!***************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.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:root {\n\t--vscode-sash-size: 4px;\n}\n\n.monaco-sash {\n\tposition: absolute;\n\tz-index: 35;\n\ttouch-action: none;\n}\n\n.monaco-sash.disabled {\n\tpointer-events: none;\n}\n\n.monaco-sash.mac.vertical {\n\tcursor: col-resize;\n}\n\n.monaco-sash.vertical.minimum {\n\tcursor: e-resize;\n}\n\n.monaco-sash.vertical.maximum {\n\tcursor: w-resize;\n}\n\n.monaco-sash.mac.horizontal {\n\tcursor: row-resize;\n}\n\n.monaco-sash.horizontal.minimum {\n\tcursor: s-resize;\n}\n\n.monaco-sash.horizontal.maximum {\n\tcursor: n-resize;\n}\n\n.monaco-sash.disabled {\n\tcursor: default !important;\n\tpointer-events: none !important;\n}\n\n.monaco-sash.vertical {\n\tcursor: ew-resize;\n\ttop: 0;\n\twidth: var(--vscode-sash-size);\n\theight: 100%;\n}\n\n.monaco-sash.horizontal {\n\tcursor: ns-resize;\n\tleft: 0;\n\twidth: 100%;\n\theight: var(--vscode-sash-size);\n}\n\n.monaco-sash:not(.disabled) > .orthogonal-drag-handle {\n\tcontent: \" \";\n\theight: calc(var(--vscode-sash-size) * 2);\n\twidth: calc(var(--vscode-sash-size) * 2);\n\tz-index: 100;\n\tdisplay: block;\n\tcursor: all-scroll;\n\tposition: absolute;\n}\n\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)\n\t> .orthogonal-drag-handle.start,\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)\n\t> .orthogonal-drag-handle.end {\n\tcursor: nwse-resize;\n}\n\n.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)\n\t> .orthogonal-drag-handle.end,\n.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)\n\t> .orthogonal-drag-handle.start {\n\tcursor: nesw-resize;\n}\n\n.monaco-sash.vertical > .orthogonal-drag-handle.start {\n\tleft: calc(var(--vscode-sash-size) * -0.5);\n\ttop: calc(var(--vscode-sash-size) * -1);\n}\n.monaco-sash.vertical > .orthogonal-drag-handle.end {\n\tleft: calc(var(--vscode-sash-size) * -0.5);\n\tbottom: calc(var(--vscode-sash-size) * -1);\n}\n.monaco-sash.horizontal > .orthogonal-drag-handle.start {\n\ttop: calc(var(--vscode-sash-size) * -0.5);\n\tleft: calc(var(--vscode-sash-size) * -1);\n}\n.monaco-sash.horizontal > .orthogonal-drag-handle.end {\n\ttop: calc(var(--vscode-sash-size) * -0.5);\n\tright: calc(var(--vscode-sash-size) * -1);\n}\n\n.monaco-sash:before {\n\tcontent: '';\n\tpointer-events: none;\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\tbackground: transparent;\n}\n\n.monaco-workbench:not(.reduce-motion) .monaco-sash:before {\n\ttransition: background-color 0.1s ease-out;\n}\n\n.monaco-sash.hover:before,\n.monaco-sash.active:before {\n\tbackground: var(--vscode-sash-hoverBorder);\n}\n\n.monaco-sash.vertical:before {\n\twidth: var(--vscode-sash-hover-size);\n\tleft: calc(50% - (var(--vscode-sash-hover-size) / 2));\n}\n\n.monaco-sash.horizontal:before {\n\theight: var(--vscode-sash-hover-size);\n\ttop: calc(50% - (var(--vscode-sash-hover-size) / 2));\n}\n\n.pointer-events-disabled {\n\tpointer-events: none !important;\n}\n\n/** Debug **/\n\n.monaco-sash.debug {\n\tbackground: cyan;\n}\n\n.monaco-sash.debug.disabled {\n\tbackground: rgba(0, 255, 255, 0.2);\n}\n\n.monaco-sash.debug:not(.disabled) > .orthogonal-drag-handle {\n\tbackground: red;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css": +/*!********************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.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/* Arrows */\n.monaco-scrollable-element > .scrollbar > .scra {\n\tcursor: pointer;\n\tfont-size: 11px !important;\n}\n\n.monaco-scrollable-element > .visible {\n\topacity: 1;\n\n\t/* Background rule added for IE9 - to allow clicks on dom node */\n\tbackground:rgba(0,0,0,0);\n\n\ttransition: opacity 100ms linear;\n\t/* In front of peek view */\n\tz-index: 11;\n}\n.monaco-scrollable-element > .invisible {\n\topacity: 0;\n\tpointer-events: none;\n}\n.monaco-scrollable-element > .invisible.fade {\n\ttransition: opacity 800ms linear;\n}\n\n/* Scrollable Content Inset Shadow */\n.monaco-scrollable-element > .shadow {\n\tposition: absolute;\n\tdisplay: none;\n}\n.monaco-scrollable-element > .shadow.top {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 3px;\n\theight: 3px;\n\twidth: 100%;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.left {\n\tdisplay: block;\n\ttop: 3px;\n\tleft: 0;\n\theight: 100%;\n\twidth: 3px;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.top-left-corner {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 0;\n\theight: 3px;\n\twidth: 3px;\n}\n.monaco-scrollable-element > .shadow.top.left {\n\tbox-shadow: var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset;\n}\n\n.monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: var(--vscode-scrollbarSlider-background);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: var(--vscode-scrollbarSlider-hoverBackground);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: var(--vscode-scrollbarSlider-activeBackground);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.css": +/*!*************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.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-select-box {\n\twidth: 100%;\n\tcursor: pointer;\n\tborder-radius: 2px;\n}\n\n.monaco-select-box-dropdown-container {\n\tfont-size: 13px;\n\tfont-weight: normal;\n\ttext-transform: none;\n}\n\n/** Actions */\n\n.monaco-action-bar .action-item.select-container {\n\tcursor: default;\n}\n\n.monaco-action-bar .action-item .monaco-select-box {\n\tcursor: pointer;\n\tmin-width: 100px;\n\tmin-height: 18px;\n\tpadding: 2px 23px 2px 8px;\n}\n\n.mac .monaco-action-bar .action-item .monaco-select-box {\n\tfont-size: 11px;\n\tborder-radius: 5px;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css": +/*!*******************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.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/* Use custom CSS vars to expose padding into parent select for padding calculation */\n.monaco-select-box-dropdown-padding {\n\t--dropdown-padding-top: 1px;\n\t--dropdown-padding-bottom: 1px;\n}\n\n.hc-black .monaco-select-box-dropdown-padding,\n.hc-light .monaco-select-box-dropdown-padding {\n\t--dropdown-padding-top: 3px;\n\t--dropdown-padding-bottom: 4px;\n}\n\n.monaco-select-box-dropdown-container {\n\tdisplay: none;\n\tbox-sizing:\tborder-box;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown * {\n\tmargin: 0;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown a:focus {\n\toutline: 1px solid -webkit-focus-ring-color;\n\toutline-offset: -1px;\n}\n\n.monaco-select-box-dropdown-container > .select-box-details-pane > .select-box-description-markdown code {\n\tline-height: 15px; /** For some reason, this is needed, otherwise 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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/* 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://web-transpiler/./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://web-transpiler/./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// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./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.monaco-editor .lines-content .core-guide-indent {\n\tbox-shadow: 1px 0 0 0 var(--vscode-editorIndentGuide-background) inset;\n}\n\n.monaco-editor .lines-content .core-guide-indent-active {\n\tbox-shadow: 1px 0 0 0 var(--vscode-editorIndentGuide-activeBackground, --vscode-editorIndentGuide-background) inset;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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, --vscode-editor-background);\n\tcolor: var(--vscode-button-foreground, --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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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/diffEditorWidget2/style.css": +/*!***********************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/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, .diff-hidden-lines:not(.dragging) .bottom:hover, .diff-hidden-lines .top.dragging, .diff-hidden-lines .bottom.dragging {\n\tbackground-color: var(--vscode-focusBorder);\n}\n\n.monaco-editor .diff-hidden-lines .top, .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\tcursor: ns-resize;\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}\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 .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-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// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/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/media/diffEditor.css": +/*!****************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffEditor.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/* ---------- 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, --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, --vscode-diffEditor-insertedLineBackground, --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, --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, --vscode-diffEditor-removedLineBackground, --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// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffEditor.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/diffReview.css": +/*!****************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffReview.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-diff-editor .diff-review-line-number {\n\ttext-align: right;\n\tdisplay: inline-block;\n\tcolor: var(--vscode-editorLineNumber-foreground);\n}\n\n.monaco-diff-editor .diff-review {\n\tposition: absolute;\n\tuser-select: none;\n\t-webkit-user-select: none;\n\tz-index: 99;\n}\n\n.monaco-diff-editor .diff-review-summary {\n\tpadding-left: 10px;\n}\n\n.monaco-diff-editor .diff-review-shadow {\n\tposition: absolute;\n\tbox-shadow: var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset;\n}\n\n.monaco-diff-editor .diff-review-row {\n\twhite-space: pre;\n}\n\n.monaco-diff-editor .diff-review-table {\n\tdisplay: table;\n\tmin-width: 100%;\n}\n\n.monaco-diff-editor .diff-review-row {\n\tdisplay: table-row;\n\twidth: 100%;\n}\n\n.monaco-diff-editor .diff-review-spacer {\n\tdisplay: inline-block;\n\twidth: 10px;\n\tvertical-align: middle;\n}\n\n.monaco-diff-editor .diff-review-spacer > .codicon {\n\tfont-size: 9px !important;\n}\n\n.monaco-diff-editor .diff-review-actions {\n\tdisplay: inline-block;\n\tposition: absolute;\n\tright: 10px;\n\ttop: 2px;\n\tz-index: 100;\n}\n\n.monaco-diff-editor .diff-review-actions .action-label {\n\twidth: 16px;\n\theight: 16px;\n\tmargin: 2px 0;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffReview.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://web-transpiler/./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/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://web-transpiler/./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://web-transpiler/./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\tcolor: var(--vscode-editorLightBulb-foreground);\n}\n\n.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix {\n\tcolor: var(--vscode-editorLightBulbAutoFix-foreground, var(--vscode-editorLightBulb-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://web-transpiler/./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://web-transpiler/./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}\n\n.colorpicker-header .picked-color .codicon {\n\tcolor: inherit;\n\tfont-size: 14px;\n\tposition: absolute;\n\tleft: 8px;\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\tborder-bottom-left-radius: 4px;\n\tborder-bottom-right-radius: 4px;\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.monaco-editor .find-widget .monaco-inputbox.synthetic-focus {\n\toutline: 1px solid -webkit-focus-ring-color;\n\toutline-offset: -1px;\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 .findMatch {\n\tanimation-duration: 0;\n\tanimation-name: inherit !important;\n}\n\n.monaco-editor .find-widget .monaco-sash {\n\tleft: 0 !important;\n}\n\n.monaco-editor.hc-black .find-widget .button:before {\n\tposition: relative;\n\ttop: 1px;\n\tleft: 2px;\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://web-transpiler/./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://web-transpiler/./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-foreground);\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .message a.code-link > span {\n\tcolor: var(--vscode-textLink-activeForeground);\n}\n\n.monaco-editor .marker-widget .descriptioncontainer .filename {\n\tcursor: pointer;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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 .custom-actions .action-item:nth-child(2) 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://web-transpiler/./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/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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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/markdownRenderer/browser/renderedMarkdown.css": +/*!**********************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/monaco-editor/esm/vs/editor/contrib/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// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/contrib/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/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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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}\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://web-transpiler/./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://web-transpiler/./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-line {\n\tcolor: var(--vscode-editorLineNumber-foreground);\n\toverflow: hidden;\n\twhite-space: nowrap;\n\tdisplay: inline-block;\n}\n\n.monaco-editor .sticky-line-number {\n\ttext-align: right;\n\tfloat: left;\n}\n\n.monaco-editor .sticky-line-root {\n\tbackground-color: inherit;\n\toverflow: hidden;\n\twhite-space: nowrap;\n\twidth: 100%;\n}\n\n.monaco-editor.hc-black .sticky-widget,\n.monaco-editor.hc-light .sticky-widget {\n\tborder-bottom: 1px solid var(--vscode-contrastBorder);\n}\n\n.monaco-editor .sticky-line-root: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-scrollbar-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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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.vs [tabindex=\"0\"]:focus {\n\toutline: 1px solid rgba(0, 122, 204, 0.4);\n\toutline-offset: -1px;\n\topacity: 1 !important;\n}\n\n.monaco-editor.vs-dark [tabindex=\"0\"]:focus {\n\toutline: 1px solid rgba(14, 99, 156, 0.6);\n\toutline-offset: -1px;\n\topacity: 1 !important;\n}*/\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./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: 500px;\n\tz-index: 40;\n\tdisplay: block;\n\twidth: 100%;\n\tborder: 1px solid var(--vscode-editorWidget-border) !important;\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-pickerGroup-foreground) !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\tcolor: var(--vscode-disabledForeground);\n}\n\n.action-widget .monaco-list-row.action.option-disabled .codicon {\n\topacity: 0.4;\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 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// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./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 > .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://web-transpiler/./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://web-transpiler/./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;\n}\n\n.quick-input-header .quick-input-description {\n\tmargin: 4px 2px;\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-progress.monaco-progress-container,\n.quick-input-progress.monaco-progress-container .progress-bit {\n\theight: 2px;\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// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./node_modules/monaco-editor/esm/vs/platform/severityIcon/browser/media/severityIcon.css?./node_modules/css-loader/dist/cjs.js"); + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./src/index.css": +/*!*************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./src/index.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 _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `body, html, .inner, .outer {\n height: 100%;\n margin: 0;\n background-color: #333;\n overflow: hidden;\n}\n\n#horizon {\n display: grid;\n grid-template-columns: 1fr 5px 1fr 5px 1fr;\n grid-template-rows: 1fr;\n\n position: absolute;\n top: 5px;\n left: 5px;\n right: 5px;\n bottom: 5px;\n}\n\n.container {\n overflow: hidden;\n}\n\n.gutter {\n cursor: col-resize;\n}\n\n#gutter1 {\n grid-area: 1 / 2 / 1 / 2;\n}\n\n#gutter2 {\n grid-area: 1 / 4 / 1 / 4;\n}\n\nselect {\n width: 100%;\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://web-transpiler/./src/index.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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./node_modules/fast-xml-parser/src/fxp.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://web-transpiler/./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 {\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://web-transpiler/./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\");\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 || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\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) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === 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 (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) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\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 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 listTagVal += this.j2x(item, level + 1).val;\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level)\n }\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, '', 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)\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) {\n const result = this.j2x(object, level + 1);\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 = '' + 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 = `>` + 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 ' 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 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}`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"`;\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 (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 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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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\");\n\nconst 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 };\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 }\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 && 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 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: `);\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 //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n // let val = this.parseTextData(tagExp, this.options.cdataPropName, jPath + \".\" + this.options.cdataPropName, true, false, true);\n // if(!val) val = \"\";\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true);\n if(val == undefined) val = \"\";\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 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)) { //TODO: namespace\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, tagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${tagName}`);\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 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.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\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 }\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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./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://web-transpiler/./node_modules/fast-xml-parser/src/xmlparser/xmlNode.js?"); + +/***/ }), + +/***/ "./public/favicon-16x16.png": +/*!**********************************!*\ + !*** ./public/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://web-transpiler/./public/favicon-16x16.png?"); + +/***/ }), + +/***/ "./public/favicon-32x32.png": +/*!**********************************!*\ + !*** ./public/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://web-transpiler/./public/favicon-32x32.png?"); + +/***/ }), + +/***/ "./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://web-transpiler/./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 */ PixelRatio: () => (/* binding */ PixelRatio),\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 _common_event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __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\nclass WindowManager {\n constructor() {\n // --- Zoom Factor\n this._zoomFactor = 1;\n }\n getZoomFactor() {\n return this._zoomFactor;\n }\n}\nWindowManager.INSTANCE = new WindowManager();\n/**\n * See https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio#monitoring_screen_resolution_or_zoom_level_changes\n */\nclass DevicePixelRatioMonitor extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\n constructor() {\n super();\n this._onDidChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\n this.onDidChange = this._onDidChange.event;\n this._listener = () => this._handleChange(true);\n this._mediaQueryList = null;\n this._handleChange(false);\n }\n _handleChange(fireEvent) {\n var _a;\n (_a = this._mediaQueryList) === null || _a === void 0 ? void 0 : _a.removeEventListener('change', this._listener);\n this._mediaQueryList = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);\n this._mediaQueryList.addEventListener('change', this._listener);\n if (fireEvent) {\n this._onDidChange.fire();\n }\n }\n}\nclass PixelRatioImpl extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\n get value() {\n return this._value;\n }\n constructor() {\n super();\n this._onDidChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\n this.onDidChange = this._onDidChange.event;\n this._value = this._getPixelRatio();\n const dprMonitor = this._register(new DevicePixelRatioMonitor());\n this._register(dprMonitor.onDidChange(() => {\n this._value = this._getPixelRatio();\n this._onDidChange.fire(this._value);\n }));\n }\n _getPixelRatio() {\n const ctx = document.createElement('canvas').getContext('2d');\n const dpr = window.devicePixelRatio || 1;\n const bsr = ctx.webkitBackingStorePixelRatio ||\n ctx.mozBackingStorePixelRatio ||\n ctx.msBackingStorePixelRatio ||\n ctx.oBackingStorePixelRatio ||\n ctx.backingStorePixelRatio || 1;\n return dpr / bsr;\n }\n}\nclass PixelRatioFacade {\n constructor() {\n this._pixelRatioMonitor = null;\n }\n _getOrCreatePixelRatioMonitor() {\n if (!this._pixelRatioMonitor) {\n this._pixelRatioMonitor = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.markAsSingleton)(new PixelRatioImpl());\n }\n return this._pixelRatioMonitor;\n }\n /**\n * Get the current value.\n */\n get value() {\n return this._getOrCreatePixelRatioMonitor().value;\n }\n /**\n * Listen for changes.\n */\n get onDidChange() {\n return this._getOrCreatePixelRatioMonitor().onDidChange;\n }\n}\nfunction addMatchMediaChangeListener(query, callback) {\n if (typeof query === 'string') {\n query = window.matchMedia(query);\n }\n query.addEventListener('change', callback);\n}\n/**\n * Returns the pixel ratio.\n *\n * This is useful for rendering elements at native screen resolution or for being used as\n * a cache key when storing font measurements. Fonts might render differently depending on resolution\n * and any measurements need to be discarded for example when a window is moved from a monitor to another.\n */\nconst PixelRatio = new PixelRatioFacade();\n/** The zoom scale for an index, e.g. 1, 1.2, 1.4 */\nfunction getZoomFactor() {\n return WindowManager.INSTANCE.getZoomFactor();\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 (window.matchMedia) {\n const standaloneMatchMedia = window.matchMedia('(display-mode: standalone) or (display-mode: window-controls-overlay)');\n const fullScreenMatchMedia = window.matchMedia('(display-mode: fullscreen)');\n standalone = standaloneMatchMedia.matches;\n addMatchMediaChangeListener(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://web-transpiler/./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 _common_platform_js__WEBPACK_IMPORTED_MODULE_1__ = __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 * Browser feature we can support in current platform, browser and environment.\n */\nconst BrowserFeatures = {\n clipboard: {\n writeText: (_common_platform_js__WEBPACK_IMPORTED_MODULE_1__.isNative\n || (document.queryCommandSupported && document.queryCommandSupported('copy'))\n || !!(navigator && navigator.clipboard && navigator.clipboard.writeText)),\n readText: (_common_platform_js__WEBPACK_IMPORTED_MODULE_1__.isNative\n || !!(navigator && navigator.clipboard && navigator.clipboard.readText))\n },\n keyboard: (() => {\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_1__.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 || navigator.maxTouchPoints > 0,\n pointerEvents: window.PointerEvent && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0 || navigator.maxTouchPoints > 0)\n};\n\n\n//# sourceURL=webpack://web-transpiler/./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_worker_simpleWorker_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/worker/simpleWorker.js */ \"./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.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\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 {\n constructor(moduleId, id, label, onMessageCallback, onErrorCallback) {\n this.id = id;\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 }\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 => w.postMessage(message, transfer));\n }\n dispose() {\n var _a;\n (_a = this.worker) === null || _a === void 0 ? void 0 : _a.then(w => w.terminate());\n this.worker = null;\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_1__.logOnceWebWorkerWarning)(err);\n this._webWorkerFailedBeforeError = err;\n onErrorCallback(err);\n });\n }\n}\nDefaultWorkerFactory.LAST_WORKER_ID = 0;\n\n\n//# sourceURL=webpack://web-transpiler/./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://web-transpiler/./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 */ 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 */ 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 */ findParentWithClass: () => (/* binding */ findParentWithClass),\n/* harmony export */ getActiveElement: () => (/* binding */ getActiveElement),\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 */ 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 */ h: () => (/* binding */ h),\n/* harmony export */ hasParentWithClass: () => (/* binding */ hasParentWithClass),\n/* harmony export */ hide: () => (/* binding */ hide),\n/* harmony export */ hookDomPurifyHrefAndSrcSanitizer: () => (/* binding */ hookDomPurifyHrefAndSrcSanitizer),\n/* harmony export */ isAncestor: () => (/* binding */ isAncestor),\n/* harmony export */ isEventLike: () => (/* binding */ isEventLike),\n/* harmony export */ isHTMLElement: () => (/* binding */ isHTMLElement),\n/* harmony export */ isInDOM: () => (/* binding */ isInDOM),\n/* harmony export */ isInShadowDOM: () => (/* binding */ isInShadowDOM),\n/* harmony export */ isShadowRoot: () => (/* binding */ isShadowRoot),\n/* harmony export */ prepend: () => (/* binding */ prepend),\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 */ saveParentsScrollTop: () => (/* binding */ saveParentsScrollTop),\n/* harmony export */ scheduleAtNextAnimationFrame: () => (/* binding */ scheduleAtNextAnimationFrame),\n/* harmony export */ setVisibility: () => (/* binding */ setVisibility),\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_errors_js__WEBPACK_IMPORTED_MODULE_4__ = __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_5__ = __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_6__ = __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_7__ = __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_8__ = __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_9__ = __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\n\n\n\n\n\nfunction clearNode(node) {\n while (node.firstChild) {\n node.firstChild.remove();\n }\n}\n/**\n * @deprecated Use node.isConnected directly\n */\nfunction isInDOM(node) {\n var _a;\n return (_a = node === null || node === void 0 ? void 0 : node.isConnected) !== null && _a !== void 0 ? _a : false;\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(handler) {\n return function (e) {\n return handler(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardMouseEvent(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(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(handler);\n return addDisposableGenericMouseDownListener(node, wrapHandler, useCapture);\n};\nconst addStandardDisposableGenericMouseUpListener = function addStandardDisposableListener(node, handler, useCapture) {\n const wrapHandler = _wrapAsStandardMouseEvent(handler);\n return addDisposableGenericMouseUpListener(node, wrapHandler, useCapture);\n};\nfunction addDisposableGenericMouseDownListener(node, handler, useCapture) {\n return addDisposableListener(node, _common_platform_js__WEBPACK_IMPORTED_MODULE_9__.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_9__.isIOS && _canIUse_js__WEBPACK_IMPORTED_MODULE_1__.BrowserFeatures.pointerEvents ? EventType.POINTER_UP : EventType.MOUSE_UP, handler, useCapture);\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 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_4__.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 let NEXT_QUEUE = [];\n /**\n * The runners scheduled at the current animation frame\n */\n let CURRENT_QUEUE = null;\n /**\n * A flag to keep track if the native requestAnimationFrame was already called\n */\n let animFrameRequested = false;\n /**\n * A flag to indicate if currently handling a native requestAnimationFrame callback\n */\n let inAnimationFrameRunner = false;\n const animationFrameRunner = () => {\n animFrameRequested = false;\n CURRENT_QUEUE = NEXT_QUEUE;\n NEXT_QUEUE = [];\n inAnimationFrameRunner = true;\n while (CURRENT_QUEUE.length > 0) {\n CURRENT_QUEUE.sort(AnimationFrameQueueItem.sort);\n const top = CURRENT_QUEUE.shift();\n top.execute();\n }\n inAnimationFrameRunner = false;\n };\n scheduleAtNextAnimationFrame = (runner, priority = 0) => {\n const item = new AnimationFrameQueueItem(runner, priority);\n NEXT_QUEUE.push(item);\n if (!animFrameRequested) {\n animFrameRequested = true;\n requestAnimationFrame(animationFrameRunner);\n }\n return item;\n };\n runAtThisOrScheduleAtNextAnimationFrame = (runner, priority) => {\n if (inAnimationFrameRunner) {\n const item = new AnimationFrameQueueItem(runner, priority);\n CURRENT_QUEUE.push(item);\n return item;\n }\n else {\n return scheduleAtNextAnimationFrame(runner, priority);\n }\n };\n})();\nfunction getComputedStyle(el) {\n return document.defaultView.getComputedStyle(el, null);\n}\nfunction getClientArea(element) {\n // Try with DOM clientWidth / clientHeight\n if (element !== document.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_9__.isIOS && window.visualViewport) {\n return new Dimension(window.visualViewport.width, window.visualViewport.height);\n }\n // Try innerWidth / innerHeight\n if (window.innerWidth && window.innerHeight) {\n return new Dimension(window.innerWidth, window.innerHeight);\n }\n // Try with document.body.clientWidth / document.body.clientHeight\n if (document.body && document.body.clientWidth && document.body.clientHeight) {\n return new Dimension(document.body.clientWidth, document.body.clientHeight);\n }\n // Try with document.documentElement.clientWidth / document.documentElement.clientHeight\n if (document.documentElement && document.documentElement.clientWidth && document.documentElement.clientHeight) {\n return new Dimension(document.documentElement.clientWidth, document.documentElement.clientHeight);\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 !== document.body\n && element !== document.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 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 !== document.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 while (testChild) {\n if (testChild === testAncestor) {\n return true;\n }\n testChild = testChild.parentNode;\n }\n return false;\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 while (domNode.parentNode) {\n if (domNode === document.body) {\n // reached the body\n return null;\n }\n domNode = domNode.parentNode;\n }\n return isShadowRoot(domNode) ? domNode : null;\n}\nfunction getActiveElement() {\n let result = document.activeElement;\n while (result === null || result === void 0 ? void 0 : result.shadowRoot) {\n result = result.shadowRoot.activeElement;\n }\n return result;\n}\nfunction createStyleSheet(container = document.getElementsByTagName('head')[0], beforeAppend) {\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 return style;\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 if (!style || !cssText) {\n return;\n }\n style.sheet.insertRule(selector + '{' + cssText + '}', 0);\n}\nfunction removeCSSRulesContainingSelector(ruleName, style = getSharedStyleSheet()) {\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 (rule.selectorText.indexOf(ruleName) !== -1) {\n toDelete.push(i);\n }\n }\n for (let i = toDelete.length - 1; i >= 0; i--) {\n style.sheet.deleteRule(toDelete[i]);\n }\n}\nfunction isHTMLElement(o) {\n if (typeof HTMLElement === 'object') {\n return o instanceof HTMLElement;\n }\n return o && typeof o === 'object' && o.nodeType === 1 && typeof o.nodeName === 'string';\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 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_7__.Disposable {\n static hasFocusWithin(element) {\n const shadowRoot = getShadowRoot(element);\n const activeElement = (shadowRoot ? shadowRoot.activeElement : document.activeElement);\n return isAncestor(activeElement, element);\n }\n constructor(element) {\n super();\n this._onDidFocus = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this.onDidFocus = this._onDidFocus.event;\n this._onDidBlur = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.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 window.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 this._register(addDisposableListener(element, EventType.FOCUS_IN, () => this._refreshStateHandler()));\n this._register(addDisposableListener(element, EventType.FOCUS_OUT, () => this._refreshStateHandler()));\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 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(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.open(url, '_blank', 'noopener');\n}\nfunction animate(fn) {\n const step = () => {\n fn();\n stepDisposable = scheduleAtNextAnimationFrame(step);\n };\n let stepDisposable = scheduleAtNextAnimationFrame(step);\n return (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.toDisposable)(() => stepDisposable.dispose());\n}\n_common_network_js__WEBPACK_IMPORTED_MODULE_8__.RemoteAuthorities.setPreferredWebSchema(/^https:/.test(window.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_8__.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_6__.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_7__.toDisposable)(() => {\n _dompurify_dompurify_js__WEBPACK_IMPORTED_MODULE_6__.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 '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_5__.Emitter {\n constructor() {\n super();\n this._subscriptions = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.DisposableStore();\n this._keyStatus = {\n altKey: false,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false\n };\n this._subscriptions.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 this._subscriptions.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 this._subscriptions.add(addDisposableListener(document.body, 'mousedown', () => {\n this._keyStatus.lastKeyPressed = undefined;\n }, true));\n this._subscriptions.add(addDisposableListener(document.body, 'mouseup', () => {\n this._keyStatus.lastKeyPressed = undefined;\n }, true));\n this._subscriptions.add(addDisposableListener(document.body, 'mousemove', e => {\n if (e.buttons) {\n this._keyStatus.lastKeyPressed = undefined;\n }\n }, true));\n this._subscriptions.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_7__.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 this._register(addDisposableListener(this.element, EventType.DRAG_ENTER, (e) => {\n this.counter++;\n this.dragStartTime = e.timeStamp;\n this.callbacks.onDragEnter(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 this.counter--;\n if (this.counter === 0) {\n this.dragStartTime = 0;\n this.callbacks.onDragLeave(e);\n }\n }));\n this._register(addDisposableListener(this.element, EventType.DRAG_END, (e) => {\n this.counter = 0;\n this.dragStartTime = 0;\n this.callbacks.onDragEnd(e);\n }));\n this._register(addDisposableListener(this.element, EventType.DROP, (e) => {\n this.counter = 0;\n this.dragStartTime = 0;\n this.callbacks.onDrop(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://web-transpiler/./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 2.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.1/LICENSE */\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar hasOwnProperty = Object.hasOwnProperty,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\nvar _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\n\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function construct(Func, args) {\n return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray(args))))();\n };\n}\n\nvar arrayForEach = unapply(Array.prototype.forEach);\nvar arrayPop = unapply(Array.prototype.pop);\nvar arrayPush = unapply(Array.prototype.push);\n\nvar stringToLowerCase = unapply(String.prototype.toLowerCase);\nvar stringMatch = unapply(String.prototype.match);\nvar stringReplace = unapply(String.prototype.replace);\nvar stringIndexOf = unapply(String.prototype.indexOf);\nvar stringTrim = unapply(String.prototype.trim);\n\nvar regExpTest = unapply(RegExp.prototype.test);\n\nvar typeErrorCreate = unconstruct(TypeError);\n\nfunction unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n}\n\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n}\n\n/* Add properties to a lookup table */\nfunction addToSet(set, array) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n var l = array.length;\n while (l--) {\n var element = array[l];\n if (typeof element === 'string') {\n var lcElement = stringToLowerCase(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nfunction clone(object) {\n var newObject = create(null);\n\n var property = void 0;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\n/* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n var desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nvar html = 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']);\n\n// SVG\nvar svg = 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']);\n\nvar svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n\n// 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.\nvar svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'feimage', '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']);\n\nvar mathMl = 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']);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nvar mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n\nvar text = freeze(['#text']);\n\nvar html$1 = 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', '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']);\n\nvar svg$1 = 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', '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']);\n\nvar mathMl$1 = 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']);\n\nvar xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nvar MUSTACHE_EXPR = seal(/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nvar ERB_EXPR = seal(/<%[\\s\\S]*|[\\s\\S]*%>/gm);\nvar DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nvar ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nvar IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nvar IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nvar ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _toConsumableArray$1(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n\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 {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nvar _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html$$1) {\n return html$$1;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\n\nfunction createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = '2.3.1';\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n Text = window.Text,\n Comment = window.Comment,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n\n\n var ElementPrototype = Element.prototype;\n\n var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n var getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n var emptyHTML = trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML('') : '';\n\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n var importNode = originalDocument.importNode;\n\n\n var documentMode = {};\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n var hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9;\n\n var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR,\n ERB_EXPR$$1 = ERB_EXPR,\n DATA_ATTR$$1 = DATA_ATTR,\n ARIA_ATTR$$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(html), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text)));\n\n /* Allowed attribute names */\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(xml)));\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n var FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n var FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n var ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n var ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n var SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with ... should be returned */\n var WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n var SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n var FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n var RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n var RETURN_DOM_FRAGMENT = false;\n\n /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM\n * `Node` is imported into the current `Document`. If this flag is not enabled the\n * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by\n * DOMPurify.\n *\n * This defaults to `true` starting DOMPurify 2.2.0. Note that setting it to `false`\n * might cause XSS from attacks hidden in closed shadowroots in case the browser\n * supports Declarative Shadow: DOM https://web.dev/declarative-shadow-dom/\n */\n var RETURN_DOM_IMPORT = true;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n var RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks? */\n var SANITIZE_DOM = true;\n\n /* Keep element content when removing element? */\n var KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n var IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n var USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n var FORBID_CONTENTS = null;\n var 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\n /* Tags that are safe for data: URIs */\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n\n /* Attributes safe for values like \"javascript:\" */\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n\n var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n var NAMESPACE = HTML_NAMESPACE;\n var IS_EMPTY_INPUT = false;\n\n /* Keep a reference to config to pass to hooks */\n var CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n /* Set configuration parameters */\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT !== false; // Default true\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(text)));\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html);\n addToSet(ALLOWED_ATTR, html$1);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl);\n addToSet(ALLOWED_ATTR, mathMl$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n\n var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n var ALL_SVG_TAGS = addToSet({}, svg);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n\n var ALL_MATHML_TAGS = addToSet({}, mathMl);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n var _checkValidNamespace = function _checkValidNamespace(element) {\n var parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: HTML_NAMESPACE,\n tagName: 'template'\n };\n }\n\n var tagName = stringToLowerCase(element.tagName);\n var parentTagName = stringToLowerCase(parent.tagName);\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erronously deleted from\n // HTML namespace.\n var commonSvgAndHTMLElements = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (commonSvgAndHTMLElements[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG or MathML). Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n var _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n try {\n node.outerHTML = emptyHTML;\n } catch (_) {\n node.remove();\n }\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n var _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc = void 0;\n var leadingWhitespace = void 0;\n\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n var matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, 'text/html');\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? '' : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n var body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n var _isClobbered = function _isClobbered(elm) {\n if (elm instanceof Text || elm instanceof Comment) {\n return false;\n }\n\n if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function') {\n return true;\n }\n\n return false;\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n var _isNode = function _isNode(object) {\n return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? object instanceof Node : object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content = void 0;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check if tagname contains Unicode */\n if (stringMatch(currentNode.nodeName, /[\\u0080-\\uFFFF]/)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n var tagName = stringToLowerCase(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (!_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Mitigate a problem with templates inside select */\n if (tagName === 'select' && regExpTest(/';\n },\n paragraph: (text) => {\n return `

${text}

`;\n },\n link: (href, title, text) => {\n if (typeof href !== 'string') {\n return '';\n }\n // Remove markdown escapes. Workaround for https://github.com/chjj/marked/issues/829\n if (href === text) { // raw link case\n text = (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_9__.removeMarkdownEscapes)(text);\n }\n title = typeof title === 'string' ? (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_9__.escapeDoubleQuotes)((0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_9__.removeMarkdownEscapes)(title)) : '';\n href = (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_9__.removeMarkdownEscapes)(href);\n // HTML Encode href\n href = href.replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n return `${text}`;\n },\n});\n/**\n * Low-level way create a html element from a markdown string.\n *\n * **Note** that for most cases you should be using [`MarkdownRenderer`](./src/vs/editor/contrib/markdownRenderer/browser/markdownRenderer.ts)\n * which comes with support for pretty code block rendering and which uses the default way of handling links.\n */\nfunction renderMarkdown(markdown, options = {}, markedOptions = {}) {\n var _a, _b;\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_13__.DisposableStore();\n let isDisposed = false;\n const element = (0,_formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_3__.createElement)(options);\n const _uriMassage = function (part) {\n let data;\n try {\n data = (0,_common_marshalling_js__WEBPACK_IMPORTED_MODULE_15__.parse)(decodeURIComponent(part));\n }\n catch (e) {\n // ignore\n }\n if (!data) {\n return part;\n }\n data = (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_17__.cloneAndChange)(data, value => {\n if (markdown.uris && markdown.uris[value]) {\n return _common_uri_js__WEBPACK_IMPORTED_MODULE_20__.URI.revive(markdown.uris[value]);\n }\n else {\n return undefined;\n }\n });\n return encodeURIComponent(JSON.stringify(data));\n };\n const _href = function (href, isDomUri) {\n const data = markdown.uris && markdown.uris[href];\n let uri = _common_uri_js__WEBPACK_IMPORTED_MODULE_20__.URI.revive(data);\n if (isDomUri) {\n if (href.startsWith(_common_network_js__WEBPACK_IMPORTED_MODULE_16__.Schemas.data + ':')) {\n return href;\n }\n if (!uri) {\n uri = _common_uri_js__WEBPACK_IMPORTED_MODULE_20__.URI.parse(href);\n }\n // this URI will end up as \"src\"-attribute of a dom node\n // and because of that special rewriting needs to be done\n // so that the URI uses a protocol that's understood by\n // browsers (like http or https)\n return _common_network_js__WEBPACK_IMPORTED_MODULE_16__.FileAccess.uriToBrowserUri(uri).toString(true);\n }\n if (!uri) {\n return href;\n }\n if (_common_uri_js__WEBPACK_IMPORTED_MODULE_20__.URI.parse(href).toString() === uri.toString()) {\n return href; // no transformation performed\n }\n if (uri.query) {\n uri = uri.with({ query: _uriMassage(uri.query) });\n }\n return uri.toString();\n };\n const renderer = new _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_14__.marked.Renderer();\n renderer.image = defaultMarkedRenderers.image;\n renderer.link = defaultMarkedRenderers.link;\n renderer.paragraph = defaultMarkedRenderers.paragraph;\n // Will collect [id, renderedElement] tuples\n const codeBlocks = [];\n const syncCodeBlocks = [];\n if (options.codeBlockRendererSync) {\n renderer.code = (code, lang) => {\n const id = _common_idGenerator_js__WEBPACK_IMPORTED_MODULE_11__.defaultGenerator.nextId();\n const value = options.codeBlockRendererSync(postProcessCodeBlockLanguageId(lang), code);\n syncCodeBlocks.push([id, value]);\n return `
${(0,_common_strings_js__WEBPACK_IMPORTED_MODULE_19__.escape)(code)}
`;\n };\n }\n else if (options.codeBlockRenderer) {\n renderer.code = (code, lang) => {\n const id = _common_idGenerator_js__WEBPACK_IMPORTED_MODULE_11__.defaultGenerator.nextId();\n const value = options.codeBlockRenderer(postProcessCodeBlockLanguageId(lang), code);\n codeBlocks.push(value.then(element => [id, element]));\n return `
${(0,_common_strings_js__WEBPACK_IMPORTED_MODULE_19__.escape)(code)}
`;\n };\n }\n if (options.actionHandler) {\n const _activateLink = function (event) {\n let target = event.target;\n if (target.tagName !== 'A') {\n target = target.parentElement;\n if (!target || target.tagName !== 'A') {\n return;\n }\n }\n try {\n let href = target.dataset['href'];\n if (href) {\n if (markdown.baseUri) {\n href = resolveWithBaseUri(_common_uri_js__WEBPACK_IMPORTED_MODULE_20__.URI.from(markdown.baseUri), href);\n }\n options.actionHandler.callback(href, event);\n }\n }\n catch (err) {\n (0,_common_errors_js__WEBPACK_IMPORTED_MODULE_7__.onUnexpectedError)(err);\n }\n finally {\n event.preventDefault();\n }\n };\n const onClick = options.actionHandler.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(element, 'click'));\n const onAuxClick = options.actionHandler.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(element, 'auxclick'));\n options.actionHandler.disposables.add(_common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.any(onClick.event, onAuxClick.event)(e => {\n const mouseEvent = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_5__.StandardMouseEvent(e);\n if (!mouseEvent.leftButton && !mouseEvent.middleButton) {\n return;\n }\n _activateLink(mouseEvent);\n }));\n options.actionHandler.disposables.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(element, 'keydown', (e) => {\n const keyboardEvent = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_4__.StandardKeyboardEvent(e);\n if (!keyboardEvent.equals(10 /* KeyCode.Space */) && !keyboardEvent.equals(3 /* KeyCode.Enter */)) {\n return;\n }\n _activateLink(keyboardEvent);\n }));\n }\n if (!markdown.supportHtml) {\n // TODO: Can we deprecated this in favor of 'supportHtml'?\n // Use our own sanitizer so that we can let through only spans.\n // Otherwise, we'd be letting all html be rendered.\n // If we want to allow markdown permitted tags, then we can delete sanitizer and sanitize.\n // We always pass the output through dompurify after this so that we don't rely on\n // marked for sanitization.\n markedOptions.sanitizer = (html) => {\n const match = markdown.isTrusted ? html.match(/^(]+>)|(<\\/\\s*span>)$/) : undefined;\n return match ? html : '';\n };\n markedOptions.sanitize = true;\n markedOptions.silent = true;\n }\n markedOptions.renderer = renderer;\n // values that are too long will freeze the UI\n let value = (_a = markdown.value) !== null && _a !== void 0 ? _a : '';\n if (value.length > 100000) {\n value = `${value.substr(0, 100000)}…`;\n }\n // escape theme icons\n if (markdown.supportThemeIcons) {\n value = (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_10__.markdownEscapeEscapedIcons)(value);\n }\n let renderedMarkdown;\n if (options.fillInIncompleteTokens) {\n // The defaults are applied by parse but not lexer()/parser(), and they need to be present\n const opts = Object.assign(Object.assign({}, _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_14__.marked.defaults), markedOptions);\n const tokens = _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_14__.marked.lexer(value, opts);\n const newTokens = fillInIncompleteTokens(tokens);\n renderedMarkdown = _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_14__.marked.parser(newTokens, opts);\n }\n else {\n renderedMarkdown = _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_14__.marked.parse(value, markedOptions);\n }\n // Rewrite theme icons\n if (markdown.supportThemeIcons) {\n const elements = (0,_ui_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_6__.renderLabelWithIcons)(renderedMarkdown);\n renderedMarkdown = elements.map(e => typeof e === 'string' ? e : e.outerHTML).join('');\n }\n const htmlParser = new DOMParser();\n const markdownHtmlDoc = htmlParser.parseFromString(sanitizeRenderedMarkdown(markdown, renderedMarkdown), 'text/html');\n markdownHtmlDoc.body.querySelectorAll('img')\n .forEach(img => {\n const src = img.getAttribute('src'); // Get the raw 'src' attribute value as text, not the resolved 'src'\n if (src) {\n let href = src;\n try {\n if (markdown.baseUri) { // absolute or relative local path, or file: uri\n href = resolveWithBaseUri(_common_uri_js__WEBPACK_IMPORTED_MODULE_20__.URI.from(markdown.baseUri), href);\n }\n }\n catch (err) { }\n img.src = _href(href, true);\n }\n });\n markdownHtmlDoc.body.querySelectorAll('a')\n .forEach(a => {\n const href = a.getAttribute('href'); // Get the raw 'href' attribute value as text, not the resolved 'href'\n a.setAttribute('href', ''); // Clear out href. We use the `data-href` for handling clicks instead\n if (!href\n || /^data:|javascript:/i.test(href)\n || (/^command:/i.test(href) && !markdown.isTrusted)\n || /^command:(\\/\\/\\/)?_workbench\\.downloadResource/i.test(href)) {\n // drop the link\n a.replaceWith(...a.childNodes);\n }\n else {\n let resolvedHref = _href(href, false);\n if (markdown.baseUri) {\n resolvedHref = resolveWithBaseUri(_common_uri_js__WEBPACK_IMPORTED_MODULE_20__.URI.from(markdown.baseUri), href);\n }\n a.dataset.href = resolvedHref;\n }\n });\n element.innerHTML = sanitizeRenderedMarkdown(markdown, markdownHtmlDoc.body.innerHTML);\n if (codeBlocks.length > 0) {\n Promise.all(codeBlocks).then((tuples) => {\n var _a, _b;\n if (isDisposed) {\n return;\n }\n const renderedElements = new Map(tuples);\n const placeholderElements = element.querySelectorAll(`div[data-code]`);\n for (const placeholderElement of placeholderElements) {\n const renderedElement = renderedElements.get((_a = placeholderElement.dataset['code']) !== null && _a !== void 0 ? _a : '');\n if (renderedElement) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.reset(placeholderElement, renderedElement);\n }\n }\n (_b = options.asyncRenderCallback) === null || _b === void 0 ? void 0 : _b.call(options);\n });\n }\n else if (syncCodeBlocks.length > 0) {\n const renderedElements = new Map(syncCodeBlocks);\n const placeholderElements = element.querySelectorAll(`div[data-code]`);\n for (const placeholderElement of placeholderElements) {\n const renderedElement = renderedElements.get((_b = placeholderElement.dataset['code']) !== null && _b !== void 0 ? _b : '');\n if (renderedElement) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.reset(placeholderElement, renderedElement);\n }\n }\n }\n // signal size changes for image tags\n if (options.asyncRenderCallback) {\n for (const img of element.getElementsByTagName('img')) {\n const listener = disposables.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(img, 'load', () => {\n listener.dispose();\n options.asyncRenderCallback();\n }));\n }\n }\n return {\n element,\n dispose: () => {\n isDisposed = true;\n disposables.dispose();\n }\n };\n}\nfunction postProcessCodeBlockLanguageId(lang) {\n if (!lang) {\n return '';\n }\n const parts = lang.split(/[\\s+|:|,|\\{|\\?]/, 1);\n if (parts.length) {\n return parts[0];\n }\n return lang;\n}\nfunction resolveWithBaseUri(baseUri, href) {\n const hasScheme = /^\\w[\\w\\d+.-]*:/.test(href);\n if (hasScheme) {\n return href;\n }\n if (baseUri.path.endsWith('/')) {\n return (0,_common_resources_js__WEBPACK_IMPORTED_MODULE_18__.resolvePath)(baseUri, href).toString();\n }\n else {\n return (0,_common_resources_js__WEBPACK_IMPORTED_MODULE_18__.resolvePath)((0,_common_resources_js__WEBPACK_IMPORTED_MODULE_18__.dirname)(baseUri), href).toString();\n }\n}\nfunction sanitizeRenderedMarkdown(options, renderedMarkdown) {\n const { config, allowedSchemes } = getSanitizerOptions(options);\n _dompurify_dompurify_js__WEBPACK_IMPORTED_MODULE_1__.addHook('uponSanitizeAttribute', (element, e) => {\n if (e.attrName === 'style' || e.attrName === 'class') {\n if (element.tagName === 'SPAN') {\n if (e.attrName === 'style') {\n e.keepAttr = /^(color\\:(#[0-9a-fA-F]+|var\\(--vscode(-[a-zA-Z]+)+\\));)?(background-color\\:(#[0-9a-fA-F]+|var\\(--vscode(-[a-zA-Z]+)+\\));)?$/.test(e.attrValue);\n return;\n }\n else if (e.attrName === 'class') {\n e.keepAttr = /^codicon codicon-[a-z\\-]+( codicon-modifier-[a-z\\-]+)?$/.test(e.attrValue);\n return;\n }\n }\n e.keepAttr = false;\n return;\n }\n });\n const hook = _dom_js__WEBPACK_IMPORTED_MODULE_0__.hookDomPurifyHrefAndSrcSanitizer(allowedSchemes);\n try {\n return _dompurify_dompurify_js__WEBPACK_IMPORTED_MODULE_1__.sanitize(renderedMarkdown, Object.assign(Object.assign({}, config), { RETURN_TRUSTED_TYPE: true }));\n }\n finally {\n _dompurify_dompurify_js__WEBPACK_IMPORTED_MODULE_1__.removeHook('uponSanitizeAttribute');\n hook.dispose();\n }\n}\nconst allowedMarkdownAttr = [\n 'align',\n 'autoplay',\n 'alt',\n 'class',\n 'controls',\n 'data-code',\n 'data-href',\n 'height',\n 'href',\n 'loop',\n 'muted',\n 'playsinline',\n 'poster',\n 'src',\n 'style',\n 'target',\n 'title',\n 'width',\n 'start',\n];\nfunction getSanitizerOptions(options) {\n const allowedSchemes = [\n _common_network_js__WEBPACK_IMPORTED_MODULE_16__.Schemas.http,\n _common_network_js__WEBPACK_IMPORTED_MODULE_16__.Schemas.https,\n _common_network_js__WEBPACK_IMPORTED_MODULE_16__.Schemas.mailto,\n _common_network_js__WEBPACK_IMPORTED_MODULE_16__.Schemas.data,\n _common_network_js__WEBPACK_IMPORTED_MODULE_16__.Schemas.file,\n _common_network_js__WEBPACK_IMPORTED_MODULE_16__.Schemas.vscodeFileResource,\n _common_network_js__WEBPACK_IMPORTED_MODULE_16__.Schemas.vscodeRemote,\n _common_network_js__WEBPACK_IMPORTED_MODULE_16__.Schemas.vscodeRemoteResource,\n ];\n if (options.isTrusted) {\n allowedSchemes.push(_common_network_js__WEBPACK_IMPORTED_MODULE_16__.Schemas.command);\n }\n return {\n config: {\n // allowedTags should included everything that markdown renders to.\n // Since we have our own sanitize function for marked, it's possible we missed some tag so let dompurify make sure.\n // HTML tags that can result from markdown are from reading https://spec.commonmark.org/0.29/\n // HTML table tags that can result from markdown are from https://github.github.com/gfm/#tables-extension-\n ALLOWED_TAGS: [..._dom_js__WEBPACK_IMPORTED_MODULE_0__.basicMarkupHtmlTags],\n ALLOWED_ATTR: allowedMarkdownAttr,\n ALLOW_UNKNOWN_PROTOCOLS: true,\n },\n allowedSchemes\n };\n}\n/**\n * Strips all markdown from `string`, if it's an IMarkdownString. For example\n * `# Header` would be output as `Header`. If it's not, the string is returned.\n */\nfunction renderStringAsPlaintext(string) {\n return typeof string === 'string' ? string : renderMarkdownAsPlaintext(string);\n}\n/**\n * Strips all markdown from `markdown`. For example `# Header` would be output as `Header`.\n */\nfunction renderMarkdownAsPlaintext(markdown) {\n var _a;\n // values that are too long will freeze the UI\n let value = (_a = markdown.value) !== null && _a !== void 0 ? _a : '';\n if (value.length > 100000) {\n value = `${value.substr(0, 100000)}…`;\n }\n const html = _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_14__.marked.parse(value, { renderer: plainTextRenderer.value }).replace(/&(#\\d+|[a-zA-Z]+);/g, m => { var _a; return (_a = unescapeInfo.get(m)) !== null && _a !== void 0 ? _a : m; });\n return sanitizeRenderedMarkdown({ isTrusted: false }, html).toString();\n}\nconst unescapeInfo = new Map([\n ['"', '\"'],\n [' ', ' '],\n ['&', '&'],\n [''', '\\''],\n ['<', '<'],\n ['>', '>'],\n]);\nconst plainTextRenderer = new _common_lazy_js__WEBPACK_IMPORTED_MODULE_12__.Lazy(() => {\n const renderer = new _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_14__.marked.Renderer();\n renderer.code = (code) => {\n return code;\n };\n renderer.blockquote = (quote) => {\n return quote;\n };\n renderer.html = (_html) => {\n return '';\n };\n renderer.heading = (text, _level, _raw) => {\n return text + '\\n';\n };\n renderer.hr = () => {\n return '';\n };\n renderer.list = (body, _ordered) => {\n return body;\n };\n renderer.listitem = (text) => {\n return text + '\\n';\n };\n renderer.paragraph = (text) => {\n return text + '\\n';\n };\n renderer.table = (header, body) => {\n return header + body + '\\n';\n };\n renderer.tablerow = (content) => {\n return content;\n };\n renderer.tablecell = (content, _flags) => {\n return content + ' ';\n };\n renderer.strong = (text) => {\n return text;\n };\n renderer.em = (text) => {\n return text;\n };\n renderer.codespan = (code) => {\n return code;\n };\n renderer.br = () => {\n return '\\n';\n };\n renderer.del = (text) => {\n return text;\n };\n renderer.image = (_href, _title, _text) => {\n return '';\n };\n renderer.text = (text) => {\n return text;\n };\n renderer.link = (_href, _title, text) => {\n return text;\n };\n return renderer;\n});\nfunction mergeRawTokenText(tokens) {\n let mergedTokenText = '';\n tokens.forEach(token => {\n mergedTokenText += token.raw;\n });\n return mergedTokenText;\n}\nfunction completeSingleLinePattern(token) {\n for (const subtoken of token.tokens) {\n if (subtoken.type === 'text') {\n const lines = subtoken.raw.split('\\n');\n const lastLine = lines[lines.length - 1];\n if (lastLine.includes('`')) {\n return completeCodespan(token);\n }\n else if (lastLine.includes('**')) {\n return completeDoublestar(token);\n }\n else if (lastLine.match(/\\*\\w/)) {\n return completeStar(token);\n }\n else if (lastLine.match(/(^|\\s)__\\w/)) {\n return completeDoubleUnderscore(token);\n }\n else if (lastLine.match(/(^|\\s)_\\w/)) {\n return completeUnderscore(token);\n }\n else if (lastLine.match(/(^|\\s)\\[.*\\]\\(\\w*/)) {\n return completeLinkTarget(token);\n }\n else if (lastLine.match(/(^|\\s)\\[\\w/)) {\n return completeLinkText(token);\n }\n }\n }\n return undefined;\n}\n// function completeListItemPattern(token: marked.Tokens.List): marked.Tokens.List | undefined {\n// \t// Patch up this one list item\n// \tconst lastItem = token.items[token.items.length - 1];\n// \tconst newList = completeSingleLinePattern(lastItem);\n// \tif (!newList || newList.type !== 'list') {\n// \t\t// Nothing to fix, or not a pattern we were expecting\n// \t\treturn;\n// \t}\n// \t// Re-parse the whole list with the last item replaced\n// \tconst completeList = marked.lexer(mergeRawTokenText(token.items.slice(0, token.items.length - 1)) + newList.items[0].raw);\n// \tif (completeList.length === 1 && completeList[0].type === 'list') {\n// \t\treturn completeList[0];\n// \t}\n// \t// Not a pattern we were expecting\n// \treturn undefined;\n// }\nfunction fillInIncompleteTokens(tokens) {\n let i;\n let newTokens;\n for (i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.type === 'paragraph' && token.raw.match(/(\\n|^)```/)) {\n // If the code block was complete, it would be in a type='code'\n newTokens = completeCodeBlock(tokens.slice(i));\n break;\n }\n if (token.type === 'paragraph' && token.raw.match(/(\\n|^)\\|/)) {\n newTokens = completeTable(tokens.slice(i));\n break;\n }\n // if (i === tokens.length - 1 && token.type === 'list') {\n // \tconst newListToken = completeListItemPattern(token);\n // \tif (newListToken) {\n // \t\tnewTokens = [newListToken];\n // \t\tbreak;\n // \t}\n // }\n if (i === tokens.length - 1 && token.type === 'paragraph') {\n // Only operates on a single token, because any newline that follows this should break these patterns\n const newToken = completeSingleLinePattern(token);\n if (newToken) {\n newTokens = [newToken];\n break;\n }\n }\n }\n if (newTokens) {\n const newTokensList = [\n ...tokens.slice(0, i),\n ...newTokens\n ];\n newTokensList.links = tokens.links;\n return newTokensList;\n }\n return tokens;\n}\nfunction completeCodeBlock(tokens) {\n const mergedRawText = mergeRawTokenText(tokens);\n return _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_14__.marked.lexer(mergedRawText + '\\n```');\n}\nfunction completeCodespan(token) {\n return completeWithString(token, '`');\n}\nfunction completeStar(tokens) {\n return completeWithString(tokens, '*');\n}\nfunction completeUnderscore(tokens) {\n return completeWithString(tokens, '_');\n}\nfunction completeLinkTarget(tokens) {\n return completeWithString(tokens, ')');\n}\nfunction completeLinkText(tokens) {\n return completeWithString(tokens, '](about:blank)');\n}\nfunction completeDoublestar(tokens) {\n return completeWithString(tokens, '**');\n}\nfunction completeDoubleUnderscore(tokens) {\n return completeWithString(tokens, '__');\n}\nfunction completeWithString(tokens, closingString) {\n const mergedRawText = mergeRawTokenText(Array.isArray(tokens) ? tokens : [tokens]);\n // If it was completed correctly, this should be a single token.\n // Expecting either a Paragraph or a List\n return _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_14__.marked.lexer(mergedRawText + closingString)[0];\n}\nfunction completeTable(tokens) {\n const mergedRawText = mergeRawTokenText(tokens);\n const lines = mergedRawText.split('\\n');\n let numCols; // The number of line1 col headers\n let hasSeparatorRow = false;\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i].trim();\n if (typeof numCols === 'undefined' && line.match(/^\\s*\\|/)) {\n const line1Matches = line.match(/(\\|[^\\|]+)(?=\\||$)/g);\n if (line1Matches) {\n numCols = line1Matches.length;\n }\n }\n else if (typeof numCols === 'number') {\n if (line.match(/^\\s*\\|/)) {\n if (i !== lines.length - 1) {\n // We got the line1 header row, and the line2 separator row, but there are more lines, and it wasn't parsed as a table!\n // That's strange and means that the table is probably malformed in the source, so I won't try to patch it up.\n return undefined;\n }\n // Got a line2 separator row- partial or complete, doesn't matter, we'll replace it with a correct one\n hasSeparatorRow = true;\n }\n else {\n // The line after the header row isn't a valid separator row, so the table is malformed, don't fix it up\n return undefined;\n }\n }\n }\n if (typeof numCols === 'number' && numCols > 0) {\n const prefixText = hasSeparatorRow ? lines.slice(0, -1).join('\\n') : mergedRawText;\n const line1EndsInPipe = !!prefixText.match(/\\|\\s*$/);\n const newRawText = prefixText + (line1EndsInPipe ? '' : '|') + `\\n|${' --- |'.repeat(numCols)}`;\n return _common_marked_marked_js__WEBPACK_IMPORTED_MODULE_14__.marked.lexer(newRawText);\n }\n return undefined;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js": +/*!**********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.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 */ StandardMouseEvent: () => (/* binding */ StandardMouseEvent),\n/* harmony export */ StandardWheelEvent: () => (/* binding */ StandardWheelEvent)\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 _iframe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iframe.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/iframe.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\nclass StandardMouseEvent {\n constructor(e) {\n this.timestamp = Date.now();\n this.browserEvent = e;\n this.leftButton = e.button === 0;\n this.middleButton = e.button === 1;\n this.rightButton = e.button === 2;\n this.buttons = e.buttons;\n this.target = e.target;\n this.detail = e.detail || 1;\n if (e.type === 'dblclick') {\n this.detail = 2;\n }\n this.ctrlKey = e.ctrlKey;\n this.shiftKey = e.shiftKey;\n this.altKey = e.altKey;\n this.metaKey = e.metaKey;\n if (typeof e.pageX === 'number') {\n this.posx = e.pageX;\n this.posy = e.pageY;\n }\n else {\n // Probably hit by MSGestureEvent\n this.posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;\n this.posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;\n }\n // Find the position of the iframe this code is executing in relative to the iframe where the event was captured.\n const iframeOffsets = _iframe_js__WEBPACK_IMPORTED_MODULE_1__.IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(window, e.view);\n this.posx -= iframeOffsets.left;\n this.posy -= iframeOffsets.top;\n }\n preventDefault() {\n this.browserEvent.preventDefault();\n }\n stopPropagation() {\n this.browserEvent.stopPropagation();\n }\n}\nclass StandardWheelEvent {\n constructor(e, deltaX = 0, deltaY = 0) {\n this.browserEvent = e || null;\n this.target = e ? (e.target || e.targetNode || e.srcElement) : null;\n this.deltaY = deltaY;\n this.deltaX = deltaX;\n if (e) {\n // Old (deprecated) wheel events\n const e1 = e;\n const e2 = e;\n // vertical delta scroll\n if (typeof e1.wheelDeltaY !== 'undefined') {\n this.deltaY = e1.wheelDeltaY / 120;\n }\n else if (typeof e2.VERTICAL_AXIS !== 'undefined' && e2.axis === e2.VERTICAL_AXIS) {\n this.deltaY = -e2.detail / 3;\n }\n else if (e.type === 'wheel') {\n // Modern wheel event\n // https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent\n const ev = e;\n if (ev.deltaMode === ev.DOM_DELTA_LINE) {\n // the deltas are expressed in lines\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isFirefox && !_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh) {\n this.deltaY = -e.deltaY / 3;\n }\n else {\n this.deltaY = -e.deltaY;\n }\n }\n else {\n this.deltaY = -e.deltaY / 40;\n }\n }\n // horizontal delta scroll\n if (typeof e1.wheelDeltaX !== 'undefined') {\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isSafari && _common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isWindows) {\n this.deltaX = -(e1.wheelDeltaX / 120);\n }\n else {\n this.deltaX = e1.wheelDeltaX / 120;\n }\n }\n else if (typeof e2.HORIZONTAL_AXIS !== 'undefined' && e2.axis === e2.HORIZONTAL_AXIS) {\n this.deltaX = -e.detail / 3;\n }\n else if (e.type === 'wheel') {\n // Modern wheel event\n // https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent\n const ev = e;\n if (ev.deltaMode === ev.DOM_DELTA_LINE) {\n // the deltas are expressed in lines\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isFirefox && !_common_platform_js__WEBPACK_IMPORTED_MODULE_2__.isMacintosh) {\n this.deltaX = -e.deltaX / 3;\n }\n else {\n this.deltaX = -e.deltaX;\n }\n }\n else {\n this.deltaX = -e.deltaX / 40;\n }\n }\n // Assume a vertical scroll if nothing else worked\n if (this.deltaY === 0 && this.deltaX === 0 && e.wheelDelta) {\n this.deltaY = e.wheelDelta / 120;\n }\n }\n }\n preventDefault() {\n var _a;\n (_a = this.browserEvent) === null || _a === void 0 ? void 0 : _a.preventDefault();\n }\n stopPropagation() {\n var _a;\n (_a = this.browserEvent) === null || _a === void 0 ? void 0 : _a.stopPropagation();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/performance.js": +/*!***********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/performance.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 */ inputLatency: () => (/* binding */ inputLatency)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nvar inputLatency;\n(function (inputLatency) {\n const totalKeydownTime = { total: 0, min: Number.MAX_VALUE, max: 0 };\n const totalInputTime = Object.assign({}, totalKeydownTime);\n const totalRenderTime = Object.assign({}, totalKeydownTime);\n const totalInputLatencyTime = Object.assign({}, totalKeydownTime);\n let measurementsCount = 0;\n const state = {\n keydown: 0 /* EventPhase.Before */,\n input: 0 /* EventPhase.Before */,\n render: 0 /* EventPhase.Before */,\n };\n /**\n * Record the start of the keydown event.\n */\n function onKeyDown() {\n /** Direct Check C. See explanation in {@link recordIfFinished} */\n recordIfFinished();\n performance.mark('inputlatency/start');\n performance.mark('keydown/start');\n state.keydown = 1 /* EventPhase.InProgress */;\n queueMicrotask(markKeyDownEnd);\n }\n inputLatency.onKeyDown = onKeyDown;\n /**\n * Mark the end of the keydown event.\n */\n function markKeyDownEnd() {\n if (state.keydown === 1 /* EventPhase.InProgress */) {\n performance.mark('keydown/end');\n state.keydown = 2 /* EventPhase.Finished */;\n }\n }\n /**\n * Record the start of the beforeinput event.\n */\n function onBeforeInput() {\n performance.mark('input/start');\n state.input = 1 /* EventPhase.InProgress */;\n /** Schedule Task A. See explanation in {@link recordIfFinished} */\n scheduleRecordIfFinishedTask();\n }\n inputLatency.onBeforeInput = onBeforeInput;\n /**\n * Record the start of the input event.\n */\n function onInput() {\n if (state.input === 0 /* EventPhase.Before */) {\n // it looks like we didn't receive a `beforeinput`\n onBeforeInput();\n }\n queueMicrotask(markInputEnd);\n }\n inputLatency.onInput = onInput;\n function markInputEnd() {\n if (state.input === 1 /* EventPhase.InProgress */) {\n performance.mark('input/end');\n state.input = 2 /* EventPhase.Finished */;\n }\n }\n /**\n * Record the start of the keyup event.\n */\n function onKeyUp() {\n /** Direct Check D. See explanation in {@link recordIfFinished} */\n recordIfFinished();\n }\n inputLatency.onKeyUp = onKeyUp;\n /**\n * Record the start of the selectionchange event.\n */\n function onSelectionChange() {\n /** Direct Check E. See explanation in {@link recordIfFinished} */\n recordIfFinished();\n }\n inputLatency.onSelectionChange = onSelectionChange;\n /**\n * Record the start of the animation frame performing the rendering.\n */\n function onRenderStart() {\n // Render may be triggered during input, but we only measure the following animation frame\n if (state.keydown === 2 /* EventPhase.Finished */ && state.input === 2 /* EventPhase.Finished */ && state.render === 0 /* EventPhase.Before */) {\n // Only measure the first render after keyboard input\n performance.mark('render/start');\n state.render = 1 /* EventPhase.InProgress */;\n queueMicrotask(markRenderEnd);\n /** Schedule Task B. See explanation in {@link recordIfFinished} */\n scheduleRecordIfFinishedTask();\n }\n }\n inputLatency.onRenderStart = onRenderStart;\n /**\n * Mark the end of the animation frame performing the rendering.\n */\n function markRenderEnd() {\n if (state.render === 1 /* EventPhase.InProgress */) {\n performance.mark('render/end');\n state.render = 2 /* EventPhase.Finished */;\n }\n }\n function scheduleRecordIfFinishedTask() {\n // Here we can safely assume that the `setTimeout` will not be\n // artificially delayed by 4ms because we schedule it from\n // event handlers\n setTimeout(recordIfFinished);\n }\n /**\n * Record the input latency sample if input handling and rendering are finished.\n *\n * The challenge here is that we want to record the latency in such a way that it includes\n * also the layout and painting work the browser does during the animation frame task.\n *\n * Simply scheduling a new task (via `setTimeout`) from the animation frame task would\n * schedule the new task at the end of the task queue (after other code that uses `setTimeout`),\n * so we need to use multiple strategies to make sure our task runs before others:\n *\n * We schedule tasks (A and B):\n * - we schedule a task A (via a `setTimeout` call) when the input starts in `markInputStart`.\n * If the animation frame task is scheduled quickly by the browser, then task A has a very good\n * chance of being the very first task after the animation frame and thus will record the input latency.\n * - however, if the animation frame task is scheduled a bit later, then task A might execute\n * before the animation frame task. We therefore schedule another task B from `markRenderStart`.\n *\n * We do direct checks in browser event handlers (C, D, E):\n * - if the browser has multiple keydown events queued up, they will be scheduled before the `setTimeout` tasks,\n * so we do a direct check in the keydown event handler (C).\n * - depending on timing, sometimes the animation frame is scheduled even before the `keyup` event, so we\n * do a direct check there too (E).\n * - the browser oftentimes emits a `selectionchange` event after an `input`, so we do a direct check there (D).\n */\n function recordIfFinished() {\n if (state.keydown === 2 /* EventPhase.Finished */ && state.input === 2 /* EventPhase.Finished */ && state.render === 2 /* EventPhase.Finished */) {\n performance.mark('inputlatency/end');\n performance.measure('keydown', 'keydown/start', 'keydown/end');\n performance.measure('input', 'input/start', 'input/end');\n performance.measure('render', 'render/start', 'render/end');\n performance.measure('inputlatency', 'inputlatency/start', 'inputlatency/end');\n addMeasure('keydown', totalKeydownTime);\n addMeasure('input', totalInputTime);\n addMeasure('render', totalRenderTime);\n addMeasure('inputlatency', totalInputLatencyTime);\n // console.info(\n // \t`input latency=${performance.getEntriesByName('inputlatency')[0].duration.toFixed(1)} [` +\n // \t`keydown=${performance.getEntriesByName('keydown')[0].duration.toFixed(1)}, ` +\n // \t`input=${performance.getEntriesByName('input')[0].duration.toFixed(1)}, ` +\n // \t`render=${performance.getEntriesByName('render')[0].duration.toFixed(1)}` +\n // \t`]`\n // );\n measurementsCount++;\n reset();\n }\n }\n function addMeasure(entryName, cumulativeMeasurement) {\n const duration = performance.getEntriesByName(entryName)[0].duration;\n cumulativeMeasurement.total += duration;\n cumulativeMeasurement.min = Math.min(cumulativeMeasurement.min, duration);\n cumulativeMeasurement.max = Math.max(cumulativeMeasurement.max, duration);\n }\n /**\n * Clear the current sample.\n */\n function reset() {\n performance.clearMarks('keydown/start');\n performance.clearMarks('keydown/end');\n performance.clearMarks('input/start');\n performance.clearMarks('input/end');\n performance.clearMarks('render/start');\n performance.clearMarks('render/end');\n performance.clearMarks('inputlatency/start');\n performance.clearMarks('inputlatency/end');\n performance.clearMeasures('keydown');\n performance.clearMeasures('input');\n performance.clearMeasures('render');\n performance.clearMeasures('inputlatency');\n state.keydown = 0 /* EventPhase.Before */;\n state.input = 0 /* EventPhase.Before */;\n state.render = 0 /* EventPhase.Before */;\n }\n /**\n * Gets all input latency samples and clears the internal buffers to start recording a new set\n * of samples.\n */\n function getAndClearMeasurements() {\n if (measurementsCount === 0) {\n return undefined;\n }\n // Assemble the result\n const result = {\n keydown: cumulativeToFinalMeasurement(totalKeydownTime),\n input: cumulativeToFinalMeasurement(totalInputTime),\n render: cumulativeToFinalMeasurement(totalRenderTime),\n total: cumulativeToFinalMeasurement(totalInputLatencyTime),\n sampleCount: measurementsCount\n };\n // Clear the cumulative measurements\n clearCumulativeMeasurement(totalKeydownTime);\n clearCumulativeMeasurement(totalInputTime);\n clearCumulativeMeasurement(totalRenderTime);\n clearCumulativeMeasurement(totalInputLatencyTime);\n measurementsCount = 0;\n return result;\n }\n inputLatency.getAndClearMeasurements = getAndClearMeasurements;\n function cumulativeToFinalMeasurement(cumulative) {\n return {\n average: cumulative.total / measurementsCount,\n max: cumulative.max,\n min: cumulative.min,\n };\n }\n function clearCumulativeMeasurement(cumulative) {\n cumulative.total = 0;\n cumulative.min = Number.MAX_VALUE;\n cumulative.max = 0;\n }\n})(inputLatency || (inputLatency = {}));\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/performance.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/touch.js": +/*!*****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/touch.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 */ EventType: () => (/* binding */ EventType),\n/* harmony export */ Gesture: () => (/* binding */ Gesture)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.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/* harmony import */ var _common_linkedList_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/linkedList.js */ \"./node_modules/monaco-editor/esm/vs/base/common/linkedList.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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\nvar EventType;\n(function (EventType) {\n EventType.Tap = '-monaco-gesturetap';\n EventType.Change = '-monaco-gesturechange';\n EventType.Start = '-monaco-gesturestart';\n EventType.End = '-monaco-gesturesend';\n EventType.Contextmenu = '-monaco-gesturecontextmenu';\n})(EventType || (EventType = {}));\nclass Gesture extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\n constructor() {\n super();\n this.dispatched = false;\n this.targets = new _common_linkedList_js__WEBPACK_IMPORTED_MODULE_4__.LinkedList();\n this.ignoreTargets = new _common_linkedList_js__WEBPACK_IMPORTED_MODULE_4__.LinkedList();\n this.activeTouches = {};\n this.handle = null;\n this._lastSetTapCountTime = 0;\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(document, 'touchstart', (e) => this.onTouchStart(e), { passive: false }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(document, 'touchend', (e) => this.onTouchEnd(e)));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(document, 'touchmove', (e) => this.onTouchMove(e), { passive: false }));\n }\n static addTarget(element) {\n if (!Gesture.isTouchDevice()) {\n return _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable.None;\n }\n if (!Gesture.INSTANCE) {\n Gesture.INSTANCE = new Gesture();\n }\n const remove = Gesture.INSTANCE.targets.push(element);\n return (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.toDisposable)(remove);\n }\n static ignoreTarget(element) {\n if (!Gesture.isTouchDevice()) {\n return _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable.None;\n }\n if (!Gesture.INSTANCE) {\n Gesture.INSTANCE = new Gesture();\n }\n const remove = Gesture.INSTANCE.ignoreTargets.push(element);\n return (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.toDisposable)(remove);\n }\n static isTouchDevice() {\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 return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n }\n dispose() {\n if (this.handle) {\n this.handle.dispose();\n this.handle = null;\n }\n super.dispose();\n }\n onTouchStart(e) {\n const timestamp = Date.now(); // use Date.now() because on FF e.timeStamp is not epoch based.\n if (this.handle) {\n this.handle.dispose();\n this.handle = null;\n }\n for (let i = 0, len = e.targetTouches.length; i < len; i++) {\n const touch = e.targetTouches.item(i);\n this.activeTouches[touch.identifier] = {\n id: touch.identifier,\n initialTarget: touch.target,\n initialTimeStamp: timestamp,\n initialPageX: touch.pageX,\n initialPageY: touch.pageY,\n rollingTimestamps: [timestamp],\n rollingPageX: [touch.pageX],\n rollingPageY: [touch.pageY]\n };\n const evt = this.newGestureEvent(EventType.Start, touch.target);\n evt.pageX = touch.pageX;\n evt.pageY = touch.pageY;\n this.dispatchEvent(evt);\n }\n if (this.dispatched) {\n e.preventDefault();\n e.stopPropagation();\n this.dispatched = false;\n }\n }\n onTouchEnd(e) {\n const timestamp = Date.now(); // use Date.now() because on FF e.timeStamp is not epoch based.\n const activeTouchCount = Object.keys(this.activeTouches).length;\n for (let i = 0, len = e.changedTouches.length; i < len; i++) {\n const touch = e.changedTouches.item(i);\n if (!this.activeTouches.hasOwnProperty(String(touch.identifier))) {\n console.warn('move of an UNKNOWN touch', touch);\n continue;\n }\n const data = this.activeTouches[touch.identifier], holdTime = Date.now() - data.initialTimeStamp;\n if (holdTime < Gesture.HOLD_DELAY\n && Math.abs(data.initialPageX - _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageX)) < 30\n && Math.abs(data.initialPageY - _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageY)) < 30) {\n const evt = this.newGestureEvent(EventType.Tap, data.initialTarget);\n evt.pageX = _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageX);\n evt.pageY = _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageY);\n this.dispatchEvent(evt);\n }\n else if (holdTime >= Gesture.HOLD_DELAY\n && Math.abs(data.initialPageX - _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageX)) < 30\n && Math.abs(data.initialPageY - _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageY)) < 30) {\n const evt = this.newGestureEvent(EventType.Contextmenu, data.initialTarget);\n evt.pageX = _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageX);\n evt.pageY = _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageY);\n this.dispatchEvent(evt);\n }\n else if (activeTouchCount === 1) {\n const finalX = _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageX);\n const finalY = _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageY);\n const deltaT = _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingTimestamps) - data.rollingTimestamps[0];\n const deltaX = finalX - data.rollingPageX[0];\n const deltaY = finalY - data.rollingPageY[0];\n // We need to get all the dispatch targets on the start of the inertia event\n const dispatchTo = [...this.targets].filter(t => data.initialTarget instanceof Node && t.contains(data.initialTarget));\n this.inertia(dispatchTo, timestamp, // time now\n Math.abs(deltaX) / deltaT, // speed\n deltaX > 0 ? 1 : -1, // x direction\n finalX, // x now\n Math.abs(deltaY) / deltaT, // y speed\n deltaY > 0 ? 1 : -1, // y direction\n finalY // y now\n );\n }\n this.dispatchEvent(this.newGestureEvent(EventType.End, data.initialTarget));\n // forget about this touch\n delete this.activeTouches[touch.identifier];\n }\n if (this.dispatched) {\n e.preventDefault();\n e.stopPropagation();\n this.dispatched = false;\n }\n }\n newGestureEvent(type, initialTarget) {\n const event = document.createEvent('CustomEvent');\n event.initEvent(type, false, true);\n event.initialTarget = initialTarget;\n event.tapCount = 0;\n return event;\n }\n dispatchEvent(event) {\n if (event.type === EventType.Tap) {\n const currentTime = (new Date()).getTime();\n let setTapCount = 0;\n if (currentTime - this._lastSetTapCountTime > Gesture.CLEAR_TAP_COUNT_TIME) {\n setTapCount = 1;\n }\n else {\n setTapCount = 2;\n }\n this._lastSetTapCountTime = currentTime;\n event.tapCount = setTapCount;\n }\n else if (event.type === EventType.Change || event.type === EventType.Contextmenu) {\n // tap is canceled by scrolling or context menu\n this._lastSetTapCountTime = 0;\n }\n if (event.initialTarget instanceof Node) {\n for (const ignoreTarget of this.ignoreTargets) {\n if (ignoreTarget.contains(event.initialTarget)) {\n return;\n }\n }\n for (const target of this.targets) {\n if (target.contains(event.initialTarget)) {\n target.dispatchEvent(event);\n this.dispatched = true;\n }\n }\n }\n }\n inertia(dispatchTo, t1, vX, dirX, x, vY, dirY, y) {\n this.handle = _dom_js__WEBPACK_IMPORTED_MODULE_0__.scheduleAtNextAnimationFrame(() => {\n const now = Date.now();\n // velocity: old speed + accel_over_time\n const deltaT = now - t1;\n let delta_pos_x = 0, delta_pos_y = 0;\n let stopped = true;\n vX += Gesture.SCROLL_FRICTION * deltaT;\n vY += Gesture.SCROLL_FRICTION * deltaT;\n if (vX > 0) {\n stopped = false;\n delta_pos_x = dirX * vX * deltaT;\n }\n if (vY > 0) {\n stopped = false;\n delta_pos_y = dirY * vY * deltaT;\n }\n // dispatch translation event\n const evt = this.newGestureEvent(EventType.Change);\n evt.translationX = delta_pos_x;\n evt.translationY = delta_pos_y;\n dispatchTo.forEach(d => d.dispatchEvent(evt));\n if (!stopped) {\n this.inertia(dispatchTo, now, vX, dirX, x + delta_pos_x, vY, dirY, y + delta_pos_y);\n }\n });\n }\n onTouchMove(e) {\n const timestamp = Date.now(); // use Date.now() because on FF e.timeStamp is not epoch based.\n for (let i = 0, len = e.changedTouches.length; i < len; i++) {\n const touch = e.changedTouches.item(i);\n if (!this.activeTouches.hasOwnProperty(String(touch.identifier))) {\n console.warn('end of an UNKNOWN touch', touch);\n continue;\n }\n const data = this.activeTouches[touch.identifier];\n const evt = this.newGestureEvent(EventType.Change, data.initialTarget);\n evt.translationX = touch.pageX - _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageX);\n evt.translationY = touch.pageY - _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail(data.rollingPageY);\n evt.pageX = touch.pageX;\n evt.pageY = touch.pageY;\n this.dispatchEvent(evt);\n // only keep a few data points, to average the final speed\n if (data.rollingPageX.length > 3) {\n data.rollingPageX.shift();\n data.rollingPageY.shift();\n data.rollingTimestamps.shift();\n }\n data.rollingPageX.push(touch.pageX);\n data.rollingPageY.push(touch.pageY);\n data.rollingTimestamps.push(timestamp);\n }\n if (this.dispatched) {\n e.preventDefault();\n e.stopPropagation();\n this.dispatched = false;\n }\n }\n}\nGesture.SCROLL_FRICTION = -0.005;\nGesture.HOLD_DELAY = 700;\nGesture.CLEAR_TAP_COUNT_TIME = 400; // ms\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_2__.memoize\n], Gesture, \"isTouchDevice\", null);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/touch.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/trustedTypes.js": +/*!************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/trustedTypes.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 */ createTrustedTypesPolicy: () => (/* binding */ createTrustedTypesPolicy)\n/* harmony export */ });\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.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\nfunction createTrustedTypesPolicy(policyName, policyOptions) {\n var _a;\n const monacoEnvironment = globalThis.MonacoEnvironment;\n if (monacoEnvironment === null || monacoEnvironment === void 0 ? void 0 : monacoEnvironment.createTrustedTypesPolicy) {\n try {\n return monacoEnvironment.createTrustedTypesPolicy(policyName, policyOptions);\n }\n catch (err) {\n (0,_common_errors_js__WEBPACK_IMPORTED_MODULE_0__.onUnexpectedError)(err);\n return undefined;\n }\n }\n try {\n return (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.createPolicy(policyName, policyOptions);\n }\n catch (err) {\n (0,_common_errors_js__WEBPACK_IMPORTED_MODULE_0__.onUnexpectedError)(err);\n return undefined;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/trustedTypes.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.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 */ ActionViewItem: () => (/* binding */ ActionViewItem),\n/* harmony export */ BaseActionViewItem: () => (/* binding */ BaseActionViewItem),\n/* harmony export */ SelectActionViewItem: () => (/* binding */ SelectActionViewItem)\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 _dnd_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dnd.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dnd.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _iconLabel_iconLabelHover_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../iconLabel/iconLabelHover.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.js\");\n/* harmony import */ var _selectBox_selectBox_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../selectBox/selectBox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _actionbar_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./actionbar.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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\nclass BaseActionViewItem extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.Disposable {\n get action() {\n return this._action;\n }\n constructor(context, action, options = {}) {\n super();\n this.options = options;\n this._context = context || this;\n this._action = action;\n if (action instanceof _common_actions_js__WEBPACK_IMPORTED_MODULE_6__.Action) {\n this._register(action.onDidChange(event => {\n if (!this.element) {\n // we have not been rendered yet, so there\n // is no point in updating the UI\n return;\n }\n this.handleActionChangeEvent(event);\n }));\n }\n }\n handleActionChangeEvent(event) {\n if (event.enabled !== undefined) {\n this.updateEnabled();\n }\n if (event.checked !== undefined) {\n this.updateChecked();\n }\n if (event.class !== undefined) {\n this.updateClass();\n }\n if (event.label !== undefined) {\n this.updateLabel();\n this.updateTooltip();\n }\n if (event.tooltip !== undefined) {\n this.updateTooltip();\n }\n }\n get actionRunner() {\n if (!this._actionRunner) {\n this._actionRunner = this._register(new _common_actions_js__WEBPACK_IMPORTED_MODULE_6__.ActionRunner());\n }\n return this._actionRunner;\n }\n set actionRunner(actionRunner) {\n this._actionRunner = actionRunner;\n }\n isEnabled() {\n return this._action.enabled;\n }\n setActionContext(newContext) {\n this._context = newContext;\n }\n render(container) {\n const element = this.element = container;\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_3__.Gesture.addTarget(container));\n const enableDragging = this.options && this.options.draggable;\n if (enableDragging) {\n container.draggable = true;\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isFirefox) {\n // Firefox: requires to set a text data transfer to get going\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(container, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.DRAG_START, e => { var _a; return (_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.setData(_dnd_js__WEBPACK_IMPORTED_MODULE_1__.DataTransfers.TEXT, this._action.label); }));\n }\n }\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(element, _touch_js__WEBPACK_IMPORTED_MODULE_3__.EventType.Tap, e => this.onClick(e, true))); // Preserve focus on tap #125470\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_DOWN, e => {\n if (!enableDragging) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true); // do not run when dragging is on because that would disable it\n }\n if (this._action.enabled && e.button === 0) {\n element.classList.add('active');\n }\n }));\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_8__.isMacintosh) {\n // macOS: allow to trigger the button when holding Ctrl+key and pressing the\n // main mouse button. This is for scenarios where e.g. some interaction forces\n // the Ctrl+key to be pressed and hold but the user still wants to interact\n // with the actions (for example quick access in quick navigation mode).\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.CONTEXT_MENU, e => {\n if (e.button === 0 && e.ctrlKey === true) {\n this.onClick(e);\n }\n }));\n }\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.CLICK, e => {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n // menus do not use the click event\n if (!(this.options && this.options.isMenu)) {\n this.onClick(e);\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.DBLCLICK, e => {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }));\n [_dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_UP, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_OUT].forEach(event => {\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(element, event, e => {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e);\n element.classList.remove('active');\n }));\n });\n }\n onClick(event, preserveFocus = false) {\n var _a;\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(event, true);\n const context = _common_types_js__WEBPACK_IMPORTED_MODULE_9__.isUndefinedOrNull(this._context) ? ((_a = this.options) === null || _a === void 0 ? void 0 : _a.useEventAsContext) ? event : { preserveFocus } : this._context;\n this.actionRunner.run(this._action, context);\n }\n // Only set the tabIndex on the element once it is about to get focused\n // That way this element wont be a tab stop when it is not needed #106441\n focus() {\n if (this.element) {\n this.element.tabIndex = 0;\n this.element.focus();\n this.element.classList.add('focused');\n }\n }\n blur() {\n if (this.element) {\n this.element.blur();\n this.element.tabIndex = -1;\n this.element.classList.remove('focused');\n }\n }\n setFocusable(focusable) {\n if (this.element) {\n this.element.tabIndex = focusable ? 0 : -1;\n }\n }\n get trapsArrowNavigation() {\n return false;\n }\n updateEnabled() {\n // implement in subclass\n }\n updateLabel() {\n // implement in subclass\n }\n getTooltip() {\n return this.action.tooltip;\n }\n updateTooltip() {\n var _a;\n if (!this.element) {\n return;\n }\n const title = (_a = this.getTooltip()) !== null && _a !== void 0 ? _a : '';\n this.updateAriaLabel();\n if (!this.options.hoverDelegate) {\n this.element.title = title;\n }\n else {\n this.element.title = '';\n if (!this.customHover) {\n this.customHover = (0,_iconLabel_iconLabelHover_js__WEBPACK_IMPORTED_MODULE_4__.setupCustomHover)(this.options.hoverDelegate, this.element, title);\n this._store.add(this.customHover);\n }\n else {\n this.customHover.update(title);\n }\n }\n }\n updateAriaLabel() {\n var _a;\n if (this.element) {\n const title = (_a = this.getTooltip()) !== null && _a !== void 0 ? _a : '';\n this.element.setAttribute('aria-label', title);\n }\n }\n updateClass() {\n // implement in subclass\n }\n updateChecked() {\n // implement in subclass\n }\n dispose() {\n if (this.element) {\n this.element.remove();\n this.element = undefined;\n }\n this._context = undefined;\n super.dispose();\n }\n}\nclass ActionViewItem extends BaseActionViewItem {\n constructor(context, action, options) {\n super(context, action, options);\n this.options = options;\n this.options.icon = options.icon !== undefined ? options.icon : false;\n this.options.label = options.label !== undefined ? options.label : true;\n this.cssClass = '';\n }\n render(container) {\n super.render(container);\n if (this.element) {\n this.label = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('a.action-label'));\n }\n if (this.label) {\n this.label.setAttribute('role', this.getDefaultAriaRole());\n }\n if (this.options.label && this.options.keybinding && this.element) {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('span.keybinding')).textContent = this.options.keybinding;\n }\n this.updateClass();\n this.updateLabel();\n this.updateTooltip();\n this.updateEnabled();\n this.updateChecked();\n }\n getDefaultAriaRole() {\n if (this._action.id === _common_actions_js__WEBPACK_IMPORTED_MODULE_6__.Separator.ID) {\n return 'presentation'; // A separator is a presentation item\n }\n else {\n if (this.options.isMenu) {\n return 'menuitem';\n }\n else {\n return 'button';\n }\n }\n }\n // Only set the tabIndex on the element once it is about to get focused\n // That way this element wont be a tab stop when it is not needed #106441\n focus() {\n if (this.label) {\n this.label.tabIndex = 0;\n this.label.focus();\n }\n }\n blur() {\n if (this.label) {\n this.label.tabIndex = -1;\n }\n }\n setFocusable(focusable) {\n if (this.label) {\n this.label.tabIndex = focusable ? 0 : -1;\n }\n }\n updateLabel() {\n if (this.options.label && this.label) {\n this.label.textContent = this.action.label;\n }\n }\n getTooltip() {\n let title = null;\n if (this.action.tooltip) {\n title = this.action.tooltip;\n }\n else if (!this.options.label && this.action.label && this.options.icon) {\n title = this.action.label;\n if (this.options.keybinding) {\n title = _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize({ key: 'titleLabel', comment: ['action title', 'action keybinding'] }, \"{0} ({1})\", title, this.options.keybinding);\n }\n }\n return title !== null && title !== void 0 ? title : undefined;\n }\n updateClass() {\n var _a;\n if (this.cssClass && this.label) {\n this.label.classList.remove(...this.cssClass.split(' '));\n }\n if (this.options.icon) {\n this.cssClass = this.action.class;\n if (this.label) {\n this.label.classList.add('codicon');\n if (this.cssClass) {\n this.label.classList.add(...this.cssClass.split(' '));\n }\n }\n this.updateEnabled();\n }\n else {\n (_a = this.label) === null || _a === void 0 ? void 0 : _a.classList.remove('codicon');\n }\n }\n updateEnabled() {\n var _a, _b;\n if (this.action.enabled) {\n if (this.label) {\n this.label.removeAttribute('aria-disabled');\n this.label.classList.remove('disabled');\n }\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.classList.remove('disabled');\n }\n else {\n if (this.label) {\n this.label.setAttribute('aria-disabled', 'true');\n this.label.classList.add('disabled');\n }\n (_b = this.element) === null || _b === void 0 ? void 0 : _b.classList.add('disabled');\n }\n }\n updateAriaLabel() {\n var _a;\n if (this.label) {\n const title = (_a = this.getTooltip()) !== null && _a !== void 0 ? _a : '';\n this.label.setAttribute('aria-label', title);\n }\n }\n updateChecked() {\n if (this.label) {\n if (this.action.checked !== undefined) {\n this.label.classList.toggle('checked', this.action.checked);\n this.label.setAttribute('aria-checked', this.action.checked ? 'true' : 'false');\n this.label.setAttribute('role', 'checkbox');\n }\n else {\n this.label.classList.remove('checked');\n this.label.setAttribute('aria-checked', '');\n this.label.setAttribute('role', this.getDefaultAriaRole());\n }\n }\n }\n}\nclass SelectActionViewItem extends BaseActionViewItem {\n constructor(ctx, action, options, selected, contextViewProvider, styles, selectBoxOptions) {\n super(ctx, action);\n this.selectBox = new _selectBox_selectBox_js__WEBPACK_IMPORTED_MODULE_5__.SelectBox(options, selected, contextViewProvider, styles, selectBoxOptions);\n this.selectBox.setFocusable(false);\n this._register(this.selectBox);\n this.registerListeners();\n }\n select(index) {\n this.selectBox.select(index);\n }\n registerListeners() {\n this._register(this.selectBox.onDidSelect(e => this.runAction(e.selected, e.index)));\n }\n runAction(option, index) {\n this.actionRunner.run(this._action, this.getActionContext(option, index));\n }\n getActionContext(option, index) {\n return option;\n }\n setFocusable(focusable) {\n this.selectBox.setFocusable(focusable);\n }\n focus() {\n var _a;\n (_a = this.selectBox) === null || _a === void 0 ? void 0 : _a.focus();\n }\n blur() {\n var _a;\n (_a = this.selectBox) === null || _a === void 0 ? void 0 : _a.blur();\n }\n render(container) {\n this.selectBox.render(container);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.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 */ ActionBar: () => (/* binding */ ActionBar)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _actionViewItems_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./actionViewItems.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _actionbar_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./actionbar.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css\");\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 *--------------------------------------------------------------------------------------------*/\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\n\n\n\nclass ActionBar extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__.Disposable {\n constructor(container, options = {}) {\n var _a, _b, _c, _d, _e, _f;\n super();\n this._actionRunnerDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__.DisposableStore());\n this.viewItemDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__.DisposableMap());\n // Trigger Key Tracking\n this.triggerKeyDown = false;\n this.focusable = true;\n this._onDidBlur = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onDidBlur = this._onDidBlur.event;\n this._onDidCancel = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter({ onWillAddFirstListener: () => this.cancelHasListener = true }));\n this.onDidCancel = this._onDidCancel.event;\n this.cancelHasListener = false;\n this._onDidRun = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onDidRun = this._onDidRun.event;\n this._onWillRun = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onWillRun = this._onWillRun.event;\n this.options = options;\n this._context = (_a = options.context) !== null && _a !== void 0 ? _a : null;\n this._orientation = (_b = this.options.orientation) !== null && _b !== void 0 ? _b : 0 /* ActionsOrientation.HORIZONTAL */;\n this._triggerKeys = {\n keyDown: (_d = (_c = this.options.triggerKeys) === null || _c === void 0 ? void 0 : _c.keyDown) !== null && _d !== void 0 ? _d : false,\n keys: (_f = (_e = this.options.triggerKeys) === null || _e === void 0 ? void 0 : _e.keys) !== null && _f !== void 0 ? _f : [3 /* KeyCode.Enter */, 10 /* KeyCode.Space */]\n };\n if (this.options.actionRunner) {\n this._actionRunner = this.options.actionRunner;\n }\n else {\n this._actionRunner = new _common_actions_js__WEBPACK_IMPORTED_MODULE_3__.ActionRunner();\n this._actionRunnerDisposables.add(this._actionRunner);\n }\n this._actionRunnerDisposables.add(this._actionRunner.onDidRun(e => this._onDidRun.fire(e)));\n this._actionRunnerDisposables.add(this._actionRunner.onWillRun(e => this._onWillRun.fire(e)));\n this.viewItems = [];\n this.focusedItem = undefined;\n this.domNode = document.createElement('div');\n this.domNode.className = 'monaco-action-bar';\n if (options.animated !== false) {\n this.domNode.classList.add('animated');\n }\n let previousKeys;\n let nextKeys;\n switch (this._orientation) {\n case 0 /* ActionsOrientation.HORIZONTAL */:\n previousKeys = [15 /* KeyCode.LeftArrow */];\n nextKeys = [17 /* KeyCode.RightArrow */];\n break;\n case 1 /* ActionsOrientation.VERTICAL */:\n previousKeys = [16 /* KeyCode.UpArrow */];\n nextKeys = [18 /* KeyCode.DownArrow */];\n this.domNode.className += ' vertical';\n break;\n }\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_DOWN, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e);\n let eventHandled = true;\n const focusedItem = typeof this.focusedItem === 'number' ? this.viewItems[this.focusedItem] : undefined;\n if (previousKeys && (event.equals(previousKeys[0]) || event.equals(previousKeys[1]))) {\n eventHandled = this.focusPrevious();\n }\n else if (nextKeys && (event.equals(nextKeys[0]) || event.equals(nextKeys[1]))) {\n eventHandled = this.focusNext();\n }\n else if (event.equals(9 /* KeyCode.Escape */) && this.cancelHasListener) {\n this._onDidCancel.fire();\n }\n else if (event.equals(14 /* KeyCode.Home */)) {\n eventHandled = this.focusFirst();\n }\n else if (event.equals(13 /* KeyCode.End */)) {\n eventHandled = this.focusLast();\n }\n else if (event.equals(2 /* KeyCode.Tab */) && focusedItem instanceof _actionViewItems_js__WEBPACK_IMPORTED_MODULE_2__.BaseActionViewItem && focusedItem.trapsArrowNavigation) {\n eventHandled = this.focusNext();\n }\n else if (this.isTriggerKeyEvent(event)) {\n // Staying out of the else branch even if not triggered\n if (this._triggerKeys.keyDown) {\n this.doTrigger(event);\n }\n else {\n this.triggerKeyDown = true;\n }\n }\n else {\n eventHandled = false;\n }\n if (eventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_UP, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e);\n // Run action on Enter/Space\n if (this.isTriggerKeyEvent(event)) {\n if (!this._triggerKeys.keyDown && this.triggerKeyDown) {\n this.triggerKeyDown = false;\n this.doTrigger(event);\n }\n event.preventDefault();\n event.stopPropagation();\n }\n // Recompute focused item\n else if (event.equals(2 /* KeyCode.Tab */) || event.equals(1024 /* KeyMod.Shift */ | 2 /* KeyCode.Tab */)) {\n this.updateFocusedItem();\n }\n }));\n this.focusTracker = this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.trackFocus(this.domNode));\n this._register(this.focusTracker.onDidBlur(() => {\n if (_dom_js__WEBPACK_IMPORTED_MODULE_0__.getActiveElement() === this.domNode || !_dom_js__WEBPACK_IMPORTED_MODULE_0__.isAncestor(_dom_js__WEBPACK_IMPORTED_MODULE_0__.getActiveElement(), this.domNode)) {\n this._onDidBlur.fire();\n this.focusedItem = undefined;\n this.previouslyFocusedItem = undefined;\n this.triggerKeyDown = false;\n }\n }));\n this._register(this.focusTracker.onDidFocus(() => this.updateFocusedItem()));\n this.actionsList = document.createElement('ul');\n this.actionsList.className = 'actions-container';\n this.actionsList.setAttribute('role', this.options.ariaRole || 'toolbar');\n if (this.options.ariaLabel) {\n this.actionsList.setAttribute('aria-label', this.options.ariaLabel);\n }\n this.domNode.appendChild(this.actionsList);\n container.appendChild(this.domNode);\n }\n refreshRole() {\n if (this.length() >= 2) {\n this.actionsList.setAttribute('role', this.options.ariaRole || 'toolbar');\n }\n else {\n this.actionsList.setAttribute('role', 'presentation');\n }\n }\n // Some action bars should not be focusable at times\n // When an action bar is not focusable make sure to make all the elements inside it not focusable\n // When an action bar is focusable again, make sure the first item can be focused\n setFocusable(focusable) {\n this.focusable = focusable;\n if (this.focusable) {\n const firstEnabled = this.viewItems.find(vi => vi instanceof _actionViewItems_js__WEBPACK_IMPORTED_MODULE_2__.BaseActionViewItem && vi.isEnabled());\n if (firstEnabled instanceof _actionViewItems_js__WEBPACK_IMPORTED_MODULE_2__.BaseActionViewItem) {\n firstEnabled.setFocusable(true);\n }\n }\n else {\n this.viewItems.forEach(vi => {\n if (vi instanceof _actionViewItems_js__WEBPACK_IMPORTED_MODULE_2__.BaseActionViewItem) {\n vi.setFocusable(false);\n }\n });\n }\n }\n isTriggerKeyEvent(event) {\n let ret = false;\n this._triggerKeys.keys.forEach(keyCode => {\n ret = ret || event.equals(keyCode);\n });\n return ret;\n }\n updateFocusedItem() {\n for (let i = 0; i < this.actionsList.children.length; i++) {\n const elem = this.actionsList.children[i];\n if (_dom_js__WEBPACK_IMPORTED_MODULE_0__.isAncestor(_dom_js__WEBPACK_IMPORTED_MODULE_0__.getActiveElement(), elem)) {\n this.focusedItem = i;\n break;\n }\n }\n }\n get context() {\n return this._context;\n }\n set context(context) {\n this._context = context;\n this.viewItems.forEach(i => i.setActionContext(context));\n }\n get actionRunner() {\n return this._actionRunner;\n }\n set actionRunner(actionRunner) {\n this._actionRunner = actionRunner;\n // when setting a new `IActionRunner` make sure to dispose old listeners and\n // start to forward events from the new listener\n this._actionRunnerDisposables.clear();\n this._actionRunnerDisposables.add(this._actionRunner.onDidRun(e => this._onDidRun.fire(e)));\n this._actionRunnerDisposables.add(this._actionRunner.onWillRun(e => this._onWillRun.fire(e)));\n this.viewItems.forEach(item => item.actionRunner = actionRunner);\n }\n getContainer() {\n return this.domNode;\n }\n getAction(indexOrElement) {\n var _a;\n // by index\n if (typeof indexOrElement === 'number') {\n return (_a = this.viewItems[indexOrElement]) === null || _a === void 0 ? void 0 : _a.action;\n }\n // by element\n if (indexOrElement instanceof HTMLElement) {\n while (indexOrElement.parentElement !== this.actionsList) {\n if (!indexOrElement.parentElement) {\n return undefined;\n }\n indexOrElement = indexOrElement.parentElement;\n }\n for (let i = 0; i < this.actionsList.childNodes.length; i++) {\n if (this.actionsList.childNodes[i] === indexOrElement) {\n return this.viewItems[i].action;\n }\n }\n }\n return undefined;\n }\n push(arg, options = {}) {\n const actions = Array.isArray(arg) ? arg : [arg];\n let index = _common_types_js__WEBPACK_IMPORTED_MODULE_6__.isNumber(options.index) ? options.index : null;\n actions.forEach((action) => {\n const actionViewItemElement = document.createElement('li');\n actionViewItemElement.className = 'action-item';\n actionViewItemElement.setAttribute('role', 'presentation');\n let item;\n const viewItemOptions = Object.assign({ hoverDelegate: this.options.hoverDelegate }, options);\n if (this.options.actionViewItemProvider) {\n item = this.options.actionViewItemProvider(action, viewItemOptions);\n }\n if (!item) {\n item = new _actionViewItems_js__WEBPACK_IMPORTED_MODULE_2__.ActionViewItem(this.context, action, viewItemOptions);\n }\n // Prevent native context menu on actions\n if (!this.options.allowContextMenu) {\n this.viewItemDisposables.set(item, _dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(actionViewItemElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CONTEXT_MENU, (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n }));\n }\n item.actionRunner = this._actionRunner;\n item.setActionContext(this.context);\n item.render(actionViewItemElement);\n if (this.focusable && item instanceof _actionViewItems_js__WEBPACK_IMPORTED_MODULE_2__.BaseActionViewItem && this.viewItems.length === 0) {\n // We need to allow for the first enabled item to be focused on using tab navigation #106441\n item.setFocusable(true);\n }\n if (index === null || index < 0 || index >= this.actionsList.children.length) {\n this.actionsList.appendChild(actionViewItemElement);\n this.viewItems.push(item);\n }\n else {\n this.actionsList.insertBefore(actionViewItemElement, this.actionsList.children[index]);\n this.viewItems.splice(index, 0, item);\n index++;\n }\n });\n if (typeof this.focusedItem === 'number') {\n // After a clear actions might be re-added to simply toggle some actions. We should preserve focus #97128\n this.focus(this.focusedItem);\n }\n this.refreshRole();\n }\n clear() {\n if (this.isEmpty()) {\n return;\n }\n this.viewItems = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__.dispose)(this.viewItems);\n this.viewItemDisposables.clearAndDisposeAll();\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode(this.actionsList);\n this.refreshRole();\n }\n length() {\n return this.viewItems.length;\n }\n isEmpty() {\n return this.viewItems.length === 0;\n }\n focus(arg) {\n let selectFirst = false;\n let index = undefined;\n if (arg === undefined) {\n selectFirst = true;\n }\n else if (typeof arg === 'number') {\n index = arg;\n }\n else if (typeof arg === 'boolean') {\n selectFirst = arg;\n }\n if (selectFirst && typeof this.focusedItem === 'undefined') {\n const firstEnabled = this.viewItems.findIndex(item => item.isEnabled());\n // Focus the first enabled item\n this.focusedItem = firstEnabled === -1 ? undefined : firstEnabled;\n this.updateFocus(undefined, undefined, true);\n }\n else {\n if (index !== undefined) {\n this.focusedItem = index;\n }\n this.updateFocus(undefined, undefined, true);\n }\n }\n focusFirst() {\n this.focusedItem = this.length() - 1;\n return this.focusNext(true);\n }\n focusLast() {\n this.focusedItem = 0;\n return this.focusPrevious(true);\n }\n focusNext(forceLoop) {\n if (typeof this.focusedItem === 'undefined') {\n this.focusedItem = this.viewItems.length - 1;\n }\n else if (this.viewItems.length <= 1) {\n return false;\n }\n const startIndex = this.focusedItem;\n let item;\n do {\n if (!forceLoop && this.options.preventLoopNavigation && this.focusedItem + 1 >= this.viewItems.length) {\n this.focusedItem = startIndex;\n return false;\n }\n this.focusedItem = (this.focusedItem + 1) % this.viewItems.length;\n item = this.viewItems[this.focusedItem];\n } while (this.focusedItem !== startIndex && ((this.options.focusOnlyEnabledItems && !item.isEnabled()) || item.action.id === _common_actions_js__WEBPACK_IMPORTED_MODULE_3__.Separator.ID));\n this.updateFocus();\n return true;\n }\n focusPrevious(forceLoop) {\n if (typeof this.focusedItem === 'undefined') {\n this.focusedItem = 0;\n }\n else if (this.viewItems.length <= 1) {\n return false;\n }\n const startIndex = this.focusedItem;\n let item;\n do {\n this.focusedItem = this.focusedItem - 1;\n if (this.focusedItem < 0) {\n if (!forceLoop && this.options.preventLoopNavigation) {\n this.focusedItem = startIndex;\n return false;\n }\n this.focusedItem = this.viewItems.length - 1;\n }\n item = this.viewItems[this.focusedItem];\n } while (this.focusedItem !== startIndex && ((this.options.focusOnlyEnabledItems && !item.isEnabled()) || item.action.id === _common_actions_js__WEBPACK_IMPORTED_MODULE_3__.Separator.ID));\n this.updateFocus(true);\n return true;\n }\n updateFocus(fromRight, preventScroll, forceFocus = false) {\n var _a;\n if (typeof this.focusedItem === 'undefined') {\n this.actionsList.focus({ preventScroll });\n }\n if (this.previouslyFocusedItem !== undefined && this.previouslyFocusedItem !== this.focusedItem) {\n (_a = this.viewItems[this.previouslyFocusedItem]) === null || _a === void 0 ? void 0 : _a.blur();\n }\n const actionViewItem = this.focusedItem !== undefined && this.viewItems[this.focusedItem];\n if (actionViewItem) {\n let focusItem = true;\n if (!_common_types_js__WEBPACK_IMPORTED_MODULE_6__.isFunction(actionViewItem.focus)) {\n focusItem = false;\n }\n if (this.options.focusOnlyEnabledItems && _common_types_js__WEBPACK_IMPORTED_MODULE_6__.isFunction(actionViewItem.isEnabled) && !actionViewItem.isEnabled()) {\n focusItem = false;\n }\n if (actionViewItem.action.id === _common_actions_js__WEBPACK_IMPORTED_MODULE_3__.Separator.ID) {\n focusItem = false;\n }\n if (!focusItem) {\n this.actionsList.focus({ preventScroll });\n this.previouslyFocusedItem = undefined;\n }\n else if (forceFocus || this.previouslyFocusedItem !== this.focusedItem) {\n actionViewItem.focus(fromRight);\n this.previouslyFocusedItem = this.focusedItem;\n }\n }\n }\n doTrigger(event) {\n if (typeof this.focusedItem === 'undefined') {\n return; //nothing to focus\n }\n // trigger action\n const actionViewItem = this.viewItems[this.focusedItem];\n if (actionViewItem instanceof _actionViewItems_js__WEBPACK_IMPORTED_MODULE_2__.BaseActionViewItem) {\n const context = (actionViewItem._context === null || actionViewItem._context === undefined) ? event : actionViewItem._context;\n this.run(actionViewItem._action, context);\n }\n }\n run(action, context) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this._actionRunner.run(action, context);\n });\n }\n dispose() {\n this._context = undefined;\n this.viewItems = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__.dispose)(this.viewItems);\n this.getContainer().remove();\n super.dispose();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js": +/*!************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.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 */ alert: () => (/* binding */ alert),\n/* harmony export */ setARIAContainer: () => (/* binding */ setARIAContainer),\n/* harmony export */ status: () => (/* binding */ status)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _aria_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./aria.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.css\");\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// Use a max length since we are inserting the whole msg in the DOM and that can cause browsers to freeze for long messages #94233\nconst MAX_MESSAGE_LENGTH = 20000;\nlet ariaContainer;\nlet alertContainer;\nlet alertContainer2;\nlet statusContainer;\nlet statusContainer2;\nfunction setARIAContainer(parent) {\n ariaContainer = document.createElement('div');\n ariaContainer.className = 'monaco-aria-container';\n const createAlertContainer = () => {\n const element = document.createElement('div');\n element.className = 'monaco-alert';\n element.setAttribute('role', 'alert');\n element.setAttribute('aria-atomic', 'true');\n ariaContainer.appendChild(element);\n return element;\n };\n alertContainer = createAlertContainer();\n alertContainer2 = createAlertContainer();\n const createStatusContainer = () => {\n const element = document.createElement('div');\n element.className = 'monaco-status';\n element.setAttribute('role', 'complementary');\n element.setAttribute('aria-live', 'polite');\n element.setAttribute('aria-atomic', 'true');\n ariaContainer.appendChild(element);\n return element;\n };\n statusContainer = createStatusContainer();\n statusContainer2 = createStatusContainer();\n parent.appendChild(ariaContainer);\n}\n/**\n * Given the provided message, will make sure that it is read as alert to screen readers.\n */\nfunction alert(msg) {\n if (!ariaContainer) {\n return;\n }\n // Use alternate containers such that duplicated messages get read out by screen readers #99466\n if (alertContainer.textContent !== msg) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode(alertContainer2);\n insertMessage(alertContainer, msg);\n }\n else {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode(alertContainer);\n insertMessage(alertContainer2, msg);\n }\n}\n/**\n * Given the provided message, will make sure that it is read as status to screen readers.\n */\nfunction status(msg) {\n if (!ariaContainer) {\n return;\n }\n if (statusContainer.textContent !== msg) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode(statusContainer2);\n insertMessage(statusContainer, msg);\n }\n else {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode(statusContainer);\n insertMessage(statusContainer2, msg);\n }\n}\nfunction insertMessage(target, msg) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode(target);\n if (msg.length > MAX_MESSAGE_LENGTH) {\n msg = msg.substr(0, MAX_MESSAGE_LENGTH);\n }\n target.textContent = msg;\n // See https://www.paciellogroup.com/blog/2012/06/html5-accessibility-chops-aria-rolealert-browser-support/\n target.style.visibility = 'hidden';\n target.style.visibility = 'visible';\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.js": +/*!****************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.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 */ Button: () => (/* binding */ Button),\n/* harmony export */ unthemedButtonStyles: () => (/* binding */ unthemedButtonStyles)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _dompurify_dompurify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dompurify/dompurify.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dompurify/dompurify.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 _markdownRenderer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../markdownRenderer.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../iconLabel/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_htmlContent_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/htmlContent.js */ \"./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _button_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./button.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.css\");\n\n\n\n\n\n\n\n\n\n\n\nconst unthemedButtonStyles = {\n buttonBackground: '#0E639C',\n buttonHoverBackground: '#006BB3',\n buttonSeparator: _common_color_js__WEBPACK_IMPORTED_MODULE_6__.Color.white.toString(),\n buttonForeground: _common_color_js__WEBPACK_IMPORTED_MODULE_6__.Color.white.toString(),\n buttonBorder: undefined,\n buttonSecondaryBackground: undefined,\n buttonSecondaryForeground: undefined,\n buttonSecondaryHoverBackground: undefined\n};\nclass Button extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable {\n get onDidClick() { return this._onDidClick.event; }\n constructor(container, options) {\n super();\n this._label = '';\n this._onDidClick = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Emitter());\n this.options = options;\n this._element = document.createElement('a');\n this._element.classList.add('monaco-button');\n this._element.tabIndex = 0;\n this._element.setAttribute('role', 'button');\n this._element.classList.toggle('secondary', !!options.secondary);\n const background = options.secondary ? options.buttonSecondaryBackground : options.buttonBackground;\n const foreground = options.secondary ? options.buttonSecondaryForeground : options.buttonForeground;\n this._element.style.color = foreground || '';\n this._element.style.backgroundColor = background || '';\n if (options.supportShortLabel) {\n this._labelShortElement = document.createElement('div');\n this._labelShortElement.classList.add('monaco-button-label-short');\n this._element.appendChild(this._labelShortElement);\n this._labelElement = document.createElement('div');\n this._labelElement.classList.add('monaco-button-label');\n this._element.appendChild(this._labelElement);\n this._element.classList.add('monaco-text-button-with-short-label');\n }\n container.appendChild(this._element);\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_4__.Gesture.addTarget(this._element));\n [_dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CLICK, _touch_js__WEBPACK_IMPORTED_MODULE_4__.EventType.Tap].forEach(eventType => {\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this._element, eventType, e => {\n if (!this.enabled) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n return;\n }\n this._onDidClick.fire(e);\n }));\n });\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this._element, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_DOWN, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e);\n let eventHandled = false;\n if (this.enabled && (event.equals(3 /* KeyCode.Enter */) || event.equals(10 /* KeyCode.Space */))) {\n this._onDidClick.fire(e);\n eventHandled = true;\n }\n else if (event.equals(9 /* KeyCode.Escape */)) {\n this._element.blur();\n eventHandled = true;\n }\n if (eventHandled) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(event, true);\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this._element, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_OVER, e => {\n if (!this._element.classList.contains('disabled')) {\n this.updateBackground(true);\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this._element, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_OUT, e => {\n this.updateBackground(false); // restore standard styles\n }));\n // Also set hover background when button is focused for feedback\n this.focusTracker = this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.trackFocus)(this._element));\n this._register(this.focusTracker.onDidFocus(() => { if (this.enabled) {\n this.updateBackground(true);\n } }));\n this._register(this.focusTracker.onDidBlur(() => { if (this.enabled) {\n this.updateBackground(false);\n } }));\n }\n dispose() {\n super.dispose();\n this._element.remove();\n }\n getContentElements(content) {\n const elements = [];\n for (let segment of (0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_5__.renderLabelWithIcons)(content)) {\n if (typeof (segment) === 'string') {\n segment = segment.trim();\n // Ignore empty segment\n if (segment === '') {\n continue;\n }\n // Convert string segments to nodes\n const node = document.createElement('span');\n node.textContent = segment;\n elements.push(node);\n }\n else {\n elements.push(segment);\n }\n }\n return elements;\n }\n updateBackground(hover) {\n let background;\n if (this.options.secondary) {\n background = hover ? this.options.buttonSecondaryHoverBackground : this.options.buttonSecondaryBackground;\n }\n else {\n background = hover ? this.options.buttonHoverBackground : this.options.buttonBackground;\n }\n if (background) {\n this._element.style.backgroundColor = background;\n }\n }\n get element() {\n return this._element;\n }\n set label(value) {\n var _a;\n if (this._label === value) {\n return;\n }\n if ((0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_8__.isMarkdownString)(this._label) && (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_8__.isMarkdownString)(value) && (0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_8__.markdownStringEqual)(this._label, value)) {\n return;\n }\n this._element.classList.add('monaco-text-button');\n const labelElement = this.options.supportShortLabel ? this._labelElement : this._element;\n if ((0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_8__.isMarkdownString)(value)) {\n const rendered = (0,_markdownRenderer_js__WEBPACK_IMPORTED_MODULE_3__.renderMarkdown)(value, { inline: true });\n rendered.dispose();\n // Don't include outer `

`\n const root = (_a = rendered.element.querySelector('p')) === null || _a === void 0 ? void 0 : _a.innerHTML;\n if (root) {\n // Only allow a very limited set of inline html tags\n const sanitized = (0,_dompurify_dompurify_js__WEBPACK_IMPORTED_MODULE_1__.sanitize)(root, { ADD_TAGS: ['b', 'i', 'u', 'code', 'span'], ALLOWED_ATTR: ['class'], RETURN_TRUSTED_TYPE: true });\n labelElement.innerHTML = sanitized;\n }\n else {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.reset)(labelElement);\n }\n }\n else {\n if (this.options.supportIcons) {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.reset)(labelElement, ...this.getContentElements(value));\n }\n else {\n labelElement.textContent = value;\n }\n }\n if (typeof this.options.title === 'string') {\n this._element.title = this.options.title;\n }\n else if (this.options.title) {\n this._element.title = (0,_markdownRenderer_js__WEBPACK_IMPORTED_MODULE_3__.renderStringAsPlaintext)(value);\n }\n this._label = value;\n }\n get label() {\n return this._label;\n }\n set enabled(value) {\n if (value) {\n this._element.classList.remove('disabled');\n this._element.setAttribute('aria-disabled', String(false));\n this._element.tabIndex = 0;\n }\n else {\n this._element.classList.add('disabled');\n this._element.setAttribute('aria-disabled', String(true));\n }\n }\n get enabled() {\n return !this._element.classList.contains('disabled');\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _codicon_codicon_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codicon/codicon.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon.css\");\n/* harmony import */ var _codicon_codicon_modifiers_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./codicon/codicon-modifiers.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css\");\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//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.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 */ ContextView: () => (/* binding */ ContextView),\n/* harmony export */ LayoutAnchorMode: () => (/* binding */ LayoutAnchorMode),\n/* harmony export */ layout: () => (/* binding */ layout)\n/* harmony export */ });\n/* harmony import */ var _canIUse_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../canIUse.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.js\");\n/* harmony import */ var _contextview_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./contextview.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css\");\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\nvar LayoutAnchorMode;\n(function (LayoutAnchorMode) {\n LayoutAnchorMode[LayoutAnchorMode[\"AVOID\"] = 0] = \"AVOID\";\n LayoutAnchorMode[LayoutAnchorMode[\"ALIGN\"] = 1] = \"ALIGN\";\n})(LayoutAnchorMode || (LayoutAnchorMode = {}));\n/**\n * Lays out a one dimensional view next to an anchor in a viewport.\n *\n * @returns The view offset within the viewport.\n */\nfunction layout(viewportSize, viewSize, anchor) {\n const layoutAfterAnchorBoundary = anchor.mode === LayoutAnchorMode.ALIGN ? anchor.offset : anchor.offset + anchor.size;\n const layoutBeforeAnchorBoundary = anchor.mode === LayoutAnchorMode.ALIGN ? anchor.offset + anchor.size : anchor.offset;\n if (anchor.position === 0 /* LayoutAnchorPosition.Before */) {\n if (viewSize <= viewportSize - layoutAfterAnchorBoundary) {\n return layoutAfterAnchorBoundary; // happy case, lay it out after the anchor\n }\n if (viewSize <= layoutBeforeAnchorBoundary) {\n return layoutBeforeAnchorBoundary - viewSize; // ok case, lay it out before the anchor\n }\n return Math.max(viewportSize - viewSize, 0); // sad case, lay it over the anchor\n }\n else {\n if (viewSize <= layoutBeforeAnchorBoundary) {\n return layoutBeforeAnchorBoundary - viewSize; // happy case, lay it out before the anchor\n }\n if (viewSize <= viewportSize - layoutAfterAnchorBoundary) {\n return layoutAfterAnchorBoundary; // ok case, lay it out after the anchor\n }\n return 0; // sad case, lay it over the anchor\n }\n}\nclass ContextView extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(container, domPosition) {\n super();\n this.container = null;\n this.delegate = null;\n this.toDisposeOnClean = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n this.toDisposeOnSetContainer = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n this.shadowRoot = null;\n this.shadowRootHostElement = null;\n this.view = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.context-view');\n this.useFixedPosition = false;\n this.useShadowDOM = false;\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.hide(this.view);\n this.setContainer(container, domPosition);\n this._register((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.toDisposable)(() => this.setContainer(null, 1 /* ContextViewDOMPosition.ABSOLUTE */)));\n }\n setContainer(container, domPosition) {\n var _a;\n if (this.container) {\n this.toDisposeOnSetContainer.dispose();\n if (this.shadowRoot) {\n this.shadowRoot.removeChild(this.view);\n this.shadowRoot = null;\n (_a = this.shadowRootHostElement) === null || _a === void 0 ? void 0 : _a.remove();\n this.shadowRootHostElement = null;\n }\n else {\n this.container.removeChild(this.view);\n }\n this.container = null;\n }\n if (container) {\n this.container = container;\n this.useFixedPosition = domPosition !== 1 /* ContextViewDOMPosition.ABSOLUTE */;\n this.useShadowDOM = domPosition === 3 /* ContextViewDOMPosition.FIXED_SHADOW */;\n if (this.useShadowDOM) {\n this.shadowRootHostElement = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.shadow-root-host');\n this.container.appendChild(this.shadowRootHostElement);\n this.shadowRoot = this.shadowRootHostElement.attachShadow({ mode: 'open' });\n const style = document.createElement('style');\n style.textContent = SHADOW_ROOT_CSS;\n this.shadowRoot.appendChild(style);\n this.shadowRoot.appendChild(this.view);\n this.shadowRoot.appendChild(_dom_js__WEBPACK_IMPORTED_MODULE_1__.$('slot'));\n }\n else {\n this.container.appendChild(this.view);\n }\n const toDisposeOnSetContainer = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.DisposableStore();\n ContextView.BUBBLE_UP_EVENTS.forEach(event => {\n toDisposeOnSetContainer.add(_dom_js__WEBPACK_IMPORTED_MODULE_1__.addStandardDisposableListener(this.container, event, (e) => {\n this.onDOMEvent(e, false);\n }));\n });\n ContextView.BUBBLE_DOWN_EVENTS.forEach(event => {\n toDisposeOnSetContainer.add(_dom_js__WEBPACK_IMPORTED_MODULE_1__.addStandardDisposableListener(this.container, event, (e) => {\n this.onDOMEvent(e, true);\n }, true));\n });\n this.toDisposeOnSetContainer = toDisposeOnSetContainer;\n }\n }\n show(delegate) {\n var _a, _b;\n if (this.isVisible()) {\n this.hide();\n }\n // Show static box\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.clearNode(this.view);\n this.view.className = 'context-view';\n this.view.style.top = '0px';\n this.view.style.left = '0px';\n this.view.style.zIndex = '2575';\n this.view.style.position = this.useFixedPosition ? 'fixed' : 'absolute';\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.show(this.view);\n // Render content\n this.toDisposeOnClean = delegate.render(this.view) || _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n // Set active delegate\n this.delegate = delegate;\n // Layout\n this.doLayout();\n // Focus\n (_b = (_a = this.delegate).focus) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n getViewElement() {\n return this.view;\n }\n layout() {\n if (!this.isVisible()) {\n return;\n }\n if (this.delegate.canRelayout === false && !(_common_platform_js__WEBPACK_IMPORTED_MODULE_3__.isIOS && _canIUse_js__WEBPACK_IMPORTED_MODULE_0__.BrowserFeatures.pointerEvents)) {\n this.hide();\n return;\n }\n if (this.delegate.layout) {\n this.delegate.layout();\n }\n this.doLayout();\n }\n doLayout() {\n // Check that we still have a delegate - this.delegate.layout may have hidden\n if (!this.isVisible()) {\n return;\n }\n // Get anchor\n const anchor = this.delegate.getAnchor();\n // Compute around\n let around;\n // Get the element's position and size (to anchor the view)\n if (_dom_js__WEBPACK_IMPORTED_MODULE_1__.isHTMLElement(anchor)) {\n const elementPosition = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(anchor);\n // In areas where zoom is applied to the element or its ancestors, we need to adjust the size of the element\n // e.g. The title bar has counter zoom behavior meaning it applies the inverse of zoom level.\n // Window Zoom Level: 1.5, Title Bar Zoom: 1/1.5, Size Multiplier: 1.5\n const zoom = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodeZoomLevel(anchor);\n around = {\n top: elementPosition.top * zoom,\n left: elementPosition.left * zoom,\n width: elementPosition.width * zoom,\n height: elementPosition.height * zoom\n };\n }\n else {\n around = {\n top: anchor.y,\n left: anchor.x,\n width: anchor.width || 1,\n height: anchor.height || 2\n };\n }\n const viewSizeWidth = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getTotalWidth(this.view);\n const viewSizeHeight = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getTotalHeight(this.view);\n const anchorPosition = this.delegate.anchorPosition || 0 /* AnchorPosition.BELOW */;\n const anchorAlignment = this.delegate.anchorAlignment || 0 /* AnchorAlignment.LEFT */;\n const anchorAxisAlignment = this.delegate.anchorAxisAlignment || 0 /* AnchorAxisAlignment.VERTICAL */;\n let top;\n let left;\n if (anchorAxisAlignment === 0 /* AnchorAxisAlignment.VERTICAL */) {\n const verticalAnchor = { offset: around.top - window.pageYOffset, size: around.height, position: anchorPosition === 0 /* AnchorPosition.BELOW */ ? 0 /* LayoutAnchorPosition.Before */ : 1 /* LayoutAnchorPosition.After */ };\n const horizontalAnchor = { offset: around.left, size: around.width, position: anchorAlignment === 0 /* AnchorAlignment.LEFT */ ? 0 /* LayoutAnchorPosition.Before */ : 1 /* LayoutAnchorPosition.After */, mode: LayoutAnchorMode.ALIGN };\n top = layout(window.innerHeight, viewSizeHeight, verticalAnchor) + window.pageYOffset;\n // if view intersects vertically with anchor, we must avoid the anchor\n if (_common_range_js__WEBPACK_IMPORTED_MODULE_4__.Range.intersects({ start: top, end: top + viewSizeHeight }, { start: verticalAnchor.offset, end: verticalAnchor.offset + verticalAnchor.size })) {\n horizontalAnchor.mode = LayoutAnchorMode.AVOID;\n }\n left = layout(window.innerWidth, viewSizeWidth, horizontalAnchor);\n }\n else {\n const horizontalAnchor = { offset: around.left, size: around.width, position: anchorAlignment === 0 /* AnchorAlignment.LEFT */ ? 0 /* LayoutAnchorPosition.Before */ : 1 /* LayoutAnchorPosition.After */ };\n const verticalAnchor = { offset: around.top, size: around.height, position: anchorPosition === 0 /* AnchorPosition.BELOW */ ? 0 /* LayoutAnchorPosition.Before */ : 1 /* LayoutAnchorPosition.After */, mode: LayoutAnchorMode.ALIGN };\n left = layout(window.innerWidth, viewSizeWidth, horizontalAnchor);\n // if view intersects horizontally with anchor, we must avoid the anchor\n if (_common_range_js__WEBPACK_IMPORTED_MODULE_4__.Range.intersects({ start: left, end: left + viewSizeWidth }, { start: horizontalAnchor.offset, end: horizontalAnchor.offset + horizontalAnchor.size })) {\n verticalAnchor.mode = LayoutAnchorMode.AVOID;\n }\n top = layout(window.innerHeight, viewSizeHeight, verticalAnchor) + window.pageYOffset;\n }\n this.view.classList.remove('top', 'bottom', 'left', 'right');\n this.view.classList.add(anchorPosition === 0 /* AnchorPosition.BELOW */ ? 'bottom' : 'top');\n this.view.classList.add(anchorAlignment === 0 /* AnchorAlignment.LEFT */ ? 'left' : 'right');\n this.view.classList.toggle('fixed', this.useFixedPosition);\n const containerPosition = _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(this.container);\n this.view.style.top = `${top - (this.useFixedPosition ? _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(this.view).top : containerPosition.top)}px`;\n this.view.style.left = `${left - (this.useFixedPosition ? _dom_js__WEBPACK_IMPORTED_MODULE_1__.getDomNodePagePosition(this.view).left : containerPosition.left)}px`;\n this.view.style.width = 'initial';\n }\n hide(data) {\n const delegate = this.delegate;\n this.delegate = null;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.onHide) {\n delegate.onHide(data);\n }\n this.toDisposeOnClean.dispose();\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.hide(this.view);\n }\n isVisible() {\n return !!this.delegate;\n }\n onDOMEvent(e, onCapture) {\n if (this.delegate) {\n if (this.delegate.onDOMEvent) {\n this.delegate.onDOMEvent(e, document.activeElement);\n }\n else if (onCapture && !_dom_js__WEBPACK_IMPORTED_MODULE_1__.isAncestor(e.target, this.container)) {\n this.hide();\n }\n }\n }\n dispose() {\n this.hide();\n super.dispose();\n }\n}\nContextView.BUBBLE_UP_EVENTS = ['click', 'keydown', 'focus', 'blur'];\nContextView.BUBBLE_DOWN_EVENTS = ['click'];\nconst SHADOW_ROOT_CSS = /* css */ `\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*='codicon-'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe WPC\", \"Segoe UI\", \"HelveticaNeue-Light\", system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, \"PingFang SC\", \"Hiragino Sans GB\", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, \"PingFang TC\", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, \"Hiragino Kaku Gothic Pro\", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, \"Nanum Gothic\", \"Apple SD Gothic Neo\", \"AppleGothic\", sans-serif; }\n\n\t:host-context(.windows) { font-family: \"Segoe WPC\", \"Segoe UI\", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Microsoft YaHei\", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Microsoft Jhenghei\", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Yu Gothic UI\", \"Meiryo UI\", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: \"Segoe WPC\", \"Segoe UI\", \"Malgun Gothic\", \"Dotom\", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans SC\", \"Source Han Sans CN\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans TC\", \"Source Han Sans TW\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans J\", \"Source Han Sans JP\", \"Source Han Sans\", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, \"Ubuntu\", \"Droid Sans\", \"Source Han Sans K\", \"Source Han Sans JR\", \"Source Han Sans\", \"UnDotum\", \"FBaekmuk Gulim\", sans-serif; }\n`;\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js": +/*!************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.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 */ CountBadge: () => (/* binding */ CountBadge)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _countBadge_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./countBadge.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css\");\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\nclass CountBadge {\n constructor(container, options, styles) {\n this.options = options;\n this.styles = styles;\n this.count = 0;\n this.element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-count-badge'));\n this.countFormat = this.options.countFormat || '{0}';\n this.titleFormat = this.options.titleFormat || '';\n this.setCount(this.options.count || 0);\n }\n setCount(count) {\n this.count = count;\n this.render();\n }\n setTitleFormat(titleFormat) {\n this.titleFormat = titleFormat;\n this.render();\n }\n render() {\n var _a, _b;\n this.element.textContent = (0,_common_strings_js__WEBPACK_IMPORTED_MODULE_1__.format)(this.countFormat, this.count);\n this.element.title = (0,_common_strings_js__WEBPACK_IMPORTED_MODULE_1__.format)(this.titleFormat, this.count);\n this.element.style.backgroundColor = (_a = this.styles.badgeBackground) !== null && _a !== void 0 ? _a : '';\n this.element.style.color = (_b = this.styles.badgeForeground) !== null && _b !== void 0 ? _b : '';\n if (this.styles.badgeBorder) {\n this.element.style.border = `1px solid ${this.styles.badgeBorder}`;\n }\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js": +/*!********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.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 */ DropdownMenu: () => (/* binding */ DropdownMenu)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _dropdown_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dropdown.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css\");\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\nclass BaseDropdown extends _common_actions_js__WEBPACK_IMPORTED_MODULE_3__.ActionRunner {\n constructor(container, options) {\n super();\n this._onDidChangeVisibility = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onDidChangeVisibility = this._onDidChangeVisibility.event;\n this._element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-dropdown'));\n this._label = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(this._element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.dropdown-label'));\n let labelRenderer = options.labelRenderer;\n if (!labelRenderer) {\n labelRenderer = (container) => {\n container.textContent = options.label || '';\n return null;\n };\n }\n for (const event of [_dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CLICK, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap]) {\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this.element, event, e => _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true))); // prevent default click behaviour to trigger\n }\n for (const event of [_dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap]) {\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this._label, event, e => {\n if (e instanceof MouseEvent && (e.detail > 1 || e.button !== 0)) {\n // prevent right click trigger to allow separate context menu (https://github.com/microsoft/vscode/issues/151064)\n // prevent multiple clicks to open multiple context menus (https://github.com/microsoft/vscode/issues/41363)\n return;\n }\n if (this.visible) {\n this.hide();\n }\n else {\n this.show();\n }\n }));\n }\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(this._label, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_UP, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e);\n if (event.equals(3 /* KeyCode.Enter */) || event.equals(10 /* KeyCode.Space */)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true); // https://github.com/microsoft/vscode/issues/57997\n if (this.visible) {\n this.hide();\n }\n else {\n this.show();\n }\n }\n }));\n const cleanupFn = labelRenderer(this._label);\n if (cleanupFn) {\n this._register(cleanupFn);\n }\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_2__.Gesture.addTarget(this._label));\n }\n get element() {\n return this._element;\n }\n show() {\n if (!this.visible) {\n this.visible = true;\n this._onDidChangeVisibility.fire(true);\n }\n }\n hide() {\n if (this.visible) {\n this.visible = false;\n this._onDidChangeVisibility.fire(false);\n }\n }\n dispose() {\n super.dispose();\n this.hide();\n if (this.boxContainer) {\n this.boxContainer.remove();\n this.boxContainer = undefined;\n }\n if (this.contents) {\n this.contents.remove();\n this.contents = undefined;\n }\n if (this._label) {\n this._label.remove();\n this._label = undefined;\n }\n }\n}\nclass DropdownMenu extends BaseDropdown {\n constructor(container, _options) {\n super(container, _options);\n this._options = _options;\n this._actions = [];\n this.actions = _options.actions || [];\n }\n set menuOptions(options) {\n this._menuOptions = options;\n }\n get menuOptions() {\n return this._menuOptions;\n }\n get actions() {\n if (this._options.actionProvider) {\n return this._options.actionProvider.getActions();\n }\n return this._actions;\n }\n set actions(actions) {\n this._actions = actions;\n }\n show() {\n super.show();\n this.element.classList.add('active');\n this._options.contextMenuProvider.showContextMenu({\n getAnchor: () => this.element,\n getActions: () => this.actions,\n getActionsContext: () => this.menuOptions ? this.menuOptions.context : null,\n getActionViewItem: (action, options) => this.menuOptions && this.menuOptions.actionViewItemProvider ? this.menuOptions.actionViewItemProvider(action, options) : undefined,\n getKeyBinding: action => this.menuOptions && this.menuOptions.getKeyBinding ? this.menuOptions.getKeyBinding(action) : undefined,\n getMenuClassName: () => this._options.menuClassName || '',\n onHide: () => this.onHide(),\n actionRunner: this.menuOptions ? this.menuOptions.actionRunner : undefined,\n anchorAlignment: this.menuOptions ? this.menuOptions.anchorAlignment : 0 /* AnchorAlignment.LEFT */,\n domForShadowRoot: this._options.menuAsChild ? this.element : undefined,\n skipTelemetry: this._options.skipTelemetry\n });\n }\n hide() {\n super.hide();\n }\n onHide() {\n this.hide();\n this.element.classList.remove('active');\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.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 */ DropdownMenuActionViewItem: () => (/* binding */ DropdownMenuActionViewItem)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actionbar/actionViewItems.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js\");\n/* harmony import */ var _dropdown_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dropdown.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _dropdown_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dropdown.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css\");\n\n\n\n\n\nclass DropdownMenuActionViewItem extends _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_1__.BaseActionViewItem {\n constructor(action, menuActionsOrProvider, contextMenuProvider, options = Object.create(null)) {\n super(null, action, options);\n this.actionItem = null;\n this._onDidChangeVisibility = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter());\n this.onDidChangeVisibility = this._onDidChangeVisibility.event;\n this.menuActionsOrProvider = menuActionsOrProvider;\n this.contextMenuProvider = contextMenuProvider;\n this.options = options;\n if (this.options.actionRunner) {\n this.actionRunner = this.options.actionRunner;\n }\n }\n render(container) {\n this.actionItem = container;\n const labelRenderer = (el) => {\n this.element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('a.action-label'));\n let classNames = [];\n if (typeof this.options.classNames === 'string') {\n classNames = this.options.classNames.split(/\\s+/g).filter(s => !!s);\n }\n else if (this.options.classNames) {\n classNames = this.options.classNames;\n }\n // todo@aeschli: remove codicon, should come through `this.options.classNames`\n if (!classNames.find(c => c === 'icon')) {\n classNames.push('codicon');\n }\n this.element.classList.add(...classNames);\n this.element.setAttribute('role', 'button');\n this.element.setAttribute('aria-haspopup', 'true');\n this.element.setAttribute('aria-expanded', 'false');\n this.element.title = this._action.label || '';\n this.element.ariaLabel = this._action.label || '';\n return null;\n };\n const isActionsArray = Array.isArray(this.menuActionsOrProvider);\n const options = {\n contextMenuProvider: this.contextMenuProvider,\n labelRenderer: labelRenderer,\n menuAsChild: this.options.menuAsChild,\n actions: isActionsArray ? this.menuActionsOrProvider : undefined,\n actionProvider: isActionsArray ? undefined : this.menuActionsOrProvider,\n skipTelemetry: this.options.skipTelemetry\n };\n this.dropdownMenu = this._register(new _dropdown_js__WEBPACK_IMPORTED_MODULE_2__.DropdownMenu(container, options));\n this._register(this.dropdownMenu.onDidChangeVisibility(visible => {\n var _a;\n (_a = this.element) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', `${visible}`);\n this._onDidChangeVisibility.fire(visible);\n }));\n this.dropdownMenu.menuOptions = {\n actionViewItemProvider: this.options.actionViewItemProvider,\n actionRunner: this.actionRunner,\n getKeyBinding: this.options.keybindingProvider,\n context: this._context\n };\n if (this.options.anchorAlignmentProvider) {\n const that = this;\n this.dropdownMenu.menuOptions = Object.assign(Object.assign({}, this.dropdownMenu.menuOptions), { get anchorAlignment() {\n return that.options.anchorAlignmentProvider();\n } });\n }\n this.updateTooltip();\n this.updateEnabled();\n }\n getTooltip() {\n let title = null;\n if (this.action.tooltip) {\n title = this.action.tooltip;\n }\n else if (this.action.label) {\n title = this.action.label;\n }\n return title !== null && title !== void 0 ? title : undefined;\n }\n setActionContext(newContext) {\n super.setActionContext(newContext);\n if (this.dropdownMenu) {\n if (this.dropdownMenu.menuOptions) {\n this.dropdownMenu.menuOptions.context = newContext;\n }\n else {\n this.dropdownMenu.menuOptions = { context: newContext };\n }\n }\n }\n show() {\n var _a;\n (_a = this.dropdownMenu) === null || _a === void 0 ? void 0 : _a.show();\n }\n updateEnabled() {\n var _a, _b;\n const disabled = !this.action.enabled;\n (_a = this.actionItem) === null || _a === void 0 ? void 0 : _a.classList.toggle('disabled', disabled);\n (_b = this.element) === null || _b === void 0 ? void 0 : _b.classList.toggle('disabled', disabled);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.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 */ FindInput: () => (/* binding */ FindInput)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _findInputToggles_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./findInputToggles.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputToggles.js\");\n/* harmony import */ var _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../inputbox/inputBox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _findInput_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./findInput.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__ = __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\n\n\n\n\nconst NLS_DEFAULT_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_6__.localize('defaultLabel', \"input\");\nclass FindInput extends _widget_js__WEBPACK_IMPORTED_MODULE_3__.Widget {\n constructor(parent, contextViewProvider, options) {\n super();\n this.fixFocusOnOptionClickEnabled = true;\n this.imeSessionInProgress = false;\n this.additionalTogglesDisposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.DisposableStore();\n this.additionalToggles = [];\n this._onDidOptionChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onDidOptionChange = this._onDidOptionChange.event;\n this._onKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onKeyDown = this._onKeyDown.event;\n this._onMouseDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onMouseDown = this._onMouseDown.event;\n this._onInput = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this._onKeyUp = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this._onCaseSensitiveKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onCaseSensitiveKeyDown = this._onCaseSensitiveKeyDown.event;\n this._onRegexKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_4__.Emitter());\n this.onRegexKeyDown = this._onRegexKeyDown.event;\n this._lastHighlightFindOptions = 0;\n this.placeholder = options.placeholder || '';\n this.validation = options.validation;\n this.label = options.label || NLS_DEFAULT_LABEL;\n this.showCommonFindToggles = !!options.showCommonFindToggles;\n const appendCaseSensitiveLabel = options.appendCaseSensitiveLabel || '';\n const appendWholeWordsLabel = options.appendWholeWordsLabel || '';\n const appendRegexLabel = options.appendRegexLabel || '';\n const history = options.history || [];\n const flexibleHeight = !!options.flexibleHeight;\n const flexibleWidth = !!options.flexibleWidth;\n const flexibleMaxHeight = options.flexibleMaxHeight;\n this.domNode = document.createElement('div');\n this.domNode.classList.add('monaco-findInput');\n this.inputBox = this._register(new _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_2__.HistoryInputBox(this.domNode, contextViewProvider, {\n placeholder: this.placeholder || '',\n ariaLabel: this.label || '',\n validationOptions: {\n validation: this.validation\n },\n history,\n showHistoryHint: options.showHistoryHint,\n flexibleHeight,\n flexibleWidth,\n flexibleMaxHeight,\n inputBoxStyles: options.inputBoxStyles,\n }));\n if (this.showCommonFindToggles) {\n this.regex = this._register(new _findInputToggles_js__WEBPACK_IMPORTED_MODULE_1__.RegexToggle(Object.assign({ appendTitle: appendRegexLabel, isChecked: false }, options.toggleStyles)));\n this._register(this.regex.onChange(viaKeyboard => {\n this._onDidOptionChange.fire(viaKeyboard);\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n this.inputBox.focus();\n }\n this.validate();\n }));\n this._register(this.regex.onKeyDown(e => {\n this._onRegexKeyDown.fire(e);\n }));\n this.wholeWords = this._register(new _findInputToggles_js__WEBPACK_IMPORTED_MODULE_1__.WholeWordsToggle(Object.assign({ appendTitle: appendWholeWordsLabel, isChecked: false }, options.toggleStyles)));\n this._register(this.wholeWords.onChange(viaKeyboard => {\n this._onDidOptionChange.fire(viaKeyboard);\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n this.inputBox.focus();\n }\n this.validate();\n }));\n this.caseSensitive = this._register(new _findInputToggles_js__WEBPACK_IMPORTED_MODULE_1__.CaseSensitiveToggle(Object.assign({ appendTitle: appendCaseSensitiveLabel, isChecked: false }, options.toggleStyles)));\n this._register(this.caseSensitive.onChange(viaKeyboard => {\n this._onDidOptionChange.fire(viaKeyboard);\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n this.inputBox.focus();\n }\n this.validate();\n }));\n this._register(this.caseSensitive.onKeyDown(e => {\n this._onCaseSensitiveKeyDown.fire(e);\n }));\n // Arrow-Key support to navigate between options\n const indexes = [this.caseSensitive.domNode, this.wholeWords.domNode, this.regex.domNode];\n this.onkeydown(this.domNode, (event) => {\n if (event.equals(15 /* KeyCode.LeftArrow */) || event.equals(17 /* KeyCode.RightArrow */) || event.equals(9 /* KeyCode.Escape */)) {\n const index = indexes.indexOf(document.activeElement);\n if (index >= 0) {\n let newIndex = -1;\n if (event.equals(17 /* KeyCode.RightArrow */)) {\n newIndex = (index + 1) % indexes.length;\n }\n else if (event.equals(15 /* KeyCode.LeftArrow */)) {\n if (index === 0) {\n newIndex = indexes.length - 1;\n }\n else {\n newIndex = index - 1;\n }\n }\n if (event.equals(9 /* KeyCode.Escape */)) {\n indexes[index].blur();\n this.inputBox.focus();\n }\n else if (newIndex >= 0) {\n indexes[newIndex].focus();\n }\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(event, true);\n }\n }\n });\n }\n this.controls = document.createElement('div');\n this.controls.className = 'controls';\n this.controls.style.display = this.showCommonFindToggles ? '' : 'none';\n if (this.caseSensitive) {\n this.controls.append(this.caseSensitive.domNode);\n }\n if (this.wholeWords) {\n this.controls.appendChild(this.wholeWords.domNode);\n }\n if (this.regex) {\n this.controls.appendChild(this.regex.domNode);\n }\n this.setAdditionalToggles(options === null || options === void 0 ? void 0 : options.additionalToggles);\n if (this.controls) {\n this.domNode.appendChild(this.controls);\n }\n parent === null || parent === void 0 ? void 0 : parent.appendChild(this.domNode);\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.inputBox.inputElement, 'compositionstart', (e) => {\n this.imeSessionInProgress = true;\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.inputBox.inputElement, 'compositionend', (e) => {\n this.imeSessionInProgress = false;\n this._onInput.fire();\n }));\n this.onkeydown(this.inputBox.inputElement, (e) => this._onKeyDown.fire(e));\n this.onkeyup(this.inputBox.inputElement, (e) => this._onKeyUp.fire(e));\n this.oninput(this.inputBox.inputElement, (e) => this._onInput.fire());\n this.onmousedown(this.inputBox.inputElement, (e) => this._onMouseDown.fire(e));\n }\n get onDidChange() {\n return this.inputBox.onDidChange;\n }\n layout(style) {\n this.inputBox.layout();\n this.updateInputBoxPadding(style.collapsedFindWidget);\n }\n enable() {\n var _a, _b, _c;\n this.domNode.classList.remove('disabled');\n this.inputBox.enable();\n (_a = this.regex) === null || _a === void 0 ? void 0 : _a.enable();\n (_b = this.wholeWords) === null || _b === void 0 ? void 0 : _b.enable();\n (_c = this.caseSensitive) === null || _c === void 0 ? void 0 : _c.enable();\n for (const toggle of this.additionalToggles) {\n toggle.enable();\n }\n }\n disable() {\n var _a, _b, _c;\n this.domNode.classList.add('disabled');\n this.inputBox.disable();\n (_a = this.regex) === null || _a === void 0 ? void 0 : _a.disable();\n (_b = this.wholeWords) === null || _b === void 0 ? void 0 : _b.disable();\n (_c = this.caseSensitive) === null || _c === void 0 ? void 0 : _c.disable();\n for (const toggle of this.additionalToggles) {\n toggle.disable();\n }\n }\n setFocusInputOnOptionClick(value) {\n this.fixFocusOnOptionClickEnabled = value;\n }\n setEnabled(enabled) {\n if (enabled) {\n this.enable();\n }\n else {\n this.disable();\n }\n }\n setAdditionalToggles(toggles) {\n for (const currentToggle of this.additionalToggles) {\n currentToggle.domNode.remove();\n }\n this.additionalToggles = [];\n this.additionalTogglesDisposables.dispose();\n this.additionalTogglesDisposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.DisposableStore();\n for (const toggle of toggles !== null && toggles !== void 0 ? toggles : []) {\n this.additionalTogglesDisposables.add(toggle);\n this.controls.appendChild(toggle.domNode);\n this.additionalTogglesDisposables.add(toggle.onChange(viaKeyboard => {\n this._onDidOptionChange.fire(viaKeyboard);\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n this.inputBox.focus();\n }\n }));\n this.additionalToggles.push(toggle);\n }\n if (this.additionalToggles.length > 0) {\n this.controls.style.display = '';\n }\n this.updateInputBoxPadding();\n }\n updateInputBoxPadding(controlsHidden = false) {\n var _a, _b, _c, _d, _e, _f;\n if (controlsHidden) {\n this.inputBox.paddingRight = 0;\n }\n else {\n this.inputBox.paddingRight =\n (((_b = (_a = this.caseSensitive) === null || _a === void 0 ? void 0 : _a.width()) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = this.wholeWords) === null || _c === void 0 ? void 0 : _c.width()) !== null && _d !== void 0 ? _d : 0) + ((_f = (_e = this.regex) === null || _e === void 0 ? void 0 : _e.width()) !== null && _f !== void 0 ? _f : 0))\n + this.additionalToggles.reduce((r, t) => r + t.width(), 0);\n }\n }\n getValue() {\n return this.inputBox.value;\n }\n setValue(value) {\n if (this.inputBox.value !== value) {\n this.inputBox.value = value;\n }\n }\n select() {\n this.inputBox.select();\n }\n focus() {\n this.inputBox.focus();\n }\n getCaseSensitive() {\n var _a, _b;\n return (_b = (_a = this.caseSensitive) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false;\n }\n setCaseSensitive(value) {\n if (this.caseSensitive) {\n this.caseSensitive.checked = value;\n }\n }\n getWholeWords() {\n var _a, _b;\n return (_b = (_a = this.wholeWords) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false;\n }\n setWholeWords(value) {\n if (this.wholeWords) {\n this.wholeWords.checked = value;\n }\n }\n getRegex() {\n var _a, _b;\n return (_b = (_a = this.regex) === null || _a === void 0 ? void 0 : _a.checked) !== null && _b !== void 0 ? _b : false;\n }\n setRegex(value) {\n if (this.regex) {\n this.regex.checked = value;\n this.validate();\n }\n }\n focusOnCaseSensitive() {\n var _a;\n (_a = this.caseSensitive) === null || _a === void 0 ? void 0 : _a.focus();\n }\n highlightFindOptions() {\n this.domNode.classList.remove('highlight-' + (this._lastHighlightFindOptions));\n this._lastHighlightFindOptions = 1 - this._lastHighlightFindOptions;\n this.domNode.classList.add('highlight-' + (this._lastHighlightFindOptions));\n }\n validate() {\n this.inputBox.validate();\n }\n showMessage(message) {\n this.inputBox.showMessage(message);\n }\n clearMessage() {\n this.inputBox.hideMessage();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputToggles.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputToggles.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 */ CaseSensitiveToggle: () => (/* binding */ CaseSensitiveToggle),\n/* harmony export */ RegexToggle: () => (/* binding */ RegexToggle),\n/* harmony export */ WholeWordsToggle: () => (/* binding */ WholeWordsToggle)\n/* harmony export */ });\n/* harmony import */ var _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../toggle/toggle.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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\nconst NLS_CASE_SENSITIVE_TOGGLE_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('caseDescription', \"Match Case\");\nconst NLS_WHOLE_WORD_TOGGLE_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('wordsDescription', \"Match Whole Word\");\nconst NLS_REGEX_TOGGLE_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('regexDescription', \"Use Regular Expression\");\nclass CaseSensitiveToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_0__.Toggle {\n constructor(opts) {\n super({\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_1__.Codicon.caseSensitive,\n title: NLS_CASE_SENSITIVE_TOGGLE_LABEL + opts.appendTitle,\n isChecked: opts.isChecked,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\nclass WholeWordsToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_0__.Toggle {\n constructor(opts) {\n super({\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_1__.Codicon.wholeWord,\n title: NLS_WHOLE_WORD_TOGGLE_LABEL + opts.appendTitle,\n isChecked: opts.isChecked,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\nclass RegexToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_0__.Toggle {\n constructor(opts) {\n super({\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_1__.Codicon.regex,\n title: NLS_REGEX_TOGGLE_LABEL + opts.appendTitle,\n isChecked: opts.isChecked,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputToggles.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.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 */ ReplaceInput: () => (/* binding */ ReplaceInput)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../toggle/toggle.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js\");\n/* harmony import */ var _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../inputbox/inputBox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _findInput_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./findInput.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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\nconst NLS_DEFAULT_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_7__.localize('defaultLabel', \"input\");\nconst NLS_PRESERVE_CASE_LABEL = _nls_js__WEBPACK_IMPORTED_MODULE_7__.localize('label.preserveCaseToggle', \"Preserve Case\");\nclass PreserveCaseToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_1__.Toggle {\n constructor(opts) {\n super({\n // TODO: does this need its own icon?\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.preserveCase,\n title: NLS_PRESERVE_CASE_LABEL + opts.appendTitle,\n isChecked: opts.isChecked,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\nclass ReplaceInput extends _widget_js__WEBPACK_IMPORTED_MODULE_3__.Widget {\n constructor(parent, contextViewProvider, _showOptionButtons, options) {\n super();\n this._showOptionButtons = _showOptionButtons;\n this.fixFocusOnOptionClickEnabled = true;\n this.cachedOptionsWidth = 0;\n this._onDidOptionChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this.onDidOptionChange = this._onDidOptionChange.event;\n this._onKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this.onKeyDown = this._onKeyDown.event;\n this._onMouseDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onInput = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onKeyUp = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onPreserveCaseKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this.onPreserveCaseKeyDown = this._onPreserveCaseKeyDown.event;\n this.contextViewProvider = contextViewProvider;\n this.placeholder = options.placeholder || '';\n this.validation = options.validation;\n this.label = options.label || NLS_DEFAULT_LABEL;\n const appendPreserveCaseLabel = options.appendPreserveCaseLabel || '';\n const history = options.history || [];\n const flexibleHeight = !!options.flexibleHeight;\n const flexibleWidth = !!options.flexibleWidth;\n const flexibleMaxHeight = options.flexibleMaxHeight;\n this.domNode = document.createElement('div');\n this.domNode.classList.add('monaco-findInput');\n this.inputBox = this._register(new _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_2__.HistoryInputBox(this.domNode, this.contextViewProvider, {\n ariaLabel: this.label || '',\n placeholder: this.placeholder || '',\n validationOptions: {\n validation: this.validation\n },\n history,\n showHistoryHint: options.showHistoryHint,\n flexibleHeight,\n flexibleWidth,\n flexibleMaxHeight,\n inputBoxStyles: options.inputBoxStyles\n }));\n this.preserveCase = this._register(new PreserveCaseToggle(Object.assign({ appendTitle: appendPreserveCaseLabel, isChecked: false }, options.toggleStyles)));\n this._register(this.preserveCase.onChange(viaKeyboard => {\n this._onDidOptionChange.fire(viaKeyboard);\n if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n this.inputBox.focus();\n }\n this.validate();\n }));\n this._register(this.preserveCase.onKeyDown(e => {\n this._onPreserveCaseKeyDown.fire(e);\n }));\n if (this._showOptionButtons) {\n this.cachedOptionsWidth = this.preserveCase.width();\n }\n else {\n this.cachedOptionsWidth = 0;\n }\n // Arrow-Key support to navigate between options\n const indexes = [this.preserveCase.domNode];\n this.onkeydown(this.domNode, (event) => {\n if (event.equals(15 /* KeyCode.LeftArrow */) || event.equals(17 /* KeyCode.RightArrow */) || event.equals(9 /* KeyCode.Escape */)) {\n const index = indexes.indexOf(document.activeElement);\n if (index >= 0) {\n let newIndex = -1;\n if (event.equals(17 /* KeyCode.RightArrow */)) {\n newIndex = (index + 1) % indexes.length;\n }\n else if (event.equals(15 /* KeyCode.LeftArrow */)) {\n if (index === 0) {\n newIndex = indexes.length - 1;\n }\n else {\n newIndex = index - 1;\n }\n }\n if (event.equals(9 /* KeyCode.Escape */)) {\n indexes[index].blur();\n this.inputBox.focus();\n }\n else if (newIndex >= 0) {\n indexes[newIndex].focus();\n }\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(event, true);\n }\n }\n });\n const controls = document.createElement('div');\n controls.className = 'controls';\n controls.style.display = this._showOptionButtons ? 'block' : 'none';\n controls.appendChild(this.preserveCase.domNode);\n this.domNode.appendChild(controls);\n parent === null || parent === void 0 ? void 0 : parent.appendChild(this.domNode);\n this.onkeydown(this.inputBox.inputElement, (e) => this._onKeyDown.fire(e));\n this.onkeyup(this.inputBox.inputElement, (e) => this._onKeyUp.fire(e));\n this.oninput(this.inputBox.inputElement, (e) => this._onInput.fire());\n this.onmousedown(this.inputBox.inputElement, (e) => this._onMouseDown.fire(e));\n }\n enable() {\n this.domNode.classList.remove('disabled');\n this.inputBox.enable();\n this.preserveCase.enable();\n }\n disable() {\n this.domNode.classList.add('disabled');\n this.inputBox.disable();\n this.preserveCase.disable();\n }\n setEnabled(enabled) {\n if (enabled) {\n this.enable();\n }\n else {\n this.disable();\n }\n }\n select() {\n this.inputBox.select();\n }\n focus() {\n this.inputBox.focus();\n }\n getPreserveCase() {\n return this.preserveCase.checked;\n }\n setPreserveCase(value) {\n this.preserveCase.checked = value;\n }\n focusOnPreserve() {\n this.preserveCase.focus();\n }\n validate() {\n var _a;\n (_a = this.inputBox) === null || _a === void 0 ? void 0 : _a.validate();\n }\n set width(newWidth) {\n this.inputBox.paddingRight = this.cachedOptionsWidth;\n this.domNode.style.width = newWidth + 'px';\n }\n dispose() {\n super.dispose();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/replaceInput.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js": +/*!************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.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 */ HighlightedLabel: () => (/* binding */ HighlightedLabel)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../iconLabel/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.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 * A widget which can render a label with substring highlights, often\n * originating from a filter function like the fuzzy matcher.\n */\nclass HighlightedLabel {\n /**\n * Create a new {@link HighlightedLabel}.\n *\n * @param container The parent container to append to.\n */\n constructor(container, options) {\n var _a;\n this.text = '';\n this.title = '';\n this.highlights = [];\n this.didEverRender = false;\n this.supportIcons = (_a = options === null || options === void 0 ? void 0 : options.supportIcons) !== null && _a !== void 0 ? _a : false;\n this.domNode = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, _dom_js__WEBPACK_IMPORTED_MODULE_0__.$('span.monaco-highlighted-label'));\n }\n /**\n * The label's DOM node.\n */\n get element() {\n return this.domNode;\n }\n /**\n * Set the label and highlights.\n *\n * @param text The label to display.\n * @param highlights The ranges to highlight.\n * @param title An optional title for the hover tooltip.\n * @param escapeNewLines Whether to escape new lines.\n * @returns\n */\n set(text, highlights = [], title = '', escapeNewLines) {\n if (!text) {\n text = '';\n }\n if (escapeNewLines) {\n // adjusts highlights inplace\n text = HighlightedLabel.escapeNewLines(text, highlights);\n }\n if (this.didEverRender && this.text === text && this.title === title && _common_objects_js__WEBPACK_IMPORTED_MODULE_2__.equals(this.highlights, highlights)) {\n return;\n }\n this.text = text;\n this.title = title;\n this.highlights = highlights;\n this.render();\n }\n render() {\n const children = [];\n let pos = 0;\n for (const highlight of this.highlights) {\n if (highlight.end === highlight.start) {\n continue;\n }\n if (pos < highlight.start) {\n const substring = this.text.substring(pos, highlight.start);\n if (this.supportIcons) {\n children.push(...(0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__.renderLabelWithIcons)(substring));\n }\n else {\n children.push(substring);\n }\n pos = highlight.start;\n }\n const substring = this.text.substring(pos, highlight.end);\n const element = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$('span.highlight', undefined, ...this.supportIcons ? (0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__.renderLabelWithIcons)(substring) : [substring]);\n if (highlight.extraClasses) {\n element.classList.add(...highlight.extraClasses);\n }\n children.push(element);\n pos = highlight.end;\n }\n if (pos < this.text.length) {\n const substring = this.text.substring(pos);\n if (this.supportIcons) {\n children.push(...(0,_iconLabel_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__.renderLabelWithIcons)(substring));\n }\n else {\n children.push(substring);\n }\n }\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.reset(this.domNode, ...children);\n if (this.title) {\n this.domNode.title = this.title;\n }\n else {\n this.domNode.removeAttribute('title');\n }\n this.didEverRender = true;\n }\n static escapeNewLines(text, highlights) {\n let total = 0;\n let extra = 0;\n return text.replace(/\\r\\n|\\r|\\n/g, (match, offset) => {\n extra = match === '\\r\\n' ? -1 : 0;\n offset += total;\n for (const highlight of highlights) {\n if (highlight.end <= offset) {\n continue;\n }\n if (highlight.start >= offset) {\n highlight.start += extra;\n }\n if (highlight.end >= offset) {\n highlight.end += extra;\n }\n }\n total += extra;\n return '\\u23CE';\n });\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.js": +/*!********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.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 */ HoverAction: () => (/* binding */ HoverAction),\n/* harmony export */ HoverWidget: () => (/* binding */ HoverWidget)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.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/* harmony import */ var _hover_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hover.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hover.css\");\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\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$;\nclass HoverWidget extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\n constructor() {\n super();\n this.containerDomNode = document.createElement('div');\n this.containerDomNode.className = 'monaco-hover';\n this.containerDomNode.tabIndex = 0;\n this.containerDomNode.setAttribute('role', 'tooltip');\n this.contentsDomNode = document.createElement('div');\n this.contentsDomNode.className = 'monaco-hover-content';\n this.scrollbar = this._register(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_2__.DomScrollableElement(this.contentsDomNode, {\n consumeMouseWheelIfScrollbarIsNeeded: true\n }));\n this.containerDomNode.appendChild(this.scrollbar.getDomNode());\n }\n onContentsChanged() {\n this.scrollbar.scanDomNode();\n }\n}\nclass HoverAction extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\n static render(parent, actionOptions, keybindingLabel) {\n return new HoverAction(parent, actionOptions, keybindingLabel);\n }\n constructor(parent, actionOptions, keybindingLabel) {\n super();\n this.actionContainer = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(parent, $('div.action-container'));\n this.actionContainer.setAttribute('tabindex', '0');\n this.action = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.actionContainer, $('a.action'));\n this.action.setAttribute('role', 'button');\n if (actionOptions.iconClass) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.action, $(`span.icon.${actionOptions.iconClass}`));\n }\n const label = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.action, $('span'));\n label.textContent = keybindingLabel ? `${actionOptions.label} (${keybindingLabel})` : actionOptions.label;\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.actionContainer, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CLICK, e => {\n e.stopPropagation();\n e.preventDefault();\n actionOptions.run(this.actionContainer);\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.actionContainer, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_DOWN, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e);\n if (event.equals(3 /* KeyCode.Enter */) || event.equals(10 /* KeyCode.Space */)) {\n e.stopPropagation();\n e.preventDefault();\n actionOptions.run(this.actionContainer);\n }\n }));\n this.setEnabled(true);\n }\n setEnabled(enabled) {\n if (enabled) {\n this.actionContainer.classList.remove('disabled');\n this.actionContainer.removeAttribute('aria-disabled');\n }\n else {\n this.actionContainer.classList.add('disabled');\n this.actionContainer.setAttribute('aria-disabled', 'true');\n }\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/hover/hoverWidget.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.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 */ IconLabel: () => (/* binding */ IconLabel)\n/* harmony export */ });\n/* harmony import */ var _iconlabel_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./iconlabel.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../highlightedlabel/highlightedLabel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js\");\n/* harmony import */ var _iconLabelHover_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./iconLabelHover.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.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\nclass FastLabelNode {\n constructor(_element) {\n this._element = _element;\n }\n get element() {\n return this._element;\n }\n set textContent(content) {\n if (this.disposed || content === this._textContent) {\n return;\n }\n this._textContent = content;\n this._element.textContent = content;\n }\n set className(className) {\n if (this.disposed || className === this._className) {\n return;\n }\n this._className = className;\n this._element.className = className;\n }\n set empty(empty) {\n if (this.disposed || empty === this._empty) {\n return;\n }\n this._empty = empty;\n this._element.style.marginLeft = empty ? '0' : '';\n }\n dispose() {\n this.disposed = true;\n }\n}\nclass IconLabel extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__.Disposable {\n constructor(container, options) {\n super();\n this.customHovers = new Map();\n this.creationOptions = options;\n this.domNode = this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.monaco-icon-label'))));\n this.labelContainer = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.domNode.element, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('.monaco-icon-label-container'));\n const nameContainer = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.labelContainer, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.monaco-icon-name-container'));\n if ((options === null || options === void 0 ? void 0 : options.supportHighlights) || (options === null || options === void 0 ? void 0 : options.supportIcons)) {\n this.nameNode = new LabelWithHighlights(nameContainer, !!options.supportIcons);\n }\n else {\n this.nameNode = new Label(nameContainer);\n }\n this.hoverDelegate = options === null || options === void 0 ? void 0 : options.hoverDelegate;\n }\n get element() {\n return this.domNode.element;\n }\n setLabel(label, description, options) {\n const labelClasses = ['monaco-icon-label'];\n const containerClasses = ['monaco-icon-label-container'];\n if (options) {\n if (options.extraClasses) {\n labelClasses.push(...options.extraClasses);\n }\n if (options.italic) {\n labelClasses.push('italic');\n }\n if (options.strikethrough) {\n labelClasses.push('strikethrough');\n }\n if (options.disabledCommand) {\n containerClasses.push('disabled');\n }\n }\n this.domNode.className = labelClasses.join(' ');\n this.labelContainer.className = containerClasses.join(' ');\n this.setupHover((options === null || options === void 0 ? void 0 : options.descriptionTitle) ? this.labelContainer : this.element, options === null || options === void 0 ? void 0 : options.title);\n this.nameNode.setLabel(label, options);\n if (description || this.descriptionNode) {\n const descriptionNode = this.getOrCreateDescriptionNode();\n if (descriptionNode instanceof _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel) {\n descriptionNode.set(description || '', options ? options.descriptionMatches : undefined, undefined, options === null || options === void 0 ? void 0 : options.labelEscapeNewLines);\n this.setupHover(descriptionNode.element, options === null || options === void 0 ? void 0 : options.descriptionTitle);\n }\n else {\n descriptionNode.textContent = description && (options === null || options === void 0 ? void 0 : options.labelEscapeNewLines) ? _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel.escapeNewLines(description, []) : (description || '');\n this.setupHover(descriptionNode.element, (options === null || options === void 0 ? void 0 : options.descriptionTitle) || '');\n descriptionNode.empty = !description;\n }\n }\n }\n setupHover(htmlElement, tooltip) {\n const previousCustomHover = this.customHovers.get(htmlElement);\n if (previousCustomHover) {\n previousCustomHover.dispose();\n this.customHovers.delete(htmlElement);\n }\n if (!tooltip) {\n htmlElement.removeAttribute('title');\n return;\n }\n if (!this.hoverDelegate) {\n (0,_iconLabelHover_js__WEBPACK_IMPORTED_MODULE_3__.setupNativeHover)(htmlElement, tooltip);\n }\n else {\n const hoverDisposable = (0,_iconLabelHover_js__WEBPACK_IMPORTED_MODULE_3__.setupCustomHover)(this.hoverDelegate, htmlElement, tooltip);\n if (hoverDisposable) {\n this.customHovers.set(htmlElement, hoverDisposable);\n }\n }\n }\n dispose() {\n super.dispose();\n for (const disposable of this.customHovers.values()) {\n disposable.dispose();\n }\n this.customHovers.clear();\n }\n getOrCreateDescriptionNode() {\n var _a;\n if (!this.descriptionNode) {\n const descriptionContainer = this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.labelContainer, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.monaco-icon-description-container'))));\n if ((_a = this.creationOptions) === null || _a === void 0 ? void 0 : _a.supportDescriptionHighlights) {\n this.descriptionNode = new _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(descriptionContainer.element, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-description')), { supportIcons: !!this.creationOptions.supportIcons });\n }\n else {\n this.descriptionNode = this._register(new FastLabelNode(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(descriptionContainer.element, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-description'))));\n }\n }\n return this.descriptionNode;\n }\n}\nclass Label {\n constructor(container) {\n this.container = container;\n this.label = undefined;\n this.singleLabel = undefined;\n }\n setLabel(label, options) {\n if (this.label === label && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_5__.equals)(this.options, options)) {\n return;\n }\n this.label = label;\n this.options = options;\n if (typeof label === 'string') {\n if (!this.singleLabel) {\n this.container.innerText = '';\n this.container.classList.remove('multiple');\n this.singleLabel = _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id: options === null || options === void 0 ? void 0 : options.domId }));\n }\n this.singleLabel.textContent = label;\n }\n else {\n this.container.innerText = '';\n this.container.classList.add('multiple');\n this.singleLabel = undefined;\n for (let i = 0; i < label.length; i++) {\n const l = label[i];\n const id = (options === null || options === void 0 ? void 0 : options.domId) && `${options === null || options === void 0 ? void 0 : options.domId}_${i}`;\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id, 'data-icon-label-count': label.length, 'data-icon-label-index': i, 'role': 'treeitem' }, l));\n if (i < label.length - 1) {\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-separator', undefined, (options === null || options === void 0 ? void 0 : options.separator) || '/'));\n }\n }\n }\n }\n}\nfunction splitMatches(labels, separator, matches) {\n if (!matches) {\n return undefined;\n }\n let labelStart = 0;\n return labels.map(label => {\n const labelRange = { start: labelStart, end: labelStart + label.length };\n const result = matches\n .map(match => _common_range_js__WEBPACK_IMPORTED_MODULE_6__.Range.intersect(labelRange, match))\n .filter(range => !_common_range_js__WEBPACK_IMPORTED_MODULE_6__.Range.isEmpty(range))\n .map(({ start, end }) => ({ start: start - labelStart, end: end - labelStart }));\n labelStart = labelRange.end + separator.length;\n return result;\n });\n}\nclass LabelWithHighlights {\n constructor(container, supportIcons) {\n this.container = container;\n this.supportIcons = supportIcons;\n this.label = undefined;\n this.singleLabel = undefined;\n }\n setLabel(label, options) {\n if (this.label === label && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_5__.equals)(this.options, options)) {\n return;\n }\n this.label = label;\n this.options = options;\n if (typeof label === 'string') {\n if (!this.singleLabel) {\n this.container.innerText = '';\n this.container.classList.remove('multiple');\n this.singleLabel = new _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id: options === null || options === void 0 ? void 0 : options.domId })), { supportIcons: this.supportIcons });\n }\n this.singleLabel.set(label, options === null || options === void 0 ? void 0 : options.matches, undefined, options === null || options === void 0 ? void 0 : options.labelEscapeNewLines);\n }\n else {\n this.container.innerText = '';\n this.container.classList.add('multiple');\n this.singleLabel = undefined;\n const separator = (options === null || options === void 0 ? void 0 : options.separator) || '/';\n const matches = splitMatches(label, separator, options === null || options === void 0 ? void 0 : options.matches);\n for (let i = 0; i < label.length; i++) {\n const l = label[i];\n const m = matches ? matches[i] : undefined;\n const id = (options === null || options === void 0 ? void 0 : options.domId) && `${options === null || options === void 0 ? void 0 : options.domId}_${i}`;\n const name = _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('a.label-name', { id, 'data-icon-label-count': label.length, 'data-icon-label-index': i, 'role': 'treeitem' });\n const highlightedLabel = new _highlightedlabel_highlightedLabel_js__WEBPACK_IMPORTED_MODULE_2__.HighlightedLabel(_dom_js__WEBPACK_IMPORTED_MODULE_1__.append(this.container, name), { supportIcons: this.supportIcons });\n highlightedLabel.set(l, m, undefined, options === null || options === void 0 ? void 0 : options.labelEscapeNewLines);\n if (i < label.length - 1) {\n _dom_js__WEBPACK_IMPORTED_MODULE_1__.append(name, _dom_js__WEBPACK_IMPORTED_MODULE_1__.$('span.label-separator', undefined, separator));\n }\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.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 */ setupCustomHover: () => (/* binding */ setupCustomHover),\n/* harmony export */ setupNativeHover: () => (/* binding */ setupNativeHover)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_cancellation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/cancellation.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cancellation.js\");\n/* harmony import */ var _common_htmlContent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/htmlContent.js */ \"./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js\");\n/* harmony import */ var _common_iconLabels_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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 *--------------------------------------------------------------------------------------------*/\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\n\n\n\nfunction setupNativeHover(htmlElement, tooltip) {\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_6__.isString)(tooltip)) {\n // Icons don't render in the native hover so we strip them out\n htmlElement.title = (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_4__.stripIcons)(tooltip);\n }\n else if (tooltip === null || tooltip === void 0 ? void 0 : tooltip.markdownNotSupportedFallback) {\n htmlElement.title = tooltip.markdownNotSupportedFallback;\n }\n else {\n htmlElement.removeAttribute('title');\n }\n}\nclass UpdatableHoverWidget {\n constructor(hoverDelegate, target, fadeInAnimation) {\n this.hoverDelegate = hoverDelegate;\n this.target = target;\n this.fadeInAnimation = fadeInAnimation;\n }\n update(content, focus, options) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (this._cancellationTokenSource) {\n // there's an computation ongoing, cancel it\n this._cancellationTokenSource.dispose(true);\n this._cancellationTokenSource = undefined;\n }\n if (this.isDisposed) {\n return;\n }\n let resolvedContent;\n if (content === undefined || (0,_common_types_js__WEBPACK_IMPORTED_MODULE_6__.isString)(content) || content instanceof HTMLElement) {\n resolvedContent = content;\n }\n else if (!(0,_common_types_js__WEBPACK_IMPORTED_MODULE_6__.isFunction)(content.markdown)) {\n resolvedContent = (_a = content.markdown) !== null && _a !== void 0 ? _a : content.markdownNotSupportedFallback;\n }\n else {\n // compute the content, potentially long-running\n // show 'Loading' if no hover is up yet\n if (!this._hoverWidget) {\n this.show((0,_nls_js__WEBPACK_IMPORTED_MODULE_7__.localize)('iconLabel.loading', \"Loading...\"), focus);\n }\n // compute the content\n this._cancellationTokenSource = new _common_cancellation_js__WEBPACK_IMPORTED_MODULE_2__.CancellationTokenSource();\n const token = this._cancellationTokenSource.token;\n resolvedContent = yield content.markdown(token);\n if (resolvedContent === undefined) {\n resolvedContent = content.markdownNotSupportedFallback;\n }\n if (this.isDisposed || token.isCancellationRequested) {\n // either the widget has been closed in the meantime\n // or there has been a new call to `update`\n return;\n }\n }\n this.show(resolvedContent, focus, options);\n });\n }\n show(content, focus, options) {\n const oldHoverWidget = this._hoverWidget;\n if (this.hasContent(content)) {\n const hoverOptions = Object.assign({ content, target: this.target, showPointer: this.hoverDelegate.placement === 'element', hoverPosition: 2 /* HoverPosition.BELOW */, skipFadeInAnimation: !this.fadeInAnimation || !!oldHoverWidget }, options);\n this._hoverWidget = this.hoverDelegate.showHover(hoverOptions, focus);\n }\n oldHoverWidget === null || oldHoverWidget === void 0 ? void 0 : oldHoverWidget.dispose();\n }\n hasContent(content) {\n if (!content) {\n return false;\n }\n if ((0,_common_htmlContent_js__WEBPACK_IMPORTED_MODULE_3__.isMarkdownString)(content)) {\n return !!content.value;\n }\n return true;\n }\n get isDisposed() {\n var _a;\n return (_a = this._hoverWidget) === null || _a === void 0 ? void 0 : _a.isDisposed;\n }\n dispose() {\n var _a, _b;\n (_a = this._hoverWidget) === null || _a === void 0 ? void 0 : _a.dispose();\n (_b = this._cancellationTokenSource) === null || _b === void 0 ? void 0 : _b.dispose(true);\n this._cancellationTokenSource = undefined;\n }\n}\nfunction setupCustomHover(hoverDelegate, htmlElement, content, options) {\n let hoverPreparation;\n let hoverWidget;\n const hideHover = (disposeWidget, disposePreparation) => {\n var _a;\n const hadHover = hoverWidget !== undefined;\n if (disposeWidget) {\n hoverWidget === null || hoverWidget === void 0 ? void 0 : hoverWidget.dispose();\n hoverWidget = undefined;\n }\n if (disposePreparation) {\n hoverPreparation === null || hoverPreparation === void 0 ? void 0 : hoverPreparation.dispose();\n hoverPreparation = undefined;\n }\n if (hadHover) {\n (_a = hoverDelegate.onDidHideHover) === null || _a === void 0 ? void 0 : _a.call(hoverDelegate);\n }\n };\n const triggerShowHover = (delay, focus, target) => {\n return new _common_async_js__WEBPACK_IMPORTED_MODULE_1__.TimeoutTimer(() => __awaiter(this, void 0, void 0, function* () {\n if (!hoverWidget || hoverWidget.isDisposed) {\n hoverWidget = new UpdatableHoverWidget(hoverDelegate, target || htmlElement, delay > 0);\n yield hoverWidget.update(content, focus, options);\n }\n }), delay);\n };\n const onMouseOver = () => {\n if (hoverPreparation) {\n return;\n }\n const toDispose = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_5__.DisposableStore();\n const onMouseLeave = (e) => hideHover(false, e.fromElement === htmlElement);\n toDispose.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_LEAVE, onMouseLeave, true));\n const onMouseDown = () => hideHover(true, true);\n toDispose.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, onMouseDown, true));\n const target = {\n targetElements: [htmlElement],\n dispose: () => { }\n };\n if (hoverDelegate.placement === undefined || hoverDelegate.placement === 'mouse') {\n // track the mouse position\n const onMouseMove = (e) => {\n target.x = e.x + 10;\n if ((e.target instanceof HTMLElement) && e.target.classList.contains('action-label')) {\n hideHover(true, true);\n }\n };\n toDispose.add(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_MOVE, onMouseMove, true));\n }\n toDispose.add(triggerShowHover(hoverDelegate.delay, false, target));\n hoverPreparation = toDispose;\n };\n const mouseOverDomEmitter = _dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(htmlElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_OVER, onMouseOver, true);\n const hover = {\n show: focus => {\n hideHover(false, true); // terminate a ongoing mouse over preparation\n triggerShowHover(0, focus); // show hover immediately\n },\n hide: () => {\n hideHover(true, true);\n },\n update: (newContent, hoverOptions) => __awaiter(this, void 0, void 0, function* () {\n content = newContent;\n yield (hoverWidget === null || hoverWidget === void 0 ? void 0 : hoverWidget.update(content, undefined, hoverOptions));\n }),\n dispose: () => {\n mouseOverDomEmitter.dispose();\n hideHover(true, true);\n }\n };\n return hover;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.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 */ renderIcon: () => (/* binding */ renderIcon),\n/* harmony export */ renderLabelWithIcons: () => (/* binding */ renderLabelWithIcons)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.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\nconst labelWithIconsRegex = new RegExp(`(\\\\\\\\)?\\\\$\\\\((${_common_themables_js__WEBPACK_IMPORTED_MODULE_1__.ThemeIcon.iconNameExpression}(?:${_common_themables_js__WEBPACK_IMPORTED_MODULE_1__.ThemeIcon.iconModifierExpression})?)\\\\)`, 'g');\nfunction renderLabelWithIcons(text) {\n const elements = new Array();\n let match;\n let textStart = 0, textStop = 0;\n while ((match = labelWithIconsRegex.exec(text)) !== null) {\n textStop = match.index || 0;\n if (textStart < textStop) {\n elements.push(text.substring(textStart, textStop));\n }\n textStart = (match.index || 0) + match[0].length;\n const [, escaped, codicon] = match;\n elements.push(escaped ? `$(${codicon})` : renderIcon({ id: codicon }));\n }\n if (textStart < text.length) {\n elements.push(text.substring(textStart));\n }\n return elements;\n}\nfunction renderIcon(icon) {\n const node = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$(`span`);\n node.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_1__.ThemeIcon.asClassNameArray(icon));\n return node;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js": +/*!********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.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 */ HistoryInputBox: () => (/* binding */ HistoryInputBox),\n/* harmony export */ InputBox: () => (/* binding */ InputBox),\n/* harmony export */ unthemedInboxStyles: () => (/* binding */ unthemedInboxStyles)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../formattedTextRenderer.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js\");\n/* harmony import */ var _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../aria/aria.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_history_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/history.js */ \"./node_modules/monaco-editor/esm/vs/base/common/history.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _inputBox_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./inputBox.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$;\nconst unthemedInboxStyles = {\n inputBackground: '#3C3C3C',\n inputForeground: '#CCCCCC',\n inputValidationInfoBorder: '#55AAFF',\n inputValidationInfoBackground: '#063B49',\n inputValidationWarningBorder: '#B89500',\n inputValidationWarningBackground: '#352A05',\n inputValidationErrorBorder: '#BE1100',\n inputValidationErrorBackground: '#5A1D1D',\n inputBorder: undefined,\n inputValidationErrorForeground: undefined,\n inputValidationInfoForeground: undefined,\n inputValidationWarningForeground: undefined\n};\nclass InputBox extends _widget_js__WEBPACK_IMPORTED_MODULE_6__.Widget {\n constructor(container, contextViewProvider, options) {\n var _a;\n super();\n this.state = 'idle';\n this.maxHeight = Number.POSITIVE_INFINITY;\n this._onDidChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Emitter());\n this.onDidChange = this._onDidChange.event;\n this._onDidHeightChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Emitter());\n this.onDidHeightChange = this._onDidHeightChange.event;\n this.contextViewProvider = contextViewProvider;\n this.options = options;\n this.message = null;\n this.placeholder = this.options.placeholder || '';\n this.tooltip = (_a = this.options.tooltip) !== null && _a !== void 0 ? _a : (this.placeholder || '');\n this.ariaLabel = this.options.ariaLabel || '';\n if (this.options.validationOptions) {\n this.validation = this.options.validationOptions.validation;\n }\n this.element = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.monaco-inputbox.idle'));\n const tagName = this.options.flexibleHeight ? 'textarea' : 'input';\n const wrapper = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.element, $('.ibwrapper'));\n this.input = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(wrapper, $(tagName + '.input.empty'));\n this.input.setAttribute('autocorrect', 'off');\n this.input.setAttribute('autocapitalize', 'off');\n this.input.setAttribute('spellcheck', 'false');\n this.onfocus(this.input, () => this.element.classList.add('synthetic-focus'));\n this.onblur(this.input, () => this.element.classList.remove('synthetic-focus'));\n if (this.options.flexibleHeight) {\n this.maxHeight = typeof this.options.flexibleMaxHeight === 'number' ? this.options.flexibleMaxHeight : Number.POSITIVE_INFINITY;\n this.mirror = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(wrapper, $('div.mirror'));\n this.mirror.innerText = '\\u00a0';\n this.scrollableElement = new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_5__.ScrollableElement(this.element, { vertical: 1 /* ScrollbarVisibility.Auto */ });\n if (this.options.flexibleWidth) {\n this.input.setAttribute('wrap', 'off');\n this.mirror.style.whiteSpace = 'pre';\n this.mirror.style.wordWrap = 'initial';\n }\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, this.scrollableElement.getDomNode());\n this._register(this.scrollableElement);\n // from ScrollableElement to DOM\n this._register(this.scrollableElement.onScroll(e => this.input.scrollTop = e.scrollTop));\n const onSelectionChange = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(document, 'selectionchange'));\n const onAnchoredSelectionChange = _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Event.filter(onSelectionChange.event, () => {\n const selection = document.getSelection();\n return (selection === null || selection === void 0 ? void 0 : selection.anchorNode) === wrapper;\n });\n // from DOM to ScrollableElement\n this._register(onAnchoredSelectionChange(this.updateScrollDimensions, this));\n this._register(this.onDidHeightChange(this.updateScrollDimensions, this));\n }\n else {\n this.input.type = this.options.type || 'text';\n this.input.setAttribute('wrap', 'off');\n }\n if (this.ariaLabel) {\n this.input.setAttribute('aria-label', this.ariaLabel);\n }\n if (this.placeholder && !this.options.showPlaceholderOnFocus) {\n this.setPlaceHolder(this.placeholder);\n }\n if (this.tooltip) {\n this.setTooltip(this.tooltip);\n }\n this.oninput(this.input, () => this.onValueChange());\n this.onblur(this.input, () => this.onBlur());\n this.onfocus(this.input, () => this.onFocus());\n this._register(this.ignoreGesture(this.input));\n setTimeout(() => this.updateMirror(), 0);\n // Support actions\n if (this.options.actions) {\n this.actionbar = this._register(new _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_3__.ActionBar(this.element));\n this.actionbar.push(this.options.actions, { icon: true, label: false });\n }\n this.applyStyles();\n }\n onBlur() {\n this._hideMessage();\n if (this.options.showPlaceholderOnFocus) {\n this.input.setAttribute('placeholder', '');\n }\n }\n onFocus() {\n this._showMessage();\n if (this.options.showPlaceholderOnFocus) {\n this.input.setAttribute('placeholder', this.placeholder || '');\n }\n }\n setPlaceHolder(placeHolder) {\n this.placeholder = placeHolder;\n this.input.setAttribute('placeholder', placeHolder);\n }\n setTooltip(tooltip) {\n this.tooltip = tooltip;\n this.input.title = tooltip;\n }\n get inputElement() {\n return this.input;\n }\n get value() {\n return this.input.value;\n }\n set value(newValue) {\n if (this.input.value !== newValue) {\n this.input.value = newValue;\n this.onValueChange();\n }\n }\n get height() {\n return typeof this.cachedHeight === 'number' ? this.cachedHeight : _dom_js__WEBPACK_IMPORTED_MODULE_0__.getTotalHeight(this.element);\n }\n focus() {\n this.input.focus();\n }\n blur() {\n this.input.blur();\n }\n hasFocus() {\n return document.activeElement === this.input;\n }\n select(range = null) {\n this.input.select();\n if (range) {\n this.input.setSelectionRange(range.start, range.end);\n if (range.end === this.input.value.length) {\n this.input.scrollLeft = this.input.scrollWidth;\n }\n }\n }\n isSelectionAtEnd() {\n return this.input.selectionEnd === this.input.value.length && this.input.selectionStart === this.input.selectionEnd;\n }\n enable() {\n this.input.removeAttribute('disabled');\n }\n disable() {\n this.blur();\n this.input.disabled = true;\n this._hideMessage();\n }\n set paddingRight(paddingRight) {\n // Set width to avoid hint text overlapping buttons\n this.input.style.width = `calc(100% - ${paddingRight}px)`;\n if (this.mirror) {\n this.mirror.style.paddingRight = paddingRight + 'px';\n }\n }\n updateScrollDimensions() {\n if (typeof this.cachedContentHeight !== 'number' || typeof this.cachedHeight !== 'number' || !this.scrollableElement) {\n return;\n }\n const scrollHeight = this.cachedContentHeight;\n const height = this.cachedHeight;\n const scrollTop = this.input.scrollTop;\n this.scrollableElement.setScrollDimensions({ scrollHeight, height });\n this.scrollableElement.setScrollPosition({ scrollTop });\n }\n showMessage(message, force) {\n if (this.state === 'open' && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_9__.equals)(this.message, message)) {\n // Already showing\n return;\n }\n this.message = message;\n this.element.classList.remove('idle');\n this.element.classList.remove('info');\n this.element.classList.remove('warning');\n this.element.classList.remove('error');\n this.element.classList.add(this.classForType(message.type));\n const styles = this.stylesForType(this.message.type);\n this.element.style.border = `1px solid ${_dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault(styles.border, 'transparent')}`;\n if (this.message.content && (this.hasFocus() || force)) {\n this._showMessage();\n }\n }\n hideMessage() {\n this.message = null;\n this.element.classList.remove('info');\n this.element.classList.remove('warning');\n this.element.classList.remove('error');\n this.element.classList.add('idle');\n this._hideMessage();\n this.applyStyles();\n }\n validate() {\n let errorMsg = null;\n if (this.validation) {\n errorMsg = this.validation(this.value);\n if (errorMsg) {\n this.inputElement.setAttribute('aria-invalid', 'true');\n this.showMessage(errorMsg);\n }\n else if (this.inputElement.hasAttribute('aria-invalid')) {\n this.inputElement.removeAttribute('aria-invalid');\n this.hideMessage();\n }\n }\n return errorMsg === null || errorMsg === void 0 ? void 0 : errorMsg.type;\n }\n stylesForType(type) {\n const styles = this.options.inputBoxStyles;\n switch (type) {\n case 1 /* MessageType.INFO */: return { border: styles.inputValidationInfoBorder, background: styles.inputValidationInfoBackground, foreground: styles.inputValidationInfoForeground };\n case 2 /* MessageType.WARNING */: return { border: styles.inputValidationWarningBorder, background: styles.inputValidationWarningBackground, foreground: styles.inputValidationWarningForeground };\n default: return { border: styles.inputValidationErrorBorder, background: styles.inputValidationErrorBackground, foreground: styles.inputValidationErrorForeground };\n }\n }\n classForType(type) {\n switch (type) {\n case 1 /* MessageType.INFO */: return 'info';\n case 2 /* MessageType.WARNING */: return 'warning';\n default: return 'error';\n }\n }\n _showMessage() {\n if (!this.contextViewProvider || !this.message) {\n return;\n }\n let div;\n const layout = () => div.style.width = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getTotalWidth(this.element) + 'px';\n this.contextViewProvider.showContextView({\n getAnchor: () => this.element,\n anchorAlignment: 1 /* AnchorAlignment.RIGHT */,\n render: (container) => {\n var _a, _b;\n if (!this.message) {\n return null;\n }\n div = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.monaco-inputbox-container'));\n layout();\n const renderOptions = {\n inline: true,\n className: 'monaco-inputbox-message'\n };\n const spanElement = (this.message.formatContent\n ? (0,_formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_2__.renderFormattedText)(this.message.content, renderOptions)\n : (0,_formattedTextRenderer_js__WEBPACK_IMPORTED_MODULE_2__.renderText)(this.message.content, renderOptions));\n spanElement.classList.add(this.classForType(this.message.type));\n const styles = this.stylesForType(this.message.type);\n spanElement.style.backgroundColor = (_a = styles.background) !== null && _a !== void 0 ? _a : '';\n spanElement.style.color = (_b = styles.foreground) !== null && _b !== void 0 ? _b : '';\n spanElement.style.border = styles.border ? `1px solid ${styles.border}` : '';\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(div, spanElement);\n return null;\n },\n onHide: () => {\n this.state = 'closed';\n },\n layout: layout\n });\n // ARIA Support\n let alertText;\n if (this.message.type === 3 /* MessageType.ERROR */) {\n alertText = _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize('alertErrorMessage', \"Error: {0}\", this.message.content);\n }\n else if (this.message.type === 2 /* MessageType.WARNING */) {\n alertText = _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize('alertWarningMessage', \"Warning: {0}\", this.message.content);\n }\n else {\n alertText = _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize('alertInfoMessage', \"Info: {0}\", this.message.content);\n }\n _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.alert(alertText);\n this.state = 'open';\n }\n _hideMessage() {\n if (!this.contextViewProvider) {\n return;\n }\n if (this.state === 'open') {\n this.contextViewProvider.hideContextView();\n }\n this.state = 'idle';\n }\n onValueChange() {\n this._onDidChange.fire(this.value);\n this.validate();\n this.updateMirror();\n this.input.classList.toggle('empty', !this.value);\n if (this.state === 'open' && this.contextViewProvider) {\n this.contextViewProvider.layout();\n }\n }\n updateMirror() {\n if (!this.mirror) {\n return;\n }\n const value = this.value;\n const lastCharCode = value.charCodeAt(value.length - 1);\n const suffix = lastCharCode === 10 ? ' ' : '';\n const mirrorTextContent = (value + suffix)\n .replace(/\\u000c/g, ''); // Don't measure with the form feed character, which messes up sizing\n if (mirrorTextContent) {\n this.mirror.textContent = value + suffix;\n }\n else {\n this.mirror.innerText = '\\u00a0';\n }\n this.layout();\n }\n applyStyles() {\n var _a, _b, _c;\n const styles = this.options.inputBoxStyles;\n const background = (_a = styles.inputBackground) !== null && _a !== void 0 ? _a : '';\n const foreground = (_b = styles.inputForeground) !== null && _b !== void 0 ? _b : '';\n const border = (_c = styles.inputBorder) !== null && _c !== void 0 ? _c : '';\n this.element.style.backgroundColor = background;\n this.element.style.color = foreground;\n this.input.style.backgroundColor = 'inherit';\n this.input.style.color = foreground;\n // there's always a border, even if the color is not set.\n this.element.style.border = `1px solid ${_dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault(border, 'transparent')}`;\n }\n layout() {\n if (!this.mirror) {\n return;\n }\n const previousHeight = this.cachedContentHeight;\n this.cachedContentHeight = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getTotalHeight(this.mirror);\n if (previousHeight !== this.cachedContentHeight) {\n this.cachedHeight = Math.min(this.cachedContentHeight, this.maxHeight);\n this.input.style.height = this.cachedHeight + 'px';\n this._onDidHeightChange.fire(this.cachedContentHeight);\n }\n }\n insertAtCursor(text) {\n const inputElement = this.inputElement;\n const start = inputElement.selectionStart;\n const end = inputElement.selectionEnd;\n const content = inputElement.value;\n if (start !== null && end !== null) {\n this.value = content.substr(0, start) + text + content.substr(end);\n inputElement.setSelectionRange(start + 1, start + 1);\n this.layout();\n }\n }\n dispose() {\n var _a;\n this._hideMessage();\n this.message = null;\n (_a = this.actionbar) === null || _a === void 0 ? void 0 : _a.dispose();\n super.dispose();\n }\n}\nclass HistoryInputBox extends InputBox {\n constructor(container, contextViewProvider, options) {\n const NLS_PLACEHOLDER_HISTORY_HINT = _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize({ key: 'history.inputbox.hint', comment: ['Text will be prefixed with \\u21C5 plus a single space, then used as a hint where input field keeps history'] }, \"for history\");\n const NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX = ` or \\u21C5 ${NLS_PLACEHOLDER_HISTORY_HINT}`;\n const NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS = ` (\\u21C5 ${NLS_PLACEHOLDER_HISTORY_HINT})`;\n super(container, contextViewProvider, options);\n this._onDidFocus = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Emitter());\n this.onDidFocus = this._onDidFocus.event;\n this._onDidBlur = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_7__.Emitter());\n this.onDidBlur = this._onDidBlur.event;\n this.history = new _common_history_js__WEBPACK_IMPORTED_MODULE_8__.HistoryNavigator(options.history, 100);\n // Function to append the history suffix to the placeholder if necessary\n const addSuffix = () => {\n if (options.showHistoryHint && options.showHistoryHint() && !this.placeholder.endsWith(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX) && !this.placeholder.endsWith(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS) && this.history.getHistory().length) {\n const suffix = this.placeholder.endsWith(')') ? NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX : NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS;\n const suffixedPlaceholder = this.placeholder + suffix;\n if (options.showPlaceholderOnFocus && document.activeElement !== this.input) {\n this.placeholder = suffixedPlaceholder;\n }\n else {\n this.setPlaceHolder(suffixedPlaceholder);\n }\n }\n };\n // Spot the change to the textarea class attribute which occurs when it changes between non-empty and empty,\n // and add the history suffix to the placeholder if not yet present\n this.observer = new MutationObserver((mutationList, observer) => {\n mutationList.forEach((mutation) => {\n if (!mutation.target.textContent) {\n addSuffix();\n }\n });\n });\n this.observer.observe(this.input, { attributeFilter: ['class'] });\n this.onfocus(this.input, () => addSuffix());\n this.onblur(this.input, () => {\n const resetPlaceholder = (historyHint) => {\n if (!this.placeholder.endsWith(historyHint)) {\n return false;\n }\n else {\n const revertedPlaceholder = this.placeholder.slice(0, this.placeholder.length - historyHint.length);\n if (options.showPlaceholderOnFocus) {\n this.placeholder = revertedPlaceholder;\n }\n else {\n this.setPlaceHolder(revertedPlaceholder);\n }\n return true;\n }\n };\n if (!resetPlaceholder(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS)) {\n resetPlaceholder(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX);\n }\n });\n }\n dispose() {\n super.dispose();\n if (this.observer) {\n this.observer.disconnect();\n this.observer = undefined;\n }\n }\n addToHistory(always) {\n if (this.value && (always || this.value !== this.getCurrentValue())) {\n this.history.add(this.value);\n }\n }\n isAtLastInHistory() {\n return this.history.isLast();\n }\n isNowhereInHistory() {\n return this.history.isNowhere();\n }\n showNextValue() {\n if (!this.history.has(this.value)) {\n this.addToHistory();\n }\n let next = this.getNextValue();\n if (next) {\n next = next === this.value ? this.getNextValue() : next;\n }\n this.value = next !== null && next !== void 0 ? next : '';\n _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.status(this.value ? this.value : _nls_js__WEBPACK_IMPORTED_MODULE_11__.localize('clearedInput', \"Cleared Input\"));\n }\n showPreviousValue() {\n if (!this.history.has(this.value)) {\n this.addToHistory();\n }\n let previous = this.getPreviousValue();\n if (previous) {\n previous = previous === this.value ? this.getPreviousValue() : previous;\n }\n if (previous) {\n this.value = previous;\n _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.status(this.value);\n }\n }\n onBlur() {\n super.onBlur();\n this._onDidBlur.fire();\n }\n onFocus() {\n super.onFocus();\n this._onDidFocus.fire();\n }\n getCurrentValue() {\n let currentValue = this.history.current();\n if (!currentValue) {\n currentValue = this.history.last();\n this.history.next();\n }\n return currentValue;\n }\n getPreviousValue() {\n return this.history.previous() || this.history.first();\n }\n getNextValue() {\n return this.history.next();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js": +/*!**********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.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 */ KeybindingLabel: () => (/* binding */ KeybindingLabel),\n/* harmony export */ unthemedKeybindingLabelOptions: () => (/* binding */ unthemedKeybindingLabelOptions)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_keybindingLabels_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/keybindingLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js\");\n/* harmony import */ var _common_objects_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _keybindingLabel_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./keybindingLabel.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$;\nconst unthemedKeybindingLabelOptions = {\n keybindingLabelBackground: undefined,\n keybindingLabelForeground: undefined,\n keybindingLabelBorder: undefined,\n keybindingLabelBottomBorder: undefined,\n keybindingLabelShadow: undefined\n};\nclass KeybindingLabel {\n constructor(container, os, options) {\n this.os = os;\n this.keyElements = new Set();\n this.options = options || Object.create(null);\n const labelForeground = this.options.keybindingLabelForeground;\n this.domNode = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.monaco-keybinding'));\n if (labelForeground) {\n this.domNode.style.color = labelForeground;\n }\n this.didEverRender = false;\n container.appendChild(this.domNode);\n }\n get element() {\n return this.domNode;\n }\n set(keybinding, matches) {\n if (this.didEverRender && this.keybinding === keybinding && KeybindingLabel.areSame(this.matches, matches)) {\n return;\n }\n this.keybinding = keybinding;\n this.matches = matches;\n this.render();\n }\n render() {\n var _a;\n this.clear();\n if (this.keybinding) {\n const chords = this.keybinding.getChords();\n if (chords[0]) {\n this.renderChord(this.domNode, chords[0], this.matches ? this.matches.firstPart : null);\n }\n for (let i = 1; i < chords.length; i++) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.domNode, $('span.monaco-keybinding-key-chord-separator', undefined, ' '));\n this.renderChord(this.domNode, chords[i], this.matches ? this.matches.chordPart : null);\n }\n const title = ((_a = this.options.disableTitle) !== null && _a !== void 0 ? _a : false) ? undefined : this.keybinding.getAriaLabel() || undefined;\n if (title !== undefined) {\n this.domNode.title = title;\n }\n else {\n this.domNode.removeAttribute('title');\n }\n }\n else if (this.options && this.options.renderUnboundKeybindings) {\n this.renderUnbound(this.domNode);\n }\n this.didEverRender = true;\n }\n clear() {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode(this.domNode);\n this.keyElements.clear();\n }\n renderChord(parent, chord, match) {\n const modifierLabels = _common_keybindingLabels_js__WEBPACK_IMPORTED_MODULE_1__.UILabelProvider.modifierLabels[this.os];\n if (chord.ctrlKey) {\n this.renderKey(parent, modifierLabels.ctrlKey, Boolean(match === null || match === void 0 ? void 0 : match.ctrlKey), modifierLabels.separator);\n }\n if (chord.shiftKey) {\n this.renderKey(parent, modifierLabels.shiftKey, Boolean(match === null || match === void 0 ? void 0 : match.shiftKey), modifierLabels.separator);\n }\n if (chord.altKey) {\n this.renderKey(parent, modifierLabels.altKey, Boolean(match === null || match === void 0 ? void 0 : match.altKey), modifierLabels.separator);\n }\n if (chord.metaKey) {\n this.renderKey(parent, modifierLabels.metaKey, Boolean(match === null || match === void 0 ? void 0 : match.metaKey), modifierLabels.separator);\n }\n const keyLabel = chord.keyLabel;\n if (keyLabel) {\n this.renderKey(parent, keyLabel, Boolean(match === null || match === void 0 ? void 0 : match.keyCode), '');\n }\n }\n renderKey(parent, label, highlight, separator) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(parent, this.createKeyElement(label, highlight ? '.highlight' : ''));\n if (separator) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(parent, $('span.monaco-keybinding-key-separator', undefined, separator));\n }\n }\n renderUnbound(parent) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(parent, this.createKeyElement((0,_nls_js__WEBPACK_IMPORTED_MODULE_4__.localize)('unbound', \"Unbound\")));\n }\n createKeyElement(label, extraClass = '') {\n const keyElement = $('span.monaco-keybinding-key' + extraClass, undefined, label);\n this.keyElements.add(keyElement);\n if (this.options.keybindingLabelBackground) {\n keyElement.style.backgroundColor = this.options.keybindingLabelBackground;\n }\n if (this.options.keybindingLabelBorder) {\n keyElement.style.borderColor = this.options.keybindingLabelBorder;\n }\n if (this.options.keybindingLabelBottomBorder) {\n keyElement.style.borderBottomColor = this.options.keybindingLabelBottomBorder;\n }\n if (this.options.keybindingLabelShadow) {\n keyElement.style.boxShadow = `inset 0 -1px 0 ${this.options.keybindingLabelShadow}`;\n }\n return keyElement;\n }\n static areSame(a, b) {\n if (a === b || (!a && !b)) {\n return true;\n }\n return !!a && !!b && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_2__.equals)(a.firstPart, b.firstPart) && (0,_common_objects_js__WEBPACK_IMPORTED_MODULE_2__.equals)(a.chordPart, b.chordPart);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js": +/*!************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.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 */ ListError: () => (/* binding */ ListError)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nclass ListError extends Error {\n constructor(user, message) {\n super(`ListError [${user}] ${message}`);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.js": +/*!******************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.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 */ PagedList: () => (/* binding */ PagedList)\n/* harmony export */ });\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_cancellation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/cancellation.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cancellation.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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/* harmony import */ var _list_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./list.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css\");\n/* harmony import */ var _listWidget_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.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\nclass PagedRenderer {\n get templateId() { return this.renderer.templateId; }\n constructor(renderer, modelProvider) {\n this.renderer = renderer;\n this.modelProvider = modelProvider;\n }\n renderTemplate(container) {\n const data = this.renderer.renderTemplate(container);\n return { data, disposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable.None };\n }\n renderElement(index, _, data, height) {\n var _a;\n (_a = data.disposable) === null || _a === void 0 ? void 0 : _a.dispose();\n if (!data.data) {\n return;\n }\n const model = this.modelProvider();\n if (model.isResolved(index)) {\n return this.renderer.renderElement(model.get(index), index, data.data, height);\n }\n const cts = new _common_cancellation_js__WEBPACK_IMPORTED_MODULE_1__.CancellationTokenSource();\n const promise = model.resolve(index, cts.token);\n data.disposable = { dispose: () => cts.cancel() };\n this.renderer.renderPlaceholder(index, data.data);\n promise.then(entry => this.renderer.renderElement(entry, index, data.data, height));\n }\n disposeTemplate(data) {\n if (data.disposable) {\n data.disposable.dispose();\n data.disposable = undefined;\n }\n if (data.data) {\n this.renderer.disposeTemplate(data.data);\n data.data = undefined;\n }\n }\n}\nclass PagedAccessibilityProvider {\n constructor(modelProvider, accessibilityProvider) {\n this.modelProvider = modelProvider;\n this.accessibilityProvider = accessibilityProvider;\n }\n getWidgetAriaLabel() {\n return this.accessibilityProvider.getWidgetAriaLabel();\n }\n getAriaLabel(index) {\n const model = this.modelProvider();\n if (!model.isResolved(index)) {\n return null;\n }\n return this.accessibilityProvider.getAriaLabel(model.get(index));\n }\n}\nfunction fromPagedListOptions(modelProvider, options) {\n return Object.assign(Object.assign({}, options), { accessibilityProvider: options.accessibilityProvider && new PagedAccessibilityProvider(modelProvider, options.accessibilityProvider) });\n}\nclass PagedList {\n constructor(user, container, virtualDelegate, renderers, options = {}) {\n const modelProvider = () => this.model;\n const pagedRenderers = renderers.map(r => new PagedRenderer(r, modelProvider));\n this.list = new _listWidget_js__WEBPACK_IMPORTED_MODULE_5__.List(user, container, virtualDelegate, pagedRenderers, fromPagedListOptions(modelProvider, options));\n }\n updateOptions(options) {\n this.list.updateOptions(options);\n }\n getHTMLElement() {\n return this.list.getHTMLElement();\n }\n get onDidFocus() {\n return this.list.onDidFocus;\n }\n get onDidDispose() {\n return this.list.onDidDispose;\n }\n get onMouseDblClick() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(this.list.onMouseDblClick, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n }\n get onPointer() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(this.list.onPointer, ({ element, index, browserEvent }) => ({ element: element === undefined ? undefined : this._model.get(element), index, browserEvent }));\n }\n get onDidChangeSelection() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(this.list.onDidChangeSelection, ({ elements, indexes, browserEvent }) => ({ elements: elements.map(e => this._model.get(e)), indexes, browserEvent }));\n }\n get model() {\n return this._model;\n }\n set model(model) {\n this._model = model;\n this.list.splice(0, this.list.length, (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.range)(model.length));\n }\n getFocus() {\n return this.list.getFocus();\n }\n getSelection() {\n return this.list.getSelection();\n }\n getSelectedElements() {\n return this.getSelection().map(i => this.model.get(i));\n }\n style(styles) {\n this.list.style(styles);\n }\n dispose() {\n this.list.dispose();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js": +/*!****************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.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 */ ElementsDragAndDropData: () => (/* binding */ ElementsDragAndDropData),\n/* harmony export */ ExternalElementsDragAndDropData: () => (/* binding */ ExternalElementsDragAndDropData),\n/* harmony export */ ListView: () => (/* binding */ ListView),\n/* harmony export */ NativeDragAndDropData: () => (/* binding */ NativeDragAndDropData)\n/* harmony export */ });\n/* harmony import */ var _dnd_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dnd.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dnd.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.js\");\n/* harmony import */ var _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/scrollable.js */ \"./node_modules/monaco-editor/esm/vs/base/common/scrollable.js\");\n/* harmony import */ var _rangeMap_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./rangeMap.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js\");\n/* harmony import */ var _rowCache_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./rowCache.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js\");\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../common/errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst StaticDND = {\n CurrentDragAndDropData: undefined\n};\nconst DefaultOptions = {\n useShadows: true,\n verticalScrollMode: 1 /* ScrollbarVisibility.Auto */,\n setRowLineHeight: true,\n setRowHeight: true,\n supportDynamicHeights: false,\n dnd: {\n getDragElements(e) { return [e]; },\n getDragURI() { return null; },\n onDragStart() { },\n onDragOver() { return false; },\n drop() { }\n },\n horizontalScrolling: false,\n transformOptimization: true,\n alwaysConsumeMouseWheel: true,\n};\nclass ElementsDragAndDropData {\n constructor(elements) {\n this.elements = elements;\n }\n update() { }\n getData() {\n return this.elements;\n }\n}\nclass ExternalElementsDragAndDropData {\n constructor(elements) {\n this.elements = elements;\n }\n update() { }\n getData() {\n return this.elements;\n }\n}\nclass NativeDragAndDropData {\n constructor() {\n this.types = [];\n this.files = [];\n }\n update(dataTransfer) {\n if (dataTransfer.types) {\n this.types.splice(0, this.types.length, ...dataTransfer.types);\n }\n if (dataTransfer.files) {\n this.files.splice(0, this.files.length);\n for (let i = 0; i < dataTransfer.files.length; i++) {\n const file = dataTransfer.files.item(i);\n if (file && (file.size || file.type)) {\n this.files.push(file);\n }\n }\n }\n }\n getData() {\n return {\n types: this.types,\n files: this.files\n };\n }\n}\nfunction equalsDragFeedback(f1, f2) {\n if (Array.isArray(f1) && Array.isArray(f2)) {\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.equals)(f1, f2);\n }\n return f1 === f2;\n}\nclass ListViewAccessibilityProvider {\n constructor(accessibilityProvider) {\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.getSetSize) {\n this.getSetSize = accessibilityProvider.getSetSize.bind(accessibilityProvider);\n }\n else {\n this.getSetSize = (e, i, l) => l;\n }\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.getPosInSet) {\n this.getPosInSet = accessibilityProvider.getPosInSet.bind(accessibilityProvider);\n }\n else {\n this.getPosInSet = (e, i) => i + 1;\n }\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.getRole) {\n this.getRole = accessibilityProvider.getRole.bind(accessibilityProvider);\n }\n else {\n this.getRole = _ => 'listitem';\n }\n if (accessibilityProvider === null || accessibilityProvider === void 0 ? void 0 : accessibilityProvider.isChecked) {\n this.isChecked = accessibilityProvider.isChecked.bind(accessibilityProvider);\n }\n else {\n this.isChecked = _ => undefined;\n }\n }\n}\n/**\n * The {@link ListView} is a virtual scrolling engine.\n *\n * Given that it only renders elements within its viewport, it can hold large\n * collections of elements and stay very performant. The performance bottleneck\n * usually lies within the user's rendering code for each element.\n *\n * @remarks It is a low-level widget, not meant to be used directly. Refer to the\n * List widget instead.\n */\nclass ListView {\n get contentHeight() { return this.rangeMap.size; }\n get horizontalScrolling() { return this._horizontalScrolling; }\n set horizontalScrolling(value) {\n if (value === this._horizontalScrolling) {\n return;\n }\n if (value && this.supportDynamicHeights) {\n throw new Error('Horizontal scrolling and dynamic heights not supported simultaneously');\n }\n this._horizontalScrolling = value;\n this.domNode.classList.toggle('horizontal-scrolling', this._horizontalScrolling);\n if (this._horizontalScrolling) {\n for (const item of this.items) {\n this.measureItemWidth(item);\n }\n this.updateScrollWidth();\n this.scrollableElement.setScrollDimensions({ width: (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getContentWidth)(this.domNode) });\n this.rowsContainer.style.width = `${Math.max(this.scrollWidth || 0, this.renderWidth)}px`;\n }\n else {\n this.scrollableElementWidthDelayer.cancel();\n this.scrollableElement.setScrollDimensions({ width: this.renderWidth, scrollWidth: this.renderWidth });\n this.rowsContainer.style.width = '';\n }\n }\n constructor(container, virtualDelegate, renderers, options = DefaultOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n this.virtualDelegate = virtualDelegate;\n this.domId = `list_id_${++ListView.InstanceCount}`;\n this.renderers = new Map();\n this.renderWidth = 0;\n this._scrollHeight = 0;\n this.scrollableElementUpdateDisposable = null;\n this.scrollableElementWidthDelayer = new _common_async_js__WEBPACK_IMPORTED_MODULE_6__.Delayer(50);\n this.splicing = false;\n this.dragOverAnimationStopDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None;\n this.dragOverMouseY = 0;\n this.canDrop = false;\n this.currentDragFeedbackDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None;\n this.onDragLeaveTimeout = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.DisposableStore();\n this._onDidChangeContentHeight = new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter();\n this._onDidChangeContentWidth = new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter();\n this._horizontalScrolling = false;\n if (options.horizontalScrolling && options.supportDynamicHeights) {\n throw new Error('Horizontal scrolling and dynamic heights not supported simultaneously');\n }\n this.items = [];\n this.itemId = 0;\n this.rangeMap = new _rangeMap_js__WEBPACK_IMPORTED_MODULE_12__.RangeMap();\n for (const renderer of renderers) {\n this.renderers.set(renderer.templateId, renderer);\n }\n this.cache = this.disposables.add(new _rowCache_js__WEBPACK_IMPORTED_MODULE_13__.RowCache(this.renderers));\n this.lastRenderTop = 0;\n this.lastRenderHeight = 0;\n this.domNode = document.createElement('div');\n this.domNode.className = 'monaco-list';\n this.domNode.classList.add(this.domId);\n this.domNode.tabIndex = 0;\n this.domNode.classList.toggle('mouse-support', typeof options.mouseSupport === 'boolean' ? options.mouseSupport : true);\n this._horizontalScrolling = (_a = options.horizontalScrolling) !== null && _a !== void 0 ? _a : DefaultOptions.horizontalScrolling;\n this.domNode.classList.toggle('horizontal-scrolling', this._horizontalScrolling);\n this.additionalScrollHeight = typeof options.additionalScrollHeight === 'undefined' ? 0 : options.additionalScrollHeight;\n this.accessibilityProvider = new ListViewAccessibilityProvider(options.accessibilityProvider);\n this.rowsContainer = document.createElement('div');\n this.rowsContainer.className = 'monaco-list-rows';\n const transformOptimization = (_b = options.transformOptimization) !== null && _b !== void 0 ? _b : DefaultOptions.transformOptimization;\n if (transformOptimization) {\n this.rowsContainer.style.transform = 'translate3d(0px, 0px, 0px)';\n this.rowsContainer.style.overflow = 'hidden';\n this.rowsContainer.style.contain = 'strict';\n }\n this.disposables.add(_touch_js__WEBPACK_IMPORTED_MODULE_3__.Gesture.addTarget(this.rowsContainer));\n this.scrollable = new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__.Scrollable({\n forceIntegerValues: true,\n smoothScrollDuration: ((_c = options.smoothScrolling) !== null && _c !== void 0 ? _c : false) ? 125 : 0,\n scheduleAtNextAnimationFrame: cb => (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.scheduleAtNextAnimationFrame)(cb)\n });\n this.scrollableElement = this.disposables.add(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_4__.SmoothScrollableElement(this.rowsContainer, {\n alwaysConsumeMouseWheel: (_d = options.alwaysConsumeMouseWheel) !== null && _d !== void 0 ? _d : DefaultOptions.alwaysConsumeMouseWheel,\n horizontal: 1 /* ScrollbarVisibility.Auto */,\n vertical: (_e = options.verticalScrollMode) !== null && _e !== void 0 ? _e : DefaultOptions.verticalScrollMode,\n useShadows: (_f = options.useShadows) !== null && _f !== void 0 ? _f : DefaultOptions.useShadows,\n mouseWheelScrollSensitivity: options.mouseWheelScrollSensitivity,\n fastScrollSensitivity: options.fastScrollSensitivity,\n scrollByPage: options.scrollByPage\n }, this.scrollable));\n this.domNode.appendChild(this.scrollableElement.getDomNode());\n container.appendChild(this.domNode);\n this.scrollableElement.onScroll(this.onScroll, this, this.disposables);\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.rowsContainer, _touch_js__WEBPACK_IMPORTED_MODULE_3__.EventType.Change, e => this.onTouchChange(e)));\n // Prevent the monaco-scrollable-element from scrolling\n // https://github.com/microsoft/vscode/issues/44181\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.scrollableElement.getDomNode(), 'scroll', e => e.target.scrollTop = 0));\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.domNode, 'dragover', e => this.onDragOver(this.toDragEvent(e))));\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.domNode, 'drop', e => this.onDrop(this.toDragEvent(e))));\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.domNode, 'dragleave', e => this.onDragLeave(this.toDragEvent(e))));\n this.disposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(this.domNode, 'dragend', e => this.onDragEnd(e)));\n this.setRowLineHeight = (_g = options.setRowLineHeight) !== null && _g !== void 0 ? _g : DefaultOptions.setRowLineHeight;\n this.setRowHeight = (_h = options.setRowHeight) !== null && _h !== void 0 ? _h : DefaultOptions.setRowHeight;\n this.supportDynamicHeights = (_j = options.supportDynamicHeights) !== null && _j !== void 0 ? _j : DefaultOptions.supportDynamicHeights;\n this.dnd = (_k = options.dnd) !== null && _k !== void 0 ? _k : DefaultOptions.dnd;\n this.layout((_l = options.initialSize) === null || _l === void 0 ? void 0 : _l.height, (_m = options.initialSize) === null || _m === void 0 ? void 0 : _m.width);\n }\n updateOptions(options) {\n if (options.additionalScrollHeight !== undefined) {\n this.additionalScrollHeight = options.additionalScrollHeight;\n this.scrollableElement.setScrollDimensions({ scrollHeight: this.scrollHeight });\n }\n if (options.smoothScrolling !== undefined) {\n this.scrollable.setSmoothScrollDuration(options.smoothScrolling ? 125 : 0);\n }\n if (options.horizontalScrolling !== undefined) {\n this.horizontalScrolling = options.horizontalScrolling;\n }\n let scrollableOptions;\n if (options.scrollByPage !== undefined) {\n scrollableOptions = Object.assign(Object.assign({}, (scrollableOptions !== null && scrollableOptions !== void 0 ? scrollableOptions : {})), { scrollByPage: options.scrollByPage });\n }\n if (options.mouseWheelScrollSensitivity !== undefined) {\n scrollableOptions = Object.assign(Object.assign({}, (scrollableOptions !== null && scrollableOptions !== void 0 ? scrollableOptions : {})), { mouseWheelScrollSensitivity: options.mouseWheelScrollSensitivity });\n }\n if (options.fastScrollSensitivity !== undefined) {\n scrollableOptions = Object.assign(Object.assign({}, (scrollableOptions !== null && scrollableOptions !== void 0 ? scrollableOptions : {})), { fastScrollSensitivity: options.fastScrollSensitivity });\n }\n if (scrollableOptions) {\n this.scrollableElement.updateOptions(scrollableOptions);\n }\n }\n splice(start, deleteCount, elements = []) {\n if (this.splicing) {\n throw new Error('Can\\'t run recursive splices.');\n }\n this.splicing = true;\n try {\n return this._splice(start, deleteCount, elements);\n }\n finally {\n this.splicing = false;\n this._onDidChangeContentHeight.fire(this.contentHeight);\n }\n }\n _splice(start, deleteCount, elements = []) {\n const previousRenderRange = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\n const deleteRange = { start, end: start + deleteCount };\n const removeRange = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(previousRenderRange, deleteRange);\n // try to reuse rows, avoid removing them from DOM\n const rowsToDispose = new Map();\n for (let i = removeRange.end - 1; i >= removeRange.start; i--) {\n const item = this.items[i];\n item.dragStartDisposable.dispose();\n item.checkedDisposable.dispose();\n if (item.row) {\n let rows = rowsToDispose.get(item.templateId);\n if (!rows) {\n rows = [];\n rowsToDispose.set(item.templateId, rows);\n }\n const renderer = this.renderers.get(item.templateId);\n if (renderer && renderer.disposeElement) {\n renderer.disposeElement(item.element, i, item.row.templateData, item.size);\n }\n rows.push(item.row);\n }\n item.row = null;\n }\n const previousRestRange = { start: start + deleteCount, end: this.items.length };\n const previousRenderedRestRange = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(previousRestRange, previousRenderRange);\n const previousUnrenderedRestRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(previousRestRange, previousRenderRange);\n const inserted = elements.map(element => ({\n id: String(this.itemId++),\n element,\n templateId: this.virtualDelegate.getTemplateId(element),\n size: this.virtualDelegate.getHeight(element),\n width: undefined,\n hasDynamicHeight: !!this.virtualDelegate.hasDynamicHeight && this.virtualDelegate.hasDynamicHeight(element),\n lastDynamicHeightWidth: undefined,\n row: null,\n uri: undefined,\n dropTarget: false,\n dragStartDisposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None,\n checkedDisposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None\n }));\n let deleted;\n // TODO@joao: improve this optimization to catch even more cases\n if (start === 0 && deleteCount >= this.items.length) {\n this.rangeMap = new _rangeMap_js__WEBPACK_IMPORTED_MODULE_12__.RangeMap();\n this.rangeMap.splice(0, 0, inserted);\n deleted = this.items;\n this.items = inserted;\n }\n else {\n this.rangeMap.splice(start, deleteCount, inserted);\n deleted = this.items.splice(start, deleteCount, ...inserted);\n }\n const delta = elements.length - deleteCount;\n const renderRange = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\n const renderedRestRange = (0,_rangeMap_js__WEBPACK_IMPORTED_MODULE_12__.shift)(previousRenderedRestRange, delta);\n const updateRange = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(renderRange, renderedRestRange);\n for (let i = updateRange.start; i < updateRange.end; i++) {\n this.updateItemInDOM(this.items[i], i);\n }\n const removeRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(renderedRestRange, renderRange);\n for (const range of removeRanges) {\n for (let i = range.start; i < range.end; i++) {\n this.removeItemFromDOM(i);\n }\n }\n const unrenderedRestRanges = previousUnrenderedRestRanges.map(r => (0,_rangeMap_js__WEBPACK_IMPORTED_MODULE_12__.shift)(r, delta));\n const elementsRange = { start, end: start + elements.length };\n const insertRanges = [elementsRange, ...unrenderedRestRanges].map(r => _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(renderRange, r));\n const beforeElement = this.getNextToLastElement(insertRanges);\n for (const range of insertRanges) {\n for (let i = range.start; i < range.end; i++) {\n const item = this.items[i];\n const rows = rowsToDispose.get(item.templateId);\n const row = rows === null || rows === void 0 ? void 0 : rows.pop();\n this.insertItemInDOM(i, beforeElement, row);\n }\n }\n for (const rows of rowsToDispose.values()) {\n for (const row of rows) {\n this.cache.release(row);\n }\n }\n this.eventuallyUpdateScrollDimensions();\n if (this.supportDynamicHeights) {\n this._rerender(this.scrollTop, this.renderHeight);\n }\n return deleted.map(i => i.element);\n }\n eventuallyUpdateScrollDimensions() {\n this._scrollHeight = this.contentHeight;\n this.rowsContainer.style.height = `${this._scrollHeight}px`;\n if (!this.scrollableElementUpdateDisposable) {\n this.scrollableElementUpdateDisposable = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.scheduleAtNextAnimationFrame)(() => {\n this.scrollableElement.setScrollDimensions({ scrollHeight: this.scrollHeight });\n this.updateScrollWidth();\n this.scrollableElementUpdateDisposable = null;\n });\n }\n }\n eventuallyUpdateScrollWidth() {\n if (!this.horizontalScrolling) {\n this.scrollableElementWidthDelayer.cancel();\n return;\n }\n this.scrollableElementWidthDelayer.trigger(() => this.updateScrollWidth());\n }\n updateScrollWidth() {\n if (!this.horizontalScrolling) {\n return;\n }\n let scrollWidth = 0;\n for (const item of this.items) {\n if (typeof item.width !== 'undefined') {\n scrollWidth = Math.max(scrollWidth, item.width);\n }\n }\n this.scrollWidth = scrollWidth;\n this.scrollableElement.setScrollDimensions({ scrollWidth: scrollWidth === 0 ? 0 : (scrollWidth + 10) });\n this._onDidChangeContentWidth.fire(this.scrollWidth);\n }\n rerender() {\n if (!this.supportDynamicHeights) {\n return;\n }\n for (const item of this.items) {\n item.lastDynamicHeightWidth = undefined;\n }\n this._rerender(this.lastRenderTop, this.lastRenderHeight);\n }\n get length() {\n return this.items.length;\n }\n get renderHeight() {\n const scrollDimensions = this.scrollableElement.getScrollDimensions();\n return scrollDimensions.height;\n }\n get firstVisibleIndex() {\n const range = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\n const firstElTop = this.rangeMap.positionAt(range.start);\n const nextElTop = this.rangeMap.positionAt(range.start + 1);\n if (nextElTop !== -1) {\n const firstElMidpoint = (nextElTop - firstElTop) / 2 + firstElTop;\n if (firstElMidpoint < this.scrollTop) {\n return range.start + 1;\n }\n }\n return range.start;\n }\n element(index) {\n return this.items[index].element;\n }\n domElement(index) {\n const row = this.items[index].row;\n return row && row.domNode;\n }\n elementHeight(index) {\n return this.items[index].size;\n }\n elementTop(index) {\n return this.rangeMap.positionAt(index);\n }\n indexAt(position) {\n return this.rangeMap.indexAt(position);\n }\n indexAfter(position) {\n return this.rangeMap.indexAfter(position);\n }\n layout(height, width) {\n const scrollDimensions = {\n height: typeof height === 'number' ? height : (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getContentHeight)(this.domNode)\n };\n if (this.scrollableElementUpdateDisposable) {\n this.scrollableElementUpdateDisposable.dispose();\n this.scrollableElementUpdateDisposable = null;\n scrollDimensions.scrollHeight = this.scrollHeight;\n }\n this.scrollableElement.setScrollDimensions(scrollDimensions);\n if (typeof width !== 'undefined') {\n this.renderWidth = width;\n if (this.supportDynamicHeights) {\n this._rerender(this.scrollTop, this.renderHeight);\n }\n }\n if (this.horizontalScrolling) {\n this.scrollableElement.setScrollDimensions({\n width: typeof width === 'number' ? width : (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getContentWidth)(this.domNode)\n });\n }\n }\n // Render\n render(previousRenderRange, renderTop, renderHeight, renderLeft, scrollWidth, updateItemsInDOM = false) {\n const renderRange = this.getRenderRange(renderTop, renderHeight);\n const rangesToInsert = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(renderRange, previousRenderRange);\n const rangesToRemove = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(previousRenderRange, renderRange);\n const beforeElement = this.getNextToLastElement(rangesToInsert);\n if (updateItemsInDOM) {\n const rangesToUpdate = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.intersect(previousRenderRange, renderRange);\n for (let i = rangesToUpdate.start; i < rangesToUpdate.end; i++) {\n this.updateItemInDOM(this.items[i], i);\n }\n }\n this.cache.transact(() => {\n for (const range of rangesToRemove) {\n for (let i = range.start; i < range.end; i++) {\n this.removeItemFromDOM(i);\n }\n }\n for (const range of rangesToInsert) {\n for (let i = range.start; i < range.end; i++) {\n this.insertItemInDOM(i, beforeElement);\n }\n }\n });\n if (renderLeft !== undefined) {\n this.rowsContainer.style.left = `-${renderLeft}px`;\n }\n this.rowsContainer.style.top = `-${renderTop}px`;\n if (this.horizontalScrolling && scrollWidth !== undefined) {\n this.rowsContainer.style.width = `${Math.max(scrollWidth, this.renderWidth)}px`;\n }\n this.lastRenderTop = renderTop;\n this.lastRenderHeight = renderHeight;\n }\n // DOM operations\n insertItemInDOM(index, beforeElement, row) {\n const item = this.items[index];\n let isStale = false;\n if (!item.row) {\n if (row) {\n item.row = row;\n }\n else {\n const result = this.cache.alloc(item.templateId);\n item.row = result.row;\n isStale = result.isReusingConnectedDomNode;\n }\n }\n const role = this.accessibilityProvider.getRole(item.element) || 'listitem';\n item.row.domNode.setAttribute('role', role);\n const checked = this.accessibilityProvider.isChecked(item.element);\n if (typeof checked === 'boolean') {\n item.row.domNode.setAttribute('aria-checked', String(!!checked));\n }\n else if (checked) {\n const update = (checked) => item.row.domNode.setAttribute('aria-checked', String(!!checked));\n update(checked.value);\n item.checkedDisposable = checked.onDidChange(update);\n }\n if (isStale || !item.row.domNode.parentElement) {\n if (beforeElement) {\n this.rowsContainer.insertBefore(item.row.domNode, beforeElement);\n }\n else {\n this.rowsContainer.appendChild(item.row.domNode);\n }\n }\n this.updateItemInDOM(item, index);\n const renderer = this.renderers.get(item.templateId);\n if (!renderer) {\n throw new Error(`No renderer found for template id ${item.templateId}`);\n }\n renderer === null || renderer === void 0 ? void 0 : renderer.renderElement(item.element, index, item.row.templateData, item.size);\n const uri = this.dnd.getDragURI(item.element);\n item.dragStartDisposable.dispose();\n item.row.domNode.draggable = !!uri;\n if (uri) {\n item.dragStartDisposable = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener)(item.row.domNode, 'dragstart', event => this.onDragStart(item.element, uri, event));\n }\n if (this.horizontalScrolling) {\n this.measureItemWidth(item);\n this.eventuallyUpdateScrollWidth();\n }\n }\n measureItemWidth(item) {\n if (!item.row || !item.row.domNode) {\n return;\n }\n item.row.domNode.style.width = 'fit-content';\n item.width = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getContentWidth)(item.row.domNode);\n const style = window.getComputedStyle(item.row.domNode);\n if (style.paddingLeft) {\n item.width += parseFloat(style.paddingLeft);\n }\n if (style.paddingRight) {\n item.width += parseFloat(style.paddingRight);\n }\n item.row.domNode.style.width = '';\n }\n updateItemInDOM(item, index) {\n item.row.domNode.style.top = `${this.elementTop(index)}px`;\n if (this.setRowHeight) {\n item.row.domNode.style.height = `${item.size}px`;\n }\n if (this.setRowLineHeight) {\n item.row.domNode.style.lineHeight = `${item.size}px`;\n }\n item.row.domNode.setAttribute('data-index', `${index}`);\n item.row.domNode.setAttribute('data-last-element', index === this.length - 1 ? 'true' : 'false');\n item.row.domNode.setAttribute('data-parity', index % 2 === 0 ? 'even' : 'odd');\n item.row.domNode.setAttribute('aria-setsize', String(this.accessibilityProvider.getSetSize(item.element, index, this.length)));\n item.row.domNode.setAttribute('aria-posinset', String(this.accessibilityProvider.getPosInSet(item.element, index)));\n item.row.domNode.setAttribute('id', this.getElementDomId(index));\n item.row.domNode.classList.toggle('drop-target', item.dropTarget);\n }\n removeItemFromDOM(index) {\n const item = this.items[index];\n item.dragStartDisposable.dispose();\n item.checkedDisposable.dispose();\n if (item.row) {\n const renderer = this.renderers.get(item.templateId);\n if (renderer && renderer.disposeElement) {\n renderer.disposeElement(item.element, index, item.row.templateData, item.size);\n }\n this.cache.release(item.row);\n item.row = null;\n }\n if (this.horizontalScrolling) {\n this.eventuallyUpdateScrollWidth();\n }\n }\n getScrollTop() {\n const scrollPosition = this.scrollableElement.getScrollPosition();\n return scrollPosition.scrollTop;\n }\n setScrollTop(scrollTop, reuseAnimation) {\n if (this.scrollableElementUpdateDisposable) {\n this.scrollableElementUpdateDisposable.dispose();\n this.scrollableElementUpdateDisposable = null;\n this.scrollableElement.setScrollDimensions({ scrollHeight: this.scrollHeight });\n }\n this.scrollableElement.setScrollPosition({ scrollTop, reuseAnimation });\n }\n get scrollTop() {\n return this.getScrollTop();\n }\n set scrollTop(scrollTop) {\n this.setScrollTop(scrollTop);\n }\n get scrollHeight() {\n return this._scrollHeight + (this.horizontalScrolling ? 10 : 0) + this.additionalScrollHeight;\n }\n // Events\n get onMouseClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'click')).event, e => this.toMouseEvent(e), this.disposables); }\n get onMouseDblClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'dblclick')).event, e => this.toMouseEvent(e), this.disposables); }\n get onMouseMiddleClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.filter(_common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'auxclick')).event, e => this.toMouseEvent(e), this.disposables), e => e.browserEvent.button === 1, this.disposables); }\n get onMouseDown() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'mousedown')).event, e => this.toMouseEvent(e), this.disposables); }\n get onMouseOver() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'mouseover')).event, e => this.toMouseEvent(e), this.disposables); }\n get onMouseOut() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'mouseout')).event, e => this.toMouseEvent(e), this.disposables); }\n get onContextMenu() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.any(_common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'contextmenu')).event, e => this.toMouseEvent(e), this.disposables), _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, _touch_js__WEBPACK_IMPORTED_MODULE_3__.EventType.Contextmenu)).event, e => this.toGestureEvent(e), this.disposables)); }\n get onTouchStart() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.domNode, 'touchstart')).event, e => this.toTouchEvent(e), this.disposables); }\n get onTap() { return _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Event.map(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_2__.DomEmitter(this.rowsContainer, _touch_js__WEBPACK_IMPORTED_MODULE_3__.EventType.Tap)).event, e => this.toGestureEvent(e), this.disposables); }\n toMouseEvent(browserEvent) {\n const index = this.getItemIndexFromEventTarget(browserEvent.target || null);\n const item = typeof index === 'undefined' ? undefined : this.items[index];\n const element = item && item.element;\n return { browserEvent, index, element };\n }\n toTouchEvent(browserEvent) {\n const index = this.getItemIndexFromEventTarget(browserEvent.target || null);\n const item = typeof index === 'undefined' ? undefined : this.items[index];\n const element = item && item.element;\n return { browserEvent, index, element };\n }\n toGestureEvent(browserEvent) {\n const index = this.getItemIndexFromEventTarget(browserEvent.initialTarget || null);\n const item = typeof index === 'undefined' ? undefined : this.items[index];\n const element = item && item.element;\n return { browserEvent, index, element };\n }\n toDragEvent(browserEvent) {\n const index = this.getItemIndexFromEventTarget(browserEvent.target || null);\n const item = typeof index === 'undefined' ? undefined : this.items[index];\n const element = item && item.element;\n return { browserEvent, index, element };\n }\n onScroll(e) {\n try {\n const previousRenderRange = this.getRenderRange(this.lastRenderTop, this.lastRenderHeight);\n this.render(previousRenderRange, e.scrollTop, e.height, e.scrollLeft, e.scrollWidth);\n if (this.supportDynamicHeights) {\n this._rerender(e.scrollTop, e.height, e.inSmoothScrolling);\n }\n }\n catch (err) {\n console.error('Got bad scroll event:', e);\n throw err;\n }\n }\n onTouchChange(event) {\n event.preventDefault();\n event.stopPropagation();\n this.scrollTop -= event.translationY;\n }\n // DND\n onDragStart(element, uri, event) {\n var _a, _b;\n if (!event.dataTransfer) {\n return;\n }\n const elements = this.dnd.getDragElements(element);\n event.dataTransfer.effectAllowed = 'copyMove';\n event.dataTransfer.setData(_dnd_js__WEBPACK_IMPORTED_MODULE_0__.DataTransfers.TEXT, uri);\n if (event.dataTransfer.setDragImage) {\n let label;\n if (this.dnd.getDragLabel) {\n label = this.dnd.getDragLabel(elements, event);\n }\n if (typeof label === 'undefined') {\n label = String(elements.length);\n }\n const dragImage = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.$)('.monaco-drag-image');\n dragImage.textContent = label;\n const getDragImageContainer = (e) => {\n while (e && !e.classList.contains('monaco-workbench')) {\n e = e.parentElement;\n }\n return e || document.body;\n };\n const container = getDragImageContainer(this.domNode);\n container.appendChild(dragImage);\n event.dataTransfer.setDragImage(dragImage, -10, -10);\n setTimeout(() => container.removeChild(dragImage), 0);\n }\n this.domNode.classList.add('dragging');\n this.currentDragData = new ElementsDragAndDropData(elements);\n StaticDND.CurrentDragAndDropData = new ExternalElementsDragAndDropData(elements);\n (_b = (_a = this.dnd).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, this.currentDragData, event);\n }\n onDragOver(event) {\n var _a;\n event.browserEvent.preventDefault(); // needed so that the drop event fires (https://stackoverflow.com/questions/21339924/drop-event-not-firing-in-chrome)\n this.onDragLeaveTimeout.dispose();\n if (StaticDND.CurrentDragAndDropData && StaticDND.CurrentDragAndDropData.getData() === 'vscode-ui') {\n return false;\n }\n this.setupDragAndDropScrollTopAnimation(event.browserEvent);\n if (!event.browserEvent.dataTransfer) {\n return false;\n }\n // Drag over from outside\n if (!this.currentDragData) {\n if (StaticDND.CurrentDragAndDropData) {\n // Drag over from another list\n this.currentDragData = StaticDND.CurrentDragAndDropData;\n }\n else {\n // Drag over from the desktop\n if (!event.browserEvent.dataTransfer.types) {\n return false;\n }\n this.currentDragData = new NativeDragAndDropData();\n }\n }\n const result = this.dnd.onDragOver(this.currentDragData, event.element, event.index, event.browserEvent);\n this.canDrop = typeof result === 'boolean' ? result : result.accept;\n if (!this.canDrop) {\n this.currentDragFeedback = undefined;\n this.currentDragFeedbackDisposable.dispose();\n return false;\n }\n event.browserEvent.dataTransfer.dropEffect = (typeof result !== 'boolean' && result.effect === 0 /* ListDragOverEffect.Copy */) ? 'copy' : 'move';\n let feedback;\n if (typeof result !== 'boolean' && result.feedback) {\n feedback = result.feedback;\n }\n else {\n if (typeof event.index === 'undefined') {\n feedback = [-1];\n }\n else {\n feedback = [event.index];\n }\n }\n // sanitize feedback list\n feedback = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.distinct)(feedback).filter(i => i >= -1 && i < this.length).sort((a, b) => a - b);\n feedback = feedback[0] === -1 ? [-1] : feedback;\n if (equalsDragFeedback(this.currentDragFeedback, feedback)) {\n return true;\n }\n this.currentDragFeedback = feedback;\n this.currentDragFeedbackDisposable.dispose();\n if (feedback[0] === -1) { // entire list feedback\n this.domNode.classList.add('drop-target');\n this.rowsContainer.classList.add('drop-target');\n this.currentDragFeedbackDisposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.toDisposable)(() => {\n this.domNode.classList.remove('drop-target');\n this.rowsContainer.classList.remove('drop-target');\n });\n }\n else {\n for (const index of feedback) {\n const item = this.items[index];\n item.dropTarget = true;\n (_a = item.row) === null || _a === void 0 ? void 0 : _a.domNode.classList.add('drop-target');\n }\n this.currentDragFeedbackDisposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.toDisposable)(() => {\n var _a;\n for (const index of feedback) {\n const item = this.items[index];\n item.dropTarget = false;\n (_a = item.row) === null || _a === void 0 ? void 0 : _a.domNode.classList.remove('drop-target');\n }\n });\n }\n return true;\n }\n onDragLeave(event) {\n var _a, _b;\n this.onDragLeaveTimeout.dispose();\n this.onDragLeaveTimeout = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_6__.disposableTimeout)(() => this.clearDragOverFeedback(), 100);\n if (this.currentDragData) {\n (_b = (_a = this.dnd).onDragLeave) === null || _b === void 0 ? void 0 : _b.call(_a, this.currentDragData, event.element, event.index, event.browserEvent);\n }\n }\n onDrop(event) {\n if (!this.canDrop) {\n return;\n }\n const dragData = this.currentDragData;\n this.teardownDragAndDropScrollTopAnimation();\n this.clearDragOverFeedback();\n this.domNode.classList.remove('dragging');\n this.currentDragData = undefined;\n StaticDND.CurrentDragAndDropData = undefined;\n if (!dragData || !event.browserEvent.dataTransfer) {\n return;\n }\n event.browserEvent.preventDefault();\n dragData.update(event.browserEvent.dataTransfer);\n this.dnd.drop(dragData, event.element, event.index, event.browserEvent);\n }\n onDragEnd(event) {\n var _a, _b;\n this.canDrop = false;\n this.teardownDragAndDropScrollTopAnimation();\n this.clearDragOverFeedback();\n this.domNode.classList.remove('dragging');\n this.currentDragData = undefined;\n StaticDND.CurrentDragAndDropData = undefined;\n (_b = (_a = this.dnd).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n }\n clearDragOverFeedback() {\n this.currentDragFeedback = undefined;\n this.currentDragFeedbackDisposable.dispose();\n this.currentDragFeedbackDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.Disposable.None;\n }\n // DND scroll top animation\n setupDragAndDropScrollTopAnimation(event) {\n if (!this.dragOverAnimationDisposable) {\n const viewTop = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.getTopLeftOffset)(this.domNode).top;\n this.dragOverAnimationDisposable = (0,_dom_js__WEBPACK_IMPORTED_MODULE_1__.animate)(this.animateDragAndDropScrollTop.bind(this, viewTop));\n }\n this.dragOverAnimationStopDisposable.dispose();\n this.dragOverAnimationStopDisposable = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_6__.disposableTimeout)(() => {\n if (this.dragOverAnimationDisposable) {\n this.dragOverAnimationDisposable.dispose();\n this.dragOverAnimationDisposable = undefined;\n }\n }, 1000);\n this.dragOverMouseY = event.pageY;\n }\n animateDragAndDropScrollTop(viewTop) {\n if (this.dragOverMouseY === undefined) {\n return;\n }\n const diff = this.dragOverMouseY - viewTop;\n const upperLimit = this.renderHeight - 35;\n if (diff < 35) {\n this.scrollTop += Math.max(-14, Math.floor(0.3 * (diff - 35)));\n }\n else if (diff > upperLimit) {\n this.scrollTop += Math.min(14, Math.floor(0.3 * (diff - upperLimit)));\n }\n }\n teardownDragAndDropScrollTopAnimation() {\n this.dragOverAnimationStopDisposable.dispose();\n if (this.dragOverAnimationDisposable) {\n this.dragOverAnimationDisposable.dispose();\n this.dragOverAnimationDisposable = undefined;\n }\n }\n // Util\n getItemIndexFromEventTarget(target) {\n const scrollableElement = this.scrollableElement.getDomNode();\n let element = target;\n while (element instanceof HTMLElement && element !== this.rowsContainer && scrollableElement.contains(element)) {\n const rawIndex = element.getAttribute('data-index');\n if (rawIndex) {\n const index = Number(rawIndex);\n if (!isNaN(index)) {\n return index;\n }\n }\n element = element.parentElement;\n }\n return undefined;\n }\n getRenderRange(renderTop, renderHeight) {\n return {\n start: this.rangeMap.indexAt(renderTop),\n end: this.rangeMap.indexAfter(renderTop + renderHeight - 1)\n };\n }\n /**\n * Given a stable rendered state, checks every rendered element whether it needs\n * to be probed for dynamic height. Adjusts scroll height and top if necessary.\n */\n _rerender(renderTop, renderHeight, inSmoothScrolling) {\n const previousRenderRange = this.getRenderRange(renderTop, renderHeight);\n // Let's remember the second element's position, this helps in scrolling up\n // and preserving a linear upwards scroll movement\n let anchorElementIndex;\n let anchorElementTopDelta;\n if (renderTop === this.elementTop(previousRenderRange.start)) {\n anchorElementIndex = previousRenderRange.start;\n anchorElementTopDelta = 0;\n }\n else if (previousRenderRange.end - previousRenderRange.start > 1) {\n anchorElementIndex = previousRenderRange.start + 1;\n anchorElementTopDelta = this.elementTop(anchorElementIndex) - renderTop;\n }\n let heightDiff = 0;\n while (true) {\n const renderRange = this.getRenderRange(renderTop, renderHeight);\n let didChange = false;\n for (let i = renderRange.start; i < renderRange.end; i++) {\n const diff = this.probeDynamicHeight(i);\n if (diff !== 0) {\n this.rangeMap.splice(i, 1, [this.items[i]]);\n }\n heightDiff += diff;\n didChange = didChange || diff !== 0;\n }\n if (!didChange) {\n if (heightDiff !== 0) {\n this.eventuallyUpdateScrollDimensions();\n }\n const unrenderRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(previousRenderRange, renderRange);\n for (const range of unrenderRanges) {\n for (let i = range.start; i < range.end; i++) {\n if (this.items[i].row) {\n this.removeItemFromDOM(i);\n }\n }\n }\n const renderRanges = _common_range_js__WEBPACK_IMPORTED_MODULE_10__.Range.relativeComplement(renderRange, previousRenderRange);\n for (const range of renderRanges) {\n for (let i = range.start; i < range.end; i++) {\n const afterIndex = i + 1;\n const beforeRow = afterIndex < this.items.length ? this.items[afterIndex].row : null;\n const beforeElement = beforeRow ? beforeRow.domNode : null;\n this.insertItemInDOM(i, beforeElement);\n }\n }\n for (let i = renderRange.start; i < renderRange.end; i++) {\n if (this.items[i].row) {\n this.updateItemInDOM(this.items[i], i);\n }\n }\n if (typeof anchorElementIndex === 'number') {\n // To compute a destination scroll top, we need to take into account the current smooth scrolling\n // animation, and then reuse it with a new target (to avoid prolonging the scroll)\n // See https://github.com/microsoft/vscode/issues/104144\n // See https://github.com/microsoft/vscode/pull/104284\n // See https://github.com/microsoft/vscode/issues/107704\n const deltaScrollTop = this.scrollable.getFutureScrollPosition().scrollTop - renderTop;\n const newScrollTop = this.elementTop(anchorElementIndex) - anchorElementTopDelta + deltaScrollTop;\n this.setScrollTop(newScrollTop, inSmoothScrolling);\n }\n this._onDidChangeContentHeight.fire(this.contentHeight);\n return;\n }\n }\n }\n probeDynamicHeight(index) {\n var _a, _b, _c;\n const item = this.items[index];\n if (!!this.virtualDelegate.getDynamicHeight) {\n const newSize = this.virtualDelegate.getDynamicHeight(item.element);\n if (newSize !== null) {\n const size = item.size;\n item.size = newSize;\n item.lastDynamicHeightWidth = this.renderWidth;\n return newSize - size;\n }\n }\n if (!item.hasDynamicHeight || item.lastDynamicHeightWidth === this.renderWidth) {\n return 0;\n }\n if (!!this.virtualDelegate.hasDynamicHeight && !this.virtualDelegate.hasDynamicHeight(item.element)) {\n return 0;\n }\n const size = item.size;\n if (item.row) {\n item.row.domNode.style.height = '';\n item.size = item.row.domNode.offsetHeight;\n item.lastDynamicHeightWidth = this.renderWidth;\n return item.size - size;\n }\n const { row } = this.cache.alloc(item.templateId);\n row.domNode.style.height = '';\n this.rowsContainer.appendChild(row.domNode);\n const renderer = this.renderers.get(item.templateId);\n if (!renderer) {\n throw new _common_errors_js__WEBPACK_IMPORTED_MODULE_14__.BugIndicatingError('Missing renderer for templateId: ' + item.templateId);\n }\n renderer.renderElement(item.element, index, row.templateData, undefined);\n item.size = row.domNode.offsetHeight;\n (_a = renderer.disposeElement) === null || _a === void 0 ? void 0 : _a.call(renderer, item.element, index, row.templateData, undefined);\n (_c = (_b = this.virtualDelegate).setDynamicHeight) === null || _c === void 0 ? void 0 : _c.call(_b, item.element, item.size);\n item.lastDynamicHeightWidth = this.renderWidth;\n this.rowsContainer.removeChild(row.domNode);\n this.cache.release(row);\n return item.size - size;\n }\n getNextToLastElement(ranges) {\n const lastRange = ranges[ranges.length - 1];\n if (!lastRange) {\n return null;\n }\n const nextToLastItem = this.items[lastRange.end];\n if (!nextToLastItem) {\n return null;\n }\n if (!nextToLastItem.row) {\n return null;\n }\n return nextToLastItem.row.domNode;\n }\n getElementDomId(index) {\n return `${this.domId}_${index}`;\n }\n // Dispose\n dispose() {\n var _a;\n if (this.items) {\n for (const item of this.items) {\n if (item.row) {\n const renderer = this.renderers.get(item.row.templateId);\n if (renderer) {\n (_a = renderer.disposeElement) === null || _a === void 0 ? void 0 : _a.call(renderer, item.element, -1, item.row.templateData, undefined);\n renderer.disposeTemplate(item.row.templateData);\n }\n }\n }\n this.items = [];\n }\n if (this.domNode && this.domNode.parentNode) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.dispose)(this.disposables);\n }\n}\nListView.InstanceCount = 0;\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseClick\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseDblClick\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseMiddleClick\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseDown\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseOver\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onMouseOut\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onContextMenu\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onTouchStart\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_7__.memoize\n], ListView.prototype, \"onTap\", null);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js": +/*!******************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.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 */ DefaultKeyboardNavigationDelegate: () => (/* binding */ DefaultKeyboardNavigationDelegate),\n/* harmony export */ DefaultStyleController: () => (/* binding */ DefaultStyleController),\n/* harmony export */ List: () => (/* binding */ List),\n/* harmony export */ MouseController: () => (/* binding */ MouseController),\n/* harmony export */ TypeNavigationMode: () => (/* binding */ TypeNavigationMode),\n/* harmony export */ isButton: () => (/* binding */ isButton),\n/* harmony export */ isInputElement: () => (/* binding */ isInputElement),\n/* harmony export */ isMonacoEditor: () => (/* binding */ isMonacoEditor),\n/* harmony export */ isSelectionRangeChangeEvent: () => (/* binding */ isSelectionRangeChangeEvent),\n/* harmony export */ isSelectionSingleChangeEvent: () => (/* binding */ isSelectionSingleChangeEvent),\n/* harmony export */ unthemedListStyles: () => (/* binding */ unthemedListStyles)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.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 _touch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _aria_aria_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../aria/aria.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js\");\n/* harmony import */ var _splice_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./splice.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_filters_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_numbers_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/numbers.js */ \"./node_modules/monaco-editor/esm/vs/base/common/numbers.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _list_css__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./list.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css\");\n/* harmony import */ var _list_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./list.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js\");\n/* harmony import */ var _listView_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./listView.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass TraitRenderer {\n constructor(trait) {\n this.trait = trait;\n this.renderedElements = [];\n }\n get templateId() {\n return `template:${this.trait.name}`;\n }\n renderTemplate(container) {\n return container;\n }\n renderElement(element, index, templateData) {\n const renderedElementIndex = this.renderedElements.findIndex(el => el.templateData === templateData);\n if (renderedElementIndex >= 0) {\n const rendered = this.renderedElements[renderedElementIndex];\n this.trait.unrender(templateData);\n rendered.index = index;\n }\n else {\n const rendered = { index, templateData };\n this.renderedElements.push(rendered);\n }\n this.trait.renderIndex(index, templateData);\n }\n splice(start, deleteCount, insertCount) {\n const rendered = [];\n for (const renderedElement of this.renderedElements) {\n if (renderedElement.index < start) {\n rendered.push(renderedElement);\n }\n else if (renderedElement.index >= start + deleteCount) {\n rendered.push({\n index: renderedElement.index + insertCount - deleteCount,\n templateData: renderedElement.templateData\n });\n }\n }\n this.renderedElements = rendered;\n }\n renderIndexes(indexes) {\n for (const { index, templateData } of this.renderedElements) {\n if (indexes.indexOf(index) > -1) {\n this.trait.renderIndex(index, templateData);\n }\n }\n }\n disposeTemplate(templateData) {\n const index = this.renderedElements.findIndex(el => el.templateData === templateData);\n if (index < 0) {\n return;\n }\n this.renderedElements.splice(index, 1);\n }\n}\nclass Trait {\n get name() { return this._trait; }\n get renderer() {\n return new TraitRenderer(this);\n }\n constructor(_trait) {\n this._trait = _trait;\n this.length = 0;\n this.indexes = [];\n this.sortedIndexes = [];\n this._onChange = new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter();\n this.onChange = this._onChange.event;\n }\n splice(start, deleteCount, elements) {\n var _a;\n deleteCount = Math.max(0, Math.min(deleteCount, this.length - start));\n const diff = elements.length - deleteCount;\n const end = start + deleteCount;\n const sortedIndexes = [];\n let i = 0;\n while (i < this.sortedIndexes.length && this.sortedIndexes[i] < start) {\n sortedIndexes.push(this.sortedIndexes[i++]);\n }\n for (let j = 0; j < elements.length; j++) {\n if (elements[j]) {\n sortedIndexes.push(j + start);\n }\n }\n while (i < this.sortedIndexes.length && this.sortedIndexes[i] >= end) {\n sortedIndexes.push(this.sortedIndexes[i++] + diff);\n }\n const length = this.length + diff;\n if (this.sortedIndexes.length > 0 && sortedIndexes.length === 0 && length > 0) {\n const first = (_a = this.sortedIndexes.find(index => index >= start)) !== null && _a !== void 0 ? _a : length - 1;\n sortedIndexes.push(Math.min(first, length - 1));\n }\n this.renderer.splice(start, deleteCount, elements.length);\n this._set(sortedIndexes, sortedIndexes);\n this.length = length;\n }\n renderIndex(index, container) {\n container.classList.toggle(this._trait, this.contains(index));\n }\n unrender(container) {\n container.classList.remove(this._trait);\n }\n /**\n * Sets the indexes which should have this trait.\n *\n * @param indexes Indexes which should have this trait.\n * @return The old indexes which had this trait.\n */\n set(indexes, browserEvent) {\n return this._set(indexes, [...indexes].sort(numericSort), browserEvent);\n }\n _set(indexes, sortedIndexes, browserEvent) {\n const result = this.indexes;\n const sortedResult = this.sortedIndexes;\n this.indexes = indexes;\n this.sortedIndexes = sortedIndexes;\n const toRender = disjunction(sortedResult, indexes);\n this.renderer.renderIndexes(toRender);\n this._onChange.fire({ indexes, browserEvent });\n return result;\n }\n get() {\n return this.indexes;\n }\n contains(index) {\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_6__.binarySearch)(this.sortedIndexes, index, numericSort) >= 0;\n }\n dispose() {\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.dispose)(this._onChange);\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], Trait.prototype, \"renderer\", null);\nclass SelectionTrait extends Trait {\n constructor(setAriaSelected) {\n super('selected');\n this.setAriaSelected = setAriaSelected;\n }\n renderIndex(index, container) {\n super.renderIndex(index, container);\n if (this.setAriaSelected) {\n if (this.contains(index)) {\n container.setAttribute('aria-selected', 'true');\n }\n else {\n container.setAttribute('aria-selected', 'false');\n }\n }\n }\n}\n/**\n * The TraitSpliceable is used as a util class to be able\n * to preserve traits across splice calls, given an identity\n * provider.\n */\nclass TraitSpliceable {\n constructor(trait, view, identityProvider) {\n this.trait = trait;\n this.view = view;\n this.identityProvider = identityProvider;\n }\n splice(start, deleteCount, elements) {\n if (!this.identityProvider) {\n return this.trait.splice(start, deleteCount, new Array(elements.length).fill(false));\n }\n const pastElementsWithTrait = this.trait.get().map(i => this.identityProvider.getId(this.view.element(i)).toString());\n if (pastElementsWithTrait.length === 0) {\n return this.trait.splice(start, deleteCount, new Array(elements.length).fill(false));\n }\n const pastElementsWithTraitSet = new Set(pastElementsWithTrait);\n const elementsWithTrait = elements.map(e => pastElementsWithTraitSet.has(this.identityProvider.getId(e).toString()));\n this.trait.splice(start, deleteCount, elementsWithTrait);\n }\n}\nfunction isInputElement(e) {\n return e.tagName === 'INPUT' || e.tagName === 'TEXTAREA';\n}\nfunction isMonacoEditor(e) {\n if (e.classList.contains('monaco-editor')) {\n return true;\n }\n if (e.classList.contains('monaco-list')) {\n return false;\n }\n if (!e.parentElement) {\n return false;\n }\n return isMonacoEditor(e.parentElement);\n}\nfunction isButton(e) {\n if ((e.tagName === 'A' && e.classList.contains('monaco-button')) ||\n (e.tagName === 'DIV' && e.classList.contains('monaco-button-dropdown'))) {\n return true;\n }\n if (e.classList.contains('monaco-list')) {\n return false;\n }\n if (!e.parentElement) {\n return false;\n }\n return isButton(e.parentElement);\n}\nclass KeyboardController {\n get onKeyDown() {\n return this.disposables.add(_common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'keydown')).event)\n .filter(e => !isInputElement(e.target))\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e)));\n }\n constructor(list, view, options) {\n this.list = list;\n this.view = view;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this.multipleSelectionDisposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this.onKeyDown.filter(e => e.keyCode === 3 /* KeyCode.Enter */).on(this.onEnter, this, this.disposables);\n this.onKeyDown.filter(e => e.keyCode === 16 /* KeyCode.UpArrow */).on(this.onUpArrow, this, this.disposables);\n this.onKeyDown.filter(e => e.keyCode === 18 /* KeyCode.DownArrow */).on(this.onDownArrow, this, this.disposables);\n this.onKeyDown.filter(e => e.keyCode === 11 /* KeyCode.PageUp */).on(this.onPageUpArrow, this, this.disposables);\n this.onKeyDown.filter(e => e.keyCode === 12 /* KeyCode.PageDown */).on(this.onPageDownArrow, this, this.disposables);\n this.onKeyDown.filter(e => e.keyCode === 9 /* KeyCode.Escape */).on(this.onEscape, this, this.disposables);\n if (options.multipleSelectionSupport !== false) {\n this.onKeyDown.filter(e => (_common_platform_js__WEBPACK_IMPORTED_MODULE_14__.isMacintosh ? e.metaKey : e.ctrlKey) && e.keyCode === 31 /* KeyCode.KeyA */).on(this.onCtrlA, this, this.multipleSelectionDisposables);\n }\n }\n updateOptions(optionsUpdate) {\n if (optionsUpdate.multipleSelectionSupport !== undefined) {\n this.multipleSelectionDisposables.clear();\n if (optionsUpdate.multipleSelectionSupport) {\n this.onKeyDown.filter(e => (_common_platform_js__WEBPACK_IMPORTED_MODULE_14__.isMacintosh ? e.metaKey : e.ctrlKey) && e.keyCode === 31 /* KeyCode.KeyA */).on(this.onCtrlA, this, this.multipleSelectionDisposables);\n }\n }\n }\n onEnter(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.setSelection(this.list.getFocus(), e.browserEvent);\n }\n onUpArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.focusPrevious(1, false, e.browserEvent);\n const el = this.list.getFocus()[0];\n this.list.setAnchor(el);\n this.list.reveal(el);\n this.view.domNode.focus();\n }\n onDownArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.focusNext(1, false, e.browserEvent);\n const el = this.list.getFocus()[0];\n this.list.setAnchor(el);\n this.list.reveal(el);\n this.view.domNode.focus();\n }\n onPageUpArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.focusPreviousPage(e.browserEvent);\n const el = this.list.getFocus()[0];\n this.list.setAnchor(el);\n this.list.reveal(el);\n this.view.domNode.focus();\n }\n onPageDownArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.focusNextPage(e.browserEvent);\n const el = this.list.getFocus()[0];\n this.list.setAnchor(el);\n this.list.reveal(el);\n this.view.domNode.focus();\n }\n onCtrlA(e) {\n e.preventDefault();\n e.stopPropagation();\n this.list.setSelection((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_6__.range)(this.list.length), e.browserEvent);\n this.list.setAnchor(undefined);\n this.view.domNode.focus();\n }\n onEscape(e) {\n if (this.list.getSelection().length) {\n e.preventDefault();\n e.stopPropagation();\n this.list.setSelection([], e.browserEvent);\n this.list.setAnchor(undefined);\n this.view.domNode.focus();\n }\n }\n dispose() {\n this.disposables.dispose();\n this.multipleSelectionDisposables.dispose();\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], KeyboardController.prototype, \"onKeyDown\", null);\nvar TypeNavigationMode;\n(function (TypeNavigationMode) {\n TypeNavigationMode[TypeNavigationMode[\"Automatic\"] = 0] = \"Automatic\";\n TypeNavigationMode[TypeNavigationMode[\"Trigger\"] = 1] = \"Trigger\";\n})(TypeNavigationMode || (TypeNavigationMode = {}));\nvar TypeNavigationControllerState;\n(function (TypeNavigationControllerState) {\n TypeNavigationControllerState[TypeNavigationControllerState[\"Idle\"] = 0] = \"Idle\";\n TypeNavigationControllerState[TypeNavigationControllerState[\"Typing\"] = 1] = \"Typing\";\n})(TypeNavigationControllerState || (TypeNavigationControllerState = {}));\nconst DefaultKeyboardNavigationDelegate = new class {\n mightProducePrintableCharacter(event) {\n if (event.ctrlKey || event.metaKey || event.altKey) {\n return false;\n }\n return (event.keyCode >= 31 /* KeyCode.KeyA */ && event.keyCode <= 56 /* KeyCode.KeyZ */)\n || (event.keyCode >= 21 /* KeyCode.Digit0 */ && event.keyCode <= 30 /* KeyCode.Digit9 */)\n || (event.keyCode >= 98 /* KeyCode.Numpad0 */ && event.keyCode <= 107 /* KeyCode.Numpad9 */)\n || (event.keyCode >= 85 /* KeyCode.Semicolon */ && event.keyCode <= 95 /* KeyCode.Quote */);\n }\n};\nclass TypeNavigationController {\n constructor(list, view, keyboardNavigationLabelProvider, keyboardNavigationEventFilter, delegate) {\n this.list = list;\n this.view = view;\n this.keyboardNavigationLabelProvider = keyboardNavigationLabelProvider;\n this.keyboardNavigationEventFilter = keyboardNavigationEventFilter;\n this.delegate = delegate;\n this.enabled = false;\n this.state = TypeNavigationControllerState.Idle;\n this.mode = TypeNavigationMode.Automatic;\n this.triggered = false;\n this.previouslyFocused = -1;\n this.enabledDisposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this.updateOptions(list.options);\n }\n updateOptions(options) {\n var _a, _b;\n if ((_a = options.typeNavigationEnabled) !== null && _a !== void 0 ? _a : true) {\n this.enable();\n }\n else {\n this.disable();\n }\n this.mode = (_b = options.typeNavigationMode) !== null && _b !== void 0 ? _b : TypeNavigationMode.Automatic;\n }\n enable() {\n if (this.enabled) {\n return;\n }\n let typing = false;\n const onChar = this.enabledDisposables.add(_common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.enabledDisposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'keydown')).event))\n .filter(e => !isInputElement(e.target))\n .filter(() => this.mode === TypeNavigationMode.Automatic || this.triggered)\n .map(event => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(event))\n .filter(e => typing || this.keyboardNavigationEventFilter(e))\n .filter(e => this.delegate.mightProducePrintableCharacter(e))\n .forEach(e => _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true))\n .map(event => event.browserEvent.key)\n .event;\n const onClear = _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.debounce(onChar, () => null, 800, undefined, undefined, undefined, this.enabledDisposables);\n const onInput = _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.reduce(_common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.any(onChar, onClear), (r, i) => i === null ? null : ((r || '') + i), undefined, this.enabledDisposables);\n onInput(this.onInput, this, this.enabledDisposables);\n onClear(this.onClear, this, this.enabledDisposables);\n onChar(() => typing = true, undefined, this.enabledDisposables);\n onClear(() => typing = false, undefined, this.enabledDisposables);\n this.enabled = true;\n this.triggered = false;\n }\n disable() {\n if (!this.enabled) {\n return;\n }\n this.enabledDisposables.clear();\n this.enabled = false;\n this.triggered = false;\n }\n onClear() {\n var _a;\n const focus = this.list.getFocus();\n if (focus.length > 0 && focus[0] === this.previouslyFocused) {\n // List: re-announce element on typing end since typed keys will interrupt aria label of focused element\n // Do not announce if there was a focus change at the end to prevent duplication https://github.com/microsoft/vscode/issues/95961\n const ariaLabel = (_a = this.list.options.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.getAriaLabel(this.list.element(focus[0]));\n if (ariaLabel) {\n (0,_aria_aria_js__WEBPACK_IMPORTED_MODULE_4__.alert)(ariaLabel);\n }\n }\n this.previouslyFocused = -1;\n }\n onInput(word) {\n if (!word) {\n this.state = TypeNavigationControllerState.Idle;\n this.triggered = false;\n return;\n }\n const focus = this.list.getFocus();\n const start = focus.length > 0 ? focus[0] : 0;\n const delta = this.state === TypeNavigationControllerState.Idle ? 1 : 0;\n this.state = TypeNavigationControllerState.Typing;\n for (let i = 0; i < this.list.length; i++) {\n const index = (start + i + delta) % this.list.length;\n const label = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element(index));\n const labelStr = label && label.toString();\n if (typeof labelStr === 'undefined' || (0,_common_filters_js__WEBPACK_IMPORTED_MODULE_11__.matchesPrefix)(word, labelStr)) {\n this.previouslyFocused = start;\n this.list.setFocus([index]);\n this.list.reveal(index);\n return;\n }\n }\n }\n dispose() {\n this.disable();\n this.enabledDisposables.dispose();\n this.disposables.dispose();\n }\n}\nclass DOMFocusController {\n constructor(list, view) {\n this.list = list;\n this.view = view;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n const onKeyDown = this.disposables.add(_common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(view.domNode, 'keydown')).event))\n .filter(e => !isInputElement(e.target))\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e));\n onKeyDown.filter(e => e.keyCode === 2 /* KeyCode.Tab */ && !e.ctrlKey && !e.metaKey && !e.shiftKey && !e.altKey)\n .on(this.onTab, this, this.disposables);\n }\n onTab(e) {\n if (e.target !== this.view.domNode) {\n return;\n }\n const focus = this.list.getFocus();\n if (focus.length === 0) {\n return;\n }\n const focusedDomElement = this.view.domElement(focus[0]);\n if (!focusedDomElement) {\n return;\n }\n const tabIndexElement = focusedDomElement.querySelector('[tabIndex]');\n if (!tabIndexElement || !(tabIndexElement instanceof HTMLElement) || tabIndexElement.tabIndex === -1) {\n return;\n }\n const style = window.getComputedStyle(tabIndexElement);\n if (style.visibility === 'hidden' || style.display === 'none') {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n tabIndexElement.focus();\n }\n dispose() {\n this.disposables.dispose();\n }\n}\nfunction isSelectionSingleChangeEvent(event) {\n return _common_platform_js__WEBPACK_IMPORTED_MODULE_14__.isMacintosh ? event.browserEvent.metaKey : event.browserEvent.ctrlKey;\n}\nfunction isSelectionRangeChangeEvent(event) {\n return event.browserEvent.shiftKey;\n}\nfunction isMouseRightClick(event) {\n return event instanceof MouseEvent && event.button === 2;\n}\nconst DefaultMultipleSelectionController = {\n isSelectionSingleChangeEvent,\n isSelectionRangeChangeEvent\n};\nclass MouseController {\n constructor(list) {\n this.list = list;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this._onPointer = new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter();\n this.onPointer = this._onPointer.event;\n if (list.options.multipleSelectionSupport !== false) {\n this.multipleSelectionController = this.list.options.multipleSelectionController || DefaultMultipleSelectionController;\n }\n this.mouseSupport = typeof list.options.mouseSupport === 'undefined' || !!list.options.mouseSupport;\n if (this.mouseSupport) {\n list.onMouseDown(this.onMouseDown, this, this.disposables);\n list.onContextMenu(this.onContextMenu, this, this.disposables);\n list.onMouseDblClick(this.onDoubleClick, this, this.disposables);\n list.onTouchStart(this.onMouseDown, this, this.disposables);\n this.disposables.add(_touch_js__WEBPACK_IMPORTED_MODULE_3__.Gesture.addTarget(list.getHTMLElement()));\n }\n _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.any(list.onMouseClick, list.onMouseMiddleClick, list.onTap)(this.onViewPointer, this, this.disposables);\n }\n updateOptions(optionsUpdate) {\n if (optionsUpdate.multipleSelectionSupport !== undefined) {\n this.multipleSelectionController = undefined;\n if (optionsUpdate.multipleSelectionSupport) {\n this.multipleSelectionController = this.list.options.multipleSelectionController || DefaultMultipleSelectionController;\n }\n }\n }\n isSelectionSingleChangeEvent(event) {\n if (!this.multipleSelectionController) {\n return false;\n }\n return this.multipleSelectionController.isSelectionSingleChangeEvent(event);\n }\n isSelectionRangeChangeEvent(event) {\n if (!this.multipleSelectionController) {\n return false;\n }\n return this.multipleSelectionController.isSelectionRangeChangeEvent(event);\n }\n isSelectionChangeEvent(event) {\n return this.isSelectionSingleChangeEvent(event) || this.isSelectionRangeChangeEvent(event);\n }\n onMouseDown(e) {\n if (isMonacoEditor(e.browserEvent.target)) {\n return;\n }\n if (document.activeElement !== e.browserEvent.target) {\n this.list.domFocus();\n }\n }\n onContextMenu(e) {\n if (isInputElement(e.browserEvent.target) || isMonacoEditor(e.browserEvent.target)) {\n return;\n }\n const focus = typeof e.index === 'undefined' ? [] : [e.index];\n this.list.setFocus(focus, e.browserEvent);\n }\n onViewPointer(e) {\n if (!this.mouseSupport) {\n return;\n }\n if (isInputElement(e.browserEvent.target) || isMonacoEditor(e.browserEvent.target)) {\n return;\n }\n if (e.browserEvent.isHandledByList) {\n return;\n }\n e.browserEvent.isHandledByList = true;\n const focus = e.index;\n if (typeof focus === 'undefined') {\n this.list.setFocus([], e.browserEvent);\n this.list.setSelection([], e.browserEvent);\n this.list.setAnchor(undefined);\n return;\n }\n if (this.isSelectionRangeChangeEvent(e)) {\n return this.changeSelection(e);\n }\n if (this.isSelectionChangeEvent(e)) {\n return this.changeSelection(e);\n }\n this.list.setFocus([focus], e.browserEvent);\n this.list.setAnchor(focus);\n if (!isMouseRightClick(e.browserEvent)) {\n this.list.setSelection([focus], e.browserEvent);\n }\n this._onPointer.fire(e);\n }\n onDoubleClick(e) {\n if (isInputElement(e.browserEvent.target) || isMonacoEditor(e.browserEvent.target)) {\n return;\n }\n if (this.isSelectionChangeEvent(e)) {\n return;\n }\n if (e.browserEvent.isHandledByList) {\n return;\n }\n e.browserEvent.isHandledByList = true;\n const focus = this.list.getFocus();\n this.list.setSelection(focus, e.browserEvent);\n }\n changeSelection(e) {\n const focus = e.index;\n let anchor = this.list.getAnchor();\n if (this.isSelectionRangeChangeEvent(e)) {\n if (typeof anchor === 'undefined') {\n const currentFocus = this.list.getFocus()[0];\n anchor = currentFocus !== null && currentFocus !== void 0 ? currentFocus : focus;\n this.list.setAnchor(anchor);\n }\n const min = Math.min(anchor, focus);\n const max = Math.max(anchor, focus);\n const rangeSelection = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_6__.range)(min, max + 1);\n const selection = this.list.getSelection();\n const contiguousRange = getContiguousRangeContaining(disjunction(selection, [anchor]), anchor);\n if (contiguousRange.length === 0) {\n return;\n }\n const newSelection = disjunction(rangeSelection, relativeComplement(selection, contiguousRange));\n this.list.setSelection(newSelection, e.browserEvent);\n this.list.setFocus([focus], e.browserEvent);\n }\n else if (this.isSelectionSingleChangeEvent(e)) {\n const selection = this.list.getSelection();\n const newSelection = selection.filter(i => i !== focus);\n this.list.setFocus([focus]);\n this.list.setAnchor(focus);\n if (selection.length === newSelection.length) {\n this.list.setSelection([...newSelection, focus], e.browserEvent);\n }\n else {\n this.list.setSelection(newSelection, e.browserEvent);\n }\n }\n }\n dispose() {\n this.disposables.dispose();\n }\n}\nclass DefaultStyleController {\n constructor(styleElement, selectorSuffix) {\n this.styleElement = styleElement;\n this.selectorSuffix = selectorSuffix;\n }\n style(styles) {\n var _a, _b;\n const suffix = this.selectorSuffix && `.${this.selectorSuffix}`;\n const content = [];\n if (styles.listBackground) {\n content.push(`.monaco-list${suffix} .monaco-list-rows { background: ${styles.listBackground}; }`);\n }\n if (styles.listFocusBackground) {\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused { background-color: ${styles.listFocusBackground}; }`);\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused:hover { background-color: ${styles.listFocusBackground}; }`); // overwrite :hover style in this case!\n }\n if (styles.listFocusForeground) {\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused { color: ${styles.listFocusForeground}; }`);\n }\n if (styles.listActiveSelectionBackground) {\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected { background-color: ${styles.listActiveSelectionBackground}; }`);\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected:hover { background-color: ${styles.listActiveSelectionBackground}; }`); // overwrite :hover style in this case!\n }\n if (styles.listActiveSelectionForeground) {\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected { color: ${styles.listActiveSelectionForeground}; }`);\n }\n if (styles.listActiveSelectionIconForeground) {\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected .codicon { color: ${styles.listActiveSelectionIconForeground}; }`);\n }\n if (styles.listFocusAndSelectionBackground) {\n content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.selected.focused { background-color: ${styles.listFocusAndSelectionBackground}; }\n\t\t\t`);\n }\n if (styles.listFocusAndSelectionForeground) {\n content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.selected.focused { color: ${styles.listFocusAndSelectionForeground}; }\n\t\t\t`);\n }\n if (styles.listInactiveFocusForeground) {\n content.push(`.monaco-list${suffix} .monaco-list-row.focused { color: ${styles.listInactiveFocusForeground}; }`);\n content.push(`.monaco-list${suffix} .monaco-list-row.focused:hover { color: ${styles.listInactiveFocusForeground}; }`); // overwrite :hover style in this case!\n }\n if (styles.listInactiveSelectionIconForeground) {\n content.push(`.monaco-list${suffix} .monaco-list-row.focused .codicon { color: ${styles.listInactiveSelectionIconForeground}; }`);\n }\n if (styles.listInactiveFocusBackground) {\n content.push(`.monaco-list${suffix} .monaco-list-row.focused { background-color: ${styles.listInactiveFocusBackground}; }`);\n content.push(`.monaco-list${suffix} .monaco-list-row.focused:hover { background-color: ${styles.listInactiveFocusBackground}; }`); // overwrite :hover style in this case!\n }\n if (styles.listInactiveSelectionBackground) {\n content.push(`.monaco-list${suffix} .monaco-list-row.selected { background-color: ${styles.listInactiveSelectionBackground}; }`);\n content.push(`.monaco-list${suffix} .monaco-list-row.selected:hover { background-color: ${styles.listInactiveSelectionBackground}; }`); // overwrite :hover style in this case!\n }\n if (styles.listInactiveSelectionForeground) {\n content.push(`.monaco-list${suffix} .monaco-list-row.selected { color: ${styles.listInactiveSelectionForeground}; }`);\n }\n if (styles.listHoverBackground) {\n content.push(`.monaco-list${suffix}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${styles.listHoverBackground}; }`);\n }\n if (styles.listHoverForeground) {\n content.push(`.monaco-list${suffix}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${styles.listHoverForeground}; }`);\n }\n /**\n * Outlines\n */\n const focusAndSelectionOutline = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault)(styles.listFocusAndSelectionOutline, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault)(styles.listSelectionOutline, (_a = styles.listFocusOutline) !== null && _a !== void 0 ? _a : ''));\n if (focusAndSelectionOutline) { // default: listFocusOutline\n content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused.selected { outline: 1px solid ${focusAndSelectionOutline}; outline-offset: -1px;}`);\n }\n if (styles.listFocusOutline) { // default: set\n content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.focused { outline: 1px solid ${styles.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${suffix}.last-focused .monaco-list-row.focused { outline: 1px solid ${styles.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);\n }\n const inactiveFocusAndSelectionOutline = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault)(styles.listSelectionOutline, (_b = styles.listInactiveFocusOutline) !== null && _b !== void 0 ? _b : '');\n if (inactiveFocusAndSelectionOutline) {\n content.push(`.monaco-list${suffix} .monaco-list-row.focused.selected { outline: 1px dotted ${inactiveFocusAndSelectionOutline}; outline-offset: -1px; }`);\n }\n if (styles.listSelectionOutline) { // default: activeContrastBorder\n content.push(`.monaco-list${suffix} .monaco-list-row.selected { outline: 1px dotted ${styles.listSelectionOutline}; outline-offset: -1px; }`);\n }\n if (styles.listInactiveFocusOutline) { // default: null\n content.push(`.monaco-list${suffix} .monaco-list-row.focused { outline: 1px dotted ${styles.listInactiveFocusOutline}; outline-offset: -1px; }`);\n }\n if (styles.listHoverOutline) { // default: activeContrastBorder\n content.push(`.monaco-list${suffix} .monaco-list-row:hover { outline: 1px dashed ${styles.listHoverOutline}; outline-offset: -1px; }`);\n }\n if (styles.listDropBackground) {\n content.push(`\n\t\t\t\t.monaco-list${suffix}.drop-target,\n\t\t\t\t.monaco-list${suffix} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${suffix} .monaco-list-row.drop-target { background-color: ${styles.listDropBackground} !important; color: inherit !important; }\n\t\t\t`);\n }\n if (styles.tableColumnsBorder) {\n content.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${styles.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`);\n }\n if (styles.tableOddRowsBackgroundColor) {\n content.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${styles.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`);\n }\n this.styleElement.textContent = content.join('\\n');\n }\n}\nconst unthemedListStyles = {\n listFocusBackground: '#7FB0D0',\n listActiveSelectionBackground: '#0E639C',\n listActiveSelectionForeground: '#FFFFFF',\n listActiveSelectionIconForeground: '#FFFFFF',\n listFocusAndSelectionOutline: '#90C2F9',\n listFocusAndSelectionBackground: '#094771',\n listFocusAndSelectionForeground: '#FFFFFF',\n listInactiveSelectionBackground: '#3F3F46',\n listInactiveSelectionIconForeground: '#FFFFFF',\n listHoverBackground: '#2A2D2E',\n listDropBackground: '#383B3D',\n treeIndentGuidesStroke: '#a9a9a9',\n treeInactiveIndentGuidesStroke: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#a9a9a9').transparent(0.4).toString(),\n tableColumnsBorder: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#cccccc').transparent(0.2).toString(),\n tableOddRowsBackgroundColor: _common_color_js__WEBPACK_IMPORTED_MODULE_8__.Color.fromHex('#cccccc').transparent(0.04).toString(),\n listBackground: undefined,\n listFocusForeground: undefined,\n listInactiveSelectionForeground: undefined,\n listInactiveFocusForeground: undefined,\n listInactiveFocusBackground: undefined,\n listHoverForeground: undefined,\n listFocusOutline: undefined,\n listInactiveFocusOutline: undefined,\n listSelectionOutline: undefined,\n listHoverOutline: undefined\n};\nconst DefaultOptions = {\n keyboardSupport: true,\n mouseSupport: true,\n multipleSelectionSupport: true,\n dnd: {\n getDragURI() { return null; },\n onDragStart() { },\n onDragOver() { return false; },\n drop() { }\n }\n};\n// TODO@Joao: move these utils into a SortedArray class\nfunction getContiguousRangeContaining(range, value) {\n const index = range.indexOf(value);\n if (index === -1) {\n return [];\n }\n const result = [];\n let i = index - 1;\n while (i >= 0 && range[i] === value - (index - i)) {\n result.push(range[i--]);\n }\n result.reverse();\n i = index;\n while (i < range.length && range[i] === value + (i - index)) {\n result.push(range[i++]);\n }\n return result;\n}\n/**\n * Given two sorted collections of numbers, returns the intersection\n * between them (OR).\n */\nfunction disjunction(one, other) {\n const result = [];\n let i = 0, j = 0;\n while (i < one.length || j < other.length) {\n if (i >= one.length) {\n result.push(other[j++]);\n }\n else if (j >= other.length) {\n result.push(one[i++]);\n }\n else if (one[i] === other[j]) {\n result.push(one[i]);\n i++;\n j++;\n continue;\n }\n else if (one[i] < other[j]) {\n result.push(one[i++]);\n }\n else {\n result.push(other[j++]);\n }\n }\n return result;\n}\n/**\n * Given two sorted collections of numbers, returns the relative\n * complement between them (XOR).\n */\nfunction relativeComplement(one, other) {\n const result = [];\n let i = 0, j = 0;\n while (i < one.length || j < other.length) {\n if (i >= one.length) {\n result.push(other[j++]);\n }\n else if (j >= other.length) {\n result.push(one[i++]);\n }\n else if (one[i] === other[j]) {\n i++;\n j++;\n continue;\n }\n else if (one[i] < other[j]) {\n result.push(one[i++]);\n }\n else {\n j++;\n }\n }\n return result;\n}\nconst numericSort = (a, b) => a - b;\nclass PipelineRenderer {\n constructor(_templateId, renderers) {\n this._templateId = _templateId;\n this.renderers = renderers;\n }\n get templateId() {\n return this._templateId;\n }\n renderTemplate(container) {\n return this.renderers.map(r => r.renderTemplate(container));\n }\n renderElement(element, index, templateData, height) {\n let i = 0;\n for (const renderer of this.renderers) {\n renderer.renderElement(element, index, templateData[i++], height);\n }\n }\n disposeElement(element, index, templateData, height) {\n var _a;\n let i = 0;\n for (const renderer of this.renderers) {\n (_a = renderer.disposeElement) === null || _a === void 0 ? void 0 : _a.call(renderer, element, index, templateData[i], height);\n i += 1;\n }\n }\n disposeTemplate(templateData) {\n let i = 0;\n for (const renderer of this.renderers) {\n renderer.disposeTemplate(templateData[i++]);\n }\n }\n}\nclass AccessibiltyRenderer {\n constructor(accessibilityProvider) {\n this.accessibilityProvider = accessibilityProvider;\n this.templateId = 'a18n';\n }\n renderTemplate(container) {\n return container;\n }\n renderElement(element, index, container) {\n const ariaLabel = this.accessibilityProvider.getAriaLabel(element);\n if (ariaLabel) {\n container.setAttribute('aria-label', ariaLabel);\n }\n else {\n container.removeAttribute('aria-label');\n }\n const ariaLevel = this.accessibilityProvider.getAriaLevel && this.accessibilityProvider.getAriaLevel(element);\n if (typeof ariaLevel === 'number') {\n container.setAttribute('aria-level', `${ariaLevel}`);\n }\n else {\n container.removeAttribute('aria-level');\n }\n }\n disposeTemplate(templateData) {\n // noop\n }\n}\nclass ListViewDragAndDrop {\n constructor(list, dnd) {\n this.list = list;\n this.dnd = dnd;\n }\n getDragElements(element) {\n const selection = this.list.getSelectedElements();\n const elements = selection.indexOf(element) > -1 ? selection : [element];\n return elements;\n }\n getDragURI(element) {\n return this.dnd.getDragURI(element);\n }\n getDragLabel(elements, originalEvent) {\n if (this.dnd.getDragLabel) {\n return this.dnd.getDragLabel(elements, originalEvent);\n }\n return undefined;\n }\n onDragStart(data, originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, data, originalEvent);\n }\n onDragOver(data, targetElement, targetIndex, originalEvent) {\n return this.dnd.onDragOver(data, targetElement, targetIndex, originalEvent);\n }\n onDragLeave(data, targetElement, targetIndex, originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragLeave) === null || _b === void 0 ? void 0 : _b.call(_a, data, targetElement, targetIndex, originalEvent);\n }\n onDragEnd(originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, originalEvent);\n }\n drop(data, targetElement, targetIndex, originalEvent) {\n this.dnd.drop(data, targetElement, targetIndex, originalEvent);\n }\n}\n/**\n * The {@link List} is a virtual scrolling widget, built on top of the {@link ListView}\n * widget.\n *\n * Features:\n * - Customizable keyboard and mouse support\n * - Element traits: focus, selection, achor\n * - Accessibility support\n * - Touch support\n * - Performant template-based rendering\n * - Horizontal scrolling\n * - Variable element height support\n * - Dynamic element height support\n * - Drag-and-drop support\n */\nclass List {\n get onDidChangeFocus() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.map(this.eventBufferer.wrapEvent(this.focus.onChange), e => this.toListEvent(e), this.disposables);\n }\n get onDidChangeSelection() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.map(this.eventBufferer.wrapEvent(this.selection.onChange), e => this.toListEvent(e), this.disposables);\n }\n get domId() { return this.view.domId; }\n get onMouseClick() { return this.view.onMouseClick; }\n get onMouseDblClick() { return this.view.onMouseDblClick; }\n get onMouseMiddleClick() { return this.view.onMouseMiddleClick; }\n get onPointer() { return this.mouseController.onPointer; }\n get onMouseDown() { return this.view.onMouseDown; }\n get onMouseOver() { return this.view.onMouseOver; }\n get onMouseOut() { return this.view.onMouseOut; }\n get onTouchStart() { return this.view.onTouchStart; }\n get onTap() { return this.view.onTap; }\n /**\n * Possible context menu trigger events:\n * - ContextMenu key\n * - Shift F10\n * - Ctrl Option Shift M (macOS with VoiceOver)\n * - Mouse right click\n */\n get onContextMenu() {\n let didJustPressContextMenuKey = false;\n const fromKeyDown = this.disposables.add(_common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'keydown')).event))\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e))\n .filter(e => didJustPressContextMenuKey = e.keyCode === 58 /* KeyCode.ContextMenu */ || (e.shiftKey && e.keyCode === 68 /* KeyCode.F10 */))\n .map(e => _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true))\n .filter(() => false)\n .event;\n const fromKeyUp = this.disposables.add(_common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'keyup')).event))\n .forEach(() => didJustPressContextMenuKey = false)\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e))\n .filter(e => e.keyCode === 58 /* KeyCode.ContextMenu */ || (e.shiftKey && e.keyCode === 68 /* KeyCode.F10 */))\n .map(e => _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true))\n .map(({ browserEvent }) => {\n const focus = this.getFocus();\n const index = focus.length ? focus[0] : undefined;\n const element = typeof index !== 'undefined' ? this.view.element(index) : undefined;\n const anchor = typeof index !== 'undefined' ? this.view.domElement(index) : this.view.domNode;\n return { index, element, anchor, browserEvent };\n })\n .event;\n const fromMouse = this.disposables.add(_common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.chain(this.view.onContextMenu))\n .filter(_ => !didJustPressContextMenuKey)\n .map(({ element, index, browserEvent }) => ({ element, index, anchor: { x: browserEvent.pageX + 1, y: browserEvent.pageY }, browserEvent }))\n .event;\n return _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.any(fromKeyDown, fromKeyUp, fromMouse);\n }\n get onKeyDown() { return this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'keydown')).event; }\n get onDidFocus() { return _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Event.signal(this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.view.domNode, 'focus', true)).event); }\n constructor(user, container, virtualDelegate, renderers, _options = DefaultOptions) {\n var _a, _b, _c, _d;\n this.user = user;\n this._options = _options;\n this.focus = new Trait('focused');\n this.anchor = new Trait('anchor');\n this.eventBufferer = new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.EventBufferer();\n this._ariaLabel = '';\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_12__.DisposableStore();\n this._onDidDispose = new _common_event_js__WEBPACK_IMPORTED_MODULE_10__.Emitter();\n this.onDidDispose = this._onDidDispose.event;\n const role = this._options.accessibilityProvider && this._options.accessibilityProvider.getWidgetRole ? (_a = this._options.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.getWidgetRole() : 'list';\n this.selection = new SelectionTrait(role !== 'listbox');\n const baseRenderers = [this.focus.renderer, this.selection.renderer];\n this.accessibilityProvider = _options.accessibilityProvider;\n if (this.accessibilityProvider) {\n baseRenderers.push(new AccessibiltyRenderer(this.accessibilityProvider));\n (_c = (_b = this.accessibilityProvider).onDidChangeActiveDescendant) === null || _c === void 0 ? void 0 : _c.call(_b, this.onDidChangeActiveDescendant, this, this.disposables);\n }\n renderers = renderers.map(r => new PipelineRenderer(r.templateId, [...baseRenderers, r]));\n const viewOptions = Object.assign(Object.assign({}, _options), { dnd: _options.dnd && new ListViewDragAndDrop(this, _options.dnd) });\n this.view = this.createListView(container, virtualDelegate, renderers, viewOptions);\n this.view.domNode.setAttribute('role', role);\n if (_options.styleController) {\n this.styleController = _options.styleController(this.view.domId);\n }\n else {\n const styleElement = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.createStyleSheet)(this.view.domNode);\n this.styleController = new DefaultStyleController(styleElement, this.view.domId);\n }\n this.spliceable = new _splice_js__WEBPACK_IMPORTED_MODULE_5__.CombinedSpliceable([\n new TraitSpliceable(this.focus, this.view, _options.identityProvider),\n new TraitSpliceable(this.selection, this.view, _options.identityProvider),\n new TraitSpliceable(this.anchor, this.view, _options.identityProvider),\n this.view\n ]);\n this.disposables.add(this.focus);\n this.disposables.add(this.selection);\n this.disposables.add(this.anchor);\n this.disposables.add(this.view);\n this.disposables.add(this._onDidDispose);\n this.disposables.add(new DOMFocusController(this, this.view));\n if (typeof _options.keyboardSupport !== 'boolean' || _options.keyboardSupport) {\n this.keyboardController = new KeyboardController(this, this.view, _options);\n this.disposables.add(this.keyboardController);\n }\n if (_options.keyboardNavigationLabelProvider) {\n const delegate = _options.keyboardNavigationDelegate || DefaultKeyboardNavigationDelegate;\n this.typeNavigationController = new TypeNavigationController(this, this.view, _options.keyboardNavigationLabelProvider, (_d = _options.keyboardNavigationEventFilter) !== null && _d !== void 0 ? _d : (() => true), delegate);\n this.disposables.add(this.typeNavigationController);\n }\n this.mouseController = this.createMouseController(_options);\n this.disposables.add(this.mouseController);\n this.onDidChangeFocus(this._onFocusChange, this, this.disposables);\n this.onDidChangeSelection(this._onSelectionChange, this, this.disposables);\n if (this.accessibilityProvider) {\n this.ariaLabel = this.accessibilityProvider.getWidgetAriaLabel();\n }\n if (this._options.multipleSelectionSupport !== false) {\n this.view.domNode.setAttribute('aria-multiselectable', 'true');\n }\n }\n createListView(container, virtualDelegate, renderers, viewOptions) {\n return new _listView_js__WEBPACK_IMPORTED_MODULE_18__.ListView(container, virtualDelegate, renderers, viewOptions);\n }\n createMouseController(options) {\n return new MouseController(this);\n }\n updateOptions(optionsUpdate = {}) {\n var _a, _b;\n this._options = Object.assign(Object.assign({}, this._options), optionsUpdate);\n (_a = this.typeNavigationController) === null || _a === void 0 ? void 0 : _a.updateOptions(this._options);\n if (this._options.multipleSelectionController !== undefined) {\n if (this._options.multipleSelectionSupport) {\n this.view.domNode.setAttribute('aria-multiselectable', 'true');\n }\n else {\n this.view.domNode.removeAttribute('aria-multiselectable');\n }\n }\n this.mouseController.updateOptions(optionsUpdate);\n (_b = this.keyboardController) === null || _b === void 0 ? void 0 : _b.updateOptions(optionsUpdate);\n this.view.updateOptions(optionsUpdate);\n }\n get options() {\n return this._options;\n }\n splice(start, deleteCount, elements = []) {\n if (start < 0 || start > this.view.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid start index: ${start}`);\n }\n if (deleteCount < 0) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid delete count: ${deleteCount}`);\n }\n if (deleteCount === 0 && elements.length === 0) {\n return;\n }\n this.eventBufferer.bufferEvents(() => this.spliceable.splice(start, deleteCount, elements));\n }\n rerender() {\n this.view.rerender();\n }\n element(index) {\n return this.view.element(index);\n }\n get length() {\n return this.view.length;\n }\n get contentHeight() {\n return this.view.contentHeight;\n }\n get scrollTop() {\n return this.view.getScrollTop();\n }\n set scrollTop(scrollTop) {\n this.view.setScrollTop(scrollTop);\n }\n get scrollHeight() {\n return this.view.scrollHeight;\n }\n get firstVisibleIndex() {\n return this.view.firstVisibleIndex;\n }\n get ariaLabel() {\n return this._ariaLabel;\n }\n set ariaLabel(value) {\n this._ariaLabel = value;\n this.view.domNode.setAttribute('aria-label', value);\n }\n domFocus() {\n this.view.domNode.focus({ preventScroll: true });\n }\n layout(height, width) {\n this.view.layout(height, width);\n }\n setSelection(indexes, browserEvent) {\n for (const index of indexes) {\n if (index < 0 || index >= this.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid index ${index}`);\n }\n }\n this.selection.set(indexes, browserEvent);\n }\n getSelection() {\n return this.selection.get();\n }\n getSelectedElements() {\n return this.getSelection().map(i => this.view.element(i));\n }\n setAnchor(index) {\n if (typeof index === 'undefined') {\n this.anchor.set([]);\n return;\n }\n if (index < 0 || index >= this.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid index ${index}`);\n }\n this.anchor.set([index]);\n }\n getAnchor() {\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_6__.firstOrDefault)(this.anchor.get(), undefined);\n }\n getAnchorElement() {\n const anchor = this.getAnchor();\n return typeof anchor === 'undefined' ? undefined : this.element(anchor);\n }\n setFocus(indexes, browserEvent) {\n for (const index of indexes) {\n if (index < 0 || index >= this.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid index ${index}`);\n }\n }\n this.focus.set(indexes, browserEvent);\n }\n focusNext(n = 1, loop = false, browserEvent, filter) {\n if (this.length === 0) {\n return;\n }\n const focus = this.focus.get();\n const index = this.findNextIndex(focus.length > 0 ? focus[0] + n : 0, loop, filter);\n if (index > -1) {\n this.setFocus([index], browserEvent);\n }\n }\n focusPrevious(n = 1, loop = false, browserEvent, filter) {\n if (this.length === 0) {\n return;\n }\n const focus = this.focus.get();\n const index = this.findPreviousIndex(focus.length > 0 ? focus[0] - n : 0, loop, filter);\n if (index > -1) {\n this.setFocus([index], browserEvent);\n }\n }\n focusNextPage(browserEvent, filter) {\n return __awaiter(this, void 0, void 0, function* () {\n let lastPageIndex = this.view.indexAt(this.view.getScrollTop() + this.view.renderHeight);\n lastPageIndex = lastPageIndex === 0 ? 0 : lastPageIndex - 1;\n const currentlyFocusedElementIndex = this.getFocus()[0];\n if (currentlyFocusedElementIndex !== lastPageIndex && (currentlyFocusedElementIndex === undefined || lastPageIndex > currentlyFocusedElementIndex)) {\n const lastGoodPageIndex = this.findPreviousIndex(lastPageIndex, false, filter);\n if (lastGoodPageIndex > -1 && currentlyFocusedElementIndex !== lastGoodPageIndex) {\n this.setFocus([lastGoodPageIndex], browserEvent);\n }\n else {\n this.setFocus([lastPageIndex], browserEvent);\n }\n }\n else {\n const previousScrollTop = this.view.getScrollTop();\n let nextpageScrollTop = previousScrollTop + this.view.renderHeight;\n if (lastPageIndex > currentlyFocusedElementIndex) {\n // scroll last page element to the top only if the last page element is below the focused element\n nextpageScrollTop -= this.view.elementHeight(lastPageIndex);\n }\n this.view.setScrollTop(nextpageScrollTop);\n if (this.view.getScrollTop() !== previousScrollTop) {\n this.setFocus([]);\n // Let the scroll event listener run\n yield (0,_common_async_js__WEBPACK_IMPORTED_MODULE_7__.timeout)(0);\n yield this.focusNextPage(browserEvent, filter);\n }\n }\n });\n }\n focusPreviousPage(browserEvent, filter) {\n return __awaiter(this, void 0, void 0, function* () {\n let firstPageIndex;\n const scrollTop = this.view.getScrollTop();\n if (scrollTop === 0) {\n firstPageIndex = this.view.indexAt(scrollTop);\n }\n else {\n firstPageIndex = this.view.indexAfter(scrollTop - 1);\n }\n const currentlyFocusedElementIndex = this.getFocus()[0];\n if (currentlyFocusedElementIndex !== firstPageIndex && (currentlyFocusedElementIndex === undefined || currentlyFocusedElementIndex >= firstPageIndex)) {\n const firstGoodPageIndex = this.findNextIndex(firstPageIndex, false, filter);\n if (firstGoodPageIndex > -1 && currentlyFocusedElementIndex !== firstGoodPageIndex) {\n this.setFocus([firstGoodPageIndex], browserEvent);\n }\n else {\n this.setFocus([firstPageIndex], browserEvent);\n }\n }\n else {\n const previousScrollTop = scrollTop;\n this.view.setScrollTop(scrollTop - this.view.renderHeight);\n if (this.view.getScrollTop() !== previousScrollTop) {\n this.setFocus([]);\n // Let the scroll event listener run\n yield (0,_common_async_js__WEBPACK_IMPORTED_MODULE_7__.timeout)(0);\n yield this.focusPreviousPage(browserEvent, filter);\n }\n }\n });\n }\n focusLast(browserEvent, filter) {\n if (this.length === 0) {\n return;\n }\n const index = this.findPreviousIndex(this.length - 1, false, filter);\n if (index > -1) {\n this.setFocus([index], browserEvent);\n }\n }\n focusFirst(browserEvent, filter) {\n this.focusNth(0, browserEvent, filter);\n }\n focusNth(n, browserEvent, filter) {\n if (this.length === 0) {\n return;\n }\n const index = this.findNextIndex(n, false, filter);\n if (index > -1) {\n this.setFocus([index], browserEvent);\n }\n }\n findNextIndex(index, loop = false, filter) {\n for (let i = 0; i < this.length; i++) {\n if (index >= this.length && !loop) {\n return -1;\n }\n index = index % this.length;\n if (!filter || filter(this.element(index))) {\n return index;\n }\n index++;\n }\n return -1;\n }\n findPreviousIndex(index, loop = false, filter) {\n for (let i = 0; i < this.length; i++) {\n if (index < 0 && !loop) {\n return -1;\n }\n index = (this.length + (index % this.length)) % this.length;\n if (!filter || filter(this.element(index))) {\n return index;\n }\n index--;\n }\n return -1;\n }\n getFocus() {\n return this.focus.get();\n }\n getFocusedElements() {\n return this.getFocus().map(i => this.view.element(i));\n }\n reveal(index, relativeTop) {\n if (index < 0 || index >= this.length) {\n throw new _list_js__WEBPACK_IMPORTED_MODULE_17__.ListError(this.user, `Invalid index ${index}`);\n }\n const scrollTop = this.view.getScrollTop();\n const elementTop = this.view.elementTop(index);\n const elementHeight = this.view.elementHeight(index);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_15__.isNumber)(relativeTop)) {\n // y = mx + b\n const m = elementHeight - this.view.renderHeight;\n this.view.setScrollTop(m * (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_13__.clamp)(relativeTop, 0, 1) + elementTop);\n }\n else {\n const viewItemBottom = elementTop + elementHeight;\n const scrollBottom = scrollTop + this.view.renderHeight;\n if (elementTop < scrollTop && viewItemBottom >= scrollBottom) {\n // The element is already overflowing the viewport, no-op\n }\n else if (elementTop < scrollTop || (viewItemBottom >= scrollBottom && elementHeight >= this.view.renderHeight)) {\n this.view.setScrollTop(elementTop);\n }\n else if (viewItemBottom >= scrollBottom) {\n this.view.setScrollTop(viewItemBottom - this.view.renderHeight);\n }\n }\n }\n getHTMLElement() {\n return this.view.domNode;\n }\n getElementID(index) {\n return this.view.getElementDomId(index);\n }\n style(styles) {\n this.styleController.style(styles);\n }\n toListEvent({ indexes, browserEvent }) {\n return { indexes, elements: indexes.map(i => this.view.element(i)), browserEvent };\n }\n _onFocusChange() {\n const focus = this.focus.get();\n this.view.domNode.classList.toggle('element-focused', focus.length > 0);\n this.onDidChangeActiveDescendant();\n }\n onDidChangeActiveDescendant() {\n var _a;\n const focus = this.focus.get();\n if (focus.length > 0) {\n let id;\n if ((_a = this.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.getActiveDescendantId) {\n id = this.accessibilityProvider.getActiveDescendantId(this.view.element(focus[0]));\n }\n this.view.domNode.setAttribute('aria-activedescendant', id || this.view.getElementDomId(focus[0]));\n }\n else {\n this.view.domNode.removeAttribute('aria-activedescendant');\n }\n }\n _onSelectionChange() {\n const selection = this.selection.get();\n this.view.domNode.classList.toggle('selection-none', selection.length === 0);\n this.view.domNode.classList.toggle('selection-single', selection.length === 1);\n this.view.domNode.classList.toggle('selection-multiple', selection.length > 1);\n }\n dispose() {\n this._onDidDispose.fire();\n this.disposables.dispose();\n this._onDidDispose.dispose();\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], List.prototype, \"onDidChangeFocus\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], List.prototype, \"onDidChangeSelection\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], List.prototype, \"onContextMenu\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], List.prototype, \"onKeyDown\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_9__.memoize\n], List.prototype, \"onDidFocus\", null);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js": +/*!****************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.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 */ RangeMap: () => (/* binding */ RangeMap),\n/* harmony export */ consolidate: () => (/* binding */ consolidate),\n/* harmony export */ groupIntersect: () => (/* binding */ groupIntersect),\n/* harmony export */ shift: () => (/* binding */ shift)\n/* harmony export */ });\n/* harmony import */ var _common_range_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/range.js */ \"./node_modules/monaco-editor/esm/vs/base/common/range.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 * Returns the intersection between a ranged group and a range.\n * Returns `[]` if the intersection is empty.\n */\nfunction groupIntersect(range, groups) {\n const result = [];\n for (const r of groups) {\n if (range.start >= r.range.end) {\n continue;\n }\n if (range.end < r.range.start) {\n break;\n }\n const intersection = _common_range_js__WEBPACK_IMPORTED_MODULE_0__.Range.intersect(range, r.range);\n if (_common_range_js__WEBPACK_IMPORTED_MODULE_0__.Range.isEmpty(intersection)) {\n continue;\n }\n result.push({\n range: intersection,\n size: r.size\n });\n }\n return result;\n}\n/**\n * Shifts a range by that `much`.\n */\nfunction shift({ start, end }, much) {\n return { start: start + much, end: end + much };\n}\n/**\n * Consolidates a collection of ranged groups.\n *\n * Consolidation is the process of merging consecutive ranged groups\n * that share the same `size`.\n */\nfunction consolidate(groups) {\n const result = [];\n let previousGroup = null;\n for (const group of groups) {\n const start = group.range.start;\n const end = group.range.end;\n const size = group.size;\n if (previousGroup && size === previousGroup.size) {\n previousGroup.range.end = end;\n continue;\n }\n previousGroup = { range: { start, end }, size };\n result.push(previousGroup);\n }\n return result;\n}\n/**\n * Concatenates several collections of ranged groups into a single\n * collection.\n */\nfunction concat(...groups) {\n return consolidate(groups.reduce((r, g) => r.concat(g), []));\n}\nclass RangeMap {\n constructor() {\n this.groups = [];\n this._size = 0;\n }\n splice(index, deleteCount, items = []) {\n const diff = items.length - deleteCount;\n const before = groupIntersect({ start: 0, end: index }, this.groups);\n const after = groupIntersect({ start: index + deleteCount, end: Number.POSITIVE_INFINITY }, this.groups)\n .map(g => ({ range: shift(g.range, diff), size: g.size }));\n const middle = items.map((item, i) => ({\n range: { start: index + i, end: index + i + 1 },\n size: item.size\n }));\n this.groups = concat(before, middle, after);\n this._size = this.groups.reduce((t, g) => t + (g.size * (g.range.end - g.range.start)), 0);\n }\n /**\n * Returns the number of items in the range map.\n */\n get count() {\n const len = this.groups.length;\n if (!len) {\n return 0;\n }\n return this.groups[len - 1].range.end;\n }\n /**\n * Returns the sum of the sizes of all items in the range map.\n */\n get size() {\n return this._size;\n }\n /**\n * Returns the index of the item at the given position.\n */\n indexAt(position) {\n if (position < 0) {\n return -1;\n }\n let index = 0;\n let size = 0;\n for (const group of this.groups) {\n const count = group.range.end - group.range.start;\n const newSize = size + (count * group.size);\n if (position < newSize) {\n return index + Math.floor((position - size) / group.size);\n }\n index += count;\n size = newSize;\n }\n return index;\n }\n /**\n * Returns the index of the item right after the item at the\n * index of the given position.\n */\n indexAfter(position) {\n return Math.min(this.indexAt(position) + 1, this.count);\n }\n /**\n * Returns the start position of the item at the given index.\n */\n positionAt(index) {\n if (index < 0) {\n return -1;\n }\n let position = 0;\n let count = 0;\n for (const group of this.groups) {\n const groupCount = group.range.end - group.range.start;\n const newCount = count + groupCount;\n if (index < newCount) {\n return position + ((index - count) * group.size);\n }\n position += groupCount * group.size;\n count = newCount;\n }\n return -1;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js": +/*!****************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.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 */ RowCache: () => (/* binding */ RowCache)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.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\nfunction removeFromParent(element) {\n var _a;\n try {\n (_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(element);\n }\n catch (e) {\n // this will throw if this happens due to a blur event, nasty business\n }\n}\nclass RowCache {\n constructor(renderers) {\n this.renderers = renderers;\n this.cache = new Map();\n this.transactionNodesPendingRemoval = new Set();\n this.inTransaction = false;\n }\n /**\n * Returns a row either by creating a new one or reusing\n * a previously released row which shares the same templateId.\n *\n * @returns A row and `isReusingConnectedDomNode` if the row's node is already in the dom in a stale position.\n */\n alloc(templateId) {\n let result = this.getTemplateCache(templateId).pop();\n let isStale = false;\n if (result) {\n isStale = this.transactionNodesPendingRemoval.has(result.domNode);\n if (isStale) {\n this.transactionNodesPendingRemoval.delete(result.domNode);\n }\n }\n else {\n const domNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-list-row');\n const renderer = this.getRenderer(templateId);\n const templateData = renderer.renderTemplate(domNode);\n result = { domNode, templateId, templateData };\n }\n return { row: result, isReusingConnectedDomNode: isStale };\n }\n /**\n * Releases the row for eventual reuse.\n */\n release(row) {\n if (!row) {\n return;\n }\n this.releaseRow(row);\n }\n /**\n * Begin a set of changes that use the cache. This lets us skip work when a row is removed and then inserted again.\n */\n transact(makeChanges) {\n if (this.inTransaction) {\n throw new Error('Already in transaction');\n }\n this.inTransaction = true;\n try {\n makeChanges();\n }\n finally {\n for (const domNode of this.transactionNodesPendingRemoval) {\n this.doRemoveNode(domNode);\n }\n this.transactionNodesPendingRemoval.clear();\n this.inTransaction = false;\n }\n }\n releaseRow(row) {\n const { domNode, templateId } = row;\n if (domNode) {\n if (this.inTransaction) {\n this.transactionNodesPendingRemoval.add(domNode);\n }\n else {\n this.doRemoveNode(domNode);\n }\n }\n const cache = this.getTemplateCache(templateId);\n cache.push(row);\n }\n doRemoveNode(domNode) {\n domNode.classList.remove('scrolling');\n removeFromParent(domNode);\n }\n getTemplateCache(templateId) {\n let result = this.cache.get(templateId);\n if (!result) {\n result = [];\n this.cache.set(templateId, result);\n }\n return result;\n }\n dispose() {\n this.cache.forEach((cachedRows, templateId) => {\n for (const cachedRow of cachedRows) {\n const renderer = this.getRenderer(templateId);\n renderer.disposeTemplate(cachedRow.templateData);\n cachedRow.templateData = null;\n }\n });\n this.cache.clear();\n this.transactionNodesPendingRemoval.clear();\n }\n getRenderer(templateId) {\n const renderer = this.renderers.get(templateId);\n if (!renderer) {\n throw new Error(`No renderer found for ${templateId}`);\n }\n return renderer;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js": +/*!**************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.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 */ CombinedSpliceable: () => (/* binding */ CombinedSpliceable)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nclass CombinedSpliceable {\n constructor(spliceables) {\n this.spliceables = spliceables;\n }\n splice(start, deleteCount, elements) {\n this.spliceables.forEach(s => s.splice(start, deleteCount, elements));\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js": +/*!************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.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 */ Direction: () => (/* binding */ Direction),\n/* harmony export */ MENU_ESCAPED_MNEMONIC_REGEX: () => (/* binding */ MENU_ESCAPED_MNEMONIC_REGEX),\n/* harmony export */ MENU_MNEMONIC_REGEX: () => (/* binding */ MENU_MNEMONIC_REGEX),\n/* harmony export */ Menu: () => (/* binding */ Menu),\n/* harmony export */ cleanMnemonic: () => (/* binding */ cleanMnemonic),\n/* harmony export */ formatRule: () => (/* binding */ formatRule)\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 _touch_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../actionbar/actionViewItems.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js\");\n/* harmony import */ var _contextview_contextview_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../contextview/contextview.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _common_iconLabels_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _common_strings_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../common/strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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\n\n\n\nconst MENU_MNEMONIC_REGEX = /\\(&([^\\s&])\\)|(^|[^&])&([^\\s&])/;\nconst MENU_ESCAPED_MNEMONIC_REGEX = /(&)?(&)([^\\s&])/g;\nvar Direction;\n(function (Direction) {\n Direction[Direction[\"Right\"] = 0] = \"Right\";\n Direction[Direction[\"Left\"] = 1] = \"Left\";\n})(Direction || (Direction = {}));\nclass Menu extends _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_5__.ActionBar {\n constructor(container, actions, options, menuStyles) {\n container.classList.add('monaco-menu-container');\n container.setAttribute('role', 'presentation');\n const menuElement = document.createElement('div');\n menuElement.classList.add('monaco-menu');\n menuElement.setAttribute('role', 'presentation');\n super(menuElement, {\n orientation: 1 /* ActionsOrientation.VERTICAL */,\n actionViewItemProvider: action => this.doGetActionViewItem(action, options, parentData),\n context: options.context,\n actionRunner: options.actionRunner,\n ariaLabel: options.ariaLabel,\n ariaRole: 'menu',\n focusOnlyEnabledItems: true,\n triggerKeys: { keys: [3 /* KeyCode.Enter */, ...(_common_platform_js__WEBPACK_IMPORTED_MODULE_15__.isMacintosh || _common_platform_js__WEBPACK_IMPORTED_MODULE_15__.isLinux ? [10 /* KeyCode.Space */] : [])], keyDown: true }\n });\n this.menuStyles = menuStyles;\n this.menuElement = menuElement;\n this.actionsList.tabIndex = 0;\n this.menuDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_14__.DisposableStore());\n this.initializeOrUpdateStyleSheet(container, menuStyles);\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_1__.Gesture.addTarget(menuElement));\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(menuElement, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, (e) => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n // Stop tab navigation of menus\n if (event.equals(2 /* KeyCode.Tab */)) {\n e.preventDefault();\n }\n });\n if (options.enableMnemonics) {\n this.menuDisposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(menuElement, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, (e) => {\n const key = e.key.toLocaleLowerCase();\n if (this.mnemonics.has(key)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n const actions = this.mnemonics.get(key);\n if (actions.length === 1) {\n if (actions[0] instanceof SubmenuMenuActionViewItem && actions[0].container) {\n this.focusItemByElement(actions[0].container);\n }\n actions[0].onClick(e);\n }\n if (actions.length > 1) {\n const action = actions.shift();\n if (action && action.container) {\n this.focusItemByElement(action.container);\n actions.push(action);\n }\n this.mnemonics.set(key, actions);\n }\n }\n }));\n }\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_15__.isLinux) {\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(menuElement, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n if (event.equals(14 /* KeyCode.Home */) || event.equals(11 /* KeyCode.PageUp */)) {\n this.focusedItem = this.viewItems.length - 1;\n this.focusNext();\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }\n else if (event.equals(13 /* KeyCode.End */) || event.equals(12 /* KeyCode.PageDown */)) {\n this.focusedItem = 0;\n this.focusPrevious();\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }\n }));\n }\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_OUT, e => {\n const relatedTarget = e.relatedTarget;\n if (!(0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isAncestor)(relatedTarget, this.domNode)) {\n this.focusedItem = undefined;\n this.updateFocus();\n e.stopPropagation();\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.actionsList, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_OVER, e => {\n let target = e.target;\n if (!target || !(0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isAncestor)(target, this.actionsList) || target === this.actionsList) {\n return;\n }\n while (target.parentElement !== this.actionsList && target.parentElement !== null) {\n target = target.parentElement;\n }\n if (target.classList.contains('action-item')) {\n const lastFocusedItem = this.focusedItem;\n this.setFocusedItem(target);\n if (lastFocusedItem !== this.focusedItem) {\n this.updateFocus();\n }\n }\n }));\n // Support touch on actions list to focus items (needed for submenus)\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_1__.Gesture.addTarget(this.actionsList));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.actionsList, _touch_js__WEBPACK_IMPORTED_MODULE_1__.EventType.Tap, e => {\n let target = e.initialTarget;\n if (!target || !(0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isAncestor)(target, this.actionsList) || target === this.actionsList) {\n return;\n }\n while (target.parentElement !== this.actionsList && target.parentElement !== null) {\n target = target.parentElement;\n }\n if (target.classList.contains('action-item')) {\n const lastFocusedItem = this.focusedItem;\n this.setFocusedItem(target);\n if (lastFocusedItem !== this.focusedItem) {\n this.updateFocus();\n }\n }\n }));\n const parentData = {\n parent: this\n };\n this.mnemonics = new Map();\n // Scroll Logic\n this.scrollableElement = this._register(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_8__.DomScrollableElement(menuElement, {\n alwaysConsumeMouseWheel: true,\n horizontal: 2 /* ScrollbarVisibility.Hidden */,\n vertical: 3 /* ScrollbarVisibility.Visible */,\n verticalScrollbarSize: 7,\n handleMouseWheel: true,\n useShadows: true\n }));\n const scrollElement = this.scrollableElement.getDomNode();\n scrollElement.style.position = '';\n this.styleScrollElement(scrollElement, menuStyles);\n // Support scroll on menu drag\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(menuElement, _touch_js__WEBPACK_IMPORTED_MODULE_1__.EventType.Change, e => {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n const scrollTop = this.scrollableElement.getScrollPosition().scrollTop;\n this.scrollableElement.setScrollPosition({ scrollTop: scrollTop - e.translationY });\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(scrollElement, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_UP, e => {\n // Absorb clicks in menu dead space https://github.com/microsoft/vscode/issues/63575\n // We do this on the scroll element so the scroll bar doesn't dismiss the menu either\n e.preventDefault();\n }));\n menuElement.style.maxHeight = `${Math.max(10, window.innerHeight - container.getBoundingClientRect().top - 35)}px`;\n actions = actions.filter(a => {\n var _a;\n if ((_a = options.submenuIds) === null || _a === void 0 ? void 0 : _a.has(a.id)) {\n console.warn(`Found submenu cycle: ${a.id}`);\n return false;\n }\n return true;\n });\n this.push(actions, { icon: true, label: true, isMenu: true });\n container.appendChild(this.scrollableElement.getDomNode());\n this.scrollableElement.scanDomNode();\n this.viewItems.filter(item => !(item instanceof MenuSeparatorActionViewItem)).forEach((item, index, array) => {\n item.updatePositionInSet(index + 1, array.length);\n });\n }\n initializeOrUpdateStyleSheet(container, style) {\n if (!this.styleSheet) {\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isInShadowDOM)(container)) {\n this.styleSheet = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.createStyleSheet)(container);\n }\n else {\n if (!Menu.globalStyleSheet) {\n Menu.globalStyleSheet = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.createStyleSheet)();\n }\n this.styleSheet = Menu.globalStyleSheet;\n }\n }\n this.styleSheet.textContent = getMenuWidgetCSS(style, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isInShadowDOM)(container));\n }\n styleScrollElement(scrollElement, style) {\n var _a, _b;\n const fgColor = (_a = style.foregroundColor) !== null && _a !== void 0 ? _a : '';\n const bgColor = (_b = style.backgroundColor) !== null && _b !== void 0 ? _b : '';\n const border = style.borderColor ? `1px solid ${style.borderColor}` : '';\n const borderRadius = '5px';\n const shadow = style.shadowColor ? `0 2px 8px ${style.shadowColor}` : '';\n scrollElement.style.outline = border;\n scrollElement.style.borderRadius = borderRadius;\n scrollElement.style.color = fgColor;\n scrollElement.style.backgroundColor = bgColor;\n scrollElement.style.boxShadow = shadow;\n }\n getContainer() {\n return this.scrollableElement.getDomNode();\n }\n get onScroll() {\n return this.scrollableElement.onScroll;\n }\n focusItemByElement(element) {\n const lastFocusedItem = this.focusedItem;\n this.setFocusedItem(element);\n if (lastFocusedItem !== this.focusedItem) {\n this.updateFocus();\n }\n }\n setFocusedItem(element) {\n for (let i = 0; i < this.actionsList.children.length; i++) {\n const elem = this.actionsList.children[i];\n if (element === elem) {\n this.focusedItem = i;\n break;\n }\n }\n }\n updateFocus(fromRight) {\n super.updateFocus(fromRight, true, true);\n if (typeof this.focusedItem !== 'undefined') {\n // Workaround for #80047 caused by an issue in chromium\n // https://bugs.chromium.org/p/chromium/issues/detail?id=414283\n // When that's fixed, just call this.scrollableElement.scanDomNode()\n this.scrollableElement.setScrollPosition({\n scrollTop: Math.round(this.menuElement.scrollTop)\n });\n }\n }\n doGetActionViewItem(action, options, parentData) {\n if (action instanceof _common_actions_js__WEBPACK_IMPORTED_MODULE_9__.Separator) {\n return new MenuSeparatorActionViewItem(options.context, action, { icon: true }, this.menuStyles);\n }\n else if (action instanceof _common_actions_js__WEBPACK_IMPORTED_MODULE_9__.SubmenuAction) {\n const menuActionViewItem = new SubmenuMenuActionViewItem(action, action.actions, parentData, Object.assign(Object.assign({}, options), { submenuIds: new Set([...(options.submenuIds || []), action.id]) }), this.menuStyles);\n if (options.enableMnemonics) {\n const mnemonic = menuActionViewItem.getMnemonic();\n if (mnemonic && menuActionViewItem.isEnabled()) {\n let actionViewItems = [];\n if (this.mnemonics.has(mnemonic)) {\n actionViewItems = this.mnemonics.get(mnemonic);\n }\n actionViewItems.push(menuActionViewItem);\n this.mnemonics.set(mnemonic, actionViewItems);\n }\n }\n return menuActionViewItem;\n }\n else {\n const menuItemOptions = { enableMnemonics: options.enableMnemonics, useEventAsContext: options.useEventAsContext };\n if (options.getKeyBinding) {\n const keybinding = options.getKeyBinding(action);\n if (keybinding) {\n const keybindingLabel = keybinding.getLabel();\n if (keybindingLabel) {\n menuItemOptions.keybinding = keybindingLabel;\n }\n }\n }\n const menuActionViewItem = new BaseMenuActionViewItem(options.context, action, menuItemOptions, this.menuStyles);\n if (options.enableMnemonics) {\n const mnemonic = menuActionViewItem.getMnemonic();\n if (mnemonic && menuActionViewItem.isEnabled()) {\n let actionViewItems = [];\n if (this.mnemonics.has(mnemonic)) {\n actionViewItems = this.mnemonics.get(mnemonic);\n }\n actionViewItems.push(menuActionViewItem);\n this.mnemonics.set(mnemonic, actionViewItems);\n }\n }\n return menuActionViewItem;\n }\n }\n}\nclass BaseMenuActionViewItem extends _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_6__.BaseActionViewItem {\n constructor(ctx, action, options, menuStyle) {\n options.isMenu = true;\n super(action, action, options);\n this.menuStyle = menuStyle;\n this.options = options;\n this.options.icon = options.icon !== undefined ? options.icon : false;\n this.options.label = options.label !== undefined ? options.label : true;\n this.cssClass = '';\n // Set mnemonic\n if (this.options.label && options.enableMnemonics) {\n const label = this.action.label;\n if (label) {\n const matches = MENU_MNEMONIC_REGEX.exec(label);\n if (matches) {\n this.mnemonic = (!!matches[1] ? matches[1] : matches[3]).toLocaleLowerCase();\n }\n }\n }\n // Add mouse up listener later to avoid accidental clicks\n this.runOnceToEnableMouseUp = new _common_async_js__WEBPACK_IMPORTED_MODULE_10__.RunOnceScheduler(() => {\n if (!this.element) {\n return;\n }\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_UP, e => {\n // removed default prevention as it conflicts\n // with BaseActionViewItem #101537\n // add back if issues arise and link new issue\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n // See https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Interact_with_the_clipboard\n // > Writing to the clipboard\n // > You can use the \"cut\" and \"copy\" commands without any special\n // permission if you are using them in a short-lived event handler\n // for a user action (for example, a click handler).\n // => to get the Copy and Paste context menu actions working on Firefox,\n // there should be no timeout here\n if (_browser_js__WEBPACK_IMPORTED_MODULE_0__.isFirefox) {\n const mouseEvent = new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_4__.StandardMouseEvent(e);\n // Allowing right click to trigger the event causes the issue described below,\n // but since the solution below does not work in FF, we must disable right click\n if (mouseEvent.rightButton) {\n return;\n }\n this.onClick(e);\n }\n // In all other cases, set timeout to allow context menu cancellation to trigger\n // otherwise the action will destroy the menu and a second context menu\n // will still trigger for right click.\n else {\n setTimeout(() => {\n this.onClick(e);\n }, 0);\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.CONTEXT_MENU, e => {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }));\n }, 100);\n this._register(this.runOnceToEnableMouseUp);\n }\n render(container) {\n super.render(container);\n if (!this.element) {\n return;\n }\n this.container = container;\n this.item = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('a.action-menu-item'));\n if (this._action.id === _common_actions_js__WEBPACK_IMPORTED_MODULE_9__.Separator.ID) {\n // A separator is a presentation item\n this.item.setAttribute('role', 'presentation');\n }\n else {\n this.item.setAttribute('role', 'menuitem');\n if (this.mnemonic) {\n this.item.setAttribute('aria-keyshortcuts', `${this.mnemonic}`);\n }\n }\n this.check = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('span.menu-item-check' + _common_themables_js__WEBPACK_IMPORTED_MODULE_12__.ThemeIcon.asCSSSelector(_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.Codicon.menuSelection)));\n this.check.setAttribute('role', 'none');\n this.label = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('span.action-label'));\n if (this.options.label && this.options.keybinding) {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('span.keybinding')).textContent = this.options.keybinding;\n }\n // Adds mouse up listener to actually run the action\n this.runOnceToEnableMouseUp.schedule();\n this.updateClass();\n this.updateLabel();\n this.updateTooltip();\n this.updateEnabled();\n this.updateChecked();\n this.applyStyle();\n }\n blur() {\n super.blur();\n this.applyStyle();\n }\n focus() {\n var _a;\n super.focus();\n (_a = this.item) === null || _a === void 0 ? void 0 : _a.focus();\n this.applyStyle();\n }\n updatePositionInSet(pos, setSize) {\n if (this.item) {\n this.item.setAttribute('aria-posinset', `${pos}`);\n this.item.setAttribute('aria-setsize', `${setSize}`);\n }\n }\n updateLabel() {\n var _a;\n if (!this.label) {\n return;\n }\n if (this.options.label) {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.clearNode)(this.label);\n let label = (0,_common_iconLabels_js__WEBPACK_IMPORTED_MODULE_13__.stripIcons)(this.action.label);\n if (label) {\n const cleanLabel = cleanMnemonic(label);\n if (!this.options.enableMnemonics) {\n label = cleanLabel;\n }\n this.label.setAttribute('aria-label', cleanLabel.replace(/&&/g, '&'));\n const matches = MENU_MNEMONIC_REGEX.exec(label);\n if (matches) {\n label = _common_strings_js__WEBPACK_IMPORTED_MODULE_16__.escape(label);\n // This is global, reset it\n MENU_ESCAPED_MNEMONIC_REGEX.lastIndex = 0;\n let escMatch = MENU_ESCAPED_MNEMONIC_REGEX.exec(label);\n // We can't use negative lookbehind so if we match our negative and skip\n while (escMatch && escMatch[1]) {\n escMatch = MENU_ESCAPED_MNEMONIC_REGEX.exec(label);\n }\n const replaceDoubleEscapes = (str) => str.replace(/&&/g, '&');\n if (escMatch) {\n this.label.append(_common_strings_js__WEBPACK_IMPORTED_MODULE_16__.ltrim(replaceDoubleEscapes(label.substr(0, escMatch.index)), ' '), (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('u', { 'aria-hidden': 'true' }, escMatch[3]), _common_strings_js__WEBPACK_IMPORTED_MODULE_16__.rtrim(replaceDoubleEscapes(label.substr(escMatch.index + escMatch[0].length)), ' '));\n }\n else {\n this.label.innerText = replaceDoubleEscapes(label).trim();\n }\n (_a = this.item) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-keyshortcuts', (!!matches[1] ? matches[1] : matches[3]).toLocaleLowerCase());\n }\n else {\n this.label.innerText = label.replace(/&&/g, '&').trim();\n }\n }\n }\n }\n updateTooltip() {\n // menus should function like native menus and they do not have tooltips\n }\n updateClass() {\n if (this.cssClass && this.item) {\n this.item.classList.remove(...this.cssClass.split(' '));\n }\n if (this.options.icon && this.label) {\n this.cssClass = this.action.class || '';\n this.label.classList.add('icon');\n if (this.cssClass) {\n this.label.classList.add(...this.cssClass.split(' '));\n }\n this.updateEnabled();\n }\n else if (this.label) {\n this.label.classList.remove('icon');\n }\n }\n updateEnabled() {\n if (this.action.enabled) {\n if (this.element) {\n this.element.classList.remove('disabled');\n this.element.removeAttribute('aria-disabled');\n }\n if (this.item) {\n this.item.classList.remove('disabled');\n this.item.removeAttribute('aria-disabled');\n this.item.tabIndex = 0;\n }\n }\n else {\n if (this.element) {\n this.element.classList.add('disabled');\n this.element.setAttribute('aria-disabled', 'true');\n }\n if (this.item) {\n this.item.classList.add('disabled');\n this.item.setAttribute('aria-disabled', 'true');\n }\n }\n }\n updateChecked() {\n if (!this.item) {\n return;\n }\n const checked = this.action.checked;\n this.item.classList.toggle('checked', !!checked);\n if (checked !== undefined) {\n this.item.setAttribute('role', 'menuitemcheckbox');\n this.item.setAttribute('aria-checked', checked ? 'true' : 'false');\n }\n else {\n this.item.setAttribute('role', 'menuitem');\n this.item.setAttribute('aria-checked', '');\n }\n }\n getMnemonic() {\n return this.mnemonic;\n }\n applyStyle() {\n const isSelected = this.element && this.element.classList.contains('focused');\n const fgColor = isSelected && this.menuStyle.selectionForegroundColor ? this.menuStyle.selectionForegroundColor : this.menuStyle.foregroundColor;\n const bgColor = isSelected && this.menuStyle.selectionBackgroundColor ? this.menuStyle.selectionBackgroundColor : undefined;\n const outline = isSelected && this.menuStyle.selectionBorderColor ? `1px solid ${this.menuStyle.selectionBorderColor}` : '';\n const outlineOffset = isSelected && this.menuStyle.selectionBorderColor ? `-1px` : '';\n if (this.item) {\n this.item.style.color = fgColor !== null && fgColor !== void 0 ? fgColor : '';\n this.item.style.backgroundColor = bgColor !== null && bgColor !== void 0 ? bgColor : '';\n this.item.style.outline = outline;\n this.item.style.outlineOffset = outlineOffset;\n }\n if (this.check) {\n this.check.style.color = fgColor !== null && fgColor !== void 0 ? fgColor : '';\n }\n }\n}\nclass SubmenuMenuActionViewItem extends BaseMenuActionViewItem {\n constructor(action, submenuActions, parentData, submenuOptions, menuStyles) {\n super(action, action, submenuOptions, menuStyles);\n this.submenuActions = submenuActions;\n this.parentData = parentData;\n this.submenuOptions = submenuOptions;\n this.mysubmenu = null;\n this.submenuDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_14__.DisposableStore());\n this.mouseOver = false;\n this.expandDirection = submenuOptions && submenuOptions.expandDirection !== undefined ? submenuOptions.expandDirection : Direction.Right;\n this.showScheduler = new _common_async_js__WEBPACK_IMPORTED_MODULE_10__.RunOnceScheduler(() => {\n if (this.mouseOver) {\n this.cleanupExistingSubmenu(false);\n this.createSubmenu(false);\n }\n }, 250);\n this.hideScheduler = new _common_async_js__WEBPACK_IMPORTED_MODULE_10__.RunOnceScheduler(() => {\n if (this.element && (!(0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isAncestor)((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.getActiveElement)(), this.element) && this.parentData.submenu === this.mysubmenu)) {\n this.parentData.parent.focus(false);\n this.cleanupExistingSubmenu(true);\n }\n }, 750);\n }\n render(container) {\n super.render(container);\n if (!this.element) {\n return;\n }\n if (this.item) {\n this.item.classList.add('monaco-submenu-item');\n this.item.tabIndex = 0;\n this.item.setAttribute('aria-haspopup', 'true');\n this.updateAriaExpanded('false');\n this.submenuIndicator = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.item, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('span.submenu-indicator' + _common_themables_js__WEBPACK_IMPORTED_MODULE_12__.ThemeIcon.asCSSSelector(_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.Codicon.menuSubmenu)));\n this.submenuIndicator.setAttribute('aria-hidden', 'true');\n }\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_UP, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n if (event.equals(17 /* KeyCode.RightArrow */) || event.equals(3 /* KeyCode.Enter */)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n this.createSubmenu(true);\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.getActiveElement)() === this.item) {\n if (event.equals(17 /* KeyCode.RightArrow */) || event.equals(3 /* KeyCode.Enter */)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_OVER, e => {\n if (!this.mouseOver) {\n this.mouseOver = true;\n this.showScheduler.schedule();\n }\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.MOUSE_LEAVE, e => {\n this.mouseOver = false;\n }));\n this._register((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.element, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.FOCUS_OUT, e => {\n if (this.element && !(0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.isAncestor)((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.getActiveElement)(), this.element)) {\n this.hideScheduler.schedule();\n }\n }));\n this._register(this.parentData.parent.onScroll(() => {\n if (this.parentData.submenu === this.mysubmenu) {\n this.parentData.parent.focus(false);\n this.cleanupExistingSubmenu(true);\n }\n }));\n }\n updateEnabled() {\n // override on submenu entry\n // native menus do not observe enablement on sumbenus\n // we mimic that behavior\n }\n onClick(e) {\n // stop clicking from trying to run an action\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n this.cleanupExistingSubmenu(false);\n this.createSubmenu(true);\n }\n cleanupExistingSubmenu(force) {\n if (this.parentData.submenu && (force || (this.parentData.submenu !== this.mysubmenu))) {\n // disposal may throw if the submenu has already been removed\n try {\n this.parentData.submenu.dispose();\n }\n catch (_a) { }\n this.parentData.submenu = undefined;\n this.updateAriaExpanded('false');\n if (this.submenuContainer) {\n this.submenuDisposables.clear();\n this.submenuContainer = undefined;\n }\n }\n }\n calculateSubmenuMenuLayout(windowDimensions, submenu, entry, expandDirection) {\n const ret = { top: 0, left: 0 };\n // Start with horizontal\n ret.left = (0,_contextview_contextview_js__WEBPACK_IMPORTED_MODULE_7__.layout)(windowDimensions.width, submenu.width, { position: expandDirection === Direction.Right ? 0 /* LayoutAnchorPosition.Before */ : 1 /* LayoutAnchorPosition.After */, offset: entry.left, size: entry.width });\n // We don't have enough room to layout the menu fully, so we are overlapping the menu\n if (ret.left >= entry.left && ret.left < entry.left + entry.width) {\n if (entry.left + 10 + submenu.width <= windowDimensions.width) {\n ret.left = entry.left + 10;\n }\n entry.top += 10;\n entry.height = 0;\n }\n // Now that we have a horizontal position, try layout vertically\n ret.top = (0,_contextview_contextview_js__WEBPACK_IMPORTED_MODULE_7__.layout)(windowDimensions.height, submenu.height, { position: 0 /* LayoutAnchorPosition.Before */, offset: entry.top, size: 0 });\n // We didn't have enough room below, but we did above, so we shift down to align the menu\n if (ret.top + submenu.height === entry.top && ret.top + entry.height + submenu.height <= windowDimensions.height) {\n ret.top += entry.height;\n }\n return ret;\n }\n createSubmenu(selectFirstItem = true) {\n if (!this.element) {\n return;\n }\n if (!this.parentData.submenu) {\n this.updateAriaExpanded('true');\n this.submenuContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.append)(this.element, (0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.$)('div.monaco-submenu'));\n this.submenuContainer.classList.add('menubar-menu-items-holder', 'context-view');\n // Set the top value of the menu container before construction\n // This allows the menu constructor to calculate the proper max height\n const computedStyles = getComputedStyle(this.parentData.parent.domNode);\n const paddingTop = parseFloat(computedStyles.paddingTop || '0') || 0;\n // this.submenuContainer.style.top = `${this.element.offsetTop - this.parentData.parent.scrollOffset - paddingTop}px`;\n this.submenuContainer.style.zIndex = '1';\n this.submenuContainer.style.position = 'fixed';\n this.submenuContainer.style.top = '0';\n this.submenuContainer.style.left = '0';\n this.parentData.submenu = new Menu(this.submenuContainer, this.submenuActions.length ? this.submenuActions : [new _common_actions_js__WEBPACK_IMPORTED_MODULE_9__.EmptySubmenuAction()], this.submenuOptions, this.menuStyle);\n // layout submenu\n const entryBox = this.element.getBoundingClientRect();\n const entryBoxUpdated = {\n top: entryBox.top - paddingTop,\n left: entryBox.left,\n height: entryBox.height + 2 * paddingTop,\n width: entryBox.width\n };\n const viewBox = this.submenuContainer.getBoundingClientRect();\n const { top, left } = this.calculateSubmenuMenuLayout(new _dom_js__WEBPACK_IMPORTED_MODULE_2__.Dimension(window.innerWidth, window.innerHeight), _dom_js__WEBPACK_IMPORTED_MODULE_2__.Dimension.lift(viewBox), entryBoxUpdated, this.expandDirection);\n // subtract offsets caused by transform parent\n this.submenuContainer.style.left = `${left - viewBox.left}px`;\n this.submenuContainer.style.top = `${top - viewBox.top}px`;\n this.submenuDisposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.submenuContainer, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_UP, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n if (event.equals(15 /* KeyCode.LeftArrow */)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n this.parentData.parent.focus();\n this.cleanupExistingSubmenu(true);\n }\n }));\n this.submenuDisposables.add((0,_dom_js__WEBPACK_IMPORTED_MODULE_2__.addDisposableListener)(this.submenuContainer, _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventType.KEY_DOWN, e => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardKeyboardEvent(e);\n if (event.equals(15 /* KeyCode.LeftArrow */)) {\n _dom_js__WEBPACK_IMPORTED_MODULE_2__.EventHelper.stop(e, true);\n }\n }));\n this.submenuDisposables.add(this.parentData.submenu.onDidCancel(() => {\n this.parentData.parent.focus();\n this.cleanupExistingSubmenu(true);\n }));\n this.parentData.submenu.focus(selectFirstItem);\n this.mysubmenu = this.parentData.submenu;\n }\n else {\n this.parentData.submenu.focus(false);\n }\n }\n updateAriaExpanded(value) {\n var _a;\n if (this.item) {\n (_a = this.item) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', value);\n }\n }\n applyStyle() {\n super.applyStyle();\n const isSelected = this.element && this.element.classList.contains('focused');\n const fgColor = isSelected && this.menuStyle.selectionForegroundColor ? this.menuStyle.selectionForegroundColor : this.menuStyle.foregroundColor;\n if (this.submenuIndicator) {\n this.submenuIndicator.style.color = fgColor !== null && fgColor !== void 0 ? fgColor : '';\n }\n }\n dispose() {\n super.dispose();\n this.hideScheduler.dispose();\n if (this.mysubmenu) {\n this.mysubmenu.dispose();\n this.mysubmenu = null;\n }\n if (this.submenuContainer) {\n this.submenuContainer = undefined;\n }\n }\n}\nclass MenuSeparatorActionViewItem extends _actionbar_actionViewItems_js__WEBPACK_IMPORTED_MODULE_6__.ActionViewItem {\n constructor(context, action, options, menuStyles) {\n super(context, action, options);\n this.menuStyles = menuStyles;\n }\n render(container) {\n super.render(container);\n if (this.label) {\n this.label.style.borderBottomColor = this.menuStyles.separatorColor ? `${this.menuStyles.separatorColor}` : '';\n }\n }\n}\nfunction cleanMnemonic(label) {\n const regex = MENU_MNEMONIC_REGEX;\n const matches = regex.exec(label);\n if (!matches) {\n return label;\n }\n const mnemonicInText = !matches[1];\n return label.replace(regex, mnemonicInText ? '$2$3' : '').trim();\n}\nfunction formatRule(c) {\n const fontCharacter = (0,_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.getCodiconFontCharacters)()[c.id];\n return `.codicon-${c.id}:before { content: '\\\\${fontCharacter.toString(16)}'; }`;\n}\nfunction getMenuWidgetCSS(style, isForShadowDom) {\n let result = /* css */ `\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${formatRule(_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.Codicon.menuSelection)}\n${formatRule(_common_codicons_js__WEBPACK_IMPORTED_MODULE_11__.Codicon.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar.animated .action-item.active {\n\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;\n if (isForShadowDom) {\n // Only define scrollbar styles when used inside shadow dom,\n // otherwise leave their styling to the global workbench styling.\n result += `\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t`;\n // Scrollbars\n const scrollbarShadowColor = style.scrollbarShadow;\n if (scrollbarShadowColor) {\n result += `\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${scrollbarShadowColor} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${scrollbarShadowColor} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${scrollbarShadowColor} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`;\n }\n const scrollbarSliderBackgroundColor = style.scrollbarSliderBackground;\n if (scrollbarSliderBackgroundColor) {\n result += `\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${scrollbarSliderBackgroundColor};\n\t\t\t\t}\n\t\t\t`;\n }\n const scrollbarSliderHoverBackgroundColor = style.scrollbarSliderHoverBackground;\n if (scrollbarSliderHoverBackgroundColor) {\n result += `\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${scrollbarSliderHoverBackgroundColor};\n\t\t\t\t}\n\t\t\t`;\n }\n const scrollbarSliderActiveBackgroundColor = style.scrollbarSliderActiveBackground;\n if (scrollbarSliderActiveBackgroundColor) {\n result += `\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${scrollbarSliderActiveBackgroundColor};\n\t\t\t\t}\n\t\t\t`;\n }\n }\n return result;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.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 */ MOUSE_CURSOR_TEXT_CSS_CLASS_NAME: () => (/* binding */ MOUSE_CURSOR_TEXT_CSS_CLASS_NAME)\n/* harmony export */ });\n/* harmony import */ var _mouseCursor_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mouseCursor.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css\");\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\nconst MOUSE_CURSOR_TEXT_CSS_CLASS_NAME = `monaco-mouse-cursor-text`;\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js": +/*!**************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.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 */ ProgressBar: () => (/* binding */ ProgressBar)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _progressbar_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./progressbar.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css\");\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 CSS_DONE = 'done';\nconst CSS_ACTIVE = 'active';\nconst CSS_INFINITE = 'infinite';\nconst CSS_INFINITE_LONG_RUNNING = 'infinite-long-running';\nconst CSS_DISCRETE = 'discrete';\n/**\n * A progress bar with support for infinite or discrete progress.\n */\nclass ProgressBar extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(container, options) {\n super();\n this.workedVal = 0;\n this.showDelayedScheduler = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_1__.RunOnceScheduler(() => (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.show)(this.element), 0));\n this.longRunningScheduler = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_1__.RunOnceScheduler(() => this.infiniteLongRunning(), ProgressBar.LONG_RUNNING_INFINITE_THRESHOLD));\n this.create(container, options);\n }\n create(container, options) {\n this.element = document.createElement('div');\n this.element.classList.add('monaco-progress-container');\n this.element.setAttribute('role', 'progressbar');\n this.element.setAttribute('aria-valuemin', '0');\n container.appendChild(this.element);\n this.bit = document.createElement('div');\n this.bit.classList.add('progress-bit');\n this.bit.style.backgroundColor = (options === null || options === void 0 ? void 0 : options.progressBarBackground) || '#0E70C0';\n this.element.appendChild(this.bit);\n }\n off() {\n this.bit.style.width = 'inherit';\n this.bit.style.opacity = '1';\n this.element.classList.remove(CSS_ACTIVE, CSS_INFINITE, CSS_INFINITE_LONG_RUNNING, CSS_DISCRETE);\n this.workedVal = 0;\n this.totalWork = undefined;\n this.longRunningScheduler.cancel();\n }\n /**\n * Stops the progressbar from showing any progress instantly without fading out.\n */\n stop() {\n return this.doDone(false);\n }\n doDone(delayed) {\n this.element.classList.add(CSS_DONE);\n // discrete: let it grow to 100% width and hide afterwards\n if (!this.element.classList.contains(CSS_INFINITE)) {\n this.bit.style.width = 'inherit';\n if (delayed) {\n setTimeout(() => this.off(), 200);\n }\n else {\n this.off();\n }\n }\n // infinite: let it fade out and hide afterwards\n else {\n this.bit.style.opacity = '0';\n if (delayed) {\n setTimeout(() => this.off(), 200);\n }\n else {\n this.off();\n }\n }\n return this;\n }\n /**\n * Use this mode to indicate progress that has no total number of work units.\n */\n infinite() {\n this.bit.style.width = '2%';\n this.bit.style.opacity = '1';\n this.element.classList.remove(CSS_DISCRETE, CSS_DONE, CSS_INFINITE_LONG_RUNNING);\n this.element.classList.add(CSS_ACTIVE, CSS_INFINITE);\n this.longRunningScheduler.schedule();\n return this;\n }\n infiniteLongRunning() {\n this.element.classList.add(CSS_INFINITE_LONG_RUNNING);\n }\n getContainer() {\n return this.element;\n }\n}\n/**\n * After a certain time of showing the progress bar, switch\n * to long-running mode and throttle animations to reduce\n * the pressure on the GPU process.\n *\n * https://github.com/microsoft/vscode/issues/97900\n * https://github.com/microsoft/vscode/issues/138396\n */\nProgressBar.LONG_RUNNING_INFINITE_THRESHOLD = 10000;\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/resizable/resizable.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/resizable/resizable.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 */ ResizableHTMLElement: () => (/* binding */ ResizableHTMLElement)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../sash/sash.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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\nclass ResizableHTMLElement {\n constructor() {\n this._onDidWillResize = new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n this.onDidWillResize = this._onDidWillResize.event;\n this._onDidResize = new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n this.onDidResize = this._onDidResize.event;\n this._sashListener = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.DisposableStore();\n this._size = new _dom_js__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0);\n this._minSize = new _dom_js__WEBPACK_IMPORTED_MODULE_0__.Dimension(0, 0);\n this._maxSize = new _dom_js__WEBPACK_IMPORTED_MODULE_0__.Dimension(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n this.domNode = document.createElement('div');\n this._eastSash = new _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.Sash(this.domNode, { getVerticalSashLeft: () => this._size.width }, { orientation: 0 /* Orientation.VERTICAL */ });\n this._westSash = new _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.Sash(this.domNode, { getVerticalSashLeft: () => 0 }, { orientation: 0 /* Orientation.VERTICAL */ });\n this._northSash = new _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.Sash(this.domNode, { getHorizontalSashTop: () => 0 }, { orientation: 1 /* Orientation.HORIZONTAL */, orthogonalEdge: _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.OrthogonalEdge.North });\n this._southSash = new _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.Sash(this.domNode, { getHorizontalSashTop: () => this._size.height }, { orientation: 1 /* Orientation.HORIZONTAL */, orthogonalEdge: _sash_sash_js__WEBPACK_IMPORTED_MODULE_1__.OrthogonalEdge.South });\n this._northSash.orthogonalStartSash = this._westSash;\n this._northSash.orthogonalEndSash = this._eastSash;\n this._southSash.orthogonalStartSash = this._westSash;\n this._southSash.orthogonalEndSash = this._eastSash;\n let currentSize;\n let deltaY = 0;\n let deltaX = 0;\n this._sashListener.add(_common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.any(this._northSash.onDidStart, this._eastSash.onDidStart, this._southSash.onDidStart, this._westSash.onDidStart)(() => {\n if (currentSize === undefined) {\n this._onDidWillResize.fire();\n currentSize = this._size;\n deltaY = 0;\n deltaX = 0;\n }\n }));\n this._sashListener.add(_common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.any(this._northSash.onDidEnd, this._eastSash.onDidEnd, this._southSash.onDidEnd, this._westSash.onDidEnd)(() => {\n if (currentSize !== undefined) {\n currentSize = undefined;\n deltaY = 0;\n deltaX = 0;\n this._onDidResize.fire({ dimension: this._size, done: true });\n }\n }));\n this._sashListener.add(this._eastSash.onDidChange(e => {\n if (currentSize) {\n deltaX = e.currentX - e.startX;\n this.layout(currentSize.height + deltaY, currentSize.width + deltaX);\n this._onDidResize.fire({ dimension: this._size, done: false, east: true });\n }\n }));\n this._sashListener.add(this._westSash.onDidChange(e => {\n if (currentSize) {\n deltaX = -(e.currentX - e.startX);\n this.layout(currentSize.height + deltaY, currentSize.width + deltaX);\n this._onDidResize.fire({ dimension: this._size, done: false, west: true });\n }\n }));\n this._sashListener.add(this._northSash.onDidChange(e => {\n if (currentSize) {\n deltaY = -(e.currentY - e.startY);\n this.layout(currentSize.height + deltaY, currentSize.width + deltaX);\n this._onDidResize.fire({ dimension: this._size, done: false, north: true });\n }\n }));\n this._sashListener.add(this._southSash.onDidChange(e => {\n if (currentSize) {\n deltaY = e.currentY - e.startY;\n this.layout(currentSize.height + deltaY, currentSize.width + deltaX);\n this._onDidResize.fire({ dimension: this._size, done: false, south: true });\n }\n }));\n this._sashListener.add(_common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.any(this._eastSash.onDidReset, this._westSash.onDidReset)(e => {\n if (this._preferredSize) {\n this.layout(this._size.height, this._preferredSize.width);\n this._onDidResize.fire({ dimension: this._size, done: true });\n }\n }));\n this._sashListener.add(_common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.any(this._northSash.onDidReset, this._southSash.onDidReset)(e => {\n if (this._preferredSize) {\n this.layout(this._preferredSize.height, this._size.width);\n this._onDidResize.fire({ dimension: this._size, done: true });\n }\n }));\n }\n dispose() {\n this._northSash.dispose();\n this._southSash.dispose();\n this._eastSash.dispose();\n this._westSash.dispose();\n this._sashListener.dispose();\n this._onDidResize.dispose();\n this._onDidWillResize.dispose();\n this.domNode.remove();\n }\n enableSashes(north, east, south, west) {\n this._northSash.state = north ? 3 /* SashState.Enabled */ : 0 /* SashState.Disabled */;\n this._eastSash.state = east ? 3 /* SashState.Enabled */ : 0 /* SashState.Disabled */;\n this._southSash.state = south ? 3 /* SashState.Enabled */ : 0 /* SashState.Disabled */;\n this._westSash.state = west ? 3 /* SashState.Enabled */ : 0 /* SashState.Disabled */;\n }\n layout(height = this.size.height, width = this.size.width) {\n const { height: minHeight, width: minWidth } = this._minSize;\n const { height: maxHeight, width: maxWidth } = this._maxSize;\n height = Math.max(minHeight, Math.min(maxHeight, height));\n width = Math.max(minWidth, Math.min(maxWidth, width));\n const newSize = new _dom_js__WEBPACK_IMPORTED_MODULE_0__.Dimension(width, height);\n if (!_dom_js__WEBPACK_IMPORTED_MODULE_0__.Dimension.equals(newSize, this._size)) {\n this.domNode.style.height = height + 'px';\n this.domNode.style.width = width + 'px';\n this._size = newSize;\n this._northSash.layout();\n this._eastSash.layout();\n this._southSash.layout();\n this._westSash.layout();\n }\n }\n clearSashHoverState() {\n this._eastSash.clearSashHoverState();\n this._westSash.clearSashHoverState();\n this._northSash.clearSashHoverState();\n this._southSash.clearSashHoverState();\n }\n get size() {\n return this._size;\n }\n set maxSize(value) {\n this._maxSize = value;\n }\n get maxSize() {\n return this._maxSize;\n }\n set minSize(value) {\n this._minSize = value;\n }\n get minSize() {\n return this._minSize;\n }\n set preferredSize(value) {\n this._preferredSize = value;\n }\n get preferredSize() {\n return this._preferredSize;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/resizable/resizable.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js": +/*!************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.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 */ OrthogonalEdge: () => (/* binding */ OrthogonalEdge),\n/* harmony export */ Sash: () => (/* binding */ Sash)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _sash_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./sash.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css\");\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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n/**\n * Allow the sashes to be visible at runtime.\n * @remark Use for development purposes only.\n */\nconst DEBUG = false;\nvar OrthogonalEdge;\n(function (OrthogonalEdge) {\n OrthogonalEdge[\"North\"] = \"north\";\n OrthogonalEdge[\"South\"] = \"south\";\n OrthogonalEdge[\"East\"] = \"east\";\n OrthogonalEdge[\"West\"] = \"west\";\n})(OrthogonalEdge || (OrthogonalEdge = {}));\nlet globalSize = 4;\nconst onDidChangeGlobalSize = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\nlet globalHoverDelay = 300;\nconst onDidChangeHoverDelay = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\nclass MouseEventFactory {\n constructor() {\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore();\n }\n get onPointerMove() {\n return this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(window, 'mousemove')).event;\n }\n get onPointerUp() {\n return this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(window, 'mouseup')).event;\n }\n dispose() {\n this.disposables.dispose();\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], MouseEventFactory.prototype, \"onPointerMove\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], MouseEventFactory.prototype, \"onPointerUp\", null);\nclass GestureEventFactory {\n get onPointerMove() {\n return this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Change)).event;\n }\n get onPointerUp() {\n return this.disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.End)).event;\n }\n constructor(el) {\n this.el = el;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore();\n }\n dispose() {\n this.disposables.dispose();\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], GestureEventFactory.prototype, \"onPointerMove\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], GestureEventFactory.prototype, \"onPointerUp\", null);\nclass OrthogonalPointerEventFactory {\n get onPointerMove() {\n return this.factory.onPointerMove;\n }\n get onPointerUp() {\n return this.factory.onPointerUp;\n }\n constructor(factory) {\n this.factory = factory;\n }\n dispose() {\n // noop\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], OrthogonalPointerEventFactory.prototype, \"onPointerMove\", null);\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_4__.memoize\n], OrthogonalPointerEventFactory.prototype, \"onPointerUp\", null);\nconst PointerEventsDisabledCssClass = 'pointer-events-disabled';\n/**\n * The {@link Sash} is the UI component which allows the user to resize other\n * components. It's usually an invisible horizontal or vertical line which, when\n * hovered, becomes highlighted and can be dragged along the perpendicular dimension\n * to its direction.\n *\n * Features:\n * - Touch event handling\n * - Corner sash support\n * - Hover with different mouse cursor support\n * - Configurable hover size\n * - Linked sash support, for 2x2 corner sashes\n */\nclass Sash extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.Disposable {\n get state() { return this._state; }\n get orthogonalStartSash() { return this._orthogonalStartSash; }\n get orthogonalEndSash() { return this._orthogonalEndSash; }\n /**\n * The state of a sash defines whether it can be interacted with by the user\n * as well as what mouse cursor to use, when hovered.\n */\n set state(state) {\n if (this._state === state) {\n return;\n }\n this.el.classList.toggle('disabled', state === 0 /* SashState.Disabled */);\n this.el.classList.toggle('minimum', state === 1 /* SashState.AtMinimum */);\n this.el.classList.toggle('maximum', state === 2 /* SashState.AtMaximum */);\n this._state = state;\n this.onDidEnablementChange.fire(state);\n }\n /**\n * A reference to another sash, perpendicular to this one, which\n * aligns at the start of this one. A corner sash will be created\n * automatically at that location.\n *\n * The start of a horizontal sash is its left-most position.\n * The start of a vertical sash is its top-most position.\n */\n set orthogonalStartSash(sash) {\n if (this._orthogonalStartSash === sash) {\n return;\n }\n this.orthogonalStartDragHandleDisposables.clear();\n this.orthogonalStartSashDisposables.clear();\n if (sash) {\n const onChange = (state) => {\n this.orthogonalStartDragHandleDisposables.clear();\n if (state !== 0 /* SashState.Disabled */) {\n this._orthogonalStartDragHandle = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(this.el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.orthogonal-drag-handle.start'));\n this.orthogonalStartDragHandleDisposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.toDisposable)(() => this._orthogonalStartDragHandle.remove()));\n this.orthogonalStartDragHandleDisposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this._orthogonalStartDragHandle, 'mouseenter')).event(() => Sash.onMouseEnter(sash), undefined, this.orthogonalStartDragHandleDisposables);\n this.orthogonalStartDragHandleDisposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this._orthogonalStartDragHandle, 'mouseleave')).event(() => Sash.onMouseLeave(sash), undefined, this.orthogonalStartDragHandleDisposables);\n }\n };\n this.orthogonalStartSashDisposables.add(sash.onDidEnablementChange.event(onChange, this));\n onChange(sash.state);\n }\n this._orthogonalStartSash = sash;\n }\n /**\n * A reference to another sash, perpendicular to this one, which\n * aligns at the end of this one. A corner sash will be created\n * automatically at that location.\n *\n * The end of a horizontal sash is its right-most position.\n * The end of a vertical sash is its bottom-most position.\n */\n set orthogonalEndSash(sash) {\n if (this._orthogonalEndSash === sash) {\n return;\n }\n this.orthogonalEndDragHandleDisposables.clear();\n this.orthogonalEndSashDisposables.clear();\n if (sash) {\n const onChange = (state) => {\n this.orthogonalEndDragHandleDisposables.clear();\n if (state !== 0 /* SashState.Disabled */) {\n this._orthogonalEndDragHandle = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(this.el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.orthogonal-drag-handle.end'));\n this.orthogonalEndDragHandleDisposables.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.toDisposable)(() => this._orthogonalEndDragHandle.remove()));\n this.orthogonalEndDragHandleDisposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this._orthogonalEndDragHandle, 'mouseenter')).event(() => Sash.onMouseEnter(sash), undefined, this.orthogonalEndDragHandleDisposables);\n this.orthogonalEndDragHandleDisposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this._orthogonalEndDragHandle, 'mouseleave')).event(() => Sash.onMouseLeave(sash), undefined, this.orthogonalEndDragHandleDisposables);\n }\n };\n this.orthogonalEndSashDisposables.add(sash.onDidEnablementChange.event(onChange, this));\n onChange(sash.state);\n }\n this._orthogonalEndSash = sash;\n }\n constructor(container, layoutProvider, options) {\n super();\n this.hoverDelay = globalHoverDelay;\n this.hoverDelayer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_3__.Delayer(this.hoverDelay));\n this._state = 3 /* SashState.Enabled */;\n this.onDidEnablementChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onDidStart = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onDidChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onDidReset = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this._onDidEnd = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter());\n this.orthogonalStartSashDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore());\n this.orthogonalStartDragHandleDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore());\n this.orthogonalEndSashDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore());\n this.orthogonalEndDragHandleDisposables = this._register(new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore());\n /**\n * An event which fires whenever the user starts dragging this sash.\n */\n this.onDidStart = this._onDidStart.event;\n /**\n * An event which fires whenever the user moves the mouse while\n * dragging this sash.\n */\n this.onDidChange = this._onDidChange.event;\n /**\n * An event which fires whenever the user double clicks this sash.\n */\n this.onDidReset = this._onDidReset.event;\n /**\n * An event which fires whenever the user stops dragging this sash.\n */\n this.onDidEnd = this._onDidEnd.event;\n /**\n * A linked sash will be forwarded the same user interactions and events\n * so it moves exactly the same way as this sash.\n *\n * Useful in 2x2 grids. Not meant for widespread usage.\n */\n this.linkedSash = undefined;\n this.el = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-sash'));\n if (options.orthogonalEdge) {\n this.el.classList.add(`orthogonal-edge-${options.orthogonalEdge}`);\n }\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_7__.isMacintosh) {\n this.el.classList.add('mac');\n }\n const onMouseDown = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, 'mousedown')).event;\n this._register(onMouseDown(e => this.onPointerStart(e, new MouseEventFactory()), this));\n const onMouseDoubleClick = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, 'dblclick')).event;\n this._register(onMouseDoubleClick(this.onPointerDoublePress, this));\n const onMouseEnter = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, 'mouseenter')).event;\n this._register(onMouseEnter(() => Sash.onMouseEnter(this)));\n const onMouseLeave = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, 'mouseleave')).event;\n this._register(onMouseLeave(() => Sash.onMouseLeave(this)));\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_2__.Gesture.addTarget(this.el));\n const onTouchStart = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Start)).event;\n this._register(onTouchStart(e => this.onPointerStart(e, new GestureEventFactory(this.el)), this));\n const onTap = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.el, _touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap)).event;\n let doubleTapTimeout = undefined;\n this._register(onTap(event => {\n if (doubleTapTimeout) {\n clearTimeout(doubleTapTimeout);\n doubleTapTimeout = undefined;\n this.onPointerDoublePress(event);\n return;\n }\n clearTimeout(doubleTapTimeout);\n doubleTapTimeout = setTimeout(() => doubleTapTimeout = undefined, 250);\n }, this));\n if (typeof options.size === 'number') {\n this.size = options.size;\n if (options.orientation === 0 /* Orientation.VERTICAL */) {\n this.el.style.width = `${this.size}px`;\n }\n else {\n this.el.style.height = `${this.size}px`;\n }\n }\n else {\n this.size = globalSize;\n this._register(onDidChangeGlobalSize.event(size => {\n this.size = size;\n this.layout();\n }));\n }\n this._register(onDidChangeHoverDelay.event(delay => this.hoverDelay = delay));\n this.layoutProvider = layoutProvider;\n this.orthogonalStartSash = options.orthogonalStartSash;\n this.orthogonalEndSash = options.orthogonalEndSash;\n this.orientation = options.orientation || 0 /* Orientation.VERTICAL */;\n if (this.orientation === 1 /* Orientation.HORIZONTAL */) {\n this.el.classList.add('horizontal');\n this.el.classList.remove('vertical');\n }\n else {\n this.el.classList.remove('horizontal');\n this.el.classList.add('vertical');\n }\n this.el.classList.toggle('debug', DEBUG);\n this.layout();\n }\n onPointerStart(event, pointerEventFactory) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(event);\n let isMultisashResize = false;\n if (!event.__orthogonalSashEvent) {\n const orthogonalSash = this.getOrthogonalSash(event);\n if (orthogonalSash) {\n isMultisashResize = true;\n event.__orthogonalSashEvent = true;\n orthogonalSash.onPointerStart(event, new OrthogonalPointerEventFactory(pointerEventFactory));\n }\n }\n if (this.linkedSash && !event.__linkedSashEvent) {\n event.__linkedSashEvent = true;\n this.linkedSash.onPointerStart(event, new OrthogonalPointerEventFactory(pointerEventFactory));\n }\n if (!this.state) {\n return;\n }\n const iframes = document.getElementsByTagName('iframe');\n for (const iframe of iframes) {\n iframe.classList.add(PointerEventsDisabledCssClass); // disable mouse events on iframes as long as we drag the sash\n }\n const startX = event.pageX;\n const startY = event.pageY;\n const altKey = event.altKey;\n const startEvent = { startX, currentX: startX, startY, currentY: startY, altKey };\n this.el.classList.add('active');\n this._onDidStart.fire(startEvent);\n // fix https://github.com/microsoft/vscode/issues/21675\n const style = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.createStyleSheet)(this.el);\n const updateStyle = () => {\n let cursor = '';\n if (isMultisashResize) {\n cursor = 'all-scroll';\n }\n else if (this.orientation === 1 /* Orientation.HORIZONTAL */) {\n if (this.state === 1 /* SashState.AtMinimum */) {\n cursor = 's-resize';\n }\n else if (this.state === 2 /* SashState.AtMaximum */) {\n cursor = 'n-resize';\n }\n else {\n cursor = _common_platform_js__WEBPACK_IMPORTED_MODULE_7__.isMacintosh ? 'row-resize' : 'ns-resize';\n }\n }\n else {\n if (this.state === 1 /* SashState.AtMinimum */) {\n cursor = 'e-resize';\n }\n else if (this.state === 2 /* SashState.AtMaximum */) {\n cursor = 'w-resize';\n }\n else {\n cursor = _common_platform_js__WEBPACK_IMPORTED_MODULE_7__.isMacintosh ? 'col-resize' : 'ew-resize';\n }\n }\n style.textContent = `* { cursor: ${cursor} !important; }`;\n };\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore();\n updateStyle();\n if (!isMultisashResize) {\n this.onDidEnablementChange.event(updateStyle, null, disposables);\n }\n const onPointerMove = (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, false);\n const event = { startX, currentX: e.pageX, startY, currentY: e.pageY, altKey };\n this._onDidChange.fire(event);\n };\n const onPointerUp = (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, false);\n this.el.removeChild(style);\n this.el.classList.remove('active');\n this._onDidEnd.fire();\n disposables.dispose();\n for (const iframe of iframes) {\n iframe.classList.remove(PointerEventsDisabledCssClass);\n }\n };\n pointerEventFactory.onPointerMove(onPointerMove, null, disposables);\n pointerEventFactory.onPointerUp(onPointerUp, null, disposables);\n disposables.add(pointerEventFactory);\n }\n onPointerDoublePress(e) {\n const orthogonalSash = this.getOrthogonalSash(e);\n if (orthogonalSash) {\n orthogonalSash._onDidReset.fire();\n }\n if (this.linkedSash) {\n this.linkedSash._onDidReset.fire();\n }\n this._onDidReset.fire();\n }\n static onMouseEnter(sash, fromLinkedSash = false) {\n if (sash.el.classList.contains('active')) {\n sash.hoverDelayer.cancel();\n sash.el.classList.add('hover');\n }\n else {\n sash.hoverDelayer.trigger(() => sash.el.classList.add('hover'), sash.hoverDelay).then(undefined, () => { });\n }\n if (!fromLinkedSash && sash.linkedSash) {\n Sash.onMouseEnter(sash.linkedSash, true);\n }\n }\n static onMouseLeave(sash, fromLinkedSash = false) {\n sash.hoverDelayer.cancel();\n sash.el.classList.remove('hover');\n if (!fromLinkedSash && sash.linkedSash) {\n Sash.onMouseLeave(sash.linkedSash, true);\n }\n }\n /**\n * Forcefully stop any user interactions with this sash.\n * Useful when hiding a parent component, while the user is still\n * interacting with the sash.\n */\n clearSashHoverState() {\n Sash.onMouseLeave(this);\n }\n /**\n * Layout the sash. The sash will size and position itself\n * based on its provided {@link ISashLayoutProvider layout provider}.\n */\n layout() {\n if (this.orientation === 0 /* Orientation.VERTICAL */) {\n const verticalProvider = this.layoutProvider;\n this.el.style.left = verticalProvider.getVerticalSashLeft(this) - (this.size / 2) + 'px';\n if (verticalProvider.getVerticalSashTop) {\n this.el.style.top = verticalProvider.getVerticalSashTop(this) + 'px';\n }\n if (verticalProvider.getVerticalSashHeight) {\n this.el.style.height = verticalProvider.getVerticalSashHeight(this) + 'px';\n }\n }\n else {\n const horizontalProvider = this.layoutProvider;\n this.el.style.top = horizontalProvider.getHorizontalSashTop(this) - (this.size / 2) + 'px';\n if (horizontalProvider.getHorizontalSashLeft) {\n this.el.style.left = horizontalProvider.getHorizontalSashLeft(this) + 'px';\n }\n if (horizontalProvider.getHorizontalSashWidth) {\n this.el.style.width = horizontalProvider.getHorizontalSashWidth(this) + 'px';\n }\n }\n }\n getOrthogonalSash(e) {\n var _a;\n const target = (_a = e.initialTarget) !== null && _a !== void 0 ? _a : e.target;\n if (!target || !(target instanceof HTMLElement)) {\n return undefined;\n }\n if (target.classList.contains('orthogonal-drag-handle')) {\n return target.classList.contains('start') ? this.orthogonalStartSash : this.orthogonalEndSash;\n }\n return undefined;\n }\n dispose() {\n super.dispose();\n this.el.remove();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.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 */ AbstractScrollbar: () => (/* binding */ AbstractScrollbar)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _fastDomNode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../fastDomNode.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js\");\n/* harmony import */ var _globalPointerMoveMonitor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../globalPointerMoveMonitor.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/globalPointerMoveMonitor.js\");\n/* harmony import */ var _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./scrollbarArrow.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js\");\n/* harmony import */ var _scrollbarVisibilityController_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./scrollbarVisibilityController.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_6__ = __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\n\n\n/**\n * The orthogonal distance to the slider at which dragging \"resets\". This implements \"snapping\"\n */\nconst POINTER_DRAG_RESET_DISTANCE = 140;\nclass AbstractScrollbar extends _widget_js__WEBPACK_IMPORTED_MODULE_5__.Widget {\n constructor(opts) {\n super();\n this._lazyRender = opts.lazyRender;\n this._host = opts.host;\n this._scrollable = opts.scrollable;\n this._scrollByPage = opts.scrollByPage;\n this._scrollbarState = opts.scrollbarState;\n this._visibilityController = this._register(new _scrollbarVisibilityController_js__WEBPACK_IMPORTED_MODULE_4__.ScrollbarVisibilityController(opts.visibility, 'visible scrollbar ' + opts.extraScrollbarClassName, 'invisible scrollbar ' + opts.extraScrollbarClassName));\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\n this._pointerMoveMonitor = this._register(new _globalPointerMoveMonitor_js__WEBPACK_IMPORTED_MODULE_2__.GlobalPointerMoveMonitor());\n this._shouldRender = true;\n this.domNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_1__.createFastDomNode)(document.createElement('div'));\n this.domNode.setAttribute('role', 'presentation');\n this.domNode.setAttribute('aria-hidden', 'true');\n this._visibilityController.setDomNode(this.domNode);\n this.domNode.setPosition('absolute');\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.domNode.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.POINTER_DOWN, (e) => this._domNodePointerDown(e)));\n }\n // ----------------- creation\n /**\n * Creates the dom node for an arrow & adds it to the container\n */\n _createArrow(opts) {\n const arrow = this._register(new _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_3__.ScrollbarArrow(opts));\n this.domNode.domNode.appendChild(arrow.bgDomNode);\n this.domNode.domNode.appendChild(arrow.domNode);\n }\n /**\n * Creates the slider dom node, adds it to the container & hooks up the events\n */\n _createSlider(top, left, width, height) {\n this.slider = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_1__.createFastDomNode)(document.createElement('div'));\n this.slider.setClassName('slider');\n this.slider.setPosition('absolute');\n this.slider.setTop(top);\n this.slider.setLeft(left);\n if (typeof width === 'number') {\n this.slider.setWidth(width);\n }\n if (typeof height === 'number') {\n this.slider.setHeight(height);\n }\n this.slider.setLayerHinting(true);\n this.slider.setContain('strict');\n this.domNode.domNode.appendChild(this.slider.domNode);\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.slider.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.POINTER_DOWN, (e) => {\n if (e.button === 0) {\n e.preventDefault();\n this._sliderPointerDown(e);\n }\n }));\n this.onclick(this.slider.domNode, e => {\n if (e.leftButton) {\n e.stopPropagation();\n }\n });\n }\n // ----------------- Update state\n _onElementSize(visibleSize) {\n if (this._scrollbarState.setVisibleSize(visibleSize)) {\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\n this._shouldRender = true;\n if (!this._lazyRender) {\n this.render();\n }\n }\n return this._shouldRender;\n }\n _onElementScrollSize(elementScrollSize) {\n if (this._scrollbarState.setScrollSize(elementScrollSize)) {\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\n this._shouldRender = true;\n if (!this._lazyRender) {\n this.render();\n }\n }\n return this._shouldRender;\n }\n _onElementScrollPosition(elementScrollPosition) {\n if (this._scrollbarState.setScrollPosition(elementScrollPosition)) {\n this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());\n this._shouldRender = true;\n if (!this._lazyRender) {\n this.render();\n }\n }\n return this._shouldRender;\n }\n // ----------------- rendering\n beginReveal() {\n this._visibilityController.setShouldBeVisible(true);\n }\n beginHide() {\n this._visibilityController.setShouldBeVisible(false);\n }\n render() {\n if (!this._shouldRender) {\n return;\n }\n this._shouldRender = false;\n this._renderDomNode(this._scrollbarState.getRectangleLargeSize(), this._scrollbarState.getRectangleSmallSize());\n this._updateSlider(this._scrollbarState.getSliderSize(), this._scrollbarState.getArrowSize() + this._scrollbarState.getSliderPosition());\n }\n // ----------------- DOM events\n _domNodePointerDown(e) {\n if (e.target !== this.domNode.domNode) {\n return;\n }\n this._onPointerDown(e);\n }\n delegatePointerDown(e) {\n const domTop = this.domNode.domNode.getClientRects()[0].top;\n const sliderStart = domTop + this._scrollbarState.getSliderPosition();\n const sliderStop = domTop + this._scrollbarState.getSliderPosition() + this._scrollbarState.getSliderSize();\n const pointerPos = this._sliderPointerPosition(e);\n if (sliderStart <= pointerPos && pointerPos <= sliderStop) {\n // Act as if it was a pointer down on the slider\n if (e.button === 0) {\n e.preventDefault();\n this._sliderPointerDown(e);\n }\n }\n else {\n // Act as if it was a pointer down on the scrollbar\n this._onPointerDown(e);\n }\n }\n _onPointerDown(e) {\n let offsetX;\n let offsetY;\n if (e.target === this.domNode.domNode && typeof e.offsetX === 'number' && typeof e.offsetY === 'number') {\n offsetX = e.offsetX;\n offsetY = e.offsetY;\n }\n else {\n const domNodePosition = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getDomNodePagePosition(this.domNode.domNode);\n offsetX = e.pageX - domNodePosition.left;\n offsetY = e.pageY - domNodePosition.top;\n }\n const offset = this._pointerDownRelativePosition(offsetX, offsetY);\n this._setDesiredScrollPositionNow(this._scrollByPage\n ? this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(offset)\n : this._scrollbarState.getDesiredScrollPositionFromOffset(offset));\n if (e.button === 0) {\n // left button\n e.preventDefault();\n this._sliderPointerDown(e);\n }\n }\n _sliderPointerDown(e) {\n if (!e.target || !(e.target instanceof Element)) {\n return;\n }\n const initialPointerPosition = this._sliderPointerPosition(e);\n const initialPointerOrthogonalPosition = this._sliderOrthogonalPointerPosition(e);\n const initialScrollbarState = this._scrollbarState.clone();\n this.slider.toggleClassName('active', true);\n this._pointerMoveMonitor.startMonitoring(e.target, e.pointerId, e.buttons, (pointerMoveData) => {\n const pointerOrthogonalPosition = this._sliderOrthogonalPointerPosition(pointerMoveData);\n const pointerOrthogonalDelta = Math.abs(pointerOrthogonalPosition - initialPointerOrthogonalPosition);\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_6__.isWindows && pointerOrthogonalDelta > POINTER_DRAG_RESET_DISTANCE) {\n // The pointer has wondered away from the scrollbar => reset dragging\n this._setDesiredScrollPositionNow(initialScrollbarState.getScrollPosition());\n return;\n }\n const pointerPosition = this._sliderPointerPosition(pointerMoveData);\n const pointerDelta = pointerPosition - initialPointerPosition;\n this._setDesiredScrollPositionNow(initialScrollbarState.getDesiredScrollPositionFromDelta(pointerDelta));\n }, () => {\n this.slider.toggleClassName('active', false);\n this._host.onDragEnd();\n });\n this._host.onDragStart();\n }\n _setDesiredScrollPositionNow(_desiredScrollPosition) {\n const desiredScrollPosition = {};\n this.writeScrollPosition(desiredScrollPosition, _desiredScrollPosition);\n this._scrollable.setScrollPositionNow(desiredScrollPosition);\n }\n updateScrollbarSize(scrollbarSize) {\n this._updateScrollbarSize(scrollbarSize);\n this._scrollbarState.setScrollbarSize(scrollbarSize);\n this._shouldRender = true;\n if (!this._lazyRender) {\n this.render();\n }\n }\n isNeeded() {\n return this._scrollbarState.isNeeded();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js": +/*!********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.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 */ HorizontalScrollbar: () => (/* binding */ HorizontalScrollbar)\n/* harmony export */ });\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstractScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js\");\n/* harmony import */ var _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./scrollbarArrow.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js\");\n/* harmony import */ var _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./scrollbarState.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nclass HorizontalScrollbar extends _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__.AbstractScrollbar {\n constructor(scrollable, options, host) {\n const scrollDimensions = scrollable.getScrollDimensions();\n const scrollPosition = scrollable.getCurrentScrollPosition();\n super({\n lazyRender: options.lazyRender,\n host: host,\n scrollbarState: new _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__.ScrollbarState((options.horizontalHasArrows ? options.arrowSize : 0), (options.horizontal === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.horizontalScrollbarSize), (options.vertical === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.verticalScrollbarSize), scrollDimensions.width, scrollDimensions.scrollWidth, scrollPosition.scrollLeft),\n visibility: options.horizontal,\n extraScrollbarClassName: 'horizontal',\n scrollable: scrollable,\n scrollByPage: options.scrollByPage\n });\n if (options.horizontalHasArrows) {\n const arrowDelta = (options.arrowSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\n const scrollbarDelta = (options.horizontalScrollbarSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\n this._createArrow({\n className: 'scra',\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.scrollbarButtonLeft,\n top: scrollbarDelta,\n left: arrowDelta,\n bottom: undefined,\n right: undefined,\n bgWidth: options.arrowSize,\n bgHeight: options.horizontalScrollbarSize,\n onActivate: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.StandardWheelEvent(null, 1, 0)),\n });\n this._createArrow({\n className: 'scra',\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.scrollbarButtonRight,\n top: scrollbarDelta,\n left: undefined,\n bottom: undefined,\n right: arrowDelta,\n bgWidth: options.arrowSize,\n bgHeight: options.horizontalScrollbarSize,\n onActivate: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.StandardWheelEvent(null, -1, 0)),\n });\n }\n this._createSlider(Math.floor((options.horizontalScrollbarSize - options.horizontalSliderSize) / 2), 0, undefined, options.horizontalSliderSize);\n }\n _updateSlider(sliderSize, sliderPosition) {\n this.slider.setWidth(sliderSize);\n this.slider.setLeft(sliderPosition);\n }\n _renderDomNode(largeSize, smallSize) {\n this.domNode.setWidth(largeSize);\n this.domNode.setHeight(smallSize);\n this.domNode.setLeft(0);\n this.domNode.setBottom(0);\n }\n onDidScroll(e) {\n this._shouldRender = this._onElementScrollSize(e.scrollWidth) || this._shouldRender;\n this._shouldRender = this._onElementScrollPosition(e.scrollLeft) || this._shouldRender;\n this._shouldRender = this._onElementSize(e.width) || this._shouldRender;\n return this._shouldRender;\n }\n _pointerDownRelativePosition(offsetX, offsetY) {\n return offsetX;\n }\n _sliderPointerPosition(e) {\n return e.pageX;\n }\n _sliderOrthogonalPointerPosition(e) {\n return e.pageY;\n }\n _updateScrollbarSize(size) {\n this.slider.setHeight(size);\n }\n writeScrollPosition(target, scrollPosition) {\n target.scrollLeft = scrollPosition;\n }\n updateOptions(options) {\n this.updateScrollbarSize(options.horizontal === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.horizontalScrollbarSize);\n this._scrollbarState.setOppositeScrollbarSize(options.vertical === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.verticalScrollbarSize);\n this._visibilityController.setVisibility(options.horizontal);\n this._scrollByPage = options.scrollByPage;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.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 */ AbstractScrollableElement: () => (/* binding */ AbstractScrollableElement),\n/* harmony export */ DomScrollableElement: () => (/* binding */ DomScrollableElement),\n/* harmony export */ MouseWheelClassifier: () => (/* binding */ MouseWheelClassifier),\n/* harmony export */ ScrollableElement: () => (/* binding */ ScrollableElement),\n/* harmony export */ SmoothScrollableElement: () => (/* binding */ SmoothScrollableElement)\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 _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../fastDomNode.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.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 _horizontalScrollbar_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./horizontalScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js\");\n/* harmony import */ var _verticalScrollbar_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./verticalScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.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_scrollable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/scrollable.js */ \"./node_modules/monaco-editor/esm/vs/base/common/scrollable.js\");\n/* harmony import */ var _media_scrollbars_css__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./media/scrollbars.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css\");\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\nconst HIDE_TIMEOUT = 500;\nconst SCROLL_WHEEL_SENSITIVITY = 50;\nconst SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED = true;\nclass MouseWheelClassifierItem {\n constructor(timestamp, deltaX, deltaY) {\n this.timestamp = timestamp;\n this.deltaX = deltaX;\n this.deltaY = deltaY;\n this.score = 0;\n }\n}\nclass MouseWheelClassifier {\n constructor() {\n this._capacity = 5;\n this._memory = [];\n this._front = -1;\n this._rear = -1;\n }\n isPhysicalMouseWheel() {\n if (this._front === -1 && this._rear === -1) {\n // no elements\n return false;\n }\n // 0.5 * last + 0.25 * 2nd last + 0.125 * 3rd last + ...\n let remainingInfluence = 1;\n let score = 0;\n let iteration = 1;\n let index = this._rear;\n do {\n const influence = (index === this._front ? remainingInfluence : Math.pow(2, -iteration));\n remainingInfluence -= influence;\n score += this._memory[index].score * influence;\n if (index === this._front) {\n break;\n }\n index = (this._capacity + index - 1) % this._capacity;\n iteration++;\n } while (true);\n return (score <= 0.5);\n }\n acceptStandardWheelEvent(e) {\n const osZoomFactor = window.devicePixelRatio / (0,_browser_js__WEBPACK_IMPORTED_MODULE_0__.getZoomFactor)();\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isWindows || _common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isLinux) {\n // On Windows and Linux, the incoming delta events are multiplied with the OS zoom factor.\n // The OS zoom factor can be reverse engineered by using the device pixel ratio and the configured zoom factor into account.\n this.accept(Date.now(), e.deltaX / osZoomFactor, e.deltaY / osZoomFactor);\n }\n else {\n this.accept(Date.now(), e.deltaX, e.deltaY);\n }\n }\n accept(timestamp, deltaX, deltaY) {\n const item = new MouseWheelClassifierItem(timestamp, deltaX, deltaY);\n item.score = this._computeScore(item);\n if (this._front === -1 && this._rear === -1) {\n this._memory[0] = item;\n this._front = 0;\n this._rear = 0;\n }\n else {\n this._rear = (this._rear + 1) % this._capacity;\n if (this._rear === this._front) {\n // Drop oldest\n this._front = (this._front + 1) % this._capacity;\n }\n this._memory[this._rear] = item;\n }\n }\n /**\n * A score between 0 and 1 for `item`.\n * - a score towards 0 indicates that the source appears to be a physical mouse wheel\n * - a score towards 1 indicates that the source appears to be a touchpad or magic mouse, etc.\n */\n _computeScore(item) {\n if (Math.abs(item.deltaX) > 0 && Math.abs(item.deltaY) > 0) {\n // both axes exercised => definitely not a physical mouse wheel\n return 1;\n }\n let score = 0.5;\n const prev = (this._front === -1 && this._rear === -1 ? null : this._memory[this._rear]);\n if (prev) {\n // const deltaT = item.timestamp - prev.timestamp;\n // if (deltaT < 1000 / 30) {\n // \t// sooner than X times per second => indicator that this is not a physical mouse wheel\n // \tscore += 0.25;\n // }\n // if (item.deltaX === prev.deltaX && item.deltaY === prev.deltaY) {\n // \t// equal amplitude => indicator that this is a physical mouse wheel\n // \tscore -= 0.25;\n // }\n }\n if (!this._isAlmostInt(item.deltaX) || !this._isAlmostInt(item.deltaY)) {\n // non-integer deltas => indicator that this is not a physical mouse wheel\n score += 0.25;\n }\n return Math.min(Math.max(score, 0), 1);\n }\n _isAlmostInt(value) {\n const delta = Math.abs(Math.round(value) - value);\n return (delta < 0.01);\n }\n}\nMouseWheelClassifier.INSTANCE = new MouseWheelClassifier();\nclass AbstractScrollableElement extends _widget_js__WEBPACK_IMPORTED_MODULE_6__.Widget {\n get options() {\n return this._options;\n }\n constructor(element, options, scrollable) {\n super();\n this._onScroll = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter());\n this.onScroll = this._onScroll.event;\n this._onWillScroll = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter());\n element.style.overflow = 'hidden';\n this._options = resolveOptions(options);\n this._scrollable = scrollable;\n this._register(this._scrollable.onScroll((e) => {\n this._onWillScroll.fire(e);\n this._onDidScroll(e);\n this._onScroll.fire(e);\n }));\n const scrollbarHost = {\n onMouseWheel: (mouseWheelEvent) => this._onMouseWheel(mouseWheelEvent),\n onDragStart: () => this._onDragStart(),\n onDragEnd: () => this._onDragEnd(),\n };\n this._verticalScrollbar = this._register(new _verticalScrollbar_js__WEBPACK_IMPORTED_MODULE_5__.VerticalScrollbar(this._scrollable, this._options, scrollbarHost));\n this._horizontalScrollbar = this._register(new _horizontalScrollbar_js__WEBPACK_IMPORTED_MODULE_4__.HorizontalScrollbar(this._scrollable, this._options, scrollbarHost));\n this._domNode = document.createElement('div');\n this._domNode.className = 'monaco-scrollable-element ' + this._options.className;\n this._domNode.setAttribute('role', 'presentation');\n this._domNode.style.position = 'relative';\n this._domNode.style.overflow = 'hidden';\n this._domNode.appendChild(element);\n this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode);\n this._domNode.appendChild(this._verticalScrollbar.domNode.domNode);\n if (this._options.useShadows) {\n this._leftShadowDomNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__.createFastDomNode)(document.createElement('div'));\n this._leftShadowDomNode.setClassName('shadow');\n this._domNode.appendChild(this._leftShadowDomNode.domNode);\n this._topShadowDomNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__.createFastDomNode)(document.createElement('div'));\n this._topShadowDomNode.setClassName('shadow');\n this._domNode.appendChild(this._topShadowDomNode.domNode);\n this._topLeftShadowDomNode = (0,_fastDomNode_js__WEBPACK_IMPORTED_MODULE_2__.createFastDomNode)(document.createElement('div'));\n this._topLeftShadowDomNode.setClassName('shadow');\n this._domNode.appendChild(this._topLeftShadowDomNode.domNode);\n }\n else {\n this._leftShadowDomNode = null;\n this._topShadowDomNode = null;\n this._topLeftShadowDomNode = null;\n }\n this._listenOnDomNode = this._options.listenOnDomNode || this._domNode;\n this._mouseWheelToDispose = [];\n this._setListeningToMouseWheel(this._options.handleMouseWheel);\n this.onmouseover(this._listenOnDomNode, (e) => this._onMouseOver(e));\n this.onmouseleave(this._listenOnDomNode, (e) => this._onMouseLeave(e));\n this._hideTimeout = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_7__.TimeoutTimer());\n this._isDragging = false;\n this._mouseIsOver = false;\n this._shouldRender = true;\n this._revealOnScroll = true;\n }\n dispose() {\n this._mouseWheelToDispose = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.dispose)(this._mouseWheelToDispose);\n super.dispose();\n }\n /**\n * Get the generated 'scrollable' dom node\n */\n getDomNode() {\n return this._domNode;\n }\n getOverviewRulerLayoutInfo() {\n return {\n parent: this._domNode,\n insertBefore: this._verticalScrollbar.domNode.domNode,\n };\n }\n /**\n * Delegate a pointer down event to the vertical scrollbar.\n * This is to help with clicking somewhere else and having the scrollbar react.\n */\n delegateVerticalScrollbarPointerDown(browserEvent) {\n this._verticalScrollbar.delegatePointerDown(browserEvent);\n }\n getScrollDimensions() {\n return this._scrollable.getScrollDimensions();\n }\n setScrollDimensions(dimensions) {\n this._scrollable.setScrollDimensions(dimensions, false);\n }\n /**\n * Update the class name of the scrollable element.\n */\n updateClassName(newClassName) {\n this._options.className = newClassName;\n // Defaults are different on Macs\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isMacintosh) {\n this._options.className += ' mac';\n }\n this._domNode.className = 'monaco-scrollable-element ' + this._options.className;\n }\n /**\n * Update configuration options for the scrollbar.\n */\n updateOptions(newOptions) {\n if (typeof newOptions.handleMouseWheel !== 'undefined') {\n this._options.handleMouseWheel = newOptions.handleMouseWheel;\n this._setListeningToMouseWheel(this._options.handleMouseWheel);\n }\n if (typeof newOptions.mouseWheelScrollSensitivity !== 'undefined') {\n this._options.mouseWheelScrollSensitivity = newOptions.mouseWheelScrollSensitivity;\n }\n if (typeof newOptions.fastScrollSensitivity !== 'undefined') {\n this._options.fastScrollSensitivity = newOptions.fastScrollSensitivity;\n }\n if (typeof newOptions.scrollPredominantAxis !== 'undefined') {\n this._options.scrollPredominantAxis = newOptions.scrollPredominantAxis;\n }\n if (typeof newOptions.horizontal !== 'undefined') {\n this._options.horizontal = newOptions.horizontal;\n }\n if (typeof newOptions.vertical !== 'undefined') {\n this._options.vertical = newOptions.vertical;\n }\n if (typeof newOptions.horizontalScrollbarSize !== 'undefined') {\n this._options.horizontalScrollbarSize = newOptions.horizontalScrollbarSize;\n }\n if (typeof newOptions.verticalScrollbarSize !== 'undefined') {\n this._options.verticalScrollbarSize = newOptions.verticalScrollbarSize;\n }\n if (typeof newOptions.scrollByPage !== 'undefined') {\n this._options.scrollByPage = newOptions.scrollByPage;\n }\n this._horizontalScrollbar.updateOptions(this._options);\n this._verticalScrollbar.updateOptions(this._options);\n if (!this._options.lazyRender) {\n this._render();\n }\n }\n delegateScrollFromMouseWheelEvent(browserEvent) {\n this._onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardWheelEvent(browserEvent));\n }\n // -------------------- mouse wheel scrolling --------------------\n _setListeningToMouseWheel(shouldListen) {\n const isListening = (this._mouseWheelToDispose.length > 0);\n if (isListening === shouldListen) {\n // No change\n return;\n }\n // Stop listening (if necessary)\n this._mouseWheelToDispose = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_9__.dispose)(this._mouseWheelToDispose);\n // Start listening (if necessary)\n if (shouldListen) {\n const onMouseWheel = (browserEvent) => {\n this._onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_3__.StandardWheelEvent(browserEvent));\n };\n this._mouseWheelToDispose.push(_dom_js__WEBPACK_IMPORTED_MODULE_1__.addDisposableListener(this._listenOnDomNode, _dom_js__WEBPACK_IMPORTED_MODULE_1__.EventType.MOUSE_WHEEL, onMouseWheel, { passive: false }));\n }\n }\n _onMouseWheel(e) {\n var _a;\n if ((_a = e.browserEvent) === null || _a === void 0 ? void 0 : _a.defaultPrevented) {\n return;\n }\n const classifier = MouseWheelClassifier.INSTANCE;\n if (SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED) {\n classifier.acceptStandardWheelEvent(e);\n }\n // console.log(`${Date.now()}, ${e.deltaY}, ${e.deltaX}`);\n let didScroll = false;\n if (e.deltaY || e.deltaX) {\n let deltaY = e.deltaY * this._options.mouseWheelScrollSensitivity;\n let deltaX = e.deltaX * this._options.mouseWheelScrollSensitivity;\n if (this._options.scrollPredominantAxis) {\n if (Math.abs(deltaY) >= Math.abs(deltaX)) {\n deltaX = 0;\n }\n else {\n deltaY = 0;\n }\n }\n if (this._options.flipAxes) {\n [deltaY, deltaX] = [deltaX, deltaY];\n }\n // Convert vertical scrolling to horizontal if shift is held, this\n // is handled at a higher level on Mac\n const shiftConvert = !_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isMacintosh && e.browserEvent && e.browserEvent.shiftKey;\n if ((this._options.scrollYToX || shiftConvert) && !deltaX) {\n deltaX = deltaY;\n deltaY = 0;\n }\n if (e.browserEvent && e.browserEvent.altKey) {\n // fastScrolling\n deltaX = deltaX * this._options.fastScrollSensitivity;\n deltaY = deltaY * this._options.fastScrollSensitivity;\n }\n const futureScrollPosition = this._scrollable.getFutureScrollPosition();\n let desiredScrollPosition = {};\n if (deltaY) {\n const deltaScrollTop = SCROLL_WHEEL_SENSITIVITY * deltaY;\n // Here we convert values such as -0.3 to -1 or 0.3 to 1, otherwise low speed scrolling will never scroll\n const desiredScrollTop = futureScrollPosition.scrollTop - (deltaScrollTop < 0 ? Math.floor(deltaScrollTop) : Math.ceil(deltaScrollTop));\n this._verticalScrollbar.writeScrollPosition(desiredScrollPosition, desiredScrollTop);\n }\n if (deltaX) {\n const deltaScrollLeft = SCROLL_WHEEL_SENSITIVITY * deltaX;\n // Here we convert values such as -0.3 to -1 or 0.3 to 1, otherwise low speed scrolling will never scroll\n const desiredScrollLeft = futureScrollPosition.scrollLeft - (deltaScrollLeft < 0 ? Math.floor(deltaScrollLeft) : Math.ceil(deltaScrollLeft));\n this._horizontalScrollbar.writeScrollPosition(desiredScrollPosition, desiredScrollLeft);\n }\n // Check that we are scrolling towards a location which is valid\n desiredScrollPosition = this._scrollable.validateScrollPosition(desiredScrollPosition);\n if (futureScrollPosition.scrollLeft !== desiredScrollPosition.scrollLeft || futureScrollPosition.scrollTop !== desiredScrollPosition.scrollTop) {\n const canPerformSmoothScroll = (SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED\n && this._options.mouseWheelSmoothScroll\n && classifier.isPhysicalMouseWheel());\n if (canPerformSmoothScroll) {\n this._scrollable.setScrollPositionSmooth(desiredScrollPosition);\n }\n else {\n this._scrollable.setScrollPositionNow(desiredScrollPosition);\n }\n didScroll = true;\n }\n }\n let consumeMouseWheel = didScroll;\n if (!consumeMouseWheel && this._options.alwaysConsumeMouseWheel) {\n consumeMouseWheel = true;\n }\n if (!consumeMouseWheel && this._options.consumeMouseWheelIfScrollbarIsNeeded && (this._verticalScrollbar.isNeeded() || this._horizontalScrollbar.isNeeded())) {\n consumeMouseWheel = true;\n }\n if (consumeMouseWheel) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n _onDidScroll(e) {\n this._shouldRender = this._horizontalScrollbar.onDidScroll(e) || this._shouldRender;\n this._shouldRender = this._verticalScrollbar.onDidScroll(e) || this._shouldRender;\n if (this._options.useShadows) {\n this._shouldRender = true;\n }\n if (this._revealOnScroll) {\n this._reveal();\n }\n if (!this._options.lazyRender) {\n this._render();\n }\n }\n /**\n * Render / mutate the DOM now.\n * Should be used together with the ctor option `lazyRender`.\n */\n renderNow() {\n if (!this._options.lazyRender) {\n throw new Error('Please use `lazyRender` together with `renderNow`!');\n }\n this._render();\n }\n _render() {\n if (!this._shouldRender) {\n return;\n }\n this._shouldRender = false;\n this._horizontalScrollbar.render();\n this._verticalScrollbar.render();\n if (this._options.useShadows) {\n const scrollState = this._scrollable.getCurrentScrollPosition();\n const enableTop = scrollState.scrollTop > 0;\n const enableLeft = scrollState.scrollLeft > 0;\n const leftClassName = (enableLeft ? ' left' : '');\n const topClassName = (enableTop ? ' top' : '');\n const topLeftClassName = (enableLeft || enableTop ? ' top-left-corner' : '');\n this._leftShadowDomNode.setClassName(`shadow${leftClassName}`);\n this._topShadowDomNode.setClassName(`shadow${topClassName}`);\n this._topLeftShadowDomNode.setClassName(`shadow${topLeftClassName}${topClassName}${leftClassName}`);\n }\n }\n // -------------------- fade in / fade out --------------------\n _onDragStart() {\n this._isDragging = true;\n this._reveal();\n }\n _onDragEnd() {\n this._isDragging = false;\n this._hide();\n }\n _onMouseLeave(e) {\n this._mouseIsOver = false;\n this._hide();\n }\n _onMouseOver(e) {\n this._mouseIsOver = true;\n this._reveal();\n }\n _reveal() {\n this._verticalScrollbar.beginReveal();\n this._horizontalScrollbar.beginReveal();\n this._scheduleHide();\n }\n _hide() {\n if (!this._mouseIsOver && !this._isDragging) {\n this._verticalScrollbar.beginHide();\n this._horizontalScrollbar.beginHide();\n }\n }\n _scheduleHide() {\n if (!this._mouseIsOver && !this._isDragging) {\n this._hideTimeout.cancelAndSet(() => this._hide(), HIDE_TIMEOUT);\n }\n }\n}\nclass ScrollableElement extends AbstractScrollableElement {\n constructor(element, options) {\n options = options || {};\n options.mouseWheelSmoothScroll = false;\n const scrollable = new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__.Scrollable({\n forceIntegerValues: true,\n smoothScrollDuration: 0,\n scheduleAtNextAnimationFrame: (callback) => _dom_js__WEBPACK_IMPORTED_MODULE_1__.scheduleAtNextAnimationFrame(callback)\n });\n super(element, options, scrollable);\n this._register(scrollable);\n }\n setScrollPosition(update) {\n this._scrollable.setScrollPositionNow(update);\n }\n}\nclass SmoothScrollableElement extends AbstractScrollableElement {\n constructor(element, options, scrollable) {\n super(element, options, scrollable);\n }\n setScrollPosition(update) {\n if (update.reuseAnimation) {\n this._scrollable.setScrollPositionSmooth(update, update.reuseAnimation);\n }\n else {\n this._scrollable.setScrollPositionNow(update);\n }\n }\n getScrollPosition() {\n return this._scrollable.getCurrentScrollPosition();\n }\n}\nclass DomScrollableElement extends AbstractScrollableElement {\n constructor(element, options) {\n options = options || {};\n options.mouseWheelSmoothScroll = false;\n const scrollable = new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_11__.Scrollable({\n forceIntegerValues: false,\n smoothScrollDuration: 0,\n scheduleAtNextAnimationFrame: (callback) => _dom_js__WEBPACK_IMPORTED_MODULE_1__.scheduleAtNextAnimationFrame(callback)\n });\n super(element, options, scrollable);\n this._register(scrollable);\n this._element = element;\n this.onScroll((e) => {\n if (e.scrollTopChanged) {\n this._element.scrollTop = e.scrollTop;\n }\n if (e.scrollLeftChanged) {\n this._element.scrollLeft = e.scrollLeft;\n }\n });\n this.scanDomNode();\n }\n setScrollPosition(update) {\n this._scrollable.setScrollPositionNow(update);\n }\n getScrollPosition() {\n return this._scrollable.getCurrentScrollPosition();\n }\n scanDomNode() {\n // width, scrollLeft, scrollWidth, height, scrollTop, scrollHeight\n this.setScrollDimensions({\n width: this._element.clientWidth,\n scrollWidth: this._element.scrollWidth,\n height: this._element.clientHeight,\n scrollHeight: this._element.scrollHeight\n });\n this.setScrollPosition({\n scrollLeft: this._element.scrollLeft,\n scrollTop: this._element.scrollTop,\n });\n }\n}\nfunction resolveOptions(opts) {\n const result = {\n lazyRender: (typeof opts.lazyRender !== 'undefined' ? opts.lazyRender : false),\n className: (typeof opts.className !== 'undefined' ? opts.className : ''),\n useShadows: (typeof opts.useShadows !== 'undefined' ? opts.useShadows : true),\n handleMouseWheel: (typeof opts.handleMouseWheel !== 'undefined' ? opts.handleMouseWheel : true),\n flipAxes: (typeof opts.flipAxes !== 'undefined' ? opts.flipAxes : false),\n consumeMouseWheelIfScrollbarIsNeeded: (typeof opts.consumeMouseWheelIfScrollbarIsNeeded !== 'undefined' ? opts.consumeMouseWheelIfScrollbarIsNeeded : false),\n alwaysConsumeMouseWheel: (typeof opts.alwaysConsumeMouseWheel !== 'undefined' ? opts.alwaysConsumeMouseWheel : false),\n scrollYToX: (typeof opts.scrollYToX !== 'undefined' ? opts.scrollYToX : false),\n mouseWheelScrollSensitivity: (typeof opts.mouseWheelScrollSensitivity !== 'undefined' ? opts.mouseWheelScrollSensitivity : 1),\n fastScrollSensitivity: (typeof opts.fastScrollSensitivity !== 'undefined' ? opts.fastScrollSensitivity : 5),\n scrollPredominantAxis: (typeof opts.scrollPredominantAxis !== 'undefined' ? opts.scrollPredominantAxis : true),\n mouseWheelSmoothScroll: (typeof opts.mouseWheelSmoothScroll !== 'undefined' ? opts.mouseWheelSmoothScroll : true),\n arrowSize: (typeof opts.arrowSize !== 'undefined' ? opts.arrowSize : 11),\n listenOnDomNode: (typeof opts.listenOnDomNode !== 'undefined' ? opts.listenOnDomNode : null),\n horizontal: (typeof opts.horizontal !== 'undefined' ? opts.horizontal : 1 /* ScrollbarVisibility.Auto */),\n horizontalScrollbarSize: (typeof opts.horizontalScrollbarSize !== 'undefined' ? opts.horizontalScrollbarSize : 10),\n horizontalSliderSize: (typeof opts.horizontalSliderSize !== 'undefined' ? opts.horizontalSliderSize : 0),\n horizontalHasArrows: (typeof opts.horizontalHasArrows !== 'undefined' ? opts.horizontalHasArrows : false),\n vertical: (typeof opts.vertical !== 'undefined' ? opts.vertical : 1 /* ScrollbarVisibility.Auto */),\n verticalScrollbarSize: (typeof opts.verticalScrollbarSize !== 'undefined' ? opts.verticalScrollbarSize : 10),\n verticalHasArrows: (typeof opts.verticalHasArrows !== 'undefined' ? opts.verticalHasArrows : false),\n verticalSliderSize: (typeof opts.verticalSliderSize !== 'undefined' ? opts.verticalSliderSize : 0),\n scrollByPage: (typeof opts.scrollByPage !== 'undefined' ? opts.scrollByPage : false)\n };\n result.horizontalSliderSize = (typeof opts.horizontalSliderSize !== 'undefined' ? opts.horizontalSliderSize : result.horizontalScrollbarSize);\n result.verticalSliderSize = (typeof opts.verticalSliderSize !== 'undefined' ? opts.verticalSliderSize : result.verticalScrollbarSize);\n // Defaults are different on Macs\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_10__.isMacintosh) {\n result.className += ' mac';\n }\n return result;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.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 */ ARROW_IMG_SIZE: () => (/* binding */ ARROW_IMG_SIZE),\n/* harmony export */ ScrollbarArrow: () => (/* binding */ ScrollbarArrow)\n/* harmony export */ });\n/* harmony import */ var _globalPointerMoveMonitor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../globalPointerMoveMonitor.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/globalPointerMoveMonitor.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.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 * The arrow image size.\n */\nconst ARROW_IMG_SIZE = 11;\nclass ScrollbarArrow extends _widget_js__WEBPACK_IMPORTED_MODULE_1__.Widget {\n constructor(opts) {\n super();\n this._onActivate = opts.onActivate;\n this.bgDomNode = document.createElement('div');\n this.bgDomNode.className = 'arrow-background';\n this.bgDomNode.style.position = 'absolute';\n this.bgDomNode.style.width = opts.bgWidth + 'px';\n this.bgDomNode.style.height = opts.bgHeight + 'px';\n if (typeof opts.top !== 'undefined') {\n this.bgDomNode.style.top = '0px';\n }\n if (typeof opts.left !== 'undefined') {\n this.bgDomNode.style.left = '0px';\n }\n if (typeof opts.bottom !== 'undefined') {\n this.bgDomNode.style.bottom = '0px';\n }\n if (typeof opts.right !== 'undefined') {\n this.bgDomNode.style.right = '0px';\n }\n this.domNode = document.createElement('div');\n this.domNode.className = opts.className;\n this.domNode.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_3__.ThemeIcon.asClassNameArray(opts.icon));\n this.domNode.style.position = 'absolute';\n this.domNode.style.width = ARROW_IMG_SIZE + 'px';\n this.domNode.style.height = ARROW_IMG_SIZE + 'px';\n if (typeof opts.top !== 'undefined') {\n this.domNode.style.top = opts.top + 'px';\n }\n if (typeof opts.left !== 'undefined') {\n this.domNode.style.left = opts.left + 'px';\n }\n if (typeof opts.bottom !== 'undefined') {\n this.domNode.style.bottom = opts.bottom + 'px';\n }\n if (typeof opts.right !== 'undefined') {\n this.domNode.style.right = opts.right + 'px';\n }\n this._pointerMoveMonitor = this._register(new _globalPointerMoveMonitor_js__WEBPACK_IMPORTED_MODULE_0__.GlobalPointerMoveMonitor());\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_4__.addStandardDisposableListener(this.bgDomNode, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.POINTER_DOWN, (e) => this._arrowPointerDown(e)));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_4__.addStandardDisposableListener(this.domNode, _dom_js__WEBPACK_IMPORTED_MODULE_4__.EventType.POINTER_DOWN, (e) => this._arrowPointerDown(e)));\n this._pointerdownRepeatTimer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_2__.IntervalTimer());\n this._pointerdownScheduleRepeatTimer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_2__.TimeoutTimer());\n }\n _arrowPointerDown(e) {\n if (!e.target || !(e.target instanceof Element)) {\n return;\n }\n const scheduleRepeater = () => {\n this._pointerdownRepeatTimer.cancelAndSet(() => this._onActivate(), 1000 / 24);\n };\n this._onActivate();\n this._pointerdownRepeatTimer.cancel();\n this._pointerdownScheduleRepeatTimer.cancelAndSet(scheduleRepeater, 200);\n this._pointerMoveMonitor.startMonitoring(e.target, e.pointerId, e.buttons, (pointerMoveData) => { }, () => {\n this._pointerdownRepeatTimer.cancel();\n this._pointerdownScheduleRepeatTimer.cancel();\n });\n e.preventDefault();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.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 */ ScrollbarState: () => (/* binding */ ScrollbarState)\n/* harmony export */ });\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 * The minimal size of the slider (such that it can still be clickable) -- it is artificially enlarged.\n */\nconst MINIMUM_SLIDER_SIZE = 20;\nclass ScrollbarState {\n constructor(arrowSize, scrollbarSize, oppositeScrollbarSize, visibleSize, scrollSize, scrollPosition) {\n this._scrollbarSize = Math.round(scrollbarSize);\n this._oppositeScrollbarSize = Math.round(oppositeScrollbarSize);\n this._arrowSize = Math.round(arrowSize);\n this._visibleSize = visibleSize;\n this._scrollSize = scrollSize;\n this._scrollPosition = scrollPosition;\n this._computedAvailableSize = 0;\n this._computedIsNeeded = false;\n this._computedSliderSize = 0;\n this._computedSliderRatio = 0;\n this._computedSliderPosition = 0;\n this._refreshComputedValues();\n }\n clone() {\n return new ScrollbarState(this._arrowSize, this._scrollbarSize, this._oppositeScrollbarSize, this._visibleSize, this._scrollSize, this._scrollPosition);\n }\n setVisibleSize(visibleSize) {\n const iVisibleSize = Math.round(visibleSize);\n if (this._visibleSize !== iVisibleSize) {\n this._visibleSize = iVisibleSize;\n this._refreshComputedValues();\n return true;\n }\n return false;\n }\n setScrollSize(scrollSize) {\n const iScrollSize = Math.round(scrollSize);\n if (this._scrollSize !== iScrollSize) {\n this._scrollSize = iScrollSize;\n this._refreshComputedValues();\n return true;\n }\n return false;\n }\n setScrollPosition(scrollPosition) {\n const iScrollPosition = Math.round(scrollPosition);\n if (this._scrollPosition !== iScrollPosition) {\n this._scrollPosition = iScrollPosition;\n this._refreshComputedValues();\n return true;\n }\n return false;\n }\n setScrollbarSize(scrollbarSize) {\n this._scrollbarSize = Math.round(scrollbarSize);\n }\n setOppositeScrollbarSize(oppositeScrollbarSize) {\n this._oppositeScrollbarSize = Math.round(oppositeScrollbarSize);\n }\n static _computeValues(oppositeScrollbarSize, arrowSize, visibleSize, scrollSize, scrollPosition) {\n const computedAvailableSize = Math.max(0, visibleSize - oppositeScrollbarSize);\n const computedRepresentableSize = Math.max(0, computedAvailableSize - 2 * arrowSize);\n const computedIsNeeded = (scrollSize > 0 && scrollSize > visibleSize);\n if (!computedIsNeeded) {\n // There is no need for a slider\n return {\n computedAvailableSize: Math.round(computedAvailableSize),\n computedIsNeeded: computedIsNeeded,\n computedSliderSize: Math.round(computedRepresentableSize),\n computedSliderRatio: 0,\n computedSliderPosition: 0,\n };\n }\n // We must artificially increase the size of the slider if needed, since the slider would be too small to grab with the mouse otherwise\n const computedSliderSize = Math.round(Math.max(MINIMUM_SLIDER_SIZE, Math.floor(visibleSize * computedRepresentableSize / scrollSize)));\n // The slider can move from 0 to `computedRepresentableSize` - `computedSliderSize`\n // in the same way `scrollPosition` can move from 0 to `scrollSize` - `visibleSize`.\n const computedSliderRatio = (computedRepresentableSize - computedSliderSize) / (scrollSize - visibleSize);\n const computedSliderPosition = (scrollPosition * computedSliderRatio);\n return {\n computedAvailableSize: Math.round(computedAvailableSize),\n computedIsNeeded: computedIsNeeded,\n computedSliderSize: Math.round(computedSliderSize),\n computedSliderRatio: computedSliderRatio,\n computedSliderPosition: Math.round(computedSliderPosition),\n };\n }\n _refreshComputedValues() {\n const r = ScrollbarState._computeValues(this._oppositeScrollbarSize, this._arrowSize, this._visibleSize, this._scrollSize, this._scrollPosition);\n this._computedAvailableSize = r.computedAvailableSize;\n this._computedIsNeeded = r.computedIsNeeded;\n this._computedSliderSize = r.computedSliderSize;\n this._computedSliderRatio = r.computedSliderRatio;\n this._computedSliderPosition = r.computedSliderPosition;\n }\n getArrowSize() {\n return this._arrowSize;\n }\n getScrollPosition() {\n return this._scrollPosition;\n }\n getRectangleLargeSize() {\n return this._computedAvailableSize;\n }\n getRectangleSmallSize() {\n return this._scrollbarSize;\n }\n isNeeded() {\n return this._computedIsNeeded;\n }\n getSliderSize() {\n return this._computedSliderSize;\n }\n getSliderPosition() {\n return this._computedSliderPosition;\n }\n /**\n * Compute a desired `scrollPosition` such that `offset` ends up in the center of the slider.\n * `offset` is based on the same coordinate system as the `sliderPosition`.\n */\n getDesiredScrollPositionFromOffset(offset) {\n if (!this._computedIsNeeded) {\n // no need for a slider\n return 0;\n }\n const desiredSliderPosition = offset - this._arrowSize - this._computedSliderSize / 2;\n return Math.round(desiredSliderPosition / this._computedSliderRatio);\n }\n /**\n * Compute a desired `scrollPosition` from if offset is before or after the slider position.\n * If offset is before slider, treat as a page up (or left). If after, page down (or right).\n * `offset` and `_computedSliderPosition` are based on the same coordinate system.\n * `_visibleSize` corresponds to a \"page\" of lines in the returned coordinate system.\n */\n getDesiredScrollPositionFromOffsetPaged(offset) {\n if (!this._computedIsNeeded) {\n // no need for a slider\n return 0;\n }\n const correctedOffset = offset - this._arrowSize; // compensate if has arrows\n let desiredScrollPosition = this._scrollPosition;\n if (correctedOffset < this._computedSliderPosition) {\n desiredScrollPosition -= this._visibleSize; // page up/left\n }\n else {\n desiredScrollPosition += this._visibleSize; // page down/right\n }\n return desiredScrollPosition;\n }\n /**\n * Compute a desired `scrollPosition` such that the slider moves by `delta`.\n */\n getDesiredScrollPositionFromDelta(delta) {\n if (!this._computedIsNeeded) {\n // no need for a slider\n return 0;\n }\n const desiredSliderPosition = this._computedSliderPosition + delta;\n return Math.round(desiredSliderPosition / this._computedSliderRatio);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js": +/*!******************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.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 */ ScrollbarVisibilityController: () => (/* binding */ ScrollbarVisibilityController)\n/* harmony export */ });\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __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\nclass ScrollbarVisibilityController extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\n constructor(visibility, visibleClassName, invisibleClassName) {\n super();\n this._visibility = visibility;\n this._visibleClassName = visibleClassName;\n this._invisibleClassName = invisibleClassName;\n this._domNode = null;\n this._isVisible = false;\n this._isNeeded = false;\n this._rawShouldBeVisible = false;\n this._shouldBeVisible = false;\n this._revealTimer = this._register(new _common_async_js__WEBPACK_IMPORTED_MODULE_0__.TimeoutTimer());\n }\n setVisibility(visibility) {\n if (this._visibility !== visibility) {\n this._visibility = visibility;\n this._updateShouldBeVisible();\n }\n }\n // ----------------- Hide / Reveal\n setShouldBeVisible(rawShouldBeVisible) {\n this._rawShouldBeVisible = rawShouldBeVisible;\n this._updateShouldBeVisible();\n }\n _applyVisibilitySetting() {\n if (this._visibility === 2 /* ScrollbarVisibility.Hidden */) {\n return false;\n }\n if (this._visibility === 3 /* ScrollbarVisibility.Visible */) {\n return true;\n }\n return this._rawShouldBeVisible;\n }\n _updateShouldBeVisible() {\n const shouldBeVisible = this._applyVisibilitySetting();\n if (this._shouldBeVisible !== shouldBeVisible) {\n this._shouldBeVisible = shouldBeVisible;\n this.ensureVisibility();\n }\n }\n setIsNeeded(isNeeded) {\n if (this._isNeeded !== isNeeded) {\n this._isNeeded = isNeeded;\n this.ensureVisibility();\n }\n }\n setDomNode(domNode) {\n this._domNode = domNode;\n this._domNode.setClassName(this._invisibleClassName);\n // Now that the flags & the dom node are in a consistent state, ensure the Hidden/Visible configuration\n this.setShouldBeVisible(false);\n }\n ensureVisibility() {\n if (!this._isNeeded) {\n // Nothing to be rendered\n this._hide(false);\n return;\n }\n if (this._shouldBeVisible) {\n this._reveal();\n }\n else {\n this._hide(true);\n }\n }\n _reveal() {\n if (this._isVisible) {\n return;\n }\n this._isVisible = true;\n // The CSS animation doesn't play otherwise\n this._revealTimer.setIfNotSet(() => {\n var _a;\n (_a = this._domNode) === null || _a === void 0 ? void 0 : _a.setClassName(this._visibleClassName);\n }, 0);\n }\n _hide(withFadeAway) {\n var _a;\n this._revealTimer.cancel();\n if (!this._isVisible) {\n return;\n }\n this._isVisible = false;\n (_a = this._domNode) === null || _a === void 0 ? void 0 : _a.setClassName(this._invisibleClassName + (withFadeAway ? ' fade' : ''));\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js": +/*!******************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.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 */ VerticalScrollbar: () => (/* binding */ VerticalScrollbar)\n/* harmony export */ });\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstractScrollbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js\");\n/* harmony import */ var _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./scrollbarArrow.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js\");\n/* harmony import */ var _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./scrollbarState.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nclass VerticalScrollbar extends _abstractScrollbar_js__WEBPACK_IMPORTED_MODULE_1__.AbstractScrollbar {\n constructor(scrollable, options, host) {\n const scrollDimensions = scrollable.getScrollDimensions();\n const scrollPosition = scrollable.getCurrentScrollPosition();\n super({\n lazyRender: options.lazyRender,\n host: host,\n scrollbarState: new _scrollbarState_js__WEBPACK_IMPORTED_MODULE_3__.ScrollbarState((options.verticalHasArrows ? options.arrowSize : 0), (options.vertical === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.verticalScrollbarSize), \n // give priority to vertical scroll bar over horizontal and let it scroll all the way to the bottom\n 0, scrollDimensions.height, scrollDimensions.scrollHeight, scrollPosition.scrollTop),\n visibility: options.vertical,\n extraScrollbarClassName: 'vertical',\n scrollable: scrollable,\n scrollByPage: options.scrollByPage\n });\n if (options.verticalHasArrows) {\n const arrowDelta = (options.arrowSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\n const scrollbarDelta = (options.verticalScrollbarSize - _scrollbarArrow_js__WEBPACK_IMPORTED_MODULE_2__.ARROW_IMG_SIZE) / 2;\n this._createArrow({\n className: 'scra',\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.scrollbarButtonUp,\n top: arrowDelta,\n left: scrollbarDelta,\n bottom: undefined,\n right: undefined,\n bgWidth: options.verticalScrollbarSize,\n bgHeight: options.arrowSize,\n onActivate: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.StandardWheelEvent(null, 0, 1)),\n });\n this._createArrow({\n className: 'scra',\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_4__.Codicon.scrollbarButtonDown,\n top: undefined,\n left: scrollbarDelta,\n bottom: arrowDelta,\n right: undefined,\n bgWidth: options.verticalScrollbarSize,\n bgHeight: options.arrowSize,\n onActivate: () => this._host.onMouseWheel(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_0__.StandardWheelEvent(null, 0, -1)),\n });\n }\n this._createSlider(0, Math.floor((options.verticalScrollbarSize - options.verticalSliderSize) / 2), options.verticalSliderSize, undefined);\n }\n _updateSlider(sliderSize, sliderPosition) {\n this.slider.setHeight(sliderSize);\n this.slider.setTop(sliderPosition);\n }\n _renderDomNode(largeSize, smallSize) {\n this.domNode.setWidth(smallSize);\n this.domNode.setHeight(largeSize);\n this.domNode.setRight(0);\n this.domNode.setTop(0);\n }\n onDidScroll(e) {\n this._shouldRender = this._onElementScrollSize(e.scrollHeight) || this._shouldRender;\n this._shouldRender = this._onElementScrollPosition(e.scrollTop) || this._shouldRender;\n this._shouldRender = this._onElementSize(e.height) || this._shouldRender;\n return this._shouldRender;\n }\n _pointerDownRelativePosition(offsetX, offsetY) {\n return offsetY;\n }\n _sliderPointerPosition(e) {\n return e.pageY;\n }\n _sliderOrthogonalPointerPosition(e) {\n return e.pageX;\n }\n _updateScrollbarSize(size) {\n this.slider.setWidth(size);\n }\n writeScrollPosition(target, scrollPosition) {\n target.scrollTop = scrollPosition;\n }\n updateOptions(options) {\n this.updateScrollbarSize(options.vertical === 2 /* ScrollbarVisibility.Hidden */ ? 0 : options.verticalScrollbarSize);\n // give priority to vertical scroll bar over horizontal and let it scroll all the way to the bottom\n this._scrollbarState.setOppositeScrollbarSize(0);\n this._visibilityController.setVisibility(options.vertical);\n this._scrollByPage = options.scrollByPage;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.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 */ SelectBox: () => (/* binding */ SelectBox)\n/* harmony export */ });\n/* harmony import */ var _selectBoxCustom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./selectBoxCustom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js\");\n/* harmony import */ var _selectBoxNative_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./selectBoxNative.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxNative.js\");\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _selectBox_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./selectBox.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.css\");\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\nclass SelectBox extends _widget_js__WEBPACK_IMPORTED_MODULE_2__.Widget {\n constructor(options, selected, contextViewProvider, styles, selectBoxOptions) {\n super();\n // Default to native SelectBox for OSX unless overridden\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_3__.isMacintosh && !(selectBoxOptions === null || selectBoxOptions === void 0 ? void 0 : selectBoxOptions.useCustomDrawn)) {\n this.selectBoxDelegate = new _selectBoxNative_js__WEBPACK_IMPORTED_MODULE_1__.SelectBoxNative(options, selected, styles, selectBoxOptions);\n }\n else {\n this.selectBoxDelegate = new _selectBoxCustom_js__WEBPACK_IMPORTED_MODULE_0__.SelectBoxList(options, selected, contextViewProvider, styles, selectBoxOptions);\n }\n this._register(this.selectBoxDelegate);\n }\n // Public SelectBox Methods - routed through delegate interface\n get onDidSelect() {\n return this.selectBoxDelegate.onDidSelect;\n }\n setOptions(options, selected) {\n this.selectBoxDelegate.setOptions(options, selected);\n }\n select(index) {\n this.selectBoxDelegate.select(index);\n }\n focus() {\n this.selectBoxDelegate.focus();\n }\n blur() {\n this.selectBoxDelegate.blur();\n }\n setFocusable(focusable) {\n this.selectBoxDelegate.setFocusable(focusable);\n }\n render(container) {\n this.selectBoxDelegate.render(container);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.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 */ SelectBoxList: () => (/* binding */ SelectBoxList)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.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 _markdownRenderer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../markdownRenderer.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js\");\n/* harmony import */ var _list_listWidget_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../list/listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.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 _common_keyCodes_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/keyCodes.js */ \"./node_modules/monaco-editor/esm/vs/base/common/keyCodes.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_platform_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _selectBoxCustom_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./selectBoxCustom.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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\nconst $ = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$;\nconst SELECT_OPTION_ENTRY_TEMPLATE_ID = 'selectOption.entry.template';\nclass SelectListRenderer {\n get templateId() { return SELECT_OPTION_ENTRY_TEMPLATE_ID; }\n renderTemplate(container) {\n const data = Object.create(null);\n data.root = container;\n data.text = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.option-text'));\n data.detail = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.option-detail'));\n data.decoratorRight = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(container, $('.option-decorator-right'));\n return data;\n }\n renderElement(element, index, templateData) {\n const data = templateData;\n const text = element.text;\n const detail = element.detail;\n const decoratorRight = element.decoratorRight;\n const isDisabled = element.isDisabled;\n data.text.textContent = text;\n data.detail.textContent = !!detail ? detail : '';\n data.decoratorRight.innerText = !!decoratorRight ? decoratorRight : '';\n // pseudo-select disabled option\n if (isDisabled) {\n data.root.classList.add('option-disabled');\n }\n else {\n // Make sure we do class removal from prior template rendering\n data.root.classList.remove('option-disabled');\n }\n }\n disposeTemplate(_templateData) {\n // noop\n }\n}\nclass SelectBoxList extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_8__.Disposable {\n constructor(options, selected, contextViewProvider, styles, selectBoxOptions) {\n super();\n this.options = [];\n this._currentSelection = 0;\n this._hasDetails = false;\n this._skipLayout = false;\n this._sticky = false; // for dev purposes only\n this._isVisible = false;\n this.styles = styles;\n this.selectBoxOptions = selectBoxOptions || Object.create(null);\n if (typeof this.selectBoxOptions.minBottomMargin !== 'number') {\n this.selectBoxOptions.minBottomMargin = SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN;\n }\n else if (this.selectBoxOptions.minBottomMargin < 0) {\n this.selectBoxOptions.minBottomMargin = 0;\n }\n this.selectElement = document.createElement('select');\n // Use custom CSS vars for padding calculation\n this.selectElement.className = 'monaco-select-box monaco-select-box-dropdown-padding';\n if (typeof this.selectBoxOptions.ariaLabel === 'string') {\n this.selectElement.setAttribute('aria-label', this.selectBoxOptions.ariaLabel);\n }\n if (typeof this.selectBoxOptions.ariaDescription === 'string') {\n this.selectElement.setAttribute('aria-description', this.selectBoxOptions.ariaDescription);\n }\n this._onDidSelect = new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter();\n this._register(this._onDidSelect);\n this.registerListeners();\n this.constructSelectDropDown(contextViewProvider);\n this.selected = selected || 0;\n if (options) {\n this.setOptions(options, selected);\n }\n this.initStyleSheet();\n }\n // IDelegate - List renderer\n getHeight() {\n return 22;\n }\n getTemplateId() {\n return SELECT_OPTION_ENTRY_TEMPLATE_ID;\n }\n constructSelectDropDown(contextViewProvider) {\n // SetUp ContextView container to hold select Dropdown\n this.contextViewProvider = contextViewProvider;\n this.selectDropDownContainer = _dom_js__WEBPACK_IMPORTED_MODULE_0__.$('.monaco-select-box-dropdown-container');\n // Use custom CSS vars for padding calculation (shared with parent select)\n this.selectDropDownContainer.classList.add('monaco-select-box-dropdown-padding');\n // Setup container for select option details\n this.selectionDetailsPane = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.selectDropDownContainer, $('.select-box-details-pane'));\n // Create span flex box item/div we can measure and control\n const widthControlOuterDiv = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(this.selectDropDownContainer, $('.select-box-dropdown-container-width-control'));\n const widthControlInnerDiv = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(widthControlOuterDiv, $('.width-control-div'));\n this.widthControlElement = document.createElement('span');\n this.widthControlElement.className = 'option-text-width-control';\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(widthControlInnerDiv, this.widthControlElement);\n // Always default to below position\n this._dropDownPosition = 0 /* AnchorPosition.BELOW */;\n // Inline stylesheet for themes\n this.styleElement = _dom_js__WEBPACK_IMPORTED_MODULE_0__.createStyleSheet(this.selectDropDownContainer);\n // Prevent dragging of dropdown #114329\n this.selectDropDownContainer.setAttribute('draggable', 'true');\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectDropDownContainer, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.DRAG_START, (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n }));\n }\n registerListeners() {\n // Parent native select keyboard listeners\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addStandardDisposableListener(this.selectElement, 'change', (e) => {\n this.selected = e.target.selectedIndex;\n this._onDidSelect.fire({\n index: e.target.selectedIndex,\n selected: e.target.value\n });\n if (!!this.options[this.selected] && !!this.options[this.selected].text) {\n this.selectElement.title = this.options[this.selected].text;\n }\n }));\n // Have to implement both keyboard and mouse controllers to handle disabled options\n // Intercept mouse events to override normal select actions on parents\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CLICK, (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n if (this._isVisible) {\n this.hideSelectDropDown(true);\n }\n else {\n this.showSelectDropDown();\n }\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n }));\n // Intercept touch events\n // The following implementation is slightly different from the mouse event handlers above.\n // Use the following helper variable, otherwise the list flickers.\n let listIsVisibleOnTouchStart;\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, 'touchstart', (e) => {\n listIsVisibleOnTouchStart = this._isVisible;\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, 'touchend', (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n if (listIsVisibleOnTouchStart) {\n this.hideSelectDropDown(true);\n }\n else {\n this.showSelectDropDown();\n }\n }));\n // Intercept keyboard handling\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_DOWN, (e) => {\n const event = new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e);\n let showDropDown = false;\n // Create and drop down select list on keyboard select\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_9__.isMacintosh) {\n if (event.keyCode === 18 /* KeyCode.DownArrow */ || event.keyCode === 16 /* KeyCode.UpArrow */ || event.keyCode === 10 /* KeyCode.Space */ || event.keyCode === 3 /* KeyCode.Enter */) {\n showDropDown = true;\n }\n }\n else {\n if (event.keyCode === 18 /* KeyCode.DownArrow */ && event.altKey || event.keyCode === 16 /* KeyCode.UpArrow */ && event.altKey || event.keyCode === 10 /* KeyCode.Space */ || event.keyCode === 3 /* KeyCode.Enter */) {\n showDropDown = true;\n }\n }\n if (showDropDown) {\n this.showSelectDropDown();\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n }\n }));\n }\n get onDidSelect() {\n return this._onDidSelect.event;\n }\n setOptions(options, selected) {\n if (!_common_arrays_js__WEBPACK_IMPORTED_MODULE_5__.equals(this.options, options)) {\n this.options = options;\n this.selectElement.options.length = 0;\n this._hasDetails = false;\n this._cachedMaxDetailsHeight = undefined;\n this.options.forEach((option, index) => {\n this.selectElement.add(this.createOption(option.text, index, option.isDisabled));\n if (typeof option.description === 'string') {\n this._hasDetails = true;\n }\n });\n }\n if (selected !== undefined) {\n this.select(selected);\n // Set current = selected since this is not necessarily a user exit\n this._currentSelection = this.selected;\n }\n }\n setOptionsList() {\n var _a;\n // Mirror options in drop-down\n // Populate select list for non-native select mode\n (_a = this.selectList) === null || _a === void 0 ? void 0 : _a.splice(0, this.selectList.length, this.options);\n }\n select(index) {\n if (index >= 0 && index < this.options.length) {\n this.selected = index;\n }\n else if (index > this.options.length - 1) {\n // Adjust index to end of list\n // This could make client out of sync with the select\n this.select(this.options.length - 1);\n }\n else if (this.selected < 0) {\n this.selected = 0;\n }\n this.selectElement.selectedIndex = this.selected;\n if (!!this.options[this.selected] && !!this.options[this.selected].text) {\n this.selectElement.title = this.options[this.selected].text;\n }\n }\n focus() {\n if (this.selectElement) {\n this.selectElement.tabIndex = 0;\n this.selectElement.focus();\n }\n }\n blur() {\n if (this.selectElement) {\n this.selectElement.tabIndex = -1;\n this.selectElement.blur();\n }\n }\n setFocusable(focusable) {\n this.selectElement.tabIndex = focusable ? 0 : -1;\n }\n render(container) {\n this.container = container;\n container.classList.add('select-container');\n container.appendChild(this.selectElement);\n this.styleSelectElement();\n }\n initStyleSheet() {\n const content = [];\n // Style non-native select mode\n if (this.styles.listFocusBackground) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`);\n }\n if (this.styles.listFocusForeground) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`);\n }\n if (this.styles.decoratorRightForeground) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`);\n }\n if (this.styles.selectBackground && this.styles.selectBorder && this.styles.selectBorder !== this.styles.selectBackground) {\n content.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `);\n content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `);\n content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `);\n }\n else if (this.styles.selectListBorder) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `);\n content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `);\n }\n // Hover foreground - ignore for disabled options\n if (this.styles.listHoverForeground) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`);\n }\n // Hover background - ignore for disabled options\n if (this.styles.listHoverBackground) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`);\n }\n // Match quick input outline styles - ignore for disabled options\n if (this.styles.listFocusOutline) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`);\n }\n if (this.styles.listHoverOutline) {\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`);\n }\n // Clear list styles on focus and on hover for disabled options\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }`);\n content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }`);\n this.styleElement.textContent = content.join('\\n');\n }\n styleSelectElement() {\n var _a, _b, _c;\n const background = (_a = this.styles.selectBackground) !== null && _a !== void 0 ? _a : '';\n const foreground = (_b = this.styles.selectForeground) !== null && _b !== void 0 ? _b : '';\n const border = (_c = this.styles.selectBorder) !== null && _c !== void 0 ? _c : '';\n this.selectElement.style.backgroundColor = background;\n this.selectElement.style.color = foreground;\n this.selectElement.style.borderColor = border;\n }\n styleList() {\n var _a, _b;\n const background = (_a = this.styles.selectBackground) !== null && _a !== void 0 ? _a : '';\n const listBackground = _dom_js__WEBPACK_IMPORTED_MODULE_0__.asCssValueWithDefault(this.styles.selectListBackground, background);\n this.selectDropDownListContainer.style.backgroundColor = listBackground;\n this.selectionDetailsPane.style.backgroundColor = listBackground;\n const optionsBorder = (_b = this.styles.focusBorder) !== null && _b !== void 0 ? _b : '';\n this.selectDropDownContainer.style.outlineColor = optionsBorder;\n this.selectDropDownContainer.style.outlineOffset = '-1px';\n this.selectList.style(this.styles);\n }\n createOption(value, index, disabled) {\n const option = document.createElement('option');\n option.value = value;\n option.text = value;\n option.disabled = !!disabled;\n return option;\n }\n // ContextView dropdown methods\n showSelectDropDown() {\n this.selectionDetailsPane.innerText = '';\n if (!this.contextViewProvider || this._isVisible) {\n return;\n }\n // Lazily create and populate list only at open, moved from constructor\n this.createSelectList(this.selectDropDownContainer);\n this.setOptionsList();\n // This allows us to flip the position based on measurement\n // Set drop-down position above/below from required height and margins\n // If pre-layout cannot fit at least one option do not show drop-down\n this.contextViewProvider.showContextView({\n getAnchor: () => this.selectElement,\n render: (container) => this.renderSelectDropDown(container, true),\n layout: () => {\n this.layoutSelectDropDown();\n },\n onHide: () => {\n this.selectDropDownContainer.classList.remove('visible');\n this.selectElement.classList.remove('synthetic-focus');\n },\n anchorPosition: this._dropDownPosition\n }, this.selectBoxOptions.optionsAsChildren ? this.container : undefined);\n // Hide so we can relay out\n this._isVisible = true;\n this.hideSelectDropDown(false);\n this.contextViewProvider.showContextView({\n getAnchor: () => this.selectElement,\n render: (container) => this.renderSelectDropDown(container),\n layout: () => this.layoutSelectDropDown(),\n onHide: () => {\n this.selectDropDownContainer.classList.remove('visible');\n this.selectElement.classList.remove('synthetic-focus');\n },\n anchorPosition: this._dropDownPosition\n }, this.selectBoxOptions.optionsAsChildren ? this.container : undefined);\n // Track initial selection the case user escape, blur\n this._currentSelection = this.selected;\n this._isVisible = true;\n this.selectElement.setAttribute('aria-expanded', 'true');\n }\n hideSelectDropDown(focusSelect) {\n if (!this.contextViewProvider || !this._isVisible) {\n return;\n }\n this._isVisible = false;\n this.selectElement.setAttribute('aria-expanded', 'false');\n if (focusSelect) {\n this.selectElement.focus();\n }\n this.contextViewProvider.hideContextView();\n }\n renderSelectDropDown(container, preLayoutPosition) {\n container.appendChild(this.selectDropDownContainer);\n // Pre-Layout allows us to change position\n this.layoutSelectDropDown(preLayoutPosition);\n return {\n dispose: () => {\n // contextView will dispose itself if moving from one View to another\n try {\n container.removeChild(this.selectDropDownContainer); // remove to take out the CSS rules we add\n }\n catch (error) {\n // Ignore, removed already by change of focus\n }\n }\n };\n }\n // Iterate over detailed descriptions, find max height\n measureMaxDetailsHeight() {\n let maxDetailsPaneHeight = 0;\n this.options.forEach((_option, index) => {\n this.updateDetail(index);\n if (this.selectionDetailsPane.offsetHeight > maxDetailsPaneHeight) {\n maxDetailsPaneHeight = this.selectionDetailsPane.offsetHeight;\n }\n });\n return maxDetailsPaneHeight;\n }\n layoutSelectDropDown(preLayoutPosition) {\n // Avoid recursion from layout called in onListFocus\n if (this._skipLayout) {\n return false;\n }\n // Layout ContextView drop down select list and container\n // Have to manage our vertical overflow, sizing, position below or above\n // Position has to be determined and set prior to contextView instantiation\n if (this.selectList) {\n // Make visible to enable measurements\n this.selectDropDownContainer.classList.add('visible');\n const selectPosition = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getDomNodePagePosition(this.selectElement);\n const styles = getComputedStyle(this.selectElement);\n const verticalPadding = parseFloat(styles.getPropertyValue('--dropdown-padding-top')) + parseFloat(styles.getPropertyValue('--dropdown-padding-bottom'));\n const maxSelectDropDownHeightBelow = (window.innerHeight - selectPosition.top - selectPosition.height - (this.selectBoxOptions.minBottomMargin || 0));\n const maxSelectDropDownHeightAbove = (selectPosition.top - SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN);\n // Determine optimal width - min(longest option), opt(parent select, excluding margins), max(ContextView controlled)\n const selectWidth = this.selectElement.offsetWidth;\n const selectMinWidth = this.setWidthControlElement(this.widthControlElement);\n const selectOptimalWidth = Math.max(selectMinWidth, Math.round(selectWidth)).toString() + 'px';\n this.selectDropDownContainer.style.width = selectOptimalWidth;\n // Get initial list height and determine space above and below\n this.selectList.getHTMLElement().style.height = '';\n this.selectList.layout();\n let listHeight = this.selectList.contentHeight;\n if (this._hasDetails && this._cachedMaxDetailsHeight === undefined) {\n this._cachedMaxDetailsHeight = this.measureMaxDetailsHeight();\n }\n const maxDetailsPaneHeight = this._hasDetails ? this._cachedMaxDetailsHeight : 0;\n const minRequiredDropDownHeight = listHeight + verticalPadding + maxDetailsPaneHeight;\n const maxVisibleOptionsBelow = ((Math.floor((maxSelectDropDownHeightBelow - verticalPadding - maxDetailsPaneHeight) / this.getHeight())));\n const maxVisibleOptionsAbove = ((Math.floor((maxSelectDropDownHeightAbove - verticalPadding - maxDetailsPaneHeight) / this.getHeight())));\n // If we are only doing pre-layout check/adjust position only\n // Calculate vertical space available, flip up if insufficient\n // Use reflected padding on parent select, ContextView style\n // properties not available before DOM attachment\n if (preLayoutPosition) {\n // Check if select moved out of viewport , do not open\n // If at least one option cannot be shown, don't open the drop-down or hide/remove if open\n if ((selectPosition.top + selectPosition.height) > (window.innerHeight - 22)\n || selectPosition.top < SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN\n || ((maxVisibleOptionsBelow < 1) && (maxVisibleOptionsAbove < 1))) {\n // Indicate we cannot open\n return false;\n }\n // Determine if we have to flip up\n // Always show complete list items - never more than Max available vertical height\n if (maxVisibleOptionsBelow < SelectBoxList.DEFAULT_MINIMUM_VISIBLE_OPTIONS\n && maxVisibleOptionsAbove > maxVisibleOptionsBelow\n && this.options.length > maxVisibleOptionsBelow) {\n this._dropDownPosition = 1 /* AnchorPosition.ABOVE */;\n this.selectDropDownContainer.removeChild(this.selectDropDownListContainer);\n this.selectDropDownContainer.removeChild(this.selectionDetailsPane);\n this.selectDropDownContainer.appendChild(this.selectionDetailsPane);\n this.selectDropDownContainer.appendChild(this.selectDropDownListContainer);\n this.selectionDetailsPane.classList.remove('border-top');\n this.selectionDetailsPane.classList.add('border-bottom');\n }\n else {\n this._dropDownPosition = 0 /* AnchorPosition.BELOW */;\n this.selectDropDownContainer.removeChild(this.selectDropDownListContainer);\n this.selectDropDownContainer.removeChild(this.selectionDetailsPane);\n this.selectDropDownContainer.appendChild(this.selectDropDownListContainer);\n this.selectDropDownContainer.appendChild(this.selectionDetailsPane);\n this.selectionDetailsPane.classList.remove('border-bottom');\n this.selectionDetailsPane.classList.add('border-top');\n }\n // Do full layout on showSelectDropDown only\n return true;\n }\n // Check if select out of viewport or cutting into status bar\n if ((selectPosition.top + selectPosition.height) > (window.innerHeight - 22)\n || selectPosition.top < SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN\n || (this._dropDownPosition === 0 /* AnchorPosition.BELOW */ && maxVisibleOptionsBelow < 1)\n || (this._dropDownPosition === 1 /* AnchorPosition.ABOVE */ && maxVisibleOptionsAbove < 1)) {\n // Cannot properly layout, close and hide\n this.hideSelectDropDown(true);\n return false;\n }\n // SetUp list dimensions and layout - account for container padding\n // Use position to check above or below available space\n if (this._dropDownPosition === 0 /* AnchorPosition.BELOW */) {\n if (this._isVisible && maxVisibleOptionsBelow + maxVisibleOptionsAbove < 1) {\n // If drop-down is visible, must be doing a DOM re-layout, hide since we don't fit\n // Hide drop-down, hide contextview, focus on parent select\n this.hideSelectDropDown(true);\n return false;\n }\n // Adjust list height to max from select bottom to margin (default/minBottomMargin)\n if (minRequiredDropDownHeight > maxSelectDropDownHeightBelow) {\n listHeight = (maxVisibleOptionsBelow * this.getHeight());\n }\n }\n else {\n if (minRequiredDropDownHeight > maxSelectDropDownHeightAbove) {\n listHeight = (maxVisibleOptionsAbove * this.getHeight());\n }\n }\n // Set adjusted list height and relayout\n this.selectList.layout(listHeight);\n this.selectList.domFocus();\n // Finally set focus on selected item\n if (this.selectList.length > 0) {\n this.selectList.setFocus([this.selected || 0]);\n this.selectList.reveal(this.selectList.getFocus()[0] || 0);\n }\n if (this._hasDetails) {\n // Leave the selectDropDownContainer to size itself according to children (list + details) - #57447\n this.selectList.getHTMLElement().style.height = (listHeight + verticalPadding) + 'px';\n this.selectDropDownContainer.style.height = '';\n }\n else {\n this.selectDropDownContainer.style.height = (listHeight + verticalPadding) + 'px';\n }\n this.updateDetail(this.selected);\n this.selectDropDownContainer.style.width = selectOptimalWidth;\n // Maintain focus outline on parent select as well as list container - tabindex for focus\n this.selectDropDownListContainer.setAttribute('tabindex', '0');\n this.selectElement.classList.add('synthetic-focus');\n this.selectDropDownContainer.classList.add('synthetic-focus');\n return true;\n }\n else {\n return false;\n }\n }\n setWidthControlElement(container) {\n let elementWidth = 0;\n if (container) {\n let longest = 0;\n let longestLength = 0;\n this.options.forEach((option, index) => {\n const detailLength = !!option.detail ? option.detail.length : 0;\n const rightDecoratorLength = !!option.decoratorRight ? option.decoratorRight.length : 0;\n const len = option.text.length + detailLength + rightDecoratorLength;\n if (len > longestLength) {\n longest = index;\n longestLength = len;\n }\n });\n container.textContent = this.options[longest].text + (!!this.options[longest].decoratorRight ? (this.options[longest].decoratorRight + ' ') : '');\n elementWidth = _dom_js__WEBPACK_IMPORTED_MODULE_0__.getTotalWidth(container);\n }\n return elementWidth;\n }\n createSelectList(parent) {\n // If we have already constructive list on open, skip\n if (this.selectList) {\n return;\n }\n // SetUp container for list\n this.selectDropDownListContainer = _dom_js__WEBPACK_IMPORTED_MODULE_0__.append(parent, $('.select-box-dropdown-list-container'));\n this.listRenderer = new SelectListRenderer();\n this.selectList = new _list_listWidget_js__WEBPACK_IMPORTED_MODULE_4__.List('SelectBoxCustom', this.selectDropDownListContainer, this, [this.listRenderer], {\n useShadows: false,\n verticalScrollMode: 3 /* ScrollbarVisibility.Visible */,\n keyboardSupport: false,\n mouseSupport: false,\n accessibilityProvider: {\n getAriaLabel: element => {\n let label = element.text;\n if (element.detail) {\n label += `. ${element.detail}`;\n }\n if (element.decoratorRight) {\n label += `. ${element.decoratorRight}`;\n }\n if (element.description) {\n label += `. ${element.description}`;\n }\n return label;\n },\n getWidgetAriaLabel: () => (0,_nls_js__WEBPACK_IMPORTED_MODULE_11__.localize)({ key: 'selectBox', comment: ['Behave like native select dropdown element.'] }, \"Select Box\"),\n getRole: () => _common_platform_js__WEBPACK_IMPORTED_MODULE_9__.isMacintosh ? '' : 'option',\n getWidgetRole: () => 'listbox'\n }\n });\n if (this.selectBoxOptions.ariaLabel) {\n this.selectList.ariaLabel = this.selectBoxOptions.ariaLabel;\n }\n // SetUp list keyboard controller - control navigation, disabled items, focus\n const onKeyDown = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.selectDropDownListContainer, 'keydown'));\n const onSelectDropDownKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.chain(onKeyDown.event)\n .filter(() => this.selectList.length > 0)\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e));\n this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === 3 /* KeyCode.Enter */).on(e => this.onEnter(e), this));\n this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === 2 /* KeyCode.Tab */).on(e => this.onEnter(e), this)); // Tab should behave the same as enter, #79339\n this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === 9 /* KeyCode.Escape */).on(e => this.onEscape(e), this));\n this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === 16 /* KeyCode.UpArrow */).on(e => this.onUpArrow(e), this));\n this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === 18 /* KeyCode.DownArrow */).on(e => this.onDownArrow(e), this));\n this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === 12 /* KeyCode.PageDown */).on(this.onPageDown, this));\n this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === 11 /* KeyCode.PageUp */).on(this.onPageUp, this));\n this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === 14 /* KeyCode.Home */).on(this.onHome, this));\n this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === 13 /* KeyCode.End */).on(this.onEnd, this));\n this._register(onSelectDropDownKeyDown.filter(e => (e.keyCode >= 21 /* KeyCode.Digit0 */ && e.keyCode <= 56 /* KeyCode.KeyZ */) || (e.keyCode >= 85 /* KeyCode.Semicolon */ && e.keyCode <= 113 /* KeyCode.NumpadDivide */)).on(this.onCharacter, this));\n // SetUp list mouse controller - control navigation, disabled items, focus\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectList.getHTMLElement(), _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.POINTER_UP, e => this.onPointerUp(e)));\n this._register(this.selectList.onMouseOver(e => typeof e.index !== 'undefined' && this.selectList.setFocus([e.index])));\n this._register(this.selectList.onDidChangeFocus(e => this.onListFocus(e)));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectDropDownContainer, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.FOCUS_OUT, e => {\n if (!this._isVisible || _dom_js__WEBPACK_IMPORTED_MODULE_0__.isAncestor(e.relatedTarget, this.selectDropDownContainer)) {\n return;\n }\n this.onListBlur();\n }));\n this.selectList.getHTMLElement().setAttribute('aria-label', this.selectBoxOptions.ariaLabel || '');\n this.selectList.getHTMLElement().setAttribute('aria-expanded', 'true');\n this.styleList();\n }\n // List methods\n // List mouse controller - active exit, select option, fire onDidSelect if change, return focus to parent select\n // Also takes in touchend events\n onPointerUp(e) {\n if (!this.selectList.length) {\n return;\n }\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n const target = e.target;\n if (!target) {\n return;\n }\n // Check our mouse event is on an option (not scrollbar)\n if (target.classList.contains('slider')) {\n return;\n }\n const listRowElement = target.closest('.monaco-list-row');\n if (!listRowElement) {\n return;\n }\n const index = Number(listRowElement.getAttribute('data-index'));\n const disabled = listRowElement.classList.contains('option-disabled');\n // Ignore mouse selection of disabled options\n if (index >= 0 && index < this.options.length && !disabled) {\n this.selected = index;\n this.select(this.selected);\n this.selectList.setFocus([this.selected]);\n this.selectList.reveal(this.selectList.getFocus()[0]);\n // Only fire if selection change\n if (this.selected !== this._currentSelection) {\n // Set current = selected\n this._currentSelection = this.selected;\n this._onDidSelect.fire({\n index: this.selectElement.selectedIndex,\n selected: this.options[this.selected].text\n });\n if (!!this.options[this.selected] && !!this.options[this.selected].text) {\n this.selectElement.title = this.options[this.selected].text;\n }\n }\n this.hideSelectDropDown(true);\n }\n }\n // List Exit - passive - implicit no selection change, hide drop-down\n onListBlur() {\n if (this._sticky) {\n return;\n }\n if (this.selected !== this._currentSelection) {\n // Reset selected to current if no change\n this.select(this._currentSelection);\n }\n this.hideSelectDropDown(false);\n }\n renderDescriptionMarkdown(text, actionHandler) {\n const cleanRenderedMarkdown = (element) => {\n for (let i = 0; i < element.childNodes.length; i++) {\n const child = element.childNodes.item(i);\n const tagName = child.tagName && child.tagName.toLowerCase();\n if (tagName === 'img') {\n element.removeChild(child);\n }\n else {\n cleanRenderedMarkdown(child);\n }\n }\n };\n const rendered = (0,_markdownRenderer_js__WEBPACK_IMPORTED_MODULE_3__.renderMarkdown)({ value: text, supportThemeIcons: true }, { actionHandler });\n rendered.element.classList.add('select-box-description-markdown');\n cleanRenderedMarkdown(rendered.element);\n return rendered.element;\n }\n // List Focus Change - passive - update details pane with newly focused element's data\n onListFocus(e) {\n // Skip during initial layout\n if (!this._isVisible || !this._hasDetails) {\n return;\n }\n this.updateDetail(e.indexes[0]);\n }\n updateDetail(selectedIndex) {\n var _a, _b;\n this.selectionDetailsPane.innerText = '';\n const option = this.options[selectedIndex];\n const description = (_a = option === null || option === void 0 ? void 0 : option.description) !== null && _a !== void 0 ? _a : '';\n const descriptionIsMarkdown = (_b = option === null || option === void 0 ? void 0 : option.descriptionIsMarkdown) !== null && _b !== void 0 ? _b : false;\n if (description) {\n if (descriptionIsMarkdown) {\n const actionHandler = option.descriptionMarkdownActionHandler;\n this.selectionDetailsPane.appendChild(this.renderDescriptionMarkdown(description, actionHandler));\n }\n else {\n this.selectionDetailsPane.innerText = description;\n }\n this.selectionDetailsPane.style.display = 'block';\n }\n else {\n this.selectionDetailsPane.style.display = 'none';\n }\n // Avoid recursion\n this._skipLayout = true;\n this.contextViewProvider.layout();\n this._skipLayout = false;\n }\n // List keyboard controller\n // List exit - active - hide ContextView dropdown, reset selection, return focus to parent select\n onEscape(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n // Reset selection to value when opened\n this.select(this._currentSelection);\n this.hideSelectDropDown(true);\n }\n // List exit - active - hide ContextView dropdown, return focus to parent select, fire onDidSelect if change\n onEnter(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n // Only fire if selection change\n if (this.selected !== this._currentSelection) {\n this._currentSelection = this.selected;\n this._onDidSelect.fire({\n index: this.selectElement.selectedIndex,\n selected: this.options[this.selected].text\n });\n if (!!this.options[this.selected] && !!this.options[this.selected].text) {\n this.selectElement.title = this.options[this.selected].text;\n }\n }\n this.hideSelectDropDown(true);\n }\n // List navigation - have to handle a disabled option (jump over)\n onDownArrow(e) {\n if (this.selected < this.options.length - 1) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n // Skip disabled options\n const nextOptionDisabled = this.options[this.selected + 1].isDisabled;\n if (nextOptionDisabled && this.options.length > this.selected + 2) {\n this.selected += 2;\n }\n else if (nextOptionDisabled) {\n return;\n }\n else {\n this.selected++;\n }\n // Set focus/selection - only fire event when closing drop-down or on blur\n this.select(this.selected);\n this.selectList.setFocus([this.selected]);\n this.selectList.reveal(this.selectList.getFocus()[0]);\n }\n }\n onUpArrow(e) {\n if (this.selected > 0) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n // Skip disabled options\n const previousOptionDisabled = this.options[this.selected - 1].isDisabled;\n if (previousOptionDisabled && this.selected > 1) {\n this.selected -= 2;\n }\n else {\n this.selected--;\n }\n // Set focus/selection - only fire event when closing drop-down or on blur\n this.select(this.selected);\n this.selectList.setFocus([this.selected]);\n this.selectList.reveal(this.selectList.getFocus()[0]);\n }\n }\n onPageUp(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n this.selectList.focusPreviousPage();\n // Allow scrolling to settle\n setTimeout(() => {\n this.selected = this.selectList.getFocus()[0];\n // Shift selection down if we land on a disabled option\n if (this.options[this.selected].isDisabled && this.selected < this.options.length - 1) {\n this.selected++;\n this.selectList.setFocus([this.selected]);\n }\n this.selectList.reveal(this.selected);\n this.select(this.selected);\n }, 1);\n }\n onPageDown(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n this.selectList.focusNextPage();\n // Allow scrolling to settle\n setTimeout(() => {\n this.selected = this.selectList.getFocus()[0];\n // Shift selection up if we land on a disabled option\n if (this.options[this.selected].isDisabled && this.selected > 0) {\n this.selected--;\n this.selectList.setFocus([this.selected]);\n }\n this.selectList.reveal(this.selected);\n this.select(this.selected);\n }, 1);\n }\n onHome(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n if (this.options.length < 2) {\n return;\n }\n this.selected = 0;\n if (this.options[this.selected].isDisabled && this.selected > 1) {\n this.selected++;\n }\n this.selectList.setFocus([this.selected]);\n this.selectList.reveal(this.selected);\n this.select(this.selected);\n }\n onEnd(e) {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n if (this.options.length < 2) {\n return;\n }\n this.selected = this.options.length - 1;\n if (this.options[this.selected].isDisabled && this.selected > 1) {\n this.selected--;\n }\n this.selectList.setFocus([this.selected]);\n this.selectList.reveal(this.selected);\n this.select(this.selected);\n }\n // Mimic option first character navigation of native select\n onCharacter(e) {\n const ch = _common_keyCodes_js__WEBPACK_IMPORTED_MODULE_7__.KeyCodeUtils.toString(e.keyCode);\n let optionIndex = -1;\n for (let i = 0; i < this.options.length - 1; i++) {\n optionIndex = (i + this.selected + 1) % this.options.length;\n if (this.options[optionIndex].text.charAt(0).toUpperCase() === ch && !this.options[optionIndex].isDisabled) {\n this.select(optionIndex);\n this.selectList.setFocus([optionIndex]);\n this.selectList.reveal(this.selectList.getFocus()[0]);\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e);\n break;\n }\n }\n }\n dispose() {\n this.hideSelectDropDown(false);\n super.dispose();\n }\n}\nSelectBoxList.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN = 32;\nSelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN = 2;\nSelectBoxList.DEFAULT_MINIMUM_VISIBLE_OPTIONS = 3;\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxNative.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxNative.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 */ SelectBoxNative: () => (/* binding */ SelectBoxNative)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_platform_js__WEBPACK_IMPORTED_MODULE_5__ = __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\n\nclass SelectBoxNative extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__.Disposable {\n constructor(options, selected, styles, selectBoxOptions) {\n super();\n this.selected = 0;\n this.selectBoxOptions = selectBoxOptions || Object.create(null);\n this.options = [];\n this.selectElement = document.createElement('select');\n this.selectElement.className = 'monaco-select-box';\n if (typeof this.selectBoxOptions.ariaLabel === 'string') {\n this.selectElement.setAttribute('aria-label', this.selectBoxOptions.ariaLabel);\n }\n if (typeof this.selectBoxOptions.ariaDescription === 'string') {\n this.selectElement.setAttribute('aria-description', this.selectBoxOptions.ariaDescription);\n }\n this._onDidSelect = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter());\n this.styles = styles;\n this.registerListeners();\n this.setOptions(options, selected);\n }\n registerListeners() {\n this._register(_touch_js__WEBPACK_IMPORTED_MODULE_1__.Gesture.addTarget(this.selectElement));\n [_touch_js__WEBPACK_IMPORTED_MODULE_1__.EventType.Tap].forEach(eventType => {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.selectElement, eventType, (e) => {\n this.selectElement.focus();\n }));\n });\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addStandardDisposableListener(this.selectElement, 'click', (e) => {\n _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventHelper.stop(e, true);\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addStandardDisposableListener(this.selectElement, 'change', (e) => {\n this.selectElement.title = e.target.value;\n this._onDidSelect.fire({\n index: e.target.selectedIndex,\n selected: e.target.value\n });\n }));\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addStandardDisposableListener(this.selectElement, 'keydown', (e) => {\n let showSelect = false;\n if (_common_platform_js__WEBPACK_IMPORTED_MODULE_5__.isMacintosh) {\n if (e.keyCode === 18 /* KeyCode.DownArrow */ || e.keyCode === 16 /* KeyCode.UpArrow */ || e.keyCode === 10 /* KeyCode.Space */) {\n showSelect = true;\n }\n }\n else {\n if (e.keyCode === 18 /* KeyCode.DownArrow */ && e.altKey || e.keyCode === 10 /* KeyCode.Space */ || e.keyCode === 3 /* KeyCode.Enter */) {\n showSelect = true;\n }\n }\n if (showSelect) {\n // Space, Enter, is used to expand select box, do not propagate it (prevent action bar action run)\n e.stopPropagation();\n }\n }));\n }\n get onDidSelect() {\n return this._onDidSelect.event;\n }\n setOptions(options, selected) {\n if (!this.options || !_common_arrays_js__WEBPACK_IMPORTED_MODULE_2__.equals(this.options, options)) {\n this.options = options;\n this.selectElement.options.length = 0;\n this.options.forEach((option, index) => {\n this.selectElement.add(this.createOption(option.text, index, option.isDisabled));\n });\n }\n if (selected !== undefined) {\n this.select(selected);\n }\n }\n select(index) {\n if (this.options.length === 0) {\n this.selected = 0;\n }\n else if (index >= 0 && index < this.options.length) {\n this.selected = index;\n }\n else if (index > this.options.length - 1) {\n // Adjust index to end of list\n // This could make client out of sync with the select\n this.select(this.options.length - 1);\n }\n else if (this.selected < 0) {\n this.selected = 0;\n }\n this.selectElement.selectedIndex = this.selected;\n if ((this.selected < this.options.length) && typeof this.options[this.selected].text === 'string') {\n this.selectElement.title = this.options[this.selected].text;\n }\n else {\n this.selectElement.title = '';\n }\n }\n focus() {\n if (this.selectElement) {\n this.selectElement.tabIndex = 0;\n this.selectElement.focus();\n }\n }\n blur() {\n if (this.selectElement) {\n this.selectElement.tabIndex = -1;\n this.selectElement.blur();\n }\n }\n setFocusable(focusable) {\n this.selectElement.tabIndex = focusable ? 0 : -1;\n }\n render(container) {\n container.classList.add('select-container');\n container.appendChild(this.selectElement);\n this.setOptions(this.options, this.selected);\n this.applyStyles();\n }\n applyStyles() {\n var _a, _b, _c;\n // Style native select\n if (this.selectElement) {\n this.selectElement.style.backgroundColor = (_a = this.styles.selectBackground) !== null && _a !== void 0 ? _a : '';\n this.selectElement.style.color = (_b = this.styles.selectForeground) !== null && _b !== void 0 ? _b : '';\n this.selectElement.style.borderColor = (_c = this.styles.selectBorder) !== null && _c !== void 0 ? _c : '';\n }\n }\n createOption(value, index, disabled) {\n const option = document.createElement('option');\n option.value = value;\n option.text = value;\n option.disabled = !!disabled;\n return option;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxNative.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.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 */ Sizing: () => (/* binding */ Sizing),\n/* harmony export */ SplitView: () => (/* binding */ SplitView)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.js\");\n/* harmony import */ var _sash_sash_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../sash/sash.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js\");\n/* harmony import */ var _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_color_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/color.js */ \"./node_modules/monaco-editor/esm/vs/base/common/color.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 _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_numbers_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../common/numbers.js */ \"./node_modules/monaco-editor/esm/vs/base/common/numbers.js\");\n/* harmony import */ var _common_scrollable_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../common/scrollable.js */ \"./node_modules/monaco-editor/esm/vs/base/common/scrollable.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _splitview_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./splitview.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css\");\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\nconst defaultStyles = {\n separatorBorder: _common_color_js__WEBPACK_IMPORTED_MODULE_5__.Color.transparent\n};\nclass ViewItem {\n set size(size) {\n this._size = size;\n }\n get size() {\n return this._size;\n }\n get visible() {\n return typeof this._cachedVisibleSize === 'undefined';\n }\n setVisible(visible, size) {\n var _a, _b;\n if (visible === this.visible) {\n return;\n }\n if (visible) {\n this.size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(this._cachedVisibleSize, this.viewMinimumSize, this.viewMaximumSize);\n this._cachedVisibleSize = undefined;\n }\n else {\n this._cachedVisibleSize = typeof size === 'number' ? size : this.size;\n this.size = 0;\n }\n this.container.classList.toggle('visible', visible);\n (_b = (_a = this.view).setVisible) === null || _b === void 0 ? void 0 : _b.call(_a, visible);\n }\n get minimumSize() { return this.visible ? this.view.minimumSize : 0; }\n get viewMinimumSize() { return this.view.minimumSize; }\n get maximumSize() { return this.visible ? this.view.maximumSize : 0; }\n get viewMaximumSize() { return this.view.maximumSize; }\n get priority() { return this.view.priority; }\n get proportionalLayout() { var _a; return (_a = this.view.proportionalLayout) !== null && _a !== void 0 ? _a : true; }\n get snap() { return !!this.view.snap; }\n set enabled(enabled) {\n this.container.style.pointerEvents = enabled ? '' : 'none';\n }\n constructor(container, view, size, disposable) {\n this.container = container;\n this.view = view;\n this.disposable = disposable;\n this._cachedVisibleSize = undefined;\n if (typeof size === 'number') {\n this._size = size;\n this._cachedVisibleSize = undefined;\n container.classList.add('visible');\n }\n else {\n this._size = 0;\n this._cachedVisibleSize = size.cachedVisibleSize;\n }\n }\n layout(offset, layoutContext) {\n this.layoutContainer(offset);\n this.view.layout(this.size, offset, layoutContext);\n }\n dispose() {\n this.disposable.dispose();\n return this.view;\n }\n}\nclass VerticalViewItem extends ViewItem {\n layoutContainer(offset) {\n this.container.style.top = `${offset}px`;\n this.container.style.height = `${this.size}px`;\n }\n}\nclass HorizontalViewItem extends ViewItem {\n layoutContainer(offset) {\n this.container.style.left = `${offset}px`;\n this.container.style.width = `${this.size}px`;\n }\n}\nvar State;\n(function (State) {\n State[State[\"Idle\"] = 0] = \"Idle\";\n State[State[\"Busy\"] = 1] = \"Busy\";\n})(State || (State = {}));\nvar Sizing;\n(function (Sizing) {\n /**\n * When adding or removing views, distribute the delta space among\n * all other views.\n */\n Sizing.Distribute = { type: 'distribute' };\n /**\n * When adding or removing views, split the delta space with another\n * specific view, indexed by the provided `index`.\n */\n function Split(index) { return { type: 'split', index }; }\n Sizing.Split = Split;\n /**\n * When adding a view, use DistributeSizing when all pre-existing views are\n * distributed evenly, otherwise use SplitSizing.\n */\n function Auto(index) { return { type: 'auto', index }; }\n Sizing.Auto = Auto;\n /**\n * When adding or removing views, assume the view is invisible.\n */\n function Invisible(cachedVisibleSize) { return { type: 'invisible', cachedVisibleSize }; }\n Sizing.Invisible = Invisible;\n})(Sizing || (Sizing = {}));\n/**\n * The {@link SplitView} is the UI component which implements a one dimensional\n * flex-like layout algorithm for a collection of {@link IView} instances, which\n * are essentially HTMLElement instances with the following size constraints:\n *\n * - {@link IView.minimumSize}\n * - {@link IView.maximumSize}\n * - {@link IView.priority}\n * - {@link IView.snap}\n *\n * In case the SplitView doesn't have enough size to fit all views, it will overflow\n * its content with a scrollbar.\n *\n * In between each pair of views there will be a {@link Sash} allowing the user\n * to resize the views, making sure the constraints are respected.\n *\n * An optional {@link TLayoutContext layout context type} may be used in order to\n * pass along layout contextual data from the {@link SplitView.layout} method down\n * to each view's {@link IView.layout} calls.\n *\n * Features:\n * - Flex-like layout algorithm\n * - Snap support\n * - Orthogonal sash support, for corner sashes\n * - View hide/show support\n * - View swap/move support\n * - Alt key modifier behavior, macOS style\n */\nclass SplitView extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.Disposable {\n get orthogonalStartSash() { return this._orthogonalStartSash; }\n get orthogonalEndSash() { return this._orthogonalEndSash; }\n get startSnappingEnabled() { return this._startSnappingEnabled; }\n get endSnappingEnabled() { return this._endSnappingEnabled; }\n /**\n * A reference to a sash, perpendicular to all sashes in this {@link SplitView},\n * located at the left- or top-most side of the SplitView.\n * Corner sashes will be created automatically at the intersections.\n */\n set orthogonalStartSash(sash) {\n for (const sashItem of this.sashItems) {\n sashItem.sash.orthogonalStartSash = sash;\n }\n this._orthogonalStartSash = sash;\n }\n /**\n * A reference to a sash, perpendicular to all sashes in this {@link SplitView},\n * located at the right- or bottom-most side of the SplitView.\n * Corner sashes will be created automatically at the intersections.\n */\n set orthogonalEndSash(sash) {\n for (const sashItem of this.sashItems) {\n sashItem.sash.orthogonalEndSash = sash;\n }\n this._orthogonalEndSash = sash;\n }\n /**\n * Enable/disable snapping at the beginning of this {@link SplitView}.\n */\n set startSnappingEnabled(startSnappingEnabled) {\n if (this._startSnappingEnabled === startSnappingEnabled) {\n return;\n }\n this._startSnappingEnabled = startSnappingEnabled;\n this.updateSashEnablement();\n }\n /**\n * Enable/disable snapping at the end of this {@link SplitView}.\n */\n set endSnappingEnabled(endSnappingEnabled) {\n if (this._endSnappingEnabled === endSnappingEnabled) {\n return;\n }\n this._endSnappingEnabled = endSnappingEnabled;\n this.updateSashEnablement();\n }\n /**\n * Create a new {@link SplitView} instance.\n */\n constructor(container, options = {}) {\n var _a, _b, _c, _d, _e;\n super();\n this.size = 0;\n this.contentSize = 0;\n this.proportions = undefined;\n this.viewItems = [];\n this.sashItems = []; // used in tests\n this.state = State.Idle;\n this._onDidSashChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\n this._onDidSashReset = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Emitter());\n this._startSnappingEnabled = true;\n this._endSnappingEnabled = true;\n /**\n * Fires whenever the user resizes a {@link Sash sash}.\n */\n this.onDidSashChange = this._onDidSashChange.event;\n /**\n * Fires whenever the user double clicks a {@link Sash sash}.\n */\n this.onDidSashReset = this._onDidSashReset.event;\n this.orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : 0 /* Orientation.VERTICAL */;\n this.inverseAltBehavior = (_b = options.inverseAltBehavior) !== null && _b !== void 0 ? _b : false;\n this.proportionalLayout = (_c = options.proportionalLayout) !== null && _c !== void 0 ? _c : true;\n this.getSashOrthogonalSize = options.getSashOrthogonalSize;\n this.el = document.createElement('div');\n this.el.classList.add('monaco-split-view2');\n this.el.classList.add(this.orientation === 0 /* Orientation.VERTICAL */ ? 'vertical' : 'horizontal');\n container.appendChild(this.el);\n this.sashContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(this.el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.sash-container'));\n this.viewContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.split-view-container');\n this.scrollable = new _common_scrollable_js__WEBPACK_IMPORTED_MODULE_9__.Scrollable({\n forceIntegerValues: true,\n smoothScrollDuration: 125,\n scheduleAtNextAnimationFrame: _dom_js__WEBPACK_IMPORTED_MODULE_0__.scheduleAtNextAnimationFrame\n });\n this.scrollableElement = this._register(new _scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_3__.SmoothScrollableElement(this.viewContainer, {\n vertical: this.orientation === 0 /* Orientation.VERTICAL */ ? ((_d = options.scrollbarVisibility) !== null && _d !== void 0 ? _d : 1 /* ScrollbarVisibility.Auto */) : 2 /* ScrollbarVisibility.Hidden */,\n horizontal: this.orientation === 1 /* Orientation.HORIZONTAL */ ? ((_e = options.scrollbarVisibility) !== null && _e !== void 0 ? _e : 1 /* ScrollbarVisibility.Auto */) : 2 /* ScrollbarVisibility.Hidden */\n }, this.scrollable));\n // https://github.com/microsoft/vscode/issues/157737\n const onDidScrollViewContainer = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.viewContainer, 'scroll')).event;\n this._register(onDidScrollViewContainer(_ => {\n const position = this.scrollableElement.getScrollPosition();\n const scrollLeft = Math.abs(this.viewContainer.scrollLeft - position.scrollLeft) <= 1 ? undefined : this.viewContainer.scrollLeft;\n const scrollTop = Math.abs(this.viewContainer.scrollTop - position.scrollTop) <= 1 ? undefined : this.viewContainer.scrollTop;\n if (scrollLeft !== undefined || scrollTop !== undefined) {\n this.scrollableElement.setScrollPosition({ scrollLeft, scrollTop });\n }\n }));\n this.onDidScroll = this.scrollableElement.onScroll;\n this._register(this.onDidScroll(e => {\n if (e.scrollTopChanged) {\n this.viewContainer.scrollTop = e.scrollTop;\n }\n if (e.scrollLeftChanged) {\n this.viewContainer.scrollLeft = e.scrollLeft;\n }\n }));\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(this.el, this.scrollableElement.getDomNode());\n this.style(options.styles || defaultStyles);\n // We have an existing set of view, add them now\n if (options.descriptor) {\n this.size = options.descriptor.size;\n options.descriptor.views.forEach((viewDescriptor, index) => {\n const sizing = _common_types_js__WEBPACK_IMPORTED_MODULE_10__.isUndefined(viewDescriptor.visible) || viewDescriptor.visible ? viewDescriptor.size : { type: 'invisible', cachedVisibleSize: viewDescriptor.size };\n const view = viewDescriptor.view;\n this.doAddView(view, sizing, index, true);\n });\n // Initialize content size and proportions for first layout\n this.contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\n this.saveProportions();\n }\n }\n style(styles) {\n if (styles.separatorBorder.isTransparent()) {\n this.el.classList.remove('separator-border');\n this.el.style.removeProperty('--separator-border');\n }\n else {\n this.el.classList.add('separator-border');\n this.el.style.setProperty('--separator-border', styles.separatorBorder.toString());\n }\n }\n /**\n * Add a {@link IView view} to this {@link SplitView}.\n *\n * @param view The view to add.\n * @param size Either a fixed size, or a dynamic {@link Sizing} strategy.\n * @param index The index to insert the view on.\n * @param skipLayout Whether layout should be skipped.\n */\n addView(view, size, index = this.viewItems.length, skipLayout) {\n this.doAddView(view, size, index, skipLayout);\n }\n /**\n * Layout the {@link SplitView}.\n *\n * @param size The entire size of the {@link SplitView}.\n * @param layoutContext An optional layout context to pass along to {@link IView views}.\n */\n layout(size, layoutContext) {\n const previousSize = Math.max(this.size, this.contentSize);\n this.size = size;\n this.layoutContext = layoutContext;\n if (!this.proportions) {\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(this.viewItems.length);\n const lowPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 1 /* LayoutPriority.Low */);\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* LayoutPriority.High */);\n this.resize(this.viewItems.length - 1, size - previousSize, undefined, lowPriorityIndexes, highPriorityIndexes);\n }\n else {\n let total = 0;\n for (let i = 0; i < this.viewItems.length; i++) {\n const item = this.viewItems[i];\n const proportion = this.proportions[i];\n if (typeof proportion === 'number') {\n total += proportion;\n }\n else {\n size -= item.size;\n }\n }\n for (let i = 0; i < this.viewItems.length; i++) {\n const item = this.viewItems[i];\n const proportion = this.proportions[i];\n if (typeof proportion === 'number') {\n item.size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(Math.round(proportion * size / total), item.minimumSize, item.maximumSize);\n }\n }\n }\n this.distributeEmptySpace();\n this.layoutViews();\n }\n saveProportions() {\n if (this.proportionalLayout && this.contentSize > 0) {\n this.proportions = this.viewItems.map(i => i.proportionalLayout ? i.size / this.contentSize : undefined);\n }\n }\n onSashStart({ sash, start, alt }) {\n for (const item of this.viewItems) {\n item.enabled = false;\n }\n const index = this.sashItems.findIndex(item => item.sash === sash);\n // This way, we can press Alt while we resize a sash, macOS style!\n const disposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.combinedDisposable)((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(document.body, 'keydown', e => resetSashDragState(this.sashDragState.current, e.altKey)), (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener)(document.body, 'keyup', () => resetSashDragState(this.sashDragState.current, false)));\n const resetSashDragState = (start, alt) => {\n const sizes = this.viewItems.map(i => i.size);\n let minDelta = Number.NEGATIVE_INFINITY;\n let maxDelta = Number.POSITIVE_INFINITY;\n if (this.inverseAltBehavior) {\n alt = !alt;\n }\n if (alt) {\n // When we're using the last sash with Alt, we're resizing\n // the view to the left/up, instead of right/down as usual\n // Thus, we must do the inverse of the usual\n const isLastSash = index === this.sashItems.length - 1;\n if (isLastSash) {\n const viewItem = this.viewItems[index];\n minDelta = (viewItem.minimumSize - viewItem.size) / 2;\n maxDelta = (viewItem.maximumSize - viewItem.size) / 2;\n }\n else {\n const viewItem = this.viewItems[index + 1];\n minDelta = (viewItem.size - viewItem.maximumSize) / 2;\n maxDelta = (viewItem.size - viewItem.minimumSize) / 2;\n }\n }\n let snapBefore;\n let snapAfter;\n if (!alt) {\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index, -1);\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index + 1, this.viewItems.length);\n const minDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].minimumSize - sizes[i]), 0);\n const maxDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].viewMaximumSize - sizes[i]), 0);\n const maxDeltaDown = downIndexes.length === 0 ? Number.POSITIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].minimumSize), 0);\n const minDeltaDown = downIndexes.length === 0 ? Number.NEGATIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].viewMaximumSize), 0);\n const minDelta = Math.max(minDeltaUp, minDeltaDown);\n const maxDelta = Math.min(maxDeltaDown, maxDeltaUp);\n const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);\n const snapAfterIndex = this.findFirstSnapIndex(downIndexes);\n if (typeof snapBeforeIndex === 'number') {\n const viewItem = this.viewItems[snapBeforeIndex];\n const halfSize = Math.floor(viewItem.viewMinimumSize / 2);\n snapBefore = {\n index: snapBeforeIndex,\n limitDelta: viewItem.visible ? minDelta - halfSize : minDelta + halfSize,\n size: viewItem.size\n };\n }\n if (typeof snapAfterIndex === 'number') {\n const viewItem = this.viewItems[snapAfterIndex];\n const halfSize = Math.floor(viewItem.viewMinimumSize / 2);\n snapAfter = {\n index: snapAfterIndex,\n limitDelta: viewItem.visible ? maxDelta + halfSize : maxDelta - halfSize,\n size: viewItem.size\n };\n }\n }\n this.sashDragState = { start, current: start, index, sizes, minDelta, maxDelta, alt, snapBefore, snapAfter, disposable };\n };\n resetSashDragState(start, alt);\n }\n onSashChange({ current }) {\n const { index, start, sizes, alt, minDelta, maxDelta, snapBefore, snapAfter } = this.sashDragState;\n this.sashDragState.current = current;\n const delta = current - start;\n const newDelta = this.resize(index, delta, sizes, undefined, undefined, minDelta, maxDelta, snapBefore, snapAfter);\n if (alt) {\n const isLastSash = index === this.sashItems.length - 1;\n const newSizes = this.viewItems.map(i => i.size);\n const viewItemIndex = isLastSash ? index : index + 1;\n const viewItem = this.viewItems[viewItemIndex];\n const newMinDelta = viewItem.size - viewItem.maximumSize;\n const newMaxDelta = viewItem.size - viewItem.minimumSize;\n const resizeIndex = isLastSash ? index - 1 : index + 1;\n this.resize(resizeIndex, -newDelta, newSizes, undefined, undefined, newMinDelta, newMaxDelta);\n }\n this.distributeEmptySpace();\n this.layoutViews();\n }\n onSashEnd(index) {\n this._onDidSashChange.fire(index);\n this.sashDragState.disposable.dispose();\n this.saveProportions();\n for (const item of this.viewItems) {\n item.enabled = true;\n }\n }\n onViewChange(item, size) {\n const index = this.viewItems.indexOf(item);\n if (index < 0 || index >= this.viewItems.length) {\n return;\n }\n size = typeof size === 'number' ? size : item.size;\n size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(size, item.minimumSize, item.maximumSize);\n if (this.inverseAltBehavior && index > 0) {\n // In this case, we want the view to grow or shrink both sides equally\n // so we just resize the \"left\" side by half and let `resize` do the clamping magic\n this.resize(index - 1, Math.floor((item.size - size) / 2));\n this.distributeEmptySpace();\n this.layoutViews();\n }\n else {\n item.size = size;\n this.relayout([index], undefined);\n }\n }\n /**\n * Resize a {@link IView view} within the {@link SplitView}.\n *\n * @param index The {@link IView view} index.\n * @param size The {@link IView view} size.\n */\n resizeView(index, size) {\n if (this.state !== State.Idle) {\n throw new Error('Cant modify splitview');\n }\n this.state = State.Busy;\n if (index < 0 || index >= this.viewItems.length) {\n return;\n }\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(this.viewItems.length).filter(i => i !== index);\n const lowPriorityIndexes = [...indexes.filter(i => this.viewItems[i].priority === 1 /* LayoutPriority.Low */), index];\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* LayoutPriority.High */);\n const item = this.viewItems[index];\n size = Math.round(size);\n size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(size, item.minimumSize, Math.min(item.maximumSize, this.size));\n item.size = size;\n this.relayout(lowPriorityIndexes, highPriorityIndexes);\n this.state = State.Idle;\n }\n /**\n * Distribute the entire {@link SplitView} size among all {@link IView views}.\n */\n distributeViewSizes() {\n const flexibleViewItems = [];\n let flexibleSize = 0;\n for (const item of this.viewItems) {\n if (item.maximumSize - item.minimumSize > 0) {\n flexibleViewItems.push(item);\n flexibleSize += item.size;\n }\n }\n const size = Math.floor(flexibleSize / flexibleViewItems.length);\n for (const item of flexibleViewItems) {\n item.size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(size, item.minimumSize, item.maximumSize);\n }\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(this.viewItems.length);\n const lowPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 1 /* LayoutPriority.Low */);\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* LayoutPriority.High */);\n this.relayout(lowPriorityIndexes, highPriorityIndexes);\n }\n /**\n * Returns the size of a {@link IView view}.\n */\n getViewSize(index) {\n if (index < 0 || index >= this.viewItems.length) {\n return -1;\n }\n return this.viewItems[index].size;\n }\n doAddView(view, size, index = this.viewItems.length, skipLayout) {\n if (this.state !== State.Idle) {\n throw new Error('Cant modify splitview');\n }\n this.state = State.Busy;\n // Add view\n const container = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.split-view-view');\n if (index === this.viewItems.length) {\n this.viewContainer.appendChild(container);\n }\n else {\n this.viewContainer.insertBefore(container, this.viewContainer.children.item(index));\n }\n const onChangeDisposable = view.onDidChange(size => this.onViewChange(item, size));\n const containerDisposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.toDisposable)(() => this.viewContainer.removeChild(container));\n const disposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.combinedDisposable)(onChangeDisposable, containerDisposable);\n let viewSize;\n if (typeof size === 'number') {\n viewSize = size;\n }\n else {\n if (size.type === 'auto') {\n if (this.areViewsDistributed()) {\n size = { type: 'distribute' };\n }\n else {\n size = { type: 'split', index: size.index };\n }\n }\n if (size.type === 'split') {\n viewSize = this.getViewSize(size.index) / 2;\n }\n else if (size.type === 'invisible') {\n viewSize = { cachedVisibleSize: size.cachedVisibleSize };\n }\n else {\n viewSize = view.minimumSize;\n }\n }\n const item = this.orientation === 0 /* Orientation.VERTICAL */\n ? new VerticalViewItem(container, view, viewSize, disposable)\n : new HorizontalViewItem(container, view, viewSize, disposable);\n this.viewItems.splice(index, 0, item);\n // Add sash\n if (this.viewItems.length > 1) {\n const opts = { orthogonalStartSash: this.orthogonalStartSash, orthogonalEndSash: this.orthogonalEndSash };\n const sash = this.orientation === 0 /* Orientation.VERTICAL */\n ? new _sash_sash_js__WEBPACK_IMPORTED_MODULE_2__.Sash(this.sashContainer, { getHorizontalSashTop: s => this.getSashPosition(s), getHorizontalSashWidth: this.getSashOrthogonalSize }, Object.assign(Object.assign({}, opts), { orientation: 1 /* Orientation.HORIZONTAL */ }))\n : new _sash_sash_js__WEBPACK_IMPORTED_MODULE_2__.Sash(this.sashContainer, { getVerticalSashLeft: s => this.getSashPosition(s), getVerticalSashHeight: this.getSashOrthogonalSize }, Object.assign(Object.assign({}, opts), { orientation: 0 /* Orientation.VERTICAL */ }));\n const sashEventMapper = this.orientation === 0 /* Orientation.VERTICAL */\n ? (e) => ({ sash, start: e.startY, current: e.currentY, alt: e.altKey })\n : (e) => ({ sash, start: e.startX, current: e.currentX, alt: e.altKey });\n const onStart = _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.map(sash.onDidStart, sashEventMapper);\n const onStartDisposable = onStart(this.onSashStart, this);\n const onChange = _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.map(sash.onDidChange, sashEventMapper);\n const onChangeDisposable = onChange(this.onSashChange, this);\n const onEnd = _common_event_js__WEBPACK_IMPORTED_MODULE_6__.Event.map(sash.onDidEnd, () => this.sashItems.findIndex(item => item.sash === sash));\n const onEndDisposable = onEnd(this.onSashEnd, this);\n const onDidResetDisposable = sash.onDidReset(() => {\n const index = this.sashItems.findIndex(item => item.sash === sash);\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index, -1);\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index + 1, this.viewItems.length);\n const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);\n const snapAfterIndex = this.findFirstSnapIndex(downIndexes);\n if (typeof snapBeforeIndex === 'number' && !this.viewItems[snapBeforeIndex].visible) {\n return;\n }\n if (typeof snapAfterIndex === 'number' && !this.viewItems[snapAfterIndex].visible) {\n return;\n }\n this._onDidSashReset.fire(index);\n });\n const disposable = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.combinedDisposable)(onStartDisposable, onChangeDisposable, onEndDisposable, onDidResetDisposable, sash);\n const sashItem = { sash, disposable };\n this.sashItems.splice(index - 1, 0, sashItem);\n }\n container.appendChild(view.element);\n let highPriorityIndexes;\n if (typeof size !== 'number' && size.type === 'split') {\n highPriorityIndexes = [size.index];\n }\n if (!skipLayout) {\n this.relayout([index], highPriorityIndexes);\n }\n this.state = State.Idle;\n if (!skipLayout && typeof size !== 'number' && size.type === 'distribute') {\n this.distributeViewSizes();\n }\n }\n relayout(lowPriorityIndexes, highPriorityIndexes) {\n const contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\n this.resize(this.viewItems.length - 1, this.size - contentSize, undefined, lowPriorityIndexes, highPriorityIndexes);\n this.distributeEmptySpace();\n this.layoutViews();\n this.saveProportions();\n }\n resize(index, delta, sizes = this.viewItems.map(i => i.size), lowPriorityIndexes, highPriorityIndexes, overloadMinDelta = Number.NEGATIVE_INFINITY, overloadMaxDelta = Number.POSITIVE_INFINITY, snapBefore, snapAfter) {\n if (index < 0 || index >= this.viewItems.length) {\n return 0;\n }\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index, -1);\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index + 1, this.viewItems.length);\n if (highPriorityIndexes) {\n for (const index of highPriorityIndexes) {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToStart)(upIndexes, index);\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToStart)(downIndexes, index);\n }\n }\n if (lowPriorityIndexes) {\n for (const index of lowPriorityIndexes) {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToEnd)(upIndexes, index);\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToEnd)(downIndexes, index);\n }\n }\n const upItems = upIndexes.map(i => this.viewItems[i]);\n const upSizes = upIndexes.map(i => sizes[i]);\n const downItems = downIndexes.map(i => this.viewItems[i]);\n const downSizes = downIndexes.map(i => sizes[i]);\n const minDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].minimumSize - sizes[i]), 0);\n const maxDeltaUp = upIndexes.reduce((r, i) => r + (this.viewItems[i].maximumSize - sizes[i]), 0);\n const maxDeltaDown = downIndexes.length === 0 ? Number.POSITIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].minimumSize), 0);\n const minDeltaDown = downIndexes.length === 0 ? Number.NEGATIVE_INFINITY : downIndexes.reduce((r, i) => r + (sizes[i] - this.viewItems[i].maximumSize), 0);\n const minDelta = Math.max(minDeltaUp, minDeltaDown, overloadMinDelta);\n const maxDelta = Math.min(maxDeltaDown, maxDeltaUp, overloadMaxDelta);\n let snapped = false;\n if (snapBefore) {\n const snapView = this.viewItems[snapBefore.index];\n const visible = delta >= snapBefore.limitDelta;\n snapped = visible !== snapView.visible;\n snapView.setVisible(visible, snapBefore.size);\n }\n if (!snapped && snapAfter) {\n const snapView = this.viewItems[snapAfter.index];\n const visible = delta < snapAfter.limitDelta;\n snapped = visible !== snapView.visible;\n snapView.setVisible(visible, snapAfter.size);\n }\n if (snapped) {\n return this.resize(index, delta, sizes, lowPriorityIndexes, highPriorityIndexes, overloadMinDelta, overloadMaxDelta);\n }\n delta = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(delta, minDelta, maxDelta);\n for (let i = 0, deltaUp = delta; i < upItems.length; i++) {\n const item = upItems[i];\n const size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(upSizes[i] + deltaUp, item.minimumSize, item.maximumSize);\n const viewDelta = size - upSizes[i];\n deltaUp -= viewDelta;\n item.size = size;\n }\n for (let i = 0, deltaDown = delta; i < downItems.length; i++) {\n const item = downItems[i];\n const size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(downSizes[i] - deltaDown, item.minimumSize, item.maximumSize);\n const viewDelta = size - downSizes[i];\n deltaDown += viewDelta;\n item.size = size;\n }\n return delta;\n }\n distributeEmptySpace(lowPriorityIndex) {\n const contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\n let emptyDelta = this.size - contentSize;\n const indexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(this.viewItems.length - 1, -1);\n const lowPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 1 /* LayoutPriority.Low */);\n const highPriorityIndexes = indexes.filter(i => this.viewItems[i].priority === 2 /* LayoutPriority.High */);\n for (const index of highPriorityIndexes) {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToStart)(indexes, index);\n }\n for (const index of lowPriorityIndexes) {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToEnd)(indexes, index);\n }\n if (typeof lowPriorityIndex === 'number') {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.pushToEnd)(indexes, lowPriorityIndex);\n }\n for (let i = 0; emptyDelta !== 0 && i < indexes.length; i++) {\n const item = this.viewItems[indexes[i]];\n const size = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_8__.clamp)(item.size + emptyDelta, item.minimumSize, item.maximumSize);\n const viewDelta = size - item.size;\n emptyDelta -= viewDelta;\n item.size = size;\n }\n }\n layoutViews() {\n // Save new content size\n this.contentSize = this.viewItems.reduce((r, i) => r + i.size, 0);\n // Layout views\n let offset = 0;\n for (const viewItem of this.viewItems) {\n viewItem.layout(offset, this.layoutContext);\n offset += viewItem.size;\n }\n // Layout sashes\n this.sashItems.forEach(item => item.sash.layout());\n this.updateSashEnablement();\n this.updateScrollableElement();\n }\n updateScrollableElement() {\n if (this.orientation === 0 /* Orientation.VERTICAL */) {\n this.scrollableElement.setScrollDimensions({\n height: this.size,\n scrollHeight: this.contentSize\n });\n }\n else {\n this.scrollableElement.setScrollDimensions({\n width: this.size,\n scrollWidth: this.contentSize\n });\n }\n }\n updateSashEnablement() {\n let previous = false;\n const collapsesDown = this.viewItems.map(i => previous = (i.size - i.minimumSize > 0) || previous);\n previous = false;\n const expandsDown = this.viewItems.map(i => previous = (i.maximumSize - i.size > 0) || previous);\n const reverseViews = [...this.viewItems].reverse();\n previous = false;\n const collapsesUp = reverseViews.map(i => previous = (i.size - i.minimumSize > 0) || previous).reverse();\n previous = false;\n const expandsUp = reverseViews.map(i => previous = (i.maximumSize - i.size > 0) || previous).reverse();\n let position = 0;\n for (let index = 0; index < this.sashItems.length; index++) {\n const { sash } = this.sashItems[index];\n const viewItem = this.viewItems[index];\n position += viewItem.size;\n const min = !(collapsesDown[index] && expandsUp[index + 1]);\n const max = !(expandsDown[index] && collapsesUp[index + 1]);\n if (min && max) {\n const upIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index, -1);\n const downIndexes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_4__.range)(index + 1, this.viewItems.length);\n const snapBeforeIndex = this.findFirstSnapIndex(upIndexes);\n const snapAfterIndex = this.findFirstSnapIndex(downIndexes);\n const snappedBefore = typeof snapBeforeIndex === 'number' && !this.viewItems[snapBeforeIndex].visible;\n const snappedAfter = typeof snapAfterIndex === 'number' && !this.viewItems[snapAfterIndex].visible;\n if (snappedBefore && collapsesUp[index] && (position > 0 || this.startSnappingEnabled)) {\n sash.state = 1 /* SashState.AtMinimum */;\n }\n else if (snappedAfter && collapsesDown[index] && (position < this.contentSize || this.endSnappingEnabled)) {\n sash.state = 2 /* SashState.AtMaximum */;\n }\n else {\n sash.state = 0 /* SashState.Disabled */;\n }\n }\n else if (min && !max) {\n sash.state = 1 /* SashState.AtMinimum */;\n }\n else if (!min && max) {\n sash.state = 2 /* SashState.AtMaximum */;\n }\n else {\n sash.state = 3 /* SashState.Enabled */;\n }\n }\n }\n getSashPosition(sash) {\n let position = 0;\n for (let i = 0; i < this.sashItems.length; i++) {\n position += this.viewItems[i].size;\n if (this.sashItems[i].sash === sash) {\n return position;\n }\n }\n return 0;\n }\n findFirstSnapIndex(indexes) {\n // visible views first\n for (const index of indexes) {\n const viewItem = this.viewItems[index];\n if (!viewItem.visible) {\n continue;\n }\n if (viewItem.snap) {\n return index;\n }\n }\n // then, hidden views\n for (const index of indexes) {\n const viewItem = this.viewItems[index];\n if (viewItem.visible && viewItem.maximumSize - viewItem.minimumSize > 0) {\n return undefined;\n }\n if (!viewItem.visible && viewItem.snap) {\n return index;\n }\n }\n return undefined;\n }\n areViewsDistributed() {\n let min = undefined, max = undefined;\n for (const view of this.viewItems) {\n min = min === undefined ? view.size : Math.min(min, view.size);\n max = max === undefined ? view.size : Math.max(max, view.size);\n if (max - min > 2) {\n return false;\n }\n }\n return true;\n }\n dispose() {\n var _a;\n (_a = this.sashDragState) === null || _a === void 0 ? void 0 : _a.disposable.dispose();\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_7__.dispose)(this.viewItems);\n this.viewItems = [];\n this.sashItems.forEach(i => i.disposable.dispose());\n this.sashItems = [];\n super.dispose();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.js": +/*!********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.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 */ Table: () => (/* binding */ Table)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _list_listWidget_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../list/listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js\");\n/* harmony import */ var _splitview_splitview_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../splitview/splitview.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _table_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./table.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css\");\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\nclass TableListRenderer {\n constructor(columns, renderers, getColumnSize) {\n this.columns = columns;\n this.getColumnSize = getColumnSize;\n this.templateId = TableListRenderer.TemplateId;\n this.renderedTemplates = new Set();\n const rendererMap = new Map(renderers.map(r => [r.templateId, r]));\n this.renderers = [];\n for (const column of columns) {\n const renderer = rendererMap.get(column.templateId);\n if (!renderer) {\n throw new Error(`Table cell renderer for template id ${column.templateId} not found.`);\n }\n this.renderers.push(renderer);\n }\n }\n renderTemplate(container) {\n const rowContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-table-tr'));\n const cellContainers = [];\n const cellTemplateData = [];\n for (let i = 0; i < this.columns.length; i++) {\n const renderer = this.renderers[i];\n const cellContainer = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(rowContainer, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-table-td', { 'data-col-index': i }));\n cellContainer.style.width = `${this.getColumnSize(i)}px`;\n cellContainers.push(cellContainer);\n cellTemplateData.push(renderer.renderTemplate(cellContainer));\n }\n const result = { container, cellContainers, cellTemplateData };\n this.renderedTemplates.add(result);\n return result;\n }\n renderElement(element, index, templateData, height) {\n for (let i = 0; i < this.columns.length; i++) {\n const column = this.columns[i];\n const cell = column.project(element);\n const renderer = this.renderers[i];\n renderer.renderElement(cell, index, templateData.cellTemplateData[i], height);\n }\n }\n disposeElement(element, index, templateData, height) {\n for (let i = 0; i < this.columns.length; i++) {\n const renderer = this.renderers[i];\n if (renderer.disposeElement) {\n const column = this.columns[i];\n const cell = column.project(element);\n renderer.disposeElement(cell, index, templateData.cellTemplateData[i], height);\n }\n }\n }\n disposeTemplate(templateData) {\n for (let i = 0; i < this.columns.length; i++) {\n const renderer = this.renderers[i];\n renderer.disposeTemplate(templateData.cellTemplateData[i]);\n }\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode)(templateData.container);\n this.renderedTemplates.delete(templateData);\n }\n layoutColumn(index, size) {\n for (const { cellContainers } of this.renderedTemplates) {\n cellContainers[index].style.width = `${size}px`;\n }\n }\n}\nTableListRenderer.TemplateId = 'row';\nfunction asListVirtualDelegate(delegate) {\n return {\n getHeight(row) { return delegate.getHeight(row); },\n getTemplateId() { return TableListRenderer.TemplateId; },\n };\n}\nclass ColumnHeader {\n get minimumSize() { var _a; return (_a = this.column.minimumWidth) !== null && _a !== void 0 ? _a : 120; }\n get maximumSize() { var _a; return (_a = this.column.maximumWidth) !== null && _a !== void 0 ? _a : Number.POSITIVE_INFINITY; }\n get onDidChange() { var _a; return (_a = this.column.onDidChangeWidthConstraints) !== null && _a !== void 0 ? _a : _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.None; }\n constructor(column, index) {\n this.column = column;\n this.index = index;\n this._onDidLayout = new _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Emitter();\n this.onDidLayout = this._onDidLayout.event;\n this.element = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-table-th', { 'data-col-index': index, title: column.tooltip }, column.label);\n }\n layout(size) {\n this._onDidLayout.fire([this.index, size]);\n }\n}\nclass Table {\n get onDidChangeFocus() { return this.list.onDidChangeFocus; }\n get onDidChangeSelection() { return this.list.onDidChangeSelection; }\n get onMouseDblClick() { return this.list.onMouseDblClick; }\n get onPointer() { return this.list.onPointer; }\n get onDidFocus() { return this.list.onDidFocus; }\n get onDidDispose() { return this.list.onDidDispose; }\n constructor(user, container, virtualDelegate, columns, renderers, _options) {\n this.virtualDelegate = virtualDelegate;\n this.domId = `table_id_${++Table.InstanceCount}`;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__.DisposableStore();\n this.cachedWidth = 0;\n this.cachedHeight = 0;\n this.domNode = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)(`.monaco-table.${this.domId}`));\n const headers = columns.map((c, i) => new ColumnHeader(c, i));\n const descriptor = {\n size: headers.reduce((a, b) => a + b.column.weight, 0),\n views: headers.map(view => ({ size: view.column.weight, view }))\n };\n this.splitview = this.disposables.add(new _splitview_splitview_js__WEBPACK_IMPORTED_MODULE_2__.SplitView(this.domNode, {\n orientation: 1 /* Orientation.HORIZONTAL */,\n scrollbarVisibility: 2 /* ScrollbarVisibility.Hidden */,\n getSashOrthogonalSize: () => this.cachedHeight,\n descriptor\n }));\n this.splitview.el.style.height = `${virtualDelegate.headerRowHeight}px`;\n this.splitview.el.style.lineHeight = `${virtualDelegate.headerRowHeight}px`;\n const renderer = new TableListRenderer(columns, renderers, i => this.splitview.getViewSize(i));\n this.list = this.disposables.add(new _list_listWidget_js__WEBPACK_IMPORTED_MODULE_1__.List(user, this.domNode, asListVirtualDelegate(virtualDelegate), [renderer], _options));\n _common_event_js__WEBPACK_IMPORTED_MODULE_3__.Event.any(...headers.map(h => h.onDidLayout))(([index, size]) => renderer.layoutColumn(index, size), null, this.disposables);\n this.splitview.onDidSashReset(index => {\n const totalWeight = columns.reduce((r, c) => r + c.weight, 0);\n const size = columns[index].weight / totalWeight * this.cachedWidth;\n this.splitview.resizeView(index, size);\n }, null, this.disposables);\n this.styleElement = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.createStyleSheet)(this.domNode);\n this.style(_list_listWidget_js__WEBPACK_IMPORTED_MODULE_1__.unthemedListStyles);\n }\n updateOptions(options) {\n this.list.updateOptions(options);\n }\n splice(start, deleteCount, elements = []) {\n this.list.splice(start, deleteCount, elements);\n }\n getHTMLElement() {\n return this.domNode;\n }\n style(styles) {\n const content = [];\n content.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight + 1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`);\n this.styleElement.textContent = content.join('\\n');\n this.list.style(styles);\n }\n getSelectedElements() {\n return this.list.getSelectedElements();\n }\n getSelection() {\n return this.list.getSelection();\n }\n getFocus() {\n return this.list.getFocus();\n }\n dispose() {\n this.disposables.dispose();\n }\n}\nTable.InstanceCount = 0;\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js": +/*!****************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.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 */ Toggle: () => (/* binding */ Toggle),\n/* harmony export */ unthemedToggleStyles: () => (/* binding */ unthemedToggleStyles)\n/* harmony export */ });\n/* harmony import */ var _widget_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../widget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _toggle_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toggle.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.css\");\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 unthemedToggleStyles = {\n inputActiveOptionBorder: '#007ACC00',\n inputActiveOptionForeground: '#FFFFFF',\n inputActiveOptionBackground: '#0E639C50'\n};\nclass Toggle extends _widget_js__WEBPACK_IMPORTED_MODULE_0__.Widget {\n constructor(opts) {\n super();\n this._onChange = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\n this.onChange = this._onChange.event;\n this._onKeyDown = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\n this.onKeyDown = this._onKeyDown.event;\n this._opts = opts;\n this._checked = this._opts.isChecked;\n const classes = ['monaco-custom-toggle'];\n if (this._opts.icon) {\n this._icon = this._opts.icon;\n classes.push(..._common_themables_js__WEBPACK_IMPORTED_MODULE_1__.ThemeIcon.asClassNameArray(this._icon));\n }\n if (this._opts.actionClassName) {\n classes.push(...this._opts.actionClassName.split(' '));\n }\n if (this._checked) {\n classes.push('checked');\n }\n this.domNode = document.createElement('div');\n this.domNode.title = this._opts.title;\n this.domNode.classList.add(...classes);\n if (!this._opts.notFocusable) {\n this.domNode.tabIndex = 0;\n }\n this.domNode.setAttribute('role', 'checkbox');\n this.domNode.setAttribute('aria-checked', String(this._checked));\n this.domNode.setAttribute('aria-label', this._opts.title);\n this.applyStyles();\n this.onclick(this.domNode, (ev) => {\n if (this.enabled) {\n this.checked = !this._checked;\n this._onChange.fire(false);\n ev.preventDefault();\n }\n });\n this._register(this.ignoreGesture(this.domNode));\n this.onkeydown(this.domNode, (keyboardEvent) => {\n if (keyboardEvent.keyCode === 10 /* KeyCode.Space */ || keyboardEvent.keyCode === 3 /* KeyCode.Enter */) {\n this.checked = !this._checked;\n this._onChange.fire(true);\n keyboardEvent.preventDefault();\n keyboardEvent.stopPropagation();\n return;\n }\n this._onKeyDown.fire(keyboardEvent);\n });\n }\n get enabled() {\n return this.domNode.getAttribute('aria-disabled') !== 'true';\n }\n focus() {\n this.domNode.focus();\n }\n get checked() {\n return this._checked;\n }\n set checked(newIsChecked) {\n this._checked = newIsChecked;\n this.domNode.setAttribute('aria-checked', String(this._checked));\n this.domNode.classList.toggle('checked', this._checked);\n this.applyStyles();\n }\n width() {\n return 2 /*margin left*/ + 2 /*border*/ + 2 /*padding*/ + 16 /* icon width */;\n }\n applyStyles() {\n if (this.domNode) {\n this.domNode.style.borderColor = (this._checked && this._opts.inputActiveOptionBorder) || '';\n this.domNode.style.color = (this._checked && this._opts.inputActiveOptionForeground) || 'inherit';\n this.domNode.style.backgroundColor = (this._checked && this._opts.inputActiveOptionBackground) || '';\n }\n }\n enable() {\n this.domNode.setAttribute('aria-disabled', String(false));\n }\n disable() {\n this.domNode.setAttribute('aria-disabled', String(true));\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.js": +/*!******************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.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 */ ToggleMenuAction: () => (/* binding */ ToggleMenuAction),\n/* harmony export */ ToolBar: () => (/* binding */ ToolBar)\n/* harmony export */ });\n/* harmony import */ var _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _dropdown_dropdownActionViewItem_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../dropdown/dropdownActionViewItem.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _toolbar_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./toolbar.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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 *--------------------------------------------------------------------------------------------*/\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\n\n\n\n\n\n/**\n * A widget that combines an action bar for primary actions and a dropdown for secondary actions.\n */\nclass ToolBar extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.Disposable {\n constructor(container, contextMenuProvider, options = { orientation: 0 /* ActionsOrientation.HORIZONTAL */ }) {\n super();\n this.submenuActionViewItems = [];\n this.hasSecondaryActions = false;\n this._onDidChangeDropdownVisibility = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.EventMultiplexer());\n this.onDidChangeDropdownVisibility = this._onDidChangeDropdownVisibility.event;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_6__.DisposableStore();\n this.options = options;\n this.lookupKeybindings = typeof this.options.getKeyBinding === 'function';\n this.toggleMenuAction = this._register(new ToggleMenuAction(() => { var _a; return (_a = this.toggleMenuActionViewItem) === null || _a === void 0 ? void 0 : _a.show(); }, options.toggleMenuTitle));\n this.element = document.createElement('div');\n this.element.className = 'monaco-toolbar';\n container.appendChild(this.element);\n this.actionBar = this._register(new _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_0__.ActionBar(this.element, {\n orientation: options.orientation,\n ariaLabel: options.ariaLabel,\n actionRunner: options.actionRunner,\n allowContextMenu: options.allowContextMenu,\n actionViewItemProvider: (action, viewItemOptions) => {\n var _a;\n if (action.id === ToggleMenuAction.ID) {\n this.toggleMenuActionViewItem = new _dropdown_dropdownActionViewItem_js__WEBPACK_IMPORTED_MODULE_1__.DropdownMenuActionViewItem(action, action.menuActions, contextMenuProvider, {\n actionViewItemProvider: this.options.actionViewItemProvider,\n actionRunner: this.actionRunner,\n keybindingProvider: this.options.getKeyBinding,\n classNames: _common_themables_js__WEBPACK_IMPORTED_MODULE_4__.ThemeIcon.asClassNameArray((_a = options.moreIcon) !== null && _a !== void 0 ? _a : _common_codicons_js__WEBPACK_IMPORTED_MODULE_3__.Codicon.toolBarMore),\n anchorAlignmentProvider: this.options.anchorAlignmentProvider,\n menuAsChild: !!this.options.renderDropdownAsChildElement,\n skipTelemetry: this.options.skipTelemetry\n });\n this.toggleMenuActionViewItem.setActionContext(this.actionBar.context);\n this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility));\n return this.toggleMenuActionViewItem;\n }\n if (options.actionViewItemProvider) {\n const result = options.actionViewItemProvider(action, viewItemOptions);\n if (result) {\n return result;\n }\n }\n if (action instanceof _common_actions_js__WEBPACK_IMPORTED_MODULE_2__.SubmenuAction) {\n const result = new _dropdown_dropdownActionViewItem_js__WEBPACK_IMPORTED_MODULE_1__.DropdownMenuActionViewItem(action, action.actions, contextMenuProvider, {\n actionViewItemProvider: this.options.actionViewItemProvider,\n actionRunner: this.actionRunner,\n keybindingProvider: this.options.getKeyBinding,\n classNames: action.class,\n anchorAlignmentProvider: this.options.anchorAlignmentProvider,\n menuAsChild: !!this.options.renderDropdownAsChildElement,\n skipTelemetry: this.options.skipTelemetry\n });\n result.setActionContext(this.actionBar.context);\n this.submenuActionViewItems.push(result);\n this.disposables.add(this._onDidChangeDropdownVisibility.add(result.onDidChangeVisibility));\n return result;\n }\n return undefined;\n }\n }));\n }\n set actionRunner(actionRunner) {\n this.actionBar.actionRunner = actionRunner;\n }\n get actionRunner() {\n return this.actionBar.actionRunner;\n }\n getElement() {\n return this.element;\n }\n getItemAction(indexOrElement) {\n return this.actionBar.getAction(indexOrElement);\n }\n setActions(primaryActions, secondaryActions) {\n this.clear();\n const primaryActionsToSet = primaryActions ? primaryActions.slice(0) : [];\n // Inject additional action to open secondary actions if present\n this.hasSecondaryActions = !!(secondaryActions && secondaryActions.length > 0);\n if (this.hasSecondaryActions && secondaryActions) {\n this.toggleMenuAction.menuActions = secondaryActions.slice(0);\n primaryActionsToSet.push(this.toggleMenuAction);\n }\n primaryActionsToSet.forEach(action => {\n this.actionBar.push(action, { icon: true, label: false, keybinding: this.getKeybindingLabel(action) });\n });\n }\n getKeybindingLabel(action) {\n var _a, _b;\n const key = this.lookupKeybindings ? (_b = (_a = this.options).getKeyBinding) === null || _b === void 0 ? void 0 : _b.call(_a, action) : undefined;\n return (0,_common_types_js__WEBPACK_IMPORTED_MODULE_7__.withNullAsUndefined)(key === null || key === void 0 ? void 0 : key.getLabel());\n }\n clear() {\n this.submenuActionViewItems = [];\n this.disposables.clear();\n this.actionBar.clear();\n }\n dispose() {\n this.clear();\n super.dispose();\n }\n}\nclass ToggleMenuAction extends _common_actions_js__WEBPACK_IMPORTED_MODULE_2__.Action {\n constructor(toggleDropdownMenu, title) {\n title = title || _nls_js__WEBPACK_IMPORTED_MODULE_9__.localize('moreActions', \"More Actions...\");\n super(ToggleMenuAction.ID, title, undefined, true);\n this._menuActions = [];\n this.toggleDropdownMenu = toggleDropdownMenu;\n }\n run() {\n return __awaiter(this, void 0, void 0, function* () {\n this.toggleDropdownMenu();\n });\n }\n get menuActions() {\n return this._menuActions;\n }\n set menuActions(actions) {\n this._menuActions = actions;\n }\n}\nToggleMenuAction.ID = 'toolbar.toggle.more';\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js": +/*!********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.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 */ AbstractTree: () => (/* binding */ AbstractTree),\n/* harmony export */ ComposedTreeDelegate: () => (/* binding */ ComposedTreeDelegate),\n/* harmony export */ FuzzyToggle: () => (/* binding */ FuzzyToggle),\n/* harmony export */ ModeToggle: () => (/* binding */ ModeToggle),\n/* harmony export */ RenderIndentGuides: () => (/* binding */ RenderIndentGuides),\n/* harmony export */ TreeFindMatchType: () => (/* binding */ TreeFindMatchType),\n/* harmony export */ TreeFindMode: () => (/* binding */ TreeFindMode)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../event.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/event.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 _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../actionbar/actionbar.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js\");\n/* harmony import */ var _findinput_findInput_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../findinput/findInput.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js\");\n/* harmony import */ var _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../inputbox/inputBox.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js\");\n/* harmony import */ var _list_listView_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../list/listView.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js\");\n/* harmony import */ var _list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../list/listWidget.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js\");\n/* harmony import */ var _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../toggle/toggle.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js\");\n/* harmony import */ var _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./indexTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_actions_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/actions.js */ \"./node_modules/monaco-editor/esm/vs/base/common/actions.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _common_collections_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../common/collections.js */ \"./node_modules/monaco-editor/esm/vs/base/common/collections.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_filters_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../../common/filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_numbers_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../../common/numbers.js */ \"./node_modules/monaco-editor/esm/vs/base/common/numbers.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _media_tree_css__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./media/tree.css */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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 *--------------------------------------------------------------------------------------------*/\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass TreeElementsDragAndDropData extends _list_listView_js__WEBPACK_IMPORTED_MODULE_6__.ElementsDragAndDropData {\n constructor(data) {\n super(data.elements.map(node => node.element));\n this.data = data;\n }\n}\nfunction asTreeDragAndDropData(data) {\n if (data instanceof _list_listView_js__WEBPACK_IMPORTED_MODULE_6__.ElementsDragAndDropData) {\n return new TreeElementsDragAndDropData(data);\n }\n return data;\n}\nclass TreeNodeListDragAndDrop {\n constructor(modelProvider, dnd) {\n this.modelProvider = modelProvider;\n this.dnd = dnd;\n this.autoExpandDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.Disposable.None;\n }\n getDragURI(node) {\n return this.dnd.getDragURI(node.element);\n }\n getDragLabel(nodes, originalEvent) {\n if (this.dnd.getDragLabel) {\n return this.dnd.getDragLabel(nodes.map(node => node.element), originalEvent);\n }\n return undefined;\n }\n onDragStart(data, originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, asTreeDragAndDropData(data), originalEvent);\n }\n onDragOver(data, targetNode, targetIndex, originalEvent, raw = true) {\n const result = this.dnd.onDragOver(asTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\n const didChangeAutoExpandNode = this.autoExpandNode !== targetNode;\n if (didChangeAutoExpandNode) {\n this.autoExpandDisposable.dispose();\n this.autoExpandNode = targetNode;\n }\n if (typeof targetNode === 'undefined') {\n return result;\n }\n if (didChangeAutoExpandNode && typeof result !== 'boolean' && result.autoExpand) {\n this.autoExpandDisposable = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_13__.disposableTimeout)(() => {\n const model = this.modelProvider();\n const ref = model.getNodeLocation(targetNode);\n if (model.isCollapsed(ref)) {\n model.setCollapsed(ref, false);\n }\n this.autoExpandNode = undefined;\n }, 500);\n }\n if (typeof result === 'boolean' || !result.accept || typeof result.bubble === 'undefined' || result.feedback) {\n if (!raw) {\n const accept = typeof result === 'boolean' ? result : result.accept;\n const effect = typeof result === 'boolean' ? undefined : result.effect;\n return { accept, effect, feedback: [targetIndex] };\n }\n return result;\n }\n if (result.bubble === 1 /* TreeDragOverBubble.Up */) {\n const model = this.modelProvider();\n const ref = model.getNodeLocation(targetNode);\n const parentRef = model.getParentNodeLocation(ref);\n const parentNode = model.getNode(parentRef);\n const parentIndex = parentRef && model.getListIndex(parentRef);\n return this.onDragOver(data, parentNode, parentIndex, originalEvent, false);\n }\n const model = this.modelProvider();\n const ref = model.getNodeLocation(targetNode);\n const start = model.getListIndex(ref);\n const length = model.getListRenderCount(ref);\n return Object.assign(Object.assign({}, result), { feedback: (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_12__.range)(start, start + length) });\n }\n drop(data, targetNode, targetIndex, originalEvent) {\n this.autoExpandDisposable.dispose();\n this.autoExpandNode = undefined;\n this.dnd.drop(asTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\n }\n onDragEnd(originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, originalEvent);\n }\n}\nfunction asListOptions(modelProvider, options) {\n return options && Object.assign(Object.assign({}, options), { identityProvider: options.identityProvider && {\n getId(el) {\n return options.identityProvider.getId(el.element);\n }\n }, dnd: options.dnd && new TreeNodeListDragAndDrop(modelProvider, options.dnd), multipleSelectionController: options.multipleSelectionController && {\n isSelectionSingleChangeEvent(e) {\n return options.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({}, e), { element: e.element }));\n },\n isSelectionRangeChangeEvent(e) {\n return options.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({}, e), { element: e.element }));\n }\n }, accessibilityProvider: options.accessibilityProvider && Object.assign(Object.assign({}, options.accessibilityProvider), { getSetSize(node) {\n const model = modelProvider();\n const ref = model.getNodeLocation(node);\n const parentRef = model.getParentNodeLocation(ref);\n const parentNode = model.getNode(parentRef);\n return parentNode.visibleChildrenCount;\n },\n getPosInSet(node) {\n return node.visibleChildIndex + 1;\n }, isChecked: options.accessibilityProvider && options.accessibilityProvider.isChecked ? (node) => {\n return options.accessibilityProvider.isChecked(node.element);\n } : undefined, getRole: options.accessibilityProvider && options.accessibilityProvider.getRole ? (node) => {\n return options.accessibilityProvider.getRole(node.element);\n } : () => 'treeitem', getAriaLabel(e) {\n return options.accessibilityProvider.getAriaLabel(e.element);\n },\n getWidgetAriaLabel() {\n return options.accessibilityProvider.getWidgetAriaLabel();\n }, getWidgetRole: options.accessibilityProvider && options.accessibilityProvider.getWidgetRole ? () => options.accessibilityProvider.getWidgetRole() : () => 'tree', getAriaLevel: options.accessibilityProvider && options.accessibilityProvider.getAriaLevel ? (node) => options.accessibilityProvider.getAriaLevel(node.element) : (node) => {\n return node.depth;\n }, getActiveDescendantId: options.accessibilityProvider.getActiveDescendantId && (node => {\n return options.accessibilityProvider.getActiveDescendantId(node.element);\n }) }), keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && Object.assign(Object.assign({}, options.keyboardNavigationLabelProvider), { getKeyboardNavigationLabel(node) {\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(node.element);\n } }) });\n}\nclass ComposedTreeDelegate {\n constructor(delegate) {\n this.delegate = delegate;\n }\n getHeight(element) {\n return this.delegate.getHeight(element.element);\n }\n getTemplateId(element) {\n return this.delegate.getTemplateId(element.element);\n }\n hasDynamicHeight(element) {\n return !!this.delegate.hasDynamicHeight && this.delegate.hasDynamicHeight(element.element);\n }\n setDynamicHeight(element, height) {\n var _a, _b;\n (_b = (_a = this.delegate).setDynamicHeight) === null || _b === void 0 ? void 0 : _b.call(_a, element.element, height);\n }\n}\nvar RenderIndentGuides;\n(function (RenderIndentGuides) {\n RenderIndentGuides[\"None\"] = \"none\";\n RenderIndentGuides[\"OnHover\"] = \"onHover\";\n RenderIndentGuides[\"Always\"] = \"always\";\n})(RenderIndentGuides || (RenderIndentGuides = {}));\nclass EventCollection {\n get elements() {\n return this._elements;\n }\n constructor(onDidChange, _elements = []) {\n this._elements = _elements;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this.onDidChange = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.forEach(onDidChange, elements => this._elements = elements, this.disposables);\n }\n dispose() {\n this.disposables.dispose();\n }\n}\nclass TreeRenderer {\n constructor(renderer, modelProvider, onDidChangeCollapseState, activeNodes, renderedIndentGuides, options = {}) {\n var _a;\n this.renderer = renderer;\n this.modelProvider = modelProvider;\n this.activeNodes = activeNodes;\n this.renderedIndentGuides = renderedIndentGuides;\n this.renderedElements = new Map();\n this.renderedNodes = new Map();\n this.indent = TreeRenderer.DefaultIndent;\n this.hideTwistiesOfChildlessElements = false;\n this.shouldRenderIndentGuides = false;\n this.activeIndentNodes = new Set();\n this.indentGuidesDisposable = _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.Disposable.None;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this.templateId = renderer.templateId;\n this.updateOptions(options);\n _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.map(onDidChangeCollapseState, e => e.node)(this.onDidChangeNodeTwistieState, this, this.disposables);\n (_a = renderer.onDidChangeTwistieState) === null || _a === void 0 ? void 0 : _a.call(renderer, this.onDidChangeTwistieState, this, this.disposables);\n }\n updateOptions(options = {}) {\n if (typeof options.indent !== 'undefined') {\n const indent = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_20__.clamp)(options.indent, 0, 40);\n if (indent !== this.indent) {\n this.indent = indent;\n for (const [node, templateData] of this.renderedNodes) {\n this.renderTreeElement(node, templateData);\n }\n }\n }\n if (typeof options.renderIndentGuides !== 'undefined') {\n const shouldRenderIndentGuides = options.renderIndentGuides !== RenderIndentGuides.None;\n if (shouldRenderIndentGuides !== this.shouldRenderIndentGuides) {\n this.shouldRenderIndentGuides = shouldRenderIndentGuides;\n for (const [node, templateData] of this.renderedNodes) {\n this._renderIndentGuides(node, templateData);\n }\n this.indentGuidesDisposable.dispose();\n if (shouldRenderIndentGuides) {\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this.activeNodes.onDidChange(this._onDidChangeActiveNodes, this, disposables);\n this.indentGuidesDisposable = disposables;\n this._onDidChangeActiveNodes(this.activeNodes.elements);\n }\n }\n }\n if (typeof options.hideTwistiesOfChildlessElements !== 'undefined') {\n this.hideTwistiesOfChildlessElements = options.hideTwistiesOfChildlessElements;\n }\n }\n renderTemplate(container) {\n const el = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(container, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-tl-row'));\n const indent = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-tl-indent'));\n const twistie = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-tl-twistie'));\n const contents = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.append)(el, (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.monaco-tl-contents'));\n const templateData = this.renderer.renderTemplate(contents);\n return { container, indent, twistie, indentGuidesDisposable: _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.Disposable.None, templateData };\n }\n renderElement(node, index, templateData, height) {\n this.renderedNodes.set(node, templateData);\n this.renderedElements.set(node.element, node);\n this.renderTreeElement(node, templateData);\n this.renderer.renderElement(node, index, templateData.templateData, height);\n }\n disposeElement(node, index, templateData, height) {\n var _a, _b;\n templateData.indentGuidesDisposable.dispose();\n (_b = (_a = this.renderer).disposeElement) === null || _b === void 0 ? void 0 : _b.call(_a, node, index, templateData.templateData, height);\n if (typeof height === 'number') {\n this.renderedNodes.delete(node);\n this.renderedElements.delete(node.element);\n }\n }\n disposeTemplate(templateData) {\n this.renderer.disposeTemplate(templateData.templateData);\n }\n onDidChangeTwistieState(element) {\n const node = this.renderedElements.get(element);\n if (!node) {\n return;\n }\n this.onDidChangeNodeTwistieState(node);\n }\n onDidChangeNodeTwistieState(node) {\n const templateData = this.renderedNodes.get(node);\n if (!templateData) {\n return;\n }\n this._onDidChangeActiveNodes(this.activeNodes.elements);\n this.renderTreeElement(node, templateData);\n }\n renderTreeElement(node, templateData) {\n const indent = TreeRenderer.DefaultIndent + (node.depth - 1) * this.indent;\n templateData.twistie.style.paddingLeft = `${indent}px`;\n templateData.indent.style.width = `${indent + this.indent - 16}px`;\n if (node.collapsible) {\n templateData.container.setAttribute('aria-expanded', String(!node.collapsed));\n }\n else {\n templateData.container.removeAttribute('aria-expanded');\n }\n templateData.twistie.classList.remove(..._common_themables_js__WEBPACK_IMPORTED_MODULE_15__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_14__.Codicon.treeItemExpanded));\n let twistieRendered = false;\n if (this.renderer.renderTwistie) {\n twistieRendered = this.renderer.renderTwistie(node.element, templateData.twistie);\n }\n if (node.collapsible && (!this.hideTwistiesOfChildlessElements || node.visibleChildrenCount > 0)) {\n if (!twistieRendered) {\n templateData.twistie.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_15__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_14__.Codicon.treeItemExpanded));\n }\n templateData.twistie.classList.add('collapsible');\n templateData.twistie.classList.toggle('collapsed', node.collapsed);\n }\n else {\n templateData.twistie.classList.remove('collapsible', 'collapsed');\n }\n this._renderIndentGuides(node, templateData);\n }\n _renderIndentGuides(node, templateData) {\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.clearNode)(templateData.indent);\n templateData.indentGuidesDisposable.dispose();\n if (!this.shouldRenderIndentGuides) {\n return;\n }\n const disposableStore = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n const model = this.modelProvider();\n while (true) {\n const ref = model.getNodeLocation(node);\n const parentRef = model.getParentNodeLocation(ref);\n if (!parentRef) {\n break;\n }\n const parent = model.getNode(parentRef);\n const guide = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.$)('.indent-guide', { style: `width: ${this.indent}px` });\n if (this.activeIndentNodes.has(parent)) {\n guide.classList.add('active');\n }\n if (templateData.indent.childElementCount === 0) {\n templateData.indent.appendChild(guide);\n }\n else {\n templateData.indent.insertBefore(guide, templateData.indent.firstElementChild);\n }\n this.renderedIndentGuides.add(parent, guide);\n disposableStore.add((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.toDisposable)(() => this.renderedIndentGuides.delete(parent, guide)));\n node = parent;\n }\n templateData.indentGuidesDisposable = disposableStore;\n }\n _onDidChangeActiveNodes(nodes) {\n if (!this.shouldRenderIndentGuides) {\n return;\n }\n const set = new Set();\n const model = this.modelProvider();\n nodes.forEach(node => {\n const ref = model.getNodeLocation(node);\n try {\n const parentRef = model.getParentNodeLocation(ref);\n if (node.collapsible && node.children.length > 0 && !node.collapsed) {\n set.add(node);\n }\n else if (parentRef) {\n set.add(model.getNode(parentRef));\n }\n }\n catch (_a) {\n // noop\n }\n });\n this.activeIndentNodes.forEach(node => {\n if (!set.has(node)) {\n this.renderedIndentGuides.forEach(node, line => line.classList.remove('active'));\n }\n });\n set.forEach(node => {\n if (!this.activeIndentNodes.has(node)) {\n this.renderedIndentGuides.forEach(node, line => line.classList.add('active'));\n }\n });\n this.activeIndentNodes = set;\n }\n dispose() {\n this.renderedNodes.clear();\n this.renderedElements.clear();\n this.indentGuidesDisposable.dispose();\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.dispose)(this.disposables);\n }\n}\nTreeRenderer.DefaultIndent = 8;\nclass FindFilter {\n get totalCount() { return this._totalCount; }\n get matchCount() { return this._matchCount; }\n constructor(tree, keyboardNavigationLabelProvider, _filter) {\n this.tree = tree;\n this.keyboardNavigationLabelProvider = keyboardNavigationLabelProvider;\n this._filter = _filter;\n this._totalCount = 0;\n this._matchCount = 0;\n this._pattern = '';\n this._lowercasePattern = '';\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n tree.onWillRefilter(this.reset, this, this.disposables);\n }\n filter(element, parentVisibility) {\n let visibility = 1 /* TreeVisibility.Visible */;\n if (this._filter) {\n const result = this._filter.filter(element, parentVisibility);\n if (typeof result === 'boolean') {\n visibility = result ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */;\n }\n else if ((0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_9__.isFilterResult)(result)) {\n visibility = (0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_9__.getVisibleState)(result.visibility);\n }\n else {\n visibility = result;\n }\n if (visibility === 0 /* TreeVisibility.Hidden */) {\n return false;\n }\n }\n this._totalCount++;\n if (!this._pattern) {\n this._matchCount++;\n return { data: _common_filters_js__WEBPACK_IMPORTED_MODULE_18__.FuzzyScore.Default, visibility };\n }\n const label = this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(element);\n const labels = Array.isArray(label) ? label : [label];\n for (const l of labels) {\n const labelStr = l && l.toString();\n if (typeof labelStr === 'undefined') {\n return { data: _common_filters_js__WEBPACK_IMPORTED_MODULE_18__.FuzzyScore.Default, visibility };\n }\n let score;\n if (this.tree.findMatchType === TreeFindMatchType.Contiguous) {\n const index = labelStr.toLowerCase().indexOf(this._lowercasePattern);\n if (index > -1) {\n score = [Number.MAX_SAFE_INTEGER, 0];\n for (let i = this._lowercasePattern.length; i > 0; i--) {\n score.push(index + i - 1);\n }\n }\n }\n else {\n score = (0,_common_filters_js__WEBPACK_IMPORTED_MODULE_18__.fuzzyScore)(this._pattern, this._lowercasePattern, 0, labelStr, labelStr.toLowerCase(), 0, { firstMatchCanBeWeak: true, boostFullMatch: true });\n }\n if (score) {\n this._matchCount++;\n return labels.length === 1 ?\n { data: score, visibility } :\n { data: { label: labelStr, score: score }, visibility };\n }\n }\n if (this.tree.findMode === TreeFindMode.Filter) {\n if (typeof this.tree.options.defaultFindVisibility === 'number') {\n return this.tree.options.defaultFindVisibility;\n }\n else if (this.tree.options.defaultFindVisibility) {\n return this.tree.options.defaultFindVisibility(element);\n }\n else {\n return 2 /* TreeVisibility.Recurse */;\n }\n }\n else {\n return { data: _common_filters_js__WEBPACK_IMPORTED_MODULE_18__.FuzzyScore.Default, visibility };\n }\n }\n reset() {\n this._totalCount = 0;\n this._matchCount = 0;\n }\n dispose() {\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.dispose)(this.disposables);\n }\n}\nclass ModeToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_8__.Toggle {\n constructor(opts) {\n var _a;\n super({\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_14__.Codicon.listFilter,\n title: (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('filter', \"Filter\"),\n isChecked: (_a = opts.isChecked) !== null && _a !== void 0 ? _a : false,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\nclass FuzzyToggle extends _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_8__.Toggle {\n constructor(opts) {\n var _a;\n super({\n icon: _common_codicons_js__WEBPACK_IMPORTED_MODULE_14__.Codicon.searchFuzzy,\n title: (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('fuzzySearch', \"Fuzzy Match\"),\n isChecked: (_a = opts.isChecked) !== null && _a !== void 0 ? _a : false,\n inputActiveOptionBorder: opts.inputActiveOptionBorder,\n inputActiveOptionForeground: opts.inputActiveOptionForeground,\n inputActiveOptionBackground: opts.inputActiveOptionBackground\n });\n }\n}\nconst unthemedFindWidgetStyles = {\n inputBoxStyles: _inputbox_inputBox_js__WEBPACK_IMPORTED_MODULE_5__.unthemedInboxStyles,\n toggleStyles: _toggle_toggle_js__WEBPACK_IMPORTED_MODULE_8__.unthemedToggleStyles,\n listFilterWidgetBackground: undefined,\n listFilterWidgetNoMatchesOutline: undefined,\n listFilterWidgetOutline: undefined,\n listFilterWidgetShadow: undefined\n};\nvar TreeFindMode;\n(function (TreeFindMode) {\n TreeFindMode[TreeFindMode[\"Highlight\"] = 0] = \"Highlight\";\n TreeFindMode[TreeFindMode[\"Filter\"] = 1] = \"Filter\";\n})(TreeFindMode || (TreeFindMode = {}));\nvar TreeFindMatchType;\n(function (TreeFindMatchType) {\n TreeFindMatchType[TreeFindMatchType[\"Fuzzy\"] = 0] = \"Fuzzy\";\n TreeFindMatchType[TreeFindMatchType[\"Contiguous\"] = 1] = \"Contiguous\";\n})(TreeFindMatchType || (TreeFindMatchType = {}));\nclass FindWidget extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.Disposable {\n set mode(mode) {\n this.modeToggle.checked = mode === TreeFindMode.Filter;\n this.findInput.inputBox.setPlaceHolder(mode === TreeFindMode.Filter ? (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('type to filter', \"Type to filter\") : (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('type to search', \"Type to search\"));\n }\n set matchType(matchType) {\n this.matchTypeToggle.checked = matchType === TreeFindMatchType.Fuzzy;\n }\n constructor(container, tree, contextViewProvider, mode, matchType, options) {\n var _a;\n super();\n this.tree = tree;\n this.elements = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.h)('.monaco-tree-type-filter', [\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.h)('.monaco-tree-type-filter-grab.codicon.codicon-debug-gripper@grab', { tabIndex: 0 }),\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.h)('.monaco-tree-type-filter-input@findInput'),\n (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.h)('.monaco-tree-type-filter-actionbar@actionbar'),\n ]);\n this.width = 0;\n this.right = 0;\n this.top = 0;\n this._onDidDisable = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n container.appendChild(this.elements.root);\n this._register((0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.toDisposable)(() => container.removeChild(this.elements.root)));\n const styles = (_a = options === null || options === void 0 ? void 0 : options.styles) !== null && _a !== void 0 ? _a : unthemedFindWidgetStyles;\n if (styles.listFilterWidgetBackground) {\n this.elements.root.style.backgroundColor = styles.listFilterWidgetBackground;\n }\n if (styles.listFilterWidgetShadow) {\n this.elements.root.style.boxShadow = `0 0 8px 2px ${styles.listFilterWidgetShadow}`;\n }\n this.modeToggle = this._register(new ModeToggle(Object.assign(Object.assign({}, styles.toggleStyles), { isChecked: mode === TreeFindMode.Filter })));\n this.matchTypeToggle = this._register(new FuzzyToggle(Object.assign(Object.assign({}, styles.toggleStyles), { isChecked: matchType === TreeFindMatchType.Fuzzy })));\n this.onDidChangeMode = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.map(this.modeToggle.onChange, () => this.modeToggle.checked ? TreeFindMode.Filter : TreeFindMode.Highlight, this._store);\n this.onDidChangeMatchType = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.map(this.matchTypeToggle.onChange, () => this.matchTypeToggle.checked ? TreeFindMatchType.Fuzzy : TreeFindMatchType.Contiguous, this._store);\n this.findInput = this._register(new _findinput_findInput_js__WEBPACK_IMPORTED_MODULE_4__.FindInput(this.elements.findInput, contextViewProvider, {\n label: (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('type to search', \"Type to search\"),\n additionalToggles: [this.modeToggle, this.matchTypeToggle],\n showCommonFindToggles: false,\n inputBoxStyles: styles.inputBoxStyles,\n toggleStyles: styles.toggleStyles,\n history: options === null || options === void 0 ? void 0 : options.history\n }));\n this.actionbar = this._register(new _actionbar_actionbar_js__WEBPACK_IMPORTED_MODULE_3__.ActionBar(this.elements.actionbar));\n this.mode = mode;\n const emitter = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.findInput.inputBox.inputElement, 'keydown'));\n const onKeyDown = this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.chain(emitter.event))\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e))\n .event;\n this._register(onKeyDown((e) => {\n // Using equals() so we reserve modified keys for future use\n if (e.equals(3 /* KeyCode.Enter */)) {\n // This is the only keyboard way to return to the tree from a history item that isn't the last one\n e.preventDefault();\n e.stopPropagation();\n this.findInput.inputBox.addToHistory();\n this.tree.domFocus();\n return;\n }\n if (e.equals(18 /* KeyCode.DownArrow */)) {\n e.preventDefault();\n e.stopPropagation();\n if (this.findInput.inputBox.isAtLastInHistory() || this.findInput.inputBox.isNowhereInHistory()) {\n // Retain original pre-history DownArrow behavior\n this.findInput.inputBox.addToHistory();\n this.tree.domFocus();\n }\n else {\n // Downward through history\n this.findInput.inputBox.showNextValue();\n }\n return;\n }\n if (e.equals(16 /* KeyCode.UpArrow */)) {\n e.preventDefault();\n e.stopPropagation();\n // Upward through history\n this.findInput.inputBox.showPreviousValue();\n return;\n }\n }));\n const closeAction = this._register(new _common_actions_js__WEBPACK_IMPORTED_MODULE_11__.Action('close', (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('close', \"Close\"), 'codicon codicon-close', true, () => this.dispose()));\n this.actionbar.push(closeAction, { icon: true, label: false });\n const onGrabMouseDown = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.elements.grab, 'mousedown'));\n this._register(onGrabMouseDown.event(e => {\n const disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n const onWindowMouseMove = disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(window, 'mousemove'));\n const onWindowMouseUp = disposables.add(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(window, 'mouseup'));\n const startRight = this.right;\n const startX = e.pageX;\n const startTop = this.top;\n const startY = e.pageY;\n this.elements.grab.classList.add('grabbing');\n const transition = this.elements.root.style.transition;\n this.elements.root.style.transition = 'unset';\n const update = (e) => {\n const deltaX = e.pageX - startX;\n this.right = startRight - deltaX;\n const deltaY = e.pageY - startY;\n this.top = startTop + deltaY;\n this.layout();\n };\n disposables.add(onWindowMouseMove.event(update));\n disposables.add(onWindowMouseUp.event(e => {\n update(e);\n this.elements.grab.classList.remove('grabbing');\n this.elements.root.style.transition = transition;\n disposables.dispose();\n }));\n }));\n const onGrabKeyDown = this._register(_common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.chain(this._register(new _event_js__WEBPACK_IMPORTED_MODULE_1__.DomEmitter(this.elements.grab, 'keydown')).event))\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e))\n .event;\n this._register(onGrabKeyDown((e) => {\n let right;\n let top;\n if (e.keyCode === 15 /* KeyCode.LeftArrow */) {\n right = Number.POSITIVE_INFINITY;\n }\n else if (e.keyCode === 17 /* KeyCode.RightArrow */) {\n right = 0;\n }\n else if (e.keyCode === 10 /* KeyCode.Space */) {\n right = this.right === 0 ? Number.POSITIVE_INFINITY : 0;\n }\n if (e.keyCode === 16 /* KeyCode.UpArrow */) {\n top = 0;\n }\n else if (e.keyCode === 18 /* KeyCode.DownArrow */) {\n top = Number.POSITIVE_INFINITY;\n }\n if (right !== undefined) {\n e.preventDefault();\n e.stopPropagation();\n this.right = right;\n this.layout();\n }\n if (top !== undefined) {\n e.preventDefault();\n e.stopPropagation();\n this.top = top;\n const transition = this.elements.root.style.transition;\n this.elements.root.style.transition = 'unset';\n this.layout();\n setTimeout(() => {\n this.elements.root.style.transition = transition;\n }, 0);\n }\n }));\n this.onDidChangeValue = this.findInput.onDidChange;\n }\n layout(width = this.width) {\n this.width = width;\n this.right = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_20__.clamp)(this.right, 0, Math.max(0, width - 212));\n this.elements.root.style.right = `${this.right}px`;\n this.top = (0,_common_numbers_js__WEBPACK_IMPORTED_MODULE_20__.clamp)(this.top, 0, 24);\n this.elements.root.style.top = `${this.top}px`;\n }\n showMessage(message) {\n this.findInput.showMessage(message);\n }\n clearMessage() {\n this.findInput.clearMessage();\n }\n dispose() {\n const _super = Object.create(null, {\n dispose: { get: () => super.dispose }\n });\n return __awaiter(this, void 0, void 0, function* () {\n this._onDidDisable.fire();\n this.elements.root.classList.add('disabled');\n yield (0,_common_async_js__WEBPACK_IMPORTED_MODULE_13__.timeout)(300);\n _super.dispose.call(this);\n });\n }\n}\nclass FindController {\n get pattern() { return this._pattern; }\n get mode() { return this._mode; }\n set mode(mode) {\n if (mode === this._mode) {\n return;\n }\n this._mode = mode;\n if (this.widget) {\n this.widget.mode = this._mode;\n }\n this.tree.refilter();\n this.render();\n this._onDidChangeMode.fire(mode);\n }\n get matchType() { return this._matchType; }\n set matchType(matchType) {\n if (matchType === this._matchType) {\n return;\n }\n this._matchType = matchType;\n if (this.widget) {\n this.widget.matchType = this._matchType;\n }\n this.tree.refilter();\n this.render();\n this._onDidChangeMatchType.fire(matchType);\n }\n constructor(tree, model, view, filter, contextViewProvider, options = {}) {\n var _a, _b;\n this.tree = tree;\n this.view = view;\n this.filter = filter;\n this.contextViewProvider = contextViewProvider;\n this.options = options;\n this._pattern = '';\n this.width = 0;\n this._onDidChangeMode = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.onDidChangeMode = this._onDidChangeMode.event;\n this._onDidChangeMatchType = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.onDidChangeMatchType = this._onDidChangeMatchType.event;\n this._onDidChangePattern = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this._onDidChangeOpenState = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.onDidChangeOpenState = this._onDidChangeOpenState.event;\n this.enabledDisposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this._mode = (_a = tree.options.defaultFindMode) !== null && _a !== void 0 ? _a : TreeFindMode.Highlight;\n this._matchType = (_b = tree.options.defaultFindMatchType) !== null && _b !== void 0 ? _b : TreeFindMatchType.Fuzzy;\n model.onDidSplice(this.onDidSpliceModel, this, this.disposables);\n }\n updateOptions(optionsUpdate = {}) {\n if (optionsUpdate.defaultFindMode !== undefined) {\n this.mode = optionsUpdate.defaultFindMode;\n }\n if (optionsUpdate.defaultFindMatchType !== undefined) {\n this.matchType = optionsUpdate.defaultFindMatchType;\n }\n }\n onDidSpliceModel() {\n if (!this.widget || this.pattern.length === 0) {\n return;\n }\n this.tree.refilter();\n this.render();\n }\n render() {\n var _a, _b, _c, _d;\n const noMatches = this.filter.totalCount > 0 && this.filter.matchCount === 0;\n if (this.pattern && noMatches) {\n if ((_a = this.tree.options.showNotFoundMessage) !== null && _a !== void 0 ? _a : true) {\n (_b = this.widget) === null || _b === void 0 ? void 0 : _b.showMessage({ type: 2 /* MessageType.WARNING */, content: (0,_nls_js__WEBPACK_IMPORTED_MODULE_23__.localize)('not found', \"No elements found.\") });\n }\n else {\n (_c = this.widget) === null || _c === void 0 ? void 0 : _c.showMessage({ type: 2 /* MessageType.WARNING */ });\n }\n }\n else {\n (_d = this.widget) === null || _d === void 0 ? void 0 : _d.clearMessage();\n }\n }\n shouldAllowFocus(node) {\n if (!this.widget || !this.pattern || this._mode === TreeFindMode.Filter) {\n return true;\n }\n if (this.filter.totalCount > 0 && this.filter.matchCount <= 1) {\n return true;\n }\n return !_common_filters_js__WEBPACK_IMPORTED_MODULE_18__.FuzzyScore.isDefault(node.filterData);\n }\n layout(width) {\n var _a;\n this.width = width;\n (_a = this.widget) === null || _a === void 0 ? void 0 : _a.layout(width);\n }\n dispose() {\n this._history = undefined;\n this._onDidChangePattern.dispose();\n this.enabledDisposables.dispose();\n this.disposables.dispose();\n }\n}\nfunction asTreeMouseEvent(event) {\n let target = _tree_js__WEBPACK_IMPORTED_MODULE_10__.TreeMouseEventTarget.Unknown;\n if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.hasParentWithClass)(event.browserEvent.target, 'monaco-tl-twistie', 'monaco-tl-row')) {\n target = _tree_js__WEBPACK_IMPORTED_MODULE_10__.TreeMouseEventTarget.Twistie;\n }\n else if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.hasParentWithClass)(event.browserEvent.target, 'monaco-tl-contents', 'monaco-tl-row')) {\n target = _tree_js__WEBPACK_IMPORTED_MODULE_10__.TreeMouseEventTarget.Element;\n }\n else if ((0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.hasParentWithClass)(event.browserEvent.target, 'monaco-tree-type-filter', 'monaco-list')) {\n target = _tree_js__WEBPACK_IMPORTED_MODULE_10__.TreeMouseEventTarget.Filter;\n }\n return {\n browserEvent: event.browserEvent,\n element: event.element ? event.element.element : null,\n target\n };\n}\nfunction dfs(node, fn) {\n fn(node);\n node.children.forEach(child => dfs(child, fn));\n}\n/**\n * The trait concept needs to exist at the tree level, because collapsed\n * tree nodes will not be known by the list.\n */\nclass Trait {\n get nodeSet() {\n if (!this._nodeSet) {\n this._nodeSet = this.createNodeSet();\n }\n return this._nodeSet;\n }\n constructor(getFirstViewElementWithTrait, identityProvider) {\n this.getFirstViewElementWithTrait = getFirstViewElementWithTrait;\n this.identityProvider = identityProvider;\n this.nodes = [];\n this._onDidChange = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.onDidChange = this._onDidChange.event;\n }\n set(nodes, browserEvent) {\n if (!(browserEvent === null || browserEvent === void 0 ? void 0 : browserEvent.__forceEvent) && (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_12__.equals)(this.nodes, nodes)) {\n return;\n }\n this._set(nodes, false, browserEvent);\n }\n _set(nodes, silent, browserEvent) {\n this.nodes = [...nodes];\n this.elements = undefined;\n this._nodeSet = undefined;\n if (!silent) {\n const that = this;\n this._onDidChange.fire({ get elements() { return that.get(); }, browserEvent });\n }\n }\n get() {\n if (!this.elements) {\n this.elements = this.nodes.map(node => node.element);\n }\n return [...this.elements];\n }\n getNodes() {\n return this.nodes;\n }\n has(node) {\n return this.nodeSet.has(node);\n }\n onDidModelSplice({ insertedNodes, deletedNodes }) {\n if (!this.identityProvider) {\n const set = this.createNodeSet();\n const visit = (node) => set.delete(node);\n deletedNodes.forEach(node => dfs(node, visit));\n this.set([...set.values()]);\n return;\n }\n const deletedNodesIdSet = new Set();\n const deletedNodesVisitor = (node) => deletedNodesIdSet.add(this.identityProvider.getId(node.element).toString());\n deletedNodes.forEach(node => dfs(node, deletedNodesVisitor));\n const insertedNodesMap = new Map();\n const insertedNodesVisitor = (node) => insertedNodesMap.set(this.identityProvider.getId(node.element).toString(), node);\n insertedNodes.forEach(node => dfs(node, insertedNodesVisitor));\n const nodes = [];\n for (const node of this.nodes) {\n const id = this.identityProvider.getId(node.element).toString();\n const wasDeleted = deletedNodesIdSet.has(id);\n if (!wasDeleted) {\n nodes.push(node);\n }\n else {\n const insertedNode = insertedNodesMap.get(id);\n if (insertedNode && insertedNode.visible) {\n nodes.push(insertedNode);\n }\n }\n }\n if (this.nodes.length > 0 && nodes.length === 0) {\n const node = this.getFirstViewElementWithTrait();\n if (node) {\n nodes.push(node);\n }\n }\n this._set(nodes, true);\n }\n createNodeSet() {\n const set = new Set();\n for (const node of this.nodes) {\n set.add(node);\n }\n return set;\n }\n}\nclass TreeNodeListMouseController extends _list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.MouseController {\n constructor(list, tree) {\n super(list);\n this.tree = tree;\n }\n onViewPointer(e) {\n if ((0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isButton)(e.browserEvent.target) ||\n (0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isInputElement)(e.browserEvent.target) ||\n (0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isMonacoEditor)(e.browserEvent.target)) {\n return;\n }\n if (e.browserEvent.isHandledByList) {\n return;\n }\n const node = e.element;\n if (!node) {\n return super.onViewPointer(e);\n }\n if (this.isSelectionRangeChangeEvent(e) || this.isSelectionSingleChangeEvent(e)) {\n return super.onViewPointer(e);\n }\n const target = e.browserEvent.target;\n const onTwistie = target.classList.contains('monaco-tl-twistie')\n || (target.classList.contains('monaco-icon-label') && target.classList.contains('folder-icon') && e.browserEvent.offsetX < 16);\n let expandOnlyOnTwistieClick = false;\n if (typeof this.tree.expandOnlyOnTwistieClick === 'function') {\n expandOnlyOnTwistieClick = this.tree.expandOnlyOnTwistieClick(node.element);\n }\n else {\n expandOnlyOnTwistieClick = !!this.tree.expandOnlyOnTwistieClick;\n }\n if (expandOnlyOnTwistieClick && !onTwistie && e.browserEvent.detail !== 2) {\n return super.onViewPointer(e);\n }\n if (!this.tree.expandOnDoubleClick && e.browserEvent.detail === 2) {\n return super.onViewPointer(e);\n }\n if (node.collapsible) {\n const location = this.tree.getNodeLocation(node);\n const recursive = e.browserEvent.altKey;\n this.tree.setFocus([location]);\n this.tree.toggleCollapsed(location, recursive);\n if (expandOnlyOnTwistieClick && onTwistie) {\n // Do not set this before calling a handler on the super class, because it will reject it as handled\n e.browserEvent.isHandledByList = true;\n return;\n }\n }\n super.onViewPointer(e);\n }\n onDoubleClick(e) {\n const onTwistie = e.browserEvent.target.classList.contains('monaco-tl-twistie');\n if (onTwistie || !this.tree.expandOnDoubleClick) {\n return;\n }\n if (e.browserEvent.isHandledByList) {\n return;\n }\n super.onDoubleClick(e);\n }\n}\n/**\n * We use this List subclass to restore selection and focus as nodes\n * get rendered in the list, possibly due to a node expand() call.\n */\nclass TreeNodeList extends _list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.List {\n constructor(user, container, virtualDelegate, renderers, focusTrait, selectionTrait, anchorTrait, options) {\n super(user, container, virtualDelegate, renderers, options);\n this.focusTrait = focusTrait;\n this.selectionTrait = selectionTrait;\n this.anchorTrait = anchorTrait;\n }\n createMouseController(options) {\n return new TreeNodeListMouseController(this, options.tree);\n }\n splice(start, deleteCount, elements = []) {\n super.splice(start, deleteCount, elements);\n if (elements.length === 0) {\n return;\n }\n const additionalFocus = [];\n const additionalSelection = [];\n let anchor;\n elements.forEach((node, index) => {\n if (this.focusTrait.has(node)) {\n additionalFocus.push(start + index);\n }\n if (this.selectionTrait.has(node)) {\n additionalSelection.push(start + index);\n }\n if (this.anchorTrait.has(node)) {\n anchor = start + index;\n }\n });\n if (additionalFocus.length > 0) {\n super.setFocus((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_12__.distinct)([...super.getFocus(), ...additionalFocus]));\n }\n if (additionalSelection.length > 0) {\n super.setSelection((0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_12__.distinct)([...super.getSelection(), ...additionalSelection]));\n }\n if (typeof anchor === 'number') {\n super.setAnchor(anchor);\n }\n }\n setFocus(indexes, browserEvent, fromAPI = false) {\n super.setFocus(indexes, browserEvent);\n if (!fromAPI) {\n this.focusTrait.set(indexes.map(i => this.element(i)), browserEvent);\n }\n }\n setSelection(indexes, browserEvent, fromAPI = false) {\n super.setSelection(indexes, browserEvent);\n if (!fromAPI) {\n this.selectionTrait.set(indexes.map(i => this.element(i)), browserEvent);\n }\n }\n setAnchor(index, fromAPI = false) {\n super.setAnchor(index);\n if (!fromAPI) {\n if (typeof index === 'undefined') {\n this.anchorTrait.set([]);\n }\n else {\n this.anchorTrait.set([this.element(index)]);\n }\n }\n }\n}\nclass AbstractTree {\n get onDidChangeFocus() { return this.eventBufferer.wrapEvent(this.focus.onDidChange); }\n get onDidChangeSelection() { return this.eventBufferer.wrapEvent(this.selection.onDidChange); }\n get onMouseDblClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.filter(_common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.map(this.view.onMouseDblClick, asTreeMouseEvent), e => e.target !== _tree_js__WEBPACK_IMPORTED_MODULE_10__.TreeMouseEventTarget.Filter); }\n get onPointer() { return _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.map(this.view.onPointer, asTreeMouseEvent); }\n get onDidFocus() { return this.view.onDidFocus; }\n get onDidChangeModel() { return _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.signal(this.model.onDidSplice); }\n get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; }\n get findMode() { var _a, _b; return (_b = (_a = this.findController) === null || _a === void 0 ? void 0 : _a.mode) !== null && _b !== void 0 ? _b : TreeFindMode.Highlight; }\n set findMode(findMode) { if (this.findController) {\n this.findController.mode = findMode;\n } }\n get findMatchType() { var _a, _b; return (_b = (_a = this.findController) === null || _a === void 0 ? void 0 : _a.matchType) !== null && _b !== void 0 ? _b : TreeFindMatchType.Fuzzy; }\n set findMatchType(findFuzzy) { if (this.findController) {\n this.findController.matchType = findFuzzy;\n } }\n get expandOnDoubleClick() { return typeof this._options.expandOnDoubleClick === 'undefined' ? true : this._options.expandOnDoubleClick; }\n get expandOnlyOnTwistieClick() { return typeof this._options.expandOnlyOnTwistieClick === 'undefined' ? true : this._options.expandOnlyOnTwistieClick; }\n get onDidDispose() { return this.view.onDidDispose; }\n constructor(_user, container, delegate, renderers, _options = {}) {\n var _a;\n this._user = _user;\n this._options = _options;\n this.eventBufferer = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.EventBufferer();\n this.onDidChangeFindOpenState = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.None;\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.DisposableStore();\n this._onWillRefilter = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n this.onWillRefilter = this._onWillRefilter.event;\n this._onDidUpdateOptions = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Emitter();\n const treeDelegate = new ComposedTreeDelegate(delegate);\n const onDidChangeCollapseStateRelay = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Relay();\n const onDidChangeActiveNodes = new _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Relay();\n const activeNodes = this.disposables.add(new EventCollection(onDidChangeActiveNodes.event));\n const renderedIndentGuides = new _common_collections_js__WEBPACK_IMPORTED_MODULE_16__.SetMap();\n this.renderers = renderers.map(r => new TreeRenderer(r, () => this.model, onDidChangeCollapseStateRelay.event, activeNodes, renderedIndentGuides, _options));\n for (const r of this.renderers) {\n this.disposables.add(r);\n }\n let filter;\n if (_options.keyboardNavigationLabelProvider) {\n filter = new FindFilter(this, _options.keyboardNavigationLabelProvider, _options.filter);\n _options = Object.assign(Object.assign({}, _options), { filter: filter }); // TODO need typescript help here\n this.disposables.add(filter);\n }\n this.focus = new Trait(() => this.view.getFocusedElements()[0], _options.identityProvider);\n this.selection = new Trait(() => this.view.getSelectedElements()[0], _options.identityProvider);\n this.anchor = new Trait(() => this.view.getAnchorElement(), _options.identityProvider);\n this.view = new TreeNodeList(_user, container, treeDelegate, this.renderers, this.focus, this.selection, this.anchor, Object.assign(Object.assign({}, asListOptions(() => this.model, _options)), { tree: this }));\n this.model = this.createModel(_user, this.view, _options);\n onDidChangeCollapseStateRelay.input = this.model.onDidChangeCollapseState;\n const onDidModelSplice = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.forEach(this.model.onDidSplice, e => {\n this.eventBufferer.bufferEvents(() => {\n this.focus.onDidModelSplice(e);\n this.selection.onDidModelSplice(e);\n });\n }, this.disposables);\n // Make sure the `forEach` always runs\n onDidModelSplice(() => null, null, this.disposables);\n // Active nodes can change when the model changes or when focus or selection change.\n // We debounce it with 0 delay since these events may fire in the same stack and we only\n // want to run this once. It also doesn't matter if it runs on the next tick since it's only\n // a nice to have UI feature.\n onDidChangeActiveNodes.input = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.chain(_common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.any(onDidModelSplice, this.focus.onDidChange, this.selection.onDidChange))\n .debounce(() => null, 0)\n .map(() => {\n const set = new Set();\n for (const node of this.focus.getNodes()) {\n set.add(node);\n }\n for (const node of this.selection.getNodes()) {\n set.add(node);\n }\n return [...set.values()];\n }).event;\n if (_options.keyboardSupport !== false) {\n const onKeyDown = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.chain(this.view.onKeyDown)\n .filter(e => !(0,_list_listWidget_js__WEBPACK_IMPORTED_MODULE_7__.isInputElement)(e.target))\n .map(e => new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardKeyboardEvent(e));\n onKeyDown.filter(e => e.keyCode === 15 /* KeyCode.LeftArrow */).on(this.onLeftArrow, this, this.disposables);\n onKeyDown.filter(e => e.keyCode === 17 /* KeyCode.RightArrow */).on(this.onRightArrow, this, this.disposables);\n onKeyDown.filter(e => e.keyCode === 10 /* KeyCode.Space */).on(this.onSpace, this, this.disposables);\n }\n if (((_a = _options.findWidgetEnabled) !== null && _a !== void 0 ? _a : true) && _options.keyboardNavigationLabelProvider && _options.contextViewProvider) {\n const opts = this.options.findWidgetStyles ? { styles: this.options.findWidgetStyles } : undefined;\n this.findController = new FindController(this, this.model, this.view, filter, _options.contextViewProvider, opts);\n this.focusNavigationFilter = node => this.findController.shouldAllowFocus(node);\n this.onDidChangeFindOpenState = this.findController.onDidChangeOpenState;\n this.disposables.add(this.findController);\n this.onDidChangeFindMode = this.findController.onDidChangeMode;\n this.onDidChangeFindMatchType = this.findController.onDidChangeMatchType;\n }\n else {\n this.onDidChangeFindMode = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.None;\n this.onDidChangeFindMatchType = _common_event_js__WEBPACK_IMPORTED_MODULE_17__.Event.None;\n }\n this.styleElement = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__.createStyleSheet)(this.view.getHTMLElement());\n this.getHTMLElement().classList.toggle('always', this._options.renderIndentGuides === RenderIndentGuides.Always);\n }\n updateOptions(optionsUpdate = {}) {\n var _a;\n this._options = Object.assign(Object.assign({}, this._options), optionsUpdate);\n for (const renderer of this.renderers) {\n renderer.updateOptions(optionsUpdate);\n }\n this.view.updateOptions(this._options);\n (_a = this.findController) === null || _a === void 0 ? void 0 : _a.updateOptions(optionsUpdate);\n this._onDidUpdateOptions.fire(this._options);\n this.getHTMLElement().classList.toggle('always', this._options.renderIndentGuides === RenderIndentGuides.Always);\n }\n get options() {\n return this._options;\n }\n // Widget\n getHTMLElement() {\n return this.view.getHTMLElement();\n }\n get scrollTop() {\n return this.view.scrollTop;\n }\n set scrollTop(scrollTop) {\n this.view.scrollTop = scrollTop;\n }\n domFocus() {\n this.view.domFocus();\n }\n layout(height, width) {\n var _a;\n this.view.layout(height, width);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_21__.isNumber)(width)) {\n (_a = this.findController) === null || _a === void 0 ? void 0 : _a.layout(width);\n }\n }\n style(styles) {\n const suffix = `.${this.view.domId}`;\n const content = [];\n if (styles.treeIndentGuidesStroke) {\n content.push(`.monaco-list${suffix}:hover .monaco-tl-indent > .indent-guide, .monaco-list${suffix}.always .monaco-tl-indent > .indent-guide { border-color: ${styles.treeInactiveIndentGuidesStroke}; }`);\n content.push(`.monaco-list${suffix} .monaco-tl-indent > .indent-guide.active { border-color: ${styles.treeIndentGuidesStroke}; }`);\n }\n this.styleElement.textContent = content.join('\\n');\n this.view.style(styles);\n }\n // Tree navigation\n getParentElement(location) {\n const parentRef = this.model.getParentNodeLocation(location);\n const parentNode = this.model.getNode(parentRef);\n return parentNode.element;\n }\n getFirstElementChild(location) {\n return this.model.getFirstElementChild(location);\n }\n // Tree\n getNode(location) {\n return this.model.getNode(location);\n }\n getNodeLocation(node) {\n return this.model.getNodeLocation(node);\n }\n collapse(location, recursive = false) {\n return this.model.setCollapsed(location, true, recursive);\n }\n expand(location, recursive = false) {\n return this.model.setCollapsed(location, false, recursive);\n }\n toggleCollapsed(location, recursive = false) {\n return this.model.setCollapsed(location, undefined, recursive);\n }\n isCollapsible(location) {\n return this.model.isCollapsible(location);\n }\n setCollapsible(location, collapsible) {\n return this.model.setCollapsible(location, collapsible);\n }\n isCollapsed(location) {\n return this.model.isCollapsed(location);\n }\n refilter() {\n this._onWillRefilter.fire(undefined);\n this.model.refilter();\n }\n setSelection(elements, browserEvent) {\n const nodes = elements.map(e => this.model.getNode(e));\n this.selection.set(nodes, browserEvent);\n const indexes = elements.map(e => this.model.getListIndex(e)).filter(i => i > -1);\n this.view.setSelection(indexes, browserEvent, true);\n }\n getSelection() {\n return this.selection.get();\n }\n setFocus(elements, browserEvent) {\n const nodes = elements.map(e => this.model.getNode(e));\n this.focus.set(nodes, browserEvent);\n const indexes = elements.map(e => this.model.getListIndex(e)).filter(i => i > -1);\n this.view.setFocus(indexes, browserEvent, true);\n }\n getFocus() {\n return this.focus.get();\n }\n reveal(location, relativeTop) {\n this.model.expandTo(location);\n const index = this.model.getListIndex(location);\n if (index === -1) {\n return;\n }\n this.view.reveal(index, relativeTop);\n }\n // List\n onLeftArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n const nodes = this.view.getFocusedElements();\n if (nodes.length === 0) {\n return;\n }\n const node = nodes[0];\n const location = this.model.getNodeLocation(node);\n const didChange = this.model.setCollapsed(location, true);\n if (!didChange) {\n const parentLocation = this.model.getParentNodeLocation(location);\n if (!parentLocation) {\n return;\n }\n const parentListIndex = this.model.getListIndex(parentLocation);\n this.view.reveal(parentListIndex);\n this.view.setFocus([parentListIndex]);\n }\n }\n onRightArrow(e) {\n e.preventDefault();\n e.stopPropagation();\n const nodes = this.view.getFocusedElements();\n if (nodes.length === 0) {\n return;\n }\n const node = nodes[0];\n const location = this.model.getNodeLocation(node);\n const didChange = this.model.setCollapsed(location, false);\n if (!didChange) {\n if (!node.children.some(child => child.visible)) {\n return;\n }\n const [focusedIndex] = this.view.getFocus();\n const firstChildIndex = focusedIndex + 1;\n this.view.reveal(firstChildIndex);\n this.view.setFocus([firstChildIndex]);\n }\n }\n onSpace(e) {\n e.preventDefault();\n e.stopPropagation();\n const nodes = this.view.getFocusedElements();\n if (nodes.length === 0) {\n return;\n }\n const node = nodes[0];\n const location = this.model.getNodeLocation(node);\n const recursive = e.browserEvent.altKey;\n this.model.setCollapsed(location, undefined, recursive);\n }\n dispose() {\n (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_19__.dispose)(this.disposables);\n this.view.dispose();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.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 */ AsyncDataTree: () => (/* binding */ AsyncDataTree),\n/* harmony export */ CompressibleAsyncDataTree: () => (/* binding */ CompressibleAsyncDataTree)\n/* harmony export */ });\n/* harmony import */ var _list_listView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../list/listView.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js\");\n/* harmony import */ var _abstractTree_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstractTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js\");\n/* harmony import */ var _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./indexTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js\");\n/* harmony import */ var _objectTree_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./objectTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_codicons_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.js\");\n/* harmony import */ var _common_themables_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../common/themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.js\");\n/* harmony import */ var _common_errors_js__WEBPACK_IMPORTED_MODULE_8__ = __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_9__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.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 *--------------------------------------------------------------------------------------------*/\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction createAsyncDataTreeNode(props) {\n return Object.assign(Object.assign({}, props), { children: [], refreshPromise: undefined, stale: true, slow: false, collapsedByDefault: undefined });\n}\nfunction isAncestor(ancestor, descendant) {\n if (!descendant.parent) {\n return false;\n }\n else if (descendant.parent === ancestor) {\n return true;\n }\n else {\n return isAncestor(ancestor, descendant.parent);\n }\n}\nfunction intersects(node, other) {\n return node === other || isAncestor(node, other) || isAncestor(other, node);\n}\nclass AsyncDataTreeNodeWrapper {\n get element() { return this.node.element.element; }\n get children() { return this.node.children.map(node => new AsyncDataTreeNodeWrapper(node)); }\n get depth() { return this.node.depth; }\n get visibleChildrenCount() { return this.node.visibleChildrenCount; }\n get visibleChildIndex() { return this.node.visibleChildIndex; }\n get collapsible() { return this.node.collapsible; }\n get collapsed() { return this.node.collapsed; }\n get visible() { return this.node.visible; }\n get filterData() { return this.node.filterData; }\n constructor(node) {\n this.node = node;\n }\n}\nclass AsyncDataTreeRenderer {\n constructor(renderer, nodeMapper, onDidChangeTwistieState) {\n this.renderer = renderer;\n this.nodeMapper = nodeMapper;\n this.onDidChangeTwistieState = onDidChangeTwistieState;\n this.renderedNodes = new Map();\n this.templateId = renderer.templateId;\n }\n renderTemplate(container) {\n const templateData = this.renderer.renderTemplate(container);\n return { templateData };\n }\n renderElement(node, index, templateData, height) {\n this.renderer.renderElement(this.nodeMapper.map(node), index, templateData.templateData, height);\n }\n renderTwistie(element, twistieElement) {\n if (element.slow) {\n twistieElement.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_7__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_6__.Codicon.treeItemLoading));\n return true;\n }\n else {\n twistieElement.classList.remove(..._common_themables_js__WEBPACK_IMPORTED_MODULE_7__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_6__.Codicon.treeItemLoading));\n return false;\n }\n }\n disposeElement(node, index, templateData, height) {\n var _a, _b;\n (_b = (_a = this.renderer).disposeElement) === null || _b === void 0 ? void 0 : _b.call(_a, this.nodeMapper.map(node), index, templateData.templateData, height);\n }\n disposeTemplate(templateData) {\n this.renderer.disposeTemplate(templateData.templateData);\n }\n dispose() {\n this.renderedNodes.clear();\n }\n}\nfunction asTreeEvent(e) {\n return {\n browserEvent: e.browserEvent,\n elements: e.elements.map(e => e.element)\n };\n}\nfunction asTreeMouseEvent(e) {\n return {\n browserEvent: e.browserEvent,\n element: e.element && e.element.element,\n target: e.target\n };\n}\nclass AsyncDataTreeElementsDragAndDropData extends _list_listView_js__WEBPACK_IMPORTED_MODULE_0__.ElementsDragAndDropData {\n constructor(data) {\n super(data.elements.map(node => node.element));\n this.data = data;\n }\n}\nfunction asAsyncDataTreeDragAndDropData(data) {\n if (data instanceof _list_listView_js__WEBPACK_IMPORTED_MODULE_0__.ElementsDragAndDropData) {\n return new AsyncDataTreeElementsDragAndDropData(data);\n }\n return data;\n}\nclass AsyncDataTreeNodeListDragAndDrop {\n constructor(dnd) {\n this.dnd = dnd;\n }\n getDragURI(node) {\n return this.dnd.getDragURI(node.element);\n }\n getDragLabel(nodes, originalEvent) {\n if (this.dnd.getDragLabel) {\n return this.dnd.getDragLabel(nodes.map(node => node.element), originalEvent);\n }\n return undefined;\n }\n onDragStart(data, originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragStart) === null || _b === void 0 ? void 0 : _b.call(_a, asAsyncDataTreeDragAndDropData(data), originalEvent);\n }\n onDragOver(data, targetNode, targetIndex, originalEvent, raw = true) {\n return this.dnd.onDragOver(asAsyncDataTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\n }\n drop(data, targetNode, targetIndex, originalEvent) {\n this.dnd.drop(asAsyncDataTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);\n }\n onDragEnd(originalEvent) {\n var _a, _b;\n (_b = (_a = this.dnd).onDragEnd) === null || _b === void 0 ? void 0 : _b.call(_a, originalEvent);\n }\n}\nfunction asObjectTreeOptions(options) {\n return options && Object.assign(Object.assign({}, options), { collapseByDefault: true, identityProvider: options.identityProvider && {\n getId(el) {\n return options.identityProvider.getId(el.element);\n }\n }, dnd: options.dnd && new AsyncDataTreeNodeListDragAndDrop(options.dnd), multipleSelectionController: options.multipleSelectionController && {\n isSelectionSingleChangeEvent(e) {\n return options.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({}, e), { element: e.element }));\n },\n isSelectionRangeChangeEvent(e) {\n return options.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({}, e), { element: e.element }));\n }\n }, accessibilityProvider: options.accessibilityProvider && Object.assign(Object.assign({}, options.accessibilityProvider), { getPosInSet: undefined, getSetSize: undefined, getRole: options.accessibilityProvider.getRole ? (el) => {\n return options.accessibilityProvider.getRole(el.element);\n } : () => 'treeitem', isChecked: options.accessibilityProvider.isChecked ? (e) => {\n var _a;\n return !!((_a = options.accessibilityProvider) === null || _a === void 0 ? void 0 : _a.isChecked(e.element));\n } : undefined, getAriaLabel(e) {\n return options.accessibilityProvider.getAriaLabel(e.element);\n },\n getWidgetAriaLabel() {\n return options.accessibilityProvider.getWidgetAriaLabel();\n }, getWidgetRole: options.accessibilityProvider.getWidgetRole ? () => options.accessibilityProvider.getWidgetRole() : () => 'tree', getAriaLevel: options.accessibilityProvider.getAriaLevel && (node => {\n return options.accessibilityProvider.getAriaLevel(node.element);\n }), getActiveDescendantId: options.accessibilityProvider.getActiveDescendantId && (node => {\n return options.accessibilityProvider.getActiveDescendantId(node.element);\n }) }), filter: options.filter && {\n filter(e, parentVisibility) {\n return options.filter.filter(e.element, parentVisibility);\n }\n }, keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && Object.assign(Object.assign({}, options.keyboardNavigationLabelProvider), { getKeyboardNavigationLabel(e) {\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element);\n } }), sorter: undefined, expandOnlyOnTwistieClick: typeof options.expandOnlyOnTwistieClick === 'undefined' ? undefined : (typeof options.expandOnlyOnTwistieClick !== 'function' ? options.expandOnlyOnTwistieClick : (e => options.expandOnlyOnTwistieClick(e.element))), defaultFindVisibility: e => {\n if (e.hasChildren && e.stale) {\n return 1 /* TreeVisibility.Visible */;\n }\n else if (typeof options.defaultFindVisibility === 'number') {\n return options.defaultFindVisibility;\n }\n else if (typeof options.defaultFindVisibility === 'undefined') {\n return 2 /* TreeVisibility.Recurse */;\n }\n else {\n return options.defaultFindVisibility(e.element);\n }\n } });\n}\nfunction dfs(node, fn) {\n fn(node);\n node.children.forEach(child => dfs(child, fn));\n}\nclass AsyncDataTree {\n get onDidChangeFocus() { return _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.map(this.tree.onDidChangeFocus, asTreeEvent); }\n get onDidChangeSelection() { return _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.map(this.tree.onDidChangeSelection, asTreeEvent); }\n get onMouseDblClick() { return _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.map(this.tree.onMouseDblClick, asTreeMouseEvent); }\n get onPointer() { return _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.map(this.tree.onPointer, asTreeMouseEvent); }\n get onDidFocus() { return this.tree.onDidFocus; }\n /**\n * To be used internally only!\n * @deprecated\n */\n get onDidChangeModel() { return this.tree.onDidChangeModel; }\n get onDidChangeCollapseState() { return this.tree.onDidChangeCollapseState; }\n get onDidChangeFindOpenState() { return this.tree.onDidChangeFindOpenState; }\n get onDidDispose() { return this.tree.onDidDispose; }\n constructor(user, container, delegate, renderers, dataSource, options = {}) {\n this.user = user;\n this.dataSource = dataSource;\n this.nodes = new Map();\n this.subTreeRefreshPromises = new Map();\n this.refreshPromises = new Map();\n this._onDidRender = new _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Emitter();\n this._onDidChangeNodeSlowState = new _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Emitter();\n this.nodeMapper = new _tree_js__WEBPACK_IMPORTED_MODULE_4__.WeakMapper(node => new AsyncDataTreeNodeWrapper(node));\n this.disposables = new _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_11__.DisposableStore();\n this.identityProvider = options.identityProvider;\n this.autoExpandSingleChildren = typeof options.autoExpandSingleChildren === 'undefined' ? false : options.autoExpandSingleChildren;\n this.sorter = options.sorter;\n this.collapseByDefault = options.collapseByDefault;\n this.tree = this.createTree(user, container, delegate, renderers, options);\n this.onDidChangeFindMode = this.tree.onDidChangeFindMode;\n this.root = createAsyncDataTreeNode({\n element: undefined,\n parent: null,\n hasChildren: true\n });\n if (this.identityProvider) {\n this.root = Object.assign(Object.assign({}, this.root), { id: null });\n }\n this.nodes.set(null, this.root);\n this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState, this, this.disposables);\n }\n createTree(user, container, delegate, renderers, options) {\n const objectTreeDelegate = new _abstractTree_js__WEBPACK_IMPORTED_MODULE_1__.ComposedTreeDelegate(delegate);\n const objectTreeRenderers = renderers.map(r => new AsyncDataTreeRenderer(r, this.nodeMapper, this._onDidChangeNodeSlowState.event));\n const objectTreeOptions = asObjectTreeOptions(options) || {};\n return new _objectTree_js__WEBPACK_IMPORTED_MODULE_3__.ObjectTree(user, container, objectTreeDelegate, objectTreeRenderers, objectTreeOptions);\n }\n updateOptions(options = {}) {\n this.tree.updateOptions(options);\n }\n // Widget\n getHTMLElement() {\n return this.tree.getHTMLElement();\n }\n get scrollTop() {\n return this.tree.scrollTop;\n }\n set scrollTop(scrollTop) {\n this.tree.scrollTop = scrollTop;\n }\n domFocus() {\n this.tree.domFocus();\n }\n layout(height, width) {\n this.tree.layout(height, width);\n }\n style(styles) {\n this.tree.style(styles);\n }\n // Model\n getInput() {\n return this.root.element;\n }\n setInput(input, viewState) {\n return __awaiter(this, void 0, void 0, function* () {\n this.refreshPromises.forEach(promise => promise.cancel());\n this.refreshPromises.clear();\n this.root.element = input;\n const viewStateContext = viewState && { viewState, focus: [], selection: [] };\n yield this._updateChildren(input, true, false, viewStateContext);\n if (viewStateContext) {\n this.tree.setFocus(viewStateContext.focus);\n this.tree.setSelection(viewStateContext.selection);\n }\n if (viewState && typeof viewState.scrollTop === 'number') {\n this.scrollTop = viewState.scrollTop;\n }\n });\n }\n _updateChildren(element = this.root.element, recursive = true, rerender = false, viewStateContext, options) {\n return __awaiter(this, void 0, void 0, function* () {\n if (typeof this.root.element === 'undefined') {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_4__.TreeError(this.user, 'Tree input not set');\n }\n if (this.root.refreshPromise) {\n yield this.root.refreshPromise;\n yield _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.toPromise(this._onDidRender.event);\n }\n const node = this.getDataNode(element);\n yield this.refreshAndRenderNode(node, recursive, viewStateContext, options);\n if (rerender) {\n try {\n this.tree.rerender(node);\n }\n catch (_a) {\n // missing nodes are fine, this could've resulted from\n // parallel refresh calls, removing `node` altogether\n }\n }\n });\n }\n // View\n rerender(element) {\n if (element === undefined || element === this.root.element) {\n this.tree.rerender();\n return;\n }\n const node = this.getDataNode(element);\n this.tree.rerender(node);\n }\n // Tree\n getNode(element = this.root.element) {\n const dataNode = this.getDataNode(element);\n const node = this.tree.getNode(dataNode === this.root ? null : dataNode);\n return this.nodeMapper.map(node);\n }\n collapse(element, recursive = false) {\n const node = this.getDataNode(element);\n return this.tree.collapse(node === this.root ? null : node, recursive);\n }\n expand(element, recursive = false) {\n return __awaiter(this, void 0, void 0, function* () {\n if (typeof this.root.element === 'undefined') {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_4__.TreeError(this.user, 'Tree input not set');\n }\n if (this.root.refreshPromise) {\n yield this.root.refreshPromise;\n yield _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.toPromise(this._onDidRender.event);\n }\n const node = this.getDataNode(element);\n if (this.tree.hasElement(node) && !this.tree.isCollapsible(node)) {\n return false;\n }\n if (node.refreshPromise) {\n yield this.root.refreshPromise;\n yield _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.toPromise(this._onDidRender.event);\n }\n if (node !== this.root && !node.refreshPromise && !this.tree.isCollapsed(node)) {\n return false;\n }\n const result = this.tree.expand(node === this.root ? null : node, recursive);\n if (node.refreshPromise) {\n yield this.root.refreshPromise;\n yield _common_event_js__WEBPACK_IMPORTED_MODULE_9__.Event.toPromise(this._onDidRender.event);\n }\n return result;\n });\n }\n setSelection(elements, browserEvent) {\n const nodes = elements.map(e => this.getDataNode(e));\n this.tree.setSelection(nodes, browserEvent);\n }\n getSelection() {\n const nodes = this.tree.getSelection();\n return nodes.map(n => n.element);\n }\n setFocus(elements, browserEvent) {\n const nodes = elements.map(e => this.getDataNode(e));\n this.tree.setFocus(nodes, browserEvent);\n }\n getFocus() {\n const nodes = this.tree.getFocus();\n return nodes.map(n => n.element);\n }\n reveal(element, relativeTop) {\n this.tree.reveal(this.getDataNode(element), relativeTop);\n }\n // Tree navigation\n getParentElement(element) {\n const node = this.tree.getParentElement(this.getDataNode(element));\n return (node && node.element);\n }\n getFirstElementChild(element = this.root.element) {\n const dataNode = this.getDataNode(element);\n const node = this.tree.getFirstElementChild(dataNode === this.root ? null : dataNode);\n return (node && node.element);\n }\n // Implementation\n getDataNode(element) {\n const node = this.nodes.get((element === this.root.element ? null : element));\n if (!node) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_4__.TreeError(this.user, `Data tree node not found: ${element}`);\n }\n return node;\n }\n refreshAndRenderNode(node, recursive, viewStateContext, options) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.refreshNode(node, recursive, viewStateContext);\n this.render(node, viewStateContext, options);\n });\n }\n refreshNode(node, recursive, viewStateContext) {\n return __awaiter(this, void 0, void 0, function* () {\n let result;\n this.subTreeRefreshPromises.forEach((refreshPromise, refreshNode) => {\n if (!result && intersects(refreshNode, node)) {\n result = refreshPromise.then(() => this.refreshNode(node, recursive, viewStateContext));\n }\n });\n if (result) {\n return result;\n }\n if (node !== this.root) {\n const treeNode = this.tree.getNode(node);\n if (treeNode.collapsed) {\n node.hasChildren = !!this.dataSource.hasChildren(node.element);\n node.stale = true;\n return;\n }\n }\n return this.doRefreshSubTree(node, recursive, viewStateContext);\n });\n }\n doRefreshSubTree(node, recursive, viewStateContext) {\n return __awaiter(this, void 0, void 0, function* () {\n let done;\n node.refreshPromise = new Promise(c => done = c);\n this.subTreeRefreshPromises.set(node, node.refreshPromise);\n node.refreshPromise.finally(() => {\n node.refreshPromise = undefined;\n this.subTreeRefreshPromises.delete(node);\n });\n try {\n const childrenToRefresh = yield this.doRefreshNode(node, recursive, viewStateContext);\n node.stale = false;\n yield _common_async_js__WEBPACK_IMPORTED_MODULE_5__.Promises.settled(childrenToRefresh.map(child => this.doRefreshSubTree(child, recursive, viewStateContext)));\n }\n finally {\n done();\n }\n });\n }\n doRefreshNode(node, recursive, viewStateContext) {\n return __awaiter(this, void 0, void 0, function* () {\n node.hasChildren = !!this.dataSource.hasChildren(node.element);\n let childrenPromise;\n if (!node.hasChildren) {\n childrenPromise = Promise.resolve(_common_iterator_js__WEBPACK_IMPORTED_MODULE_10__.Iterable.empty());\n }\n else {\n const children = this.doGetChildren(node);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_12__.isIterable)(children)) {\n childrenPromise = Promise.resolve(children);\n }\n else {\n const slowTimeout = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_5__.timeout)(800);\n slowTimeout.then(() => {\n node.slow = true;\n this._onDidChangeNodeSlowState.fire(node);\n }, _ => null);\n childrenPromise = children.finally(() => slowTimeout.cancel());\n }\n }\n try {\n const children = yield childrenPromise;\n return this.setChildren(node, children, recursive, viewStateContext);\n }\n catch (err) {\n if (node !== this.root && this.tree.hasElement(node)) {\n this.tree.collapse(node);\n }\n if ((0,_common_errors_js__WEBPACK_IMPORTED_MODULE_8__.isCancellationError)(err)) {\n return [];\n }\n throw err;\n }\n finally {\n if (node.slow) {\n node.slow = false;\n this._onDidChangeNodeSlowState.fire(node);\n }\n }\n });\n }\n doGetChildren(node) {\n let result = this.refreshPromises.get(node);\n if (result) {\n return result;\n }\n const children = this.dataSource.getChildren(node.element);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_12__.isIterable)(children)) {\n return this.processChildren(children);\n }\n else {\n result = (0,_common_async_js__WEBPACK_IMPORTED_MODULE_5__.createCancelablePromise)(() => __awaiter(this, void 0, void 0, function* () { return this.processChildren(yield children); }));\n this.refreshPromises.set(node, result);\n return result.finally(() => { this.refreshPromises.delete(node); });\n }\n }\n _onDidChangeCollapseState({ node, deep }) {\n if (node.element === null) {\n return;\n }\n if (!node.collapsed && node.element.stale) {\n if (deep) {\n this.collapse(node.element.element);\n }\n else {\n this.refreshAndRenderNode(node.element, false)\n .catch(_common_errors_js__WEBPACK_IMPORTED_MODULE_8__.onUnexpectedError);\n }\n }\n }\n setChildren(node, childrenElementsIterable, recursive, viewStateContext) {\n const childrenElements = [...childrenElementsIterable];\n // perf: if the node was and still is a leaf, avoid all this hassle\n if (node.children.length === 0 && childrenElements.length === 0) {\n return [];\n }\n const nodesToForget = new Map();\n const childrenTreeNodesById = new Map();\n for (const child of node.children) {\n nodesToForget.set(child.element, child);\n if (this.identityProvider) {\n const collapsed = this.tree.isCollapsed(child);\n childrenTreeNodesById.set(child.id, { node: child, collapsed });\n }\n }\n const childrenToRefresh = [];\n const children = childrenElements.map(element => {\n const hasChildren = !!this.dataSource.hasChildren(element);\n if (!this.identityProvider) {\n const asyncDataTreeNode = createAsyncDataTreeNode({ element, parent: node, hasChildren });\n if (hasChildren && this.collapseByDefault && !this.collapseByDefault(element)) {\n asyncDataTreeNode.collapsedByDefault = false;\n childrenToRefresh.push(asyncDataTreeNode);\n }\n return asyncDataTreeNode;\n }\n const id = this.identityProvider.getId(element).toString();\n const result = childrenTreeNodesById.get(id);\n if (result) {\n const asyncDataTreeNode = result.node;\n nodesToForget.delete(asyncDataTreeNode.element);\n this.nodes.delete(asyncDataTreeNode.element);\n this.nodes.set(element, asyncDataTreeNode);\n asyncDataTreeNode.element = element;\n asyncDataTreeNode.hasChildren = hasChildren;\n if (recursive) {\n if (result.collapsed) {\n asyncDataTreeNode.children.forEach(node => dfs(node, node => this.nodes.delete(node.element)));\n asyncDataTreeNode.children.splice(0, asyncDataTreeNode.children.length);\n asyncDataTreeNode.stale = true;\n }\n else {\n childrenToRefresh.push(asyncDataTreeNode);\n }\n }\n else if (hasChildren && this.collapseByDefault && !this.collapseByDefault(element)) {\n asyncDataTreeNode.collapsedByDefault = false;\n childrenToRefresh.push(asyncDataTreeNode);\n }\n return asyncDataTreeNode;\n }\n const childAsyncDataTreeNode = createAsyncDataTreeNode({ element, parent: node, id, hasChildren });\n if (viewStateContext && viewStateContext.viewState.focus && viewStateContext.viewState.focus.indexOf(id) > -1) {\n viewStateContext.focus.push(childAsyncDataTreeNode);\n }\n if (viewStateContext && viewStateContext.viewState.selection && viewStateContext.viewState.selection.indexOf(id) > -1) {\n viewStateContext.selection.push(childAsyncDataTreeNode);\n }\n if (viewStateContext && viewStateContext.viewState.expanded && viewStateContext.viewState.expanded.indexOf(id) > -1) {\n childrenToRefresh.push(childAsyncDataTreeNode);\n }\n else if (hasChildren && this.collapseByDefault && !this.collapseByDefault(element)) {\n childAsyncDataTreeNode.collapsedByDefault = false;\n childrenToRefresh.push(childAsyncDataTreeNode);\n }\n return childAsyncDataTreeNode;\n });\n for (const node of nodesToForget.values()) {\n dfs(node, node => this.nodes.delete(node.element));\n }\n for (const child of children) {\n this.nodes.set(child.element, child);\n }\n node.children.splice(0, node.children.length, ...children);\n // TODO@joao this doesn't take filter into account\n if (node !== this.root && this.autoExpandSingleChildren && children.length === 1 && childrenToRefresh.length === 0) {\n children[0].collapsedByDefault = false;\n childrenToRefresh.push(children[0]);\n }\n return childrenToRefresh;\n }\n render(node, viewStateContext, options) {\n const children = node.children.map(node => this.asTreeElement(node, viewStateContext));\n const objectTreeOptions = options && Object.assign(Object.assign({}, options), { diffIdentityProvider: options.diffIdentityProvider && {\n getId(node) {\n return options.diffIdentityProvider.getId(node.element);\n }\n } });\n this.tree.setChildren(node === this.root ? null : node, children, objectTreeOptions);\n if (node !== this.root) {\n this.tree.setCollapsible(node, node.hasChildren);\n }\n this._onDidRender.fire();\n }\n asTreeElement(node, viewStateContext) {\n if (node.stale) {\n return {\n element: node,\n collapsible: node.hasChildren,\n collapsed: true\n };\n }\n let collapsed;\n if (viewStateContext && viewStateContext.viewState.expanded && node.id && viewStateContext.viewState.expanded.indexOf(node.id) > -1) {\n collapsed = false;\n }\n else {\n collapsed = node.collapsedByDefault;\n }\n node.collapsedByDefault = undefined;\n return {\n element: node,\n children: node.hasChildren ? _common_iterator_js__WEBPACK_IMPORTED_MODULE_10__.Iterable.map(node.children, child => this.asTreeElement(child, viewStateContext)) : [],\n collapsible: node.hasChildren,\n collapsed\n };\n }\n processChildren(children) {\n if (this.sorter) {\n children = [...children].sort(this.sorter.compare.bind(this.sorter));\n }\n return children;\n }\n dispose() {\n this.disposables.dispose();\n }\n}\nclass CompressibleAsyncDataTreeNodeWrapper {\n get element() {\n return {\n elements: this.node.element.elements.map(e => e.element),\n incompressible: this.node.element.incompressible\n };\n }\n get children() { return this.node.children.map(node => new CompressibleAsyncDataTreeNodeWrapper(node)); }\n get depth() { return this.node.depth; }\n get visibleChildrenCount() { return this.node.visibleChildrenCount; }\n get visibleChildIndex() { return this.node.visibleChildIndex; }\n get collapsible() { return this.node.collapsible; }\n get collapsed() { return this.node.collapsed; }\n get visible() { return this.node.visible; }\n get filterData() { return this.node.filterData; }\n constructor(node) {\n this.node = node;\n }\n}\nclass CompressibleAsyncDataTreeRenderer {\n constructor(renderer, nodeMapper, compressibleNodeMapperProvider, onDidChangeTwistieState) {\n this.renderer = renderer;\n this.nodeMapper = nodeMapper;\n this.compressibleNodeMapperProvider = compressibleNodeMapperProvider;\n this.onDidChangeTwistieState = onDidChangeTwistieState;\n this.renderedNodes = new Map();\n this.disposables = [];\n this.templateId = renderer.templateId;\n }\n renderTemplate(container) {\n const templateData = this.renderer.renderTemplate(container);\n return { templateData };\n }\n renderElement(node, index, templateData, height) {\n this.renderer.renderElement(this.nodeMapper.map(node), index, templateData.templateData, height);\n }\n renderCompressedElements(node, index, templateData, height) {\n this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(node), index, templateData.templateData, height);\n }\n renderTwistie(element, twistieElement) {\n if (element.slow) {\n twistieElement.classList.add(..._common_themables_js__WEBPACK_IMPORTED_MODULE_7__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_6__.Codicon.treeItemLoading));\n return true;\n }\n else {\n twistieElement.classList.remove(..._common_themables_js__WEBPACK_IMPORTED_MODULE_7__.ThemeIcon.asClassNameArray(_common_codicons_js__WEBPACK_IMPORTED_MODULE_6__.Codicon.treeItemLoading));\n return false;\n }\n }\n disposeElement(node, index, templateData, height) {\n var _a, _b;\n (_b = (_a = this.renderer).disposeElement) === null || _b === void 0 ? void 0 : _b.call(_a, this.nodeMapper.map(node), index, templateData.templateData, height);\n }\n disposeCompressedElements(node, index, templateData, height) {\n var _a, _b;\n (_b = (_a = this.renderer).disposeCompressedElements) === null || _b === void 0 ? void 0 : _b.call(_a, this.compressibleNodeMapperProvider().map(node), index, templateData.templateData, height);\n }\n disposeTemplate(templateData) {\n this.renderer.disposeTemplate(templateData.templateData);\n }\n dispose() {\n this.renderedNodes.clear();\n this.disposables = (0,_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_11__.dispose)(this.disposables);\n }\n}\nfunction asCompressibleObjectTreeOptions(options) {\n const objectTreeOptions = options && asObjectTreeOptions(options);\n return objectTreeOptions && Object.assign(Object.assign({}, objectTreeOptions), { keyboardNavigationLabelProvider: objectTreeOptions.keyboardNavigationLabelProvider && Object.assign(Object.assign({}, objectTreeOptions.keyboardNavigationLabelProvider), { getCompressedNodeKeyboardNavigationLabel(els) {\n return options.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(els.map(e => e.element));\n } }) });\n}\nclass CompressibleAsyncDataTree extends AsyncDataTree {\n constructor(user, container, virtualDelegate, compressionDelegate, renderers, dataSource, options = {}) {\n super(user, container, virtualDelegate, renderers, dataSource, options);\n this.compressionDelegate = compressionDelegate;\n this.compressibleNodeMapper = new _tree_js__WEBPACK_IMPORTED_MODULE_4__.WeakMapper(node => new CompressibleAsyncDataTreeNodeWrapper(node));\n this.filter = options.filter;\n }\n createTree(user, container, delegate, renderers, options) {\n const objectTreeDelegate = new _abstractTree_js__WEBPACK_IMPORTED_MODULE_1__.ComposedTreeDelegate(delegate);\n const objectTreeRenderers = renderers.map(r => new CompressibleAsyncDataTreeRenderer(r, this.nodeMapper, () => this.compressibleNodeMapper, this._onDidChangeNodeSlowState.event));\n const objectTreeOptions = asCompressibleObjectTreeOptions(options) || {};\n return new _objectTree_js__WEBPACK_IMPORTED_MODULE_3__.CompressibleObjectTree(user, container, objectTreeDelegate, objectTreeRenderers, objectTreeOptions);\n }\n asTreeElement(node, viewStateContext) {\n return Object.assign({ incompressible: this.compressionDelegate.isIncompressible(node.element) }, super.asTreeElement(node, viewStateContext));\n }\n updateOptions(options = {}) {\n this.tree.updateOptions(options);\n }\n render(node, viewStateContext) {\n if (!this.identityProvider) {\n return super.render(node, viewStateContext);\n }\n // Preserve traits across compressions. Hacky but does the trick.\n // This is hard to fix properly since it requires rewriting the traits\n // across trees and lists. Let's just keep it this way for now.\n const getId = (element) => this.identityProvider.getId(element).toString();\n const getUncompressedIds = (nodes) => {\n const result = new Set();\n for (const node of nodes) {\n const compressedNode = this.tree.getCompressedTreeNode(node === this.root ? null : node);\n if (!compressedNode.element) {\n continue;\n }\n for (const node of compressedNode.element.elements) {\n result.add(getId(node.element));\n }\n }\n return result;\n };\n const oldSelection = getUncompressedIds(this.tree.getSelection());\n const oldFocus = getUncompressedIds(this.tree.getFocus());\n super.render(node, viewStateContext);\n const selection = this.getSelection();\n let didChangeSelection = false;\n const focus = this.getFocus();\n let didChangeFocus = false;\n const visit = (node) => {\n const compressedNode = node.element;\n if (compressedNode) {\n for (let i = 0; i < compressedNode.elements.length; i++) {\n const id = getId(compressedNode.elements[i].element);\n const element = compressedNode.elements[compressedNode.elements.length - 1].element;\n // github.com/microsoft/vscode/issues/85938\n if (oldSelection.has(id) && selection.indexOf(element) === -1) {\n selection.push(element);\n didChangeSelection = true;\n }\n if (oldFocus.has(id) && focus.indexOf(element) === -1) {\n focus.push(element);\n didChangeFocus = true;\n }\n }\n }\n node.children.forEach(visit);\n };\n visit(this.tree.getCompressedTreeNode(node === this.root ? null : node));\n if (didChangeSelection) {\n this.setSelection(selection);\n }\n if (didChangeFocus) {\n this.setFocus(focus);\n }\n }\n // For compressed async data trees, `TreeVisibility.Recurse` doesn't currently work\n // and we have to filter everything beforehand\n // Related to #85193 and #85835\n processChildren(children) {\n if (this.filter) {\n children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_10__.Iterable.filter(children, e => {\n const result = this.filter.filter(e, 1 /* TreeVisibility.Visible */);\n const visibility = getVisibility(result);\n if (visibility === 2 /* TreeVisibility.Recurse */) {\n throw new Error('Recursive tree visibility not supported in async data compressed trees');\n }\n return visibility === 1 /* TreeVisibility.Visible */;\n });\n }\n return super.processChildren(children);\n }\n}\nfunction getVisibility(filterResult) {\n if (typeof filterResult === 'boolean') {\n return filterResult ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */;\n }\n else if ((0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_2__.isFilterResult)(filterResult)) {\n return (0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_2__.getVisibleState)(filterResult.visibility);\n }\n else {\n return (0,_indexTreeModel_js__WEBPACK_IMPORTED_MODULE_2__.getVisibleState)(filterResult);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.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 */ CompressedObjectTreeModel: () => (/* binding */ CompressedObjectTreeModel),\n/* harmony export */ CompressibleObjectTreeModel: () => (/* binding */ CompressibleObjectTreeModel),\n/* harmony export */ DefaultElementMapper: () => (/* binding */ DefaultElementMapper),\n/* harmony export */ compress: () => (/* binding */ compress),\n/* harmony export */ decompress: () => (/* binding */ decompress)\n/* harmony export */ });\n/* harmony import */ var _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.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\nfunction noCompress(element) {\n const elements = [element.element];\n const incompressible = element.incompressible || false;\n return {\n element: { elements, incompressible },\n children: _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.from(element.children), noCompress),\n collapsible: element.collapsible,\n collapsed: element.collapsed\n };\n}\n// Exported only for test reasons, do not use directly\nfunction compress(element) {\n const elements = [element.element];\n const incompressible = element.incompressible || false;\n let childrenIterator;\n let children;\n while (true) {\n [children, childrenIterator] = _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.consume(_common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.from(element.children), 2);\n if (children.length !== 1) {\n break;\n }\n if (children[0].incompressible) {\n break;\n }\n element = children[0];\n elements.push(element.element);\n }\n return {\n element: { elements, incompressible },\n children: _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.concat(children, childrenIterator), compress),\n collapsible: element.collapsible,\n collapsed: element.collapsed\n };\n}\nfunction _decompress(element, index = 0) {\n let children;\n if (index < element.element.elements.length - 1) {\n children = [_decompress(element, index + 1)];\n }\n else {\n children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.from(element.children), el => _decompress(el, 0));\n }\n if (index === 0 && element.element.incompressible) {\n return {\n element: element.element.elements[index],\n children,\n incompressible: true,\n collapsible: element.collapsible,\n collapsed: element.collapsed\n };\n }\n return {\n element: element.element.elements[index],\n children,\n collapsible: element.collapsible,\n collapsed: element.collapsed\n };\n}\n// Exported only for test reasons, do not use directly\nfunction decompress(element) {\n return _decompress(element, 0);\n}\nfunction splice(treeElement, element, children) {\n if (treeElement.element === element) {\n return Object.assign(Object.assign({}, treeElement), { children });\n }\n return Object.assign(Object.assign({}, treeElement), { children: _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.map(_common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.from(treeElement.children), e => splice(e, element, children)) });\n}\nconst wrapIdentityProvider = (base) => ({\n getId(node) {\n return node.elements.map(e => base.getId(e).toString()).join('\\0');\n }\n});\n// Exported only for test reasons, do not use directly\nclass CompressedObjectTreeModel {\n get onDidSplice() { return this.model.onDidSplice; }\n get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; }\n get onDidChangeRenderNodeCount() { return this.model.onDidChangeRenderNodeCount; }\n constructor(user, list, options = {}) {\n this.user = user;\n this.rootRef = null;\n this.nodes = new Map();\n this.model = new _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_0__.ObjectTreeModel(user, list, options);\n this.enabled = typeof options.compressionEnabled === 'undefined' ? true : options.compressionEnabled;\n this.identityProvider = options.identityProvider;\n }\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.empty(), options) {\n // Diffs must be deem, since the compression can affect nested elements.\n // @see https://github.com/microsoft/vscode/pull/114237#issuecomment-759425034\n const diffIdentityProvider = options.diffIdentityProvider && wrapIdentityProvider(options.diffIdentityProvider);\n if (element === null) {\n const compressedChildren = _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.map(children, this.enabled ? compress : noCompress);\n this._setChildren(null, compressedChildren, { diffIdentityProvider, diffDepth: Infinity });\n return;\n }\n const compressedNode = this.nodes.get(element);\n if (!compressedNode) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, 'Unknown compressed tree node');\n }\n const node = this.model.getNode(compressedNode);\n const compressedParentNode = this.model.getParentNodeLocation(compressedNode);\n const parent = this.model.getNode(compressedParentNode);\n const decompressedElement = decompress(node);\n const splicedElement = splice(decompressedElement, element, children);\n const recompressedElement = (this.enabled ? compress : noCompress)(splicedElement);\n const parentChildren = parent.children\n .map(child => child === node ? recompressedElement : child);\n this._setChildren(parent.element, parentChildren, {\n diffIdentityProvider,\n diffDepth: node.depth - parent.depth,\n });\n }\n setCompressionEnabled(enabled) {\n if (enabled === this.enabled) {\n return;\n }\n this.enabled = enabled;\n const root = this.model.getNode();\n const rootChildren = root.children;\n const decompressedRootChildren = _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.map(rootChildren, decompress);\n const recompressedRootChildren = _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.map(decompressedRootChildren, enabled ? compress : noCompress);\n // it should be safe to always use deep diff mode here if an identity\n // provider is available, since we know the raw nodes are unchanged.\n this._setChildren(null, recompressedRootChildren, {\n diffIdentityProvider: this.identityProvider,\n diffDepth: Infinity,\n });\n }\n _setChildren(node, children, options) {\n const insertedElements = new Set();\n const onDidCreateNode = (node) => {\n for (const element of node.element.elements) {\n insertedElements.add(element);\n this.nodes.set(element, node.element);\n }\n };\n const onDidDeleteNode = (node) => {\n for (const element of node.element.elements) {\n if (!insertedElements.has(element)) {\n this.nodes.delete(element);\n }\n }\n };\n this.model.setChildren(node, children, Object.assign(Object.assign({}, options), { onDidCreateNode, onDidDeleteNode }));\n }\n has(element) {\n return this.nodes.has(element);\n }\n getListIndex(location) {\n const node = this.getCompressedNode(location);\n return this.model.getListIndex(node);\n }\n getListRenderCount(location) {\n const node = this.getCompressedNode(location);\n return this.model.getListRenderCount(node);\n }\n getNode(location) {\n if (typeof location === 'undefined') {\n return this.model.getNode();\n }\n const node = this.getCompressedNode(location);\n return this.model.getNode(node);\n }\n // TODO: review this\n getNodeLocation(node) {\n const compressedNode = this.model.getNodeLocation(node);\n if (compressedNode === null) {\n return null;\n }\n return compressedNode.elements[compressedNode.elements.length - 1];\n }\n // TODO: review this\n getParentNodeLocation(location) {\n const compressedNode = this.getCompressedNode(location);\n const parentNode = this.model.getParentNodeLocation(compressedNode);\n if (parentNode === null) {\n return null;\n }\n return parentNode.elements[parentNode.elements.length - 1];\n }\n getFirstElementChild(location) {\n const compressedNode = this.getCompressedNode(location);\n return this.model.getFirstElementChild(compressedNode);\n }\n isCollapsible(location) {\n const compressedNode = this.getCompressedNode(location);\n return this.model.isCollapsible(compressedNode);\n }\n setCollapsible(location, collapsible) {\n const compressedNode = this.getCompressedNode(location);\n return this.model.setCollapsible(compressedNode, collapsible);\n }\n isCollapsed(location) {\n const compressedNode = this.getCompressedNode(location);\n return this.model.isCollapsed(compressedNode);\n }\n setCollapsed(location, collapsed, recursive) {\n const compressedNode = this.getCompressedNode(location);\n return this.model.setCollapsed(compressedNode, collapsed, recursive);\n }\n expandTo(location) {\n const compressedNode = this.getCompressedNode(location);\n this.model.expandTo(compressedNode);\n }\n rerender(location) {\n const compressedNode = this.getCompressedNode(location);\n this.model.rerender(compressedNode);\n }\n refilter() {\n this.model.refilter();\n }\n getCompressedNode(element) {\n if (element === null) {\n return null;\n }\n const node = this.nodes.get(element);\n if (!node) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, `Tree element not found: ${element}`);\n }\n return node;\n }\n}\nconst DefaultElementMapper = elements => elements[elements.length - 1];\nclass CompressedTreeNodeWrapper {\n get element() { return this.node.element === null ? null : this.unwrapper(this.node.element); }\n get children() { return this.node.children.map(node => new CompressedTreeNodeWrapper(this.unwrapper, node)); }\n get depth() { return this.node.depth; }\n get visibleChildrenCount() { return this.node.visibleChildrenCount; }\n get visibleChildIndex() { return this.node.visibleChildIndex; }\n get collapsible() { return this.node.collapsible; }\n get collapsed() { return this.node.collapsed; }\n get visible() { return this.node.visible; }\n get filterData() { return this.node.filterData; }\n constructor(unwrapper, node) {\n this.unwrapper = unwrapper;\n this.node = node;\n }\n}\nfunction mapList(nodeMapper, list) {\n return {\n splice(start, deleteCount, toInsert) {\n list.splice(start, deleteCount, toInsert.map(node => nodeMapper.map(node)));\n },\n updateElementHeight(index, height) {\n list.updateElementHeight(index, height);\n }\n };\n}\nfunction mapOptions(compressedNodeUnwrapper, options) {\n return Object.assign(Object.assign({}, options), { identityProvider: options.identityProvider && {\n getId(node) {\n return options.identityProvider.getId(compressedNodeUnwrapper(node));\n }\n }, sorter: options.sorter && {\n compare(node, otherNode) {\n return options.sorter.compare(node.elements[0], otherNode.elements[0]);\n }\n }, filter: options.filter && {\n filter(node, parentVisibility) {\n return options.filter.filter(compressedNodeUnwrapper(node), parentVisibility);\n }\n } });\n}\nclass CompressibleObjectTreeModel {\n get onDidSplice() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(this.model.onDidSplice, ({ insertedNodes, deletedNodes }) => ({\n insertedNodes: insertedNodes.map(node => this.nodeMapper.map(node)),\n deletedNodes: deletedNodes.map(node => this.nodeMapper.map(node)),\n }));\n }\n get onDidChangeCollapseState() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(this.model.onDidChangeCollapseState, ({ node, deep }) => ({\n node: this.nodeMapper.map(node),\n deep\n }));\n }\n get onDidChangeRenderNodeCount() {\n return _common_event_js__WEBPACK_IMPORTED_MODULE_2__.Event.map(this.model.onDidChangeRenderNodeCount, node => this.nodeMapper.map(node));\n }\n constructor(user, list, options = {}) {\n this.rootRef = null;\n this.elementMapper = options.elementMapper || DefaultElementMapper;\n const compressedNodeUnwrapper = node => this.elementMapper(node.elements);\n this.nodeMapper = new _tree_js__WEBPACK_IMPORTED_MODULE_1__.WeakMapper(node => new CompressedTreeNodeWrapper(compressedNodeUnwrapper, node));\n this.model = new CompressedObjectTreeModel(user, mapList(this.nodeMapper, list), mapOptions(compressedNodeUnwrapper, options));\n }\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_3__.Iterable.empty(), options = {}) {\n this.model.setChildren(element, children, options);\n }\n setCompressionEnabled(enabled) {\n this.model.setCompressionEnabled(enabled);\n }\n has(location) {\n return this.model.has(location);\n }\n getListIndex(location) {\n return this.model.getListIndex(location);\n }\n getListRenderCount(location) {\n return this.model.getListRenderCount(location);\n }\n getNode(location) {\n return this.nodeMapper.map(this.model.getNode(location));\n }\n getNodeLocation(node) {\n return node.element;\n }\n getParentNodeLocation(location) {\n return this.model.getParentNodeLocation(location);\n }\n getFirstElementChild(location) {\n const result = this.model.getFirstElementChild(location);\n if (result === null || typeof result === 'undefined') {\n return result;\n }\n return this.elementMapper(result.elements);\n }\n isCollapsible(location) {\n return this.model.isCollapsible(location);\n }\n setCollapsible(location, collapsed) {\n return this.model.setCollapsible(location, collapsed);\n }\n isCollapsed(location) {\n return this.model.isCollapsed(location);\n }\n setCollapsed(location, collapsed, recursive) {\n return this.model.setCollapsed(location, collapsed, recursive);\n }\n expandTo(location) {\n return this.model.expandTo(location);\n }\n rerender(location) {\n return this.model.rerender(location);\n }\n refilter() {\n return this.model.refilter();\n }\n getCompressedTreeNode(location = null) {\n return this.model.getNode(location);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.js": +/*!****************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.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 */ DataTree: () => (/* binding */ DataTree)\n/* harmony export */ });\n/* harmony import */ var _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abstractTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js\");\n/* harmony import */ var _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./objectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.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\nclass DataTree extends _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__.AbstractTree {\n constructor(user, container, delegate, renderers, dataSource, options = {}) {\n super(user, container, delegate, renderers, options);\n this.user = user;\n this.dataSource = dataSource;\n this.identityProvider = options.identityProvider;\n }\n createModel(user, view, options) {\n return new _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeModel(user, view, options);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.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 */ IndexTreeModel: () => (/* binding */ IndexTreeModel),\n/* harmony export */ getVisibleState: () => (/* binding */ getVisibleState),\n/* harmony export */ isFilterResult: () => (/* binding */ isFilterResult)\n/* harmony export */ });\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_arrays_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_symbols_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/symbols.js */ \"./node_modules/monaco-editor/esm/vs/base/common/symbols.js\");\n/* harmony import */ var _common_diff_diff_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/diff/diff.js */ \"./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.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\nfunction isFilterResult(obj) {\n return typeof obj === 'object' && 'visibility' in obj && 'data' in obj;\n}\nfunction getVisibleState(visibility) {\n switch (visibility) {\n case true: return 1 /* TreeVisibility.Visible */;\n case false: return 0 /* TreeVisibility.Hidden */;\n default: return visibility;\n }\n}\nfunction isCollapsibleStateUpdate(update) {\n return typeof update.collapsible === 'boolean';\n}\nclass IndexTreeModel {\n constructor(user, list, rootElement, options = {}) {\n this.user = user;\n this.list = list;\n this.rootRef = [];\n this.eventBufferer = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.EventBufferer();\n this._onDidChangeCollapseState = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\n this.onDidChangeCollapseState = this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event);\n this._onDidChangeRenderNodeCount = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\n this.onDidChangeRenderNodeCount = this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event);\n this._onDidSplice = new _common_event_js__WEBPACK_IMPORTED_MODULE_5__.Emitter();\n this.onDidSplice = this._onDidSplice.event;\n this.refilterDelayer = new _common_async_js__WEBPACK_IMPORTED_MODULE_2__.Delayer(_common_symbols_js__WEBPACK_IMPORTED_MODULE_3__.MicrotaskDelay);\n this.collapseByDefault = typeof options.collapseByDefault === 'undefined' ? false : options.collapseByDefault;\n this.filter = options.filter;\n this.autoExpandSingleChildren = typeof options.autoExpandSingleChildren === 'undefined' ? false : options.autoExpandSingleChildren;\n this.root = {\n parent: undefined,\n element: rootElement,\n children: [],\n depth: 0,\n visibleChildrenCount: 0,\n visibleChildIndex: -1,\n collapsible: false,\n collapsed: false,\n renderNodeCount: 0,\n visibility: 1 /* TreeVisibility.Visible */,\n visible: true,\n filterData: undefined\n };\n }\n splice(location, deleteCount, toInsert = _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.empty(), options = {}) {\n if (location.length === 0) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\n }\n if (options.diffIdentityProvider) {\n this.spliceSmart(options.diffIdentityProvider, location, deleteCount, toInsert, options);\n }\n else {\n this.spliceSimple(location, deleteCount, toInsert, options);\n }\n }\n spliceSmart(identity, location, deleteCount, toInsertIterable, options, recurseLevels) {\n var _a;\n if (toInsertIterable === void 0) { toInsertIterable = _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.empty(); }\n if (recurseLevels === void 0) { recurseLevels = (_a = options.diffDepth) !== null && _a !== void 0 ? _a : 0; }\n const { parentNode } = this.getParentNodeWithListIndex(location);\n if (!parentNode.lastDiffIds) {\n return this.spliceSimple(location, deleteCount, toInsertIterable, options);\n }\n const toInsert = [...toInsertIterable];\n const index = location[location.length - 1];\n const diff = new _common_diff_diff_js__WEBPACK_IMPORTED_MODULE_4__.LcsDiff({ getElements: () => parentNode.lastDiffIds }, {\n getElements: () => [\n ...parentNode.children.slice(0, index),\n ...toInsert,\n ...parentNode.children.slice(index + deleteCount),\n ].map(e => identity.getId(e.element).toString())\n }).ComputeDiff(false);\n // if we were given a 'best effort' diff, use default behavior\n if (diff.quitEarly) {\n parentNode.lastDiffIds = undefined;\n return this.spliceSimple(location, deleteCount, toInsert, options);\n }\n const locationPrefix = location.slice(0, -1);\n const recurseSplice = (fromOriginal, fromModified, count) => {\n if (recurseLevels > 0) {\n for (let i = 0; i < count; i++) {\n fromOriginal--;\n fromModified--;\n this.spliceSmart(identity, [...locationPrefix, fromOriginal, 0], Number.MAX_SAFE_INTEGER, toInsert[fromModified].children, options, recurseLevels - 1);\n }\n }\n };\n let lastStartO = Math.min(parentNode.children.length, index + deleteCount);\n let lastStartM = toInsert.length;\n for (const change of diff.changes.sort((a, b) => b.originalStart - a.originalStart)) {\n recurseSplice(lastStartO, lastStartM, lastStartO - (change.originalStart + change.originalLength));\n lastStartO = change.originalStart;\n lastStartM = change.modifiedStart - index;\n this.spliceSimple([...locationPrefix, lastStartO], change.originalLength, _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.slice(toInsert, lastStartM, lastStartM + change.modifiedLength), options);\n }\n // at this point, startO === startM === count since any remaining prefix should match\n recurseSplice(lastStartO, lastStartM, lastStartO);\n }\n spliceSimple(location, deleteCount, toInsert = _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.empty(), { onDidCreateNode, onDidDeleteNode, diffIdentityProvider }) {\n const { parentNode, listIndex, revealed, visible } = this.getParentNodeWithListIndex(location);\n const treeListElementsToInsert = [];\n const nodesToInsertIterator = _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.map(toInsert, el => this.createTreeNode(el, parentNode, parentNode.visible ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */, revealed, treeListElementsToInsert, onDidCreateNode));\n const lastIndex = location[location.length - 1];\n const lastHadChildren = parentNode.children.length > 0;\n // figure out what's the visible child start index right before the\n // splice point\n let visibleChildStartIndex = 0;\n for (let i = lastIndex; i >= 0 && i < parentNode.children.length; i--) {\n const child = parentNode.children[i];\n if (child.visible) {\n visibleChildStartIndex = child.visibleChildIndex;\n break;\n }\n }\n const nodesToInsert = [];\n let insertedVisibleChildrenCount = 0;\n let renderNodeCount = 0;\n for (const child of nodesToInsertIterator) {\n nodesToInsert.push(child);\n renderNodeCount += child.renderNodeCount;\n if (child.visible) {\n child.visibleChildIndex = visibleChildStartIndex + insertedVisibleChildrenCount++;\n }\n }\n const deletedNodes = (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.splice)(parentNode.children, lastIndex, deleteCount, nodesToInsert);\n if (!diffIdentityProvider) {\n parentNode.lastDiffIds = undefined;\n }\n else if (parentNode.lastDiffIds) {\n (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.splice)(parentNode.lastDiffIds, lastIndex, deleteCount, nodesToInsert.map(n => diffIdentityProvider.getId(n.element).toString()));\n }\n else {\n parentNode.lastDiffIds = parentNode.children.map(n => diffIdentityProvider.getId(n.element).toString());\n }\n // figure out what is the count of deleted visible children\n let deletedVisibleChildrenCount = 0;\n for (const child of deletedNodes) {\n if (child.visible) {\n deletedVisibleChildrenCount++;\n }\n }\n // and adjust for all visible children after the splice point\n if (deletedVisibleChildrenCount !== 0) {\n for (let i = lastIndex + nodesToInsert.length; i < parentNode.children.length; i++) {\n const child = parentNode.children[i];\n if (child.visible) {\n child.visibleChildIndex -= deletedVisibleChildrenCount;\n }\n }\n }\n // update parent's visible children count\n parentNode.visibleChildrenCount += insertedVisibleChildrenCount - deletedVisibleChildrenCount;\n if (revealed && visible) {\n const visibleDeleteCount = deletedNodes.reduce((r, node) => r + (node.visible ? node.renderNodeCount : 0), 0);\n this._updateAncestorsRenderNodeCount(parentNode, renderNodeCount - visibleDeleteCount);\n this.list.splice(listIndex, visibleDeleteCount, treeListElementsToInsert);\n }\n if (deletedNodes.length > 0 && onDidDeleteNode) {\n const visit = (node) => {\n onDidDeleteNode(node);\n node.children.forEach(visit);\n };\n deletedNodes.forEach(visit);\n }\n this._onDidSplice.fire({ insertedNodes: nodesToInsert, deletedNodes });\n const currentlyHasChildren = parentNode.children.length > 0;\n if (lastHadChildren !== currentlyHasChildren) {\n this.setCollapsible(location.slice(0, -1), currentlyHasChildren);\n }\n let node = parentNode;\n while (node) {\n if (node.visibility === 2 /* TreeVisibility.Recurse */) {\n // delayed to avoid excessive refiltering, see #135941\n this.refilterDelayer.trigger(() => this.refilter());\n break;\n }\n node = node.parent;\n }\n }\n rerender(location) {\n if (location.length === 0) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\n }\n const { node, listIndex, revealed } = this.getTreeNodeWithListIndex(location);\n if (node.visible && revealed) {\n this.list.splice(listIndex, 1, [node]);\n }\n }\n has(location) {\n return this.hasTreeNode(location);\n }\n getListIndex(location) {\n const { listIndex, visible, revealed } = this.getTreeNodeWithListIndex(location);\n return visible && revealed ? listIndex : -1;\n }\n getListRenderCount(location) {\n return this.getTreeNode(location).renderNodeCount;\n }\n isCollapsible(location) {\n return this.getTreeNode(location).collapsible;\n }\n setCollapsible(location, collapsible) {\n const node = this.getTreeNode(location);\n if (typeof collapsible === 'undefined') {\n collapsible = !node.collapsible;\n }\n const update = { collapsible };\n return this.eventBufferer.bufferEvents(() => this._setCollapseState(location, update));\n }\n isCollapsed(location) {\n return this.getTreeNode(location).collapsed;\n }\n setCollapsed(location, collapsed, recursive) {\n const node = this.getTreeNode(location);\n if (typeof collapsed === 'undefined') {\n collapsed = !node.collapsed;\n }\n const update = { collapsed, recursive: recursive || false };\n return this.eventBufferer.bufferEvents(() => this._setCollapseState(location, update));\n }\n _setCollapseState(location, update) {\n const { node, listIndex, revealed } = this.getTreeNodeWithListIndex(location);\n const result = this._setListNodeCollapseState(node, listIndex, revealed, update);\n if (node !== this.root && this.autoExpandSingleChildren && result && !isCollapsibleStateUpdate(update) && node.collapsible && !node.collapsed && !update.recursive) {\n let onlyVisibleChildIndex = -1;\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (child.visible) {\n if (onlyVisibleChildIndex > -1) {\n onlyVisibleChildIndex = -1;\n break;\n }\n else {\n onlyVisibleChildIndex = i;\n }\n }\n }\n if (onlyVisibleChildIndex > -1) {\n this._setCollapseState([...location, onlyVisibleChildIndex], update);\n }\n }\n return result;\n }\n _setListNodeCollapseState(node, listIndex, revealed, update) {\n const result = this._setNodeCollapseState(node, update, false);\n if (!revealed || !node.visible || !result) {\n return result;\n }\n const previousRenderNodeCount = node.renderNodeCount;\n const toInsert = this.updateNodeAfterCollapseChange(node);\n const deleteCount = previousRenderNodeCount - (listIndex === -1 ? 0 : 1);\n this.list.splice(listIndex + 1, deleteCount, toInsert.slice(1));\n return result;\n }\n _setNodeCollapseState(node, update, deep) {\n let result;\n if (node === this.root) {\n result = false;\n }\n else {\n if (isCollapsibleStateUpdate(update)) {\n result = node.collapsible !== update.collapsible;\n node.collapsible = update.collapsible;\n }\n else if (!node.collapsible) {\n result = false;\n }\n else {\n result = node.collapsed !== update.collapsed;\n node.collapsed = update.collapsed;\n }\n if (result) {\n this._onDidChangeCollapseState.fire({ node, deep });\n }\n }\n if (!isCollapsibleStateUpdate(update) && update.recursive) {\n for (const child of node.children) {\n result = this._setNodeCollapseState(child, update, true) || result;\n }\n }\n return result;\n }\n expandTo(location) {\n this.eventBufferer.bufferEvents(() => {\n let node = this.getTreeNode(location);\n while (node.parent) {\n node = node.parent;\n location = location.slice(0, location.length - 1);\n if (node.collapsed) {\n this._setCollapseState(location, { collapsed: false, recursive: false });\n }\n }\n });\n }\n refilter() {\n const previousRenderNodeCount = this.root.renderNodeCount;\n const toInsert = this.updateNodeAfterFilterChange(this.root);\n this.list.splice(0, previousRenderNodeCount, toInsert);\n this.refilterDelayer.cancel();\n }\n createTreeNode(treeElement, parent, parentVisibility, revealed, treeListElements, onDidCreateNode) {\n const node = {\n parent,\n element: treeElement.element,\n children: [],\n depth: parent.depth + 1,\n visibleChildrenCount: 0,\n visibleChildIndex: -1,\n collapsible: typeof treeElement.collapsible === 'boolean' ? treeElement.collapsible : (typeof treeElement.collapsed !== 'undefined'),\n collapsed: typeof treeElement.collapsed === 'undefined' ? this.collapseByDefault : treeElement.collapsed,\n renderNodeCount: 1,\n visibility: 1 /* TreeVisibility.Visible */,\n visible: true,\n filterData: undefined\n };\n const visibility = this._filterNode(node, parentVisibility);\n node.visibility = visibility;\n if (revealed) {\n treeListElements.push(node);\n }\n const childElements = treeElement.children || _common_iterator_js__WEBPACK_IMPORTED_MODULE_6__.Iterable.empty();\n const childRevealed = revealed && visibility !== 0 /* TreeVisibility.Hidden */ && !node.collapsed;\n let visibleChildrenCount = 0;\n let renderNodeCount = 1;\n for (const el of childElements) {\n const child = this.createTreeNode(el, node, visibility, childRevealed, treeListElements, onDidCreateNode);\n node.children.push(child);\n renderNodeCount += child.renderNodeCount;\n if (child.visible) {\n child.visibleChildIndex = visibleChildrenCount++;\n }\n }\n node.collapsible = node.collapsible || node.children.length > 0;\n node.visibleChildrenCount = visibleChildrenCount;\n node.visible = visibility === 2 /* TreeVisibility.Recurse */ ? visibleChildrenCount > 0 : (visibility === 1 /* TreeVisibility.Visible */);\n if (!node.visible) {\n node.renderNodeCount = 0;\n if (revealed) {\n treeListElements.pop();\n }\n }\n else if (!node.collapsed) {\n node.renderNodeCount = renderNodeCount;\n }\n onDidCreateNode === null || onDidCreateNode === void 0 ? void 0 : onDidCreateNode(node);\n return node;\n }\n updateNodeAfterCollapseChange(node) {\n const previousRenderNodeCount = node.renderNodeCount;\n const result = [];\n this._updateNodeAfterCollapseChange(node, result);\n this._updateAncestorsRenderNodeCount(node.parent, result.length - previousRenderNodeCount);\n return result;\n }\n _updateNodeAfterCollapseChange(node, result) {\n if (node.visible === false) {\n return 0;\n }\n result.push(node);\n node.renderNodeCount = 1;\n if (!node.collapsed) {\n for (const child of node.children) {\n node.renderNodeCount += this._updateNodeAfterCollapseChange(child, result);\n }\n }\n this._onDidChangeRenderNodeCount.fire(node);\n return node.renderNodeCount;\n }\n updateNodeAfterFilterChange(node) {\n const previousRenderNodeCount = node.renderNodeCount;\n const result = [];\n this._updateNodeAfterFilterChange(node, node.visible ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */, result);\n this._updateAncestorsRenderNodeCount(node.parent, result.length - previousRenderNodeCount);\n return result;\n }\n _updateNodeAfterFilterChange(node, parentVisibility, result, revealed = true) {\n let visibility;\n if (node !== this.root) {\n visibility = this._filterNode(node, parentVisibility);\n if (visibility === 0 /* TreeVisibility.Hidden */) {\n node.visible = false;\n node.renderNodeCount = 0;\n return false;\n }\n if (revealed) {\n result.push(node);\n }\n }\n const resultStartLength = result.length;\n node.renderNodeCount = node === this.root ? 0 : 1;\n let hasVisibleDescendants = false;\n if (!node.collapsed || visibility !== 0 /* TreeVisibility.Hidden */) {\n let visibleChildIndex = 0;\n for (const child of node.children) {\n hasVisibleDescendants = this._updateNodeAfterFilterChange(child, visibility, result, revealed && !node.collapsed) || hasVisibleDescendants;\n if (child.visible) {\n child.visibleChildIndex = visibleChildIndex++;\n }\n }\n node.visibleChildrenCount = visibleChildIndex;\n }\n else {\n node.visibleChildrenCount = 0;\n }\n if (node !== this.root) {\n node.visible = visibility === 2 /* TreeVisibility.Recurse */ ? hasVisibleDescendants : (visibility === 1 /* TreeVisibility.Visible */);\n node.visibility = visibility;\n }\n if (!node.visible) {\n node.renderNodeCount = 0;\n if (revealed) {\n result.pop();\n }\n }\n else if (!node.collapsed) {\n node.renderNodeCount += result.length - resultStartLength;\n }\n this._onDidChangeRenderNodeCount.fire(node);\n return node.visible;\n }\n _updateAncestorsRenderNodeCount(node, diff) {\n if (diff === 0) {\n return;\n }\n while (node) {\n node.renderNodeCount += diff;\n this._onDidChangeRenderNodeCount.fire(node);\n node = node.parent;\n }\n }\n _filterNode(node, parentVisibility) {\n const result = this.filter ? this.filter.filter(node.element, parentVisibility) : 1 /* TreeVisibility.Visible */;\n if (typeof result === 'boolean') {\n node.filterData = undefined;\n return result ? 1 /* TreeVisibility.Visible */ : 0 /* TreeVisibility.Hidden */;\n }\n else if (isFilterResult(result)) {\n node.filterData = result.data;\n return getVisibleState(result.visibility);\n }\n else {\n node.filterData = undefined;\n return getVisibleState(result);\n }\n }\n // cheap\n hasTreeNode(location, node = this.root) {\n if (!location || location.length === 0) {\n return true;\n }\n const [index, ...rest] = location;\n if (index < 0 || index > node.children.length) {\n return false;\n }\n return this.hasTreeNode(rest, node.children[index]);\n }\n // cheap\n getTreeNode(location, node = this.root) {\n if (!location || location.length === 0) {\n return node;\n }\n const [index, ...rest] = location;\n if (index < 0 || index > node.children.length) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\n }\n return this.getTreeNode(rest, node.children[index]);\n }\n // expensive\n getTreeNodeWithListIndex(location) {\n if (location.length === 0) {\n return { node: this.root, listIndex: -1, revealed: true, visible: false };\n }\n const { parentNode, listIndex, revealed, visible } = this.getParentNodeWithListIndex(location);\n const index = location[location.length - 1];\n if (index < 0 || index > parentNode.children.length) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\n }\n const node = parentNode.children[index];\n return { node, listIndex, revealed, visible: visible && node.visible };\n }\n getParentNodeWithListIndex(location, node = this.root, listIndex = 0, revealed = true, visible = true) {\n const [index, ...rest] = location;\n if (index < 0 || index > node.children.length) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_0__.TreeError(this.user, 'Invalid tree location');\n }\n // TODO@joao perf!\n for (let i = 0; i < index; i++) {\n listIndex += node.children[i].renderNodeCount;\n }\n revealed = revealed && !node.collapsed;\n visible = visible && node.visible;\n if (rest.length === 0) {\n return { parentNode: node, listIndex, revealed, visible };\n }\n return this.getParentNodeWithListIndex(rest, node.children[index], listIndex + 1, revealed, visible);\n }\n getNode(location = []) {\n return this.getTreeNode(location);\n }\n // TODO@joao perf!\n getNodeLocation(node) {\n const location = [];\n let indexTreeNode = node; // typing woes\n while (indexTreeNode.parent) {\n location.push(indexTreeNode.parent.children.indexOf(indexTreeNode));\n indexTreeNode = indexTreeNode.parent;\n }\n return location.reverse();\n }\n getParentNodeLocation(location) {\n if (location.length === 0) {\n return undefined;\n }\n else if (location.length === 1) {\n return [];\n }\n else {\n return (0,_common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.tail2)(location)[0];\n }\n }\n getFirstElementChild(location) {\n const node = this.getTreeNode(location);\n if (node.children.length === 0) {\n return undefined;\n }\n return node.children[0].element;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js": +/*!******************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.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 */ CompressibleObjectTree: () => (/* binding */ CompressibleObjectTree),\n/* harmony export */ ObjectTree: () => (/* binding */ ObjectTree)\n/* harmony export */ });\n/* harmony import */ var _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abstractTree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js\");\n/* harmony import */ var _compressedObjectTreeModel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compressedObjectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js\");\n/* harmony import */ var _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./objectTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js\");\n/* harmony import */ var _common_decorators_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\nclass ObjectTree extends _abstractTree_js__WEBPACK_IMPORTED_MODULE_0__.AbstractTree {\n get onDidChangeCollapseState() { return this.model.onDidChangeCollapseState; }\n constructor(user, container, delegate, renderers, options = {}) {\n super(user, container, delegate, renderers, options);\n this.user = user;\n }\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty(), options) {\n this.model.setChildren(element, children, options);\n }\n rerender(element) {\n if (element === undefined) {\n this.view.rerender();\n return;\n }\n this.model.rerender(element);\n }\n hasElement(element) {\n return this.model.has(element);\n }\n createModel(user, view, options) {\n return new _objectTreeModel_js__WEBPACK_IMPORTED_MODULE_2__.ObjectTreeModel(user, view, options);\n }\n}\nclass CompressibleRenderer {\n get compressedTreeNodeProvider() {\n return this._compressedTreeNodeProvider();\n }\n constructor(_compressedTreeNodeProvider, renderer) {\n this._compressedTreeNodeProvider = _compressedTreeNodeProvider;\n this.renderer = renderer;\n this.templateId = renderer.templateId;\n if (renderer.onDidChangeTwistieState) {\n this.onDidChangeTwistieState = renderer.onDidChangeTwistieState;\n }\n }\n renderTemplate(container) {\n const data = this.renderer.renderTemplate(container);\n return { compressedTreeNode: undefined, data };\n }\n renderElement(node, index, templateData, height) {\n const compressedTreeNode = this.compressedTreeNodeProvider.getCompressedTreeNode(node.element);\n if (compressedTreeNode.element.elements.length === 1) {\n templateData.compressedTreeNode = undefined;\n this.renderer.renderElement(node, index, templateData.data, height);\n }\n else {\n templateData.compressedTreeNode = compressedTreeNode;\n this.renderer.renderCompressedElements(compressedTreeNode, index, templateData.data, height);\n }\n }\n disposeElement(node, index, templateData, height) {\n var _a, _b, _c, _d;\n if (templateData.compressedTreeNode) {\n (_b = (_a = this.renderer).disposeCompressedElements) === null || _b === void 0 ? void 0 : _b.call(_a, templateData.compressedTreeNode, index, templateData.data, height);\n }\n else {\n (_d = (_c = this.renderer).disposeElement) === null || _d === void 0 ? void 0 : _d.call(_c, node, index, templateData.data, height);\n }\n }\n disposeTemplate(templateData) {\n this.renderer.disposeTemplate(templateData.data);\n }\n renderTwistie(element, twistieElement) {\n if (this.renderer.renderTwistie) {\n return this.renderer.renderTwistie(element, twistieElement);\n }\n return false;\n }\n}\n__decorate([\n _common_decorators_js__WEBPACK_IMPORTED_MODULE_3__.memoize\n], CompressibleRenderer.prototype, \"compressedTreeNodeProvider\", null);\nfunction asObjectTreeOptions(compressedTreeNodeProvider, options) {\n return options && Object.assign(Object.assign({}, options), { keyboardNavigationLabelProvider: options.keyboardNavigationLabelProvider && {\n getKeyboardNavigationLabel(e) {\n let compressedTreeNode;\n try {\n compressedTreeNode = compressedTreeNodeProvider().getCompressedTreeNode(e);\n }\n catch (_a) {\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e);\n }\n if (compressedTreeNode.element.elements.length === 1) {\n return options.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e);\n }\n else {\n return options.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(compressedTreeNode.element.elements);\n }\n }\n } });\n}\nclass CompressibleObjectTree extends ObjectTree {\n constructor(user, container, delegate, renderers, options = {}) {\n const compressedTreeNodeProvider = () => this;\n const compressibleRenderers = renderers.map(r => new CompressibleRenderer(compressedTreeNodeProvider, r));\n super(user, container, delegate, compressibleRenderers, asObjectTreeOptions(compressedTreeNodeProvider, options));\n }\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_4__.Iterable.empty(), options) {\n this.model.setChildren(element, children, options);\n }\n createModel(user, view, options) {\n return new _compressedObjectTreeModel_js__WEBPACK_IMPORTED_MODULE_1__.CompressibleObjectTreeModel(user, view, options);\n }\n updateOptions(optionsUpdate = {}) {\n super.updateOptions(optionsUpdate);\n if (typeof optionsUpdate.compressionEnabled !== 'undefined') {\n this.model.setCompressionEnabled(optionsUpdate.compressionEnabled);\n }\n }\n getCompressedTreeNode(element = null) {\n return this.model.getCompressedTreeNode(element);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.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 */ ObjectTreeModel: () => (/* binding */ ObjectTreeModel)\n/* harmony export */ });\n/* harmony import */ var _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./indexTreeModel.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js\");\n/* harmony import */ var _tree_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tree.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js\");\n/* harmony import */ var _common_iterator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.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\nclass ObjectTreeModel {\n constructor(user, list, options = {}) {\n this.user = user;\n this.rootRef = null;\n this.nodes = new Map();\n this.nodesByIdentity = new Map();\n this.model = new _indexTreeModel_js__WEBPACK_IMPORTED_MODULE_0__.IndexTreeModel(user, list, null, options);\n this.onDidSplice = this.model.onDidSplice;\n this.onDidChangeCollapseState = this.model.onDidChangeCollapseState;\n this.onDidChangeRenderNodeCount = this.model.onDidChangeRenderNodeCount;\n if (options.sorter) {\n this.sorter = {\n compare(a, b) {\n return options.sorter.compare(a.element, b.element);\n }\n };\n }\n this.identityProvider = options.identityProvider;\n }\n setChildren(element, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_2__.Iterable.empty(), options = {}) {\n const location = this.getElementLocation(element);\n this._setChildren(location, this.preserveCollapseState(children), options);\n }\n _setChildren(location, children = _common_iterator_js__WEBPACK_IMPORTED_MODULE_2__.Iterable.empty(), options) {\n const insertedElements = new Set();\n const insertedElementIds = new Set();\n const onDidCreateNode = (node) => {\n var _a;\n if (node.element === null) {\n return;\n }\n const tnode = node;\n insertedElements.add(tnode.element);\n this.nodes.set(tnode.element, tnode);\n if (this.identityProvider) {\n const id = this.identityProvider.getId(tnode.element).toString();\n insertedElementIds.add(id);\n this.nodesByIdentity.set(id, tnode);\n }\n (_a = options.onDidCreateNode) === null || _a === void 0 ? void 0 : _a.call(options, tnode);\n };\n const onDidDeleteNode = (node) => {\n var _a;\n if (node.element === null) {\n return;\n }\n const tnode = node;\n if (!insertedElements.has(tnode.element)) {\n this.nodes.delete(tnode.element);\n }\n if (this.identityProvider) {\n const id = this.identityProvider.getId(tnode.element).toString();\n if (!insertedElementIds.has(id)) {\n this.nodesByIdentity.delete(id);\n }\n }\n (_a = options.onDidDeleteNode) === null || _a === void 0 ? void 0 : _a.call(options, tnode);\n };\n this.model.splice([...location, 0], Number.MAX_VALUE, children, Object.assign(Object.assign({}, options), { onDidCreateNode, onDidDeleteNode }));\n }\n preserveCollapseState(elements = _common_iterator_js__WEBPACK_IMPORTED_MODULE_2__.Iterable.empty()) {\n if (this.sorter) {\n elements = [...elements].sort(this.sorter.compare.bind(this.sorter));\n }\n return _common_iterator_js__WEBPACK_IMPORTED_MODULE_2__.Iterable.map(elements, treeElement => {\n let node = this.nodes.get(treeElement.element);\n if (!node && this.identityProvider) {\n const id = this.identityProvider.getId(treeElement.element).toString();\n node = this.nodesByIdentity.get(id);\n }\n if (!node) {\n let collapsed;\n if (typeof treeElement.collapsed === 'undefined') {\n collapsed = undefined;\n }\n else if (treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.Collapsed || treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.PreserveOrCollapsed) {\n collapsed = true;\n }\n else if (treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.Expanded || treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.PreserveOrExpanded) {\n collapsed = false;\n }\n else {\n collapsed = Boolean(treeElement.collapsed);\n }\n return Object.assign(Object.assign({}, treeElement), { children: this.preserveCollapseState(treeElement.children), collapsed });\n }\n const collapsible = typeof treeElement.collapsible === 'boolean' ? treeElement.collapsible : node.collapsible;\n let collapsed;\n if (typeof treeElement.collapsed === 'undefined' || treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.PreserveOrCollapsed || treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.PreserveOrExpanded) {\n collapsed = node.collapsed;\n }\n else if (treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.Collapsed) {\n collapsed = true;\n }\n else if (treeElement.collapsed === _tree_js__WEBPACK_IMPORTED_MODULE_1__.ObjectTreeElementCollapseState.Expanded) {\n collapsed = false;\n }\n else {\n collapsed = Boolean(treeElement.collapsed);\n }\n return Object.assign(Object.assign({}, treeElement), { collapsible,\n collapsed, children: this.preserveCollapseState(treeElement.children) });\n });\n }\n rerender(element) {\n const location = this.getElementLocation(element);\n this.model.rerender(location);\n }\n getFirstElementChild(ref = null) {\n const location = this.getElementLocation(ref);\n return this.model.getFirstElementChild(location);\n }\n has(element) {\n return this.nodes.has(element);\n }\n getListIndex(element) {\n const location = this.getElementLocation(element);\n return this.model.getListIndex(location);\n }\n getListRenderCount(element) {\n const location = this.getElementLocation(element);\n return this.model.getListRenderCount(location);\n }\n isCollapsible(element) {\n const location = this.getElementLocation(element);\n return this.model.isCollapsible(location);\n }\n setCollapsible(element, collapsible) {\n const location = this.getElementLocation(element);\n return this.model.setCollapsible(location, collapsible);\n }\n isCollapsed(element) {\n const location = this.getElementLocation(element);\n return this.model.isCollapsed(location);\n }\n setCollapsed(element, collapsed, recursive) {\n const location = this.getElementLocation(element);\n return this.model.setCollapsed(location, collapsed, recursive);\n }\n expandTo(element) {\n const location = this.getElementLocation(element);\n this.model.expandTo(location);\n }\n refilter() {\n this.model.refilter();\n }\n getNode(element = null) {\n if (element === null) {\n return this.model.getNode(this.model.rootRef);\n }\n const node = this.nodes.get(element);\n if (!node) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, `Tree element not found: ${element}`);\n }\n return node;\n }\n getNodeLocation(node) {\n return node.element;\n }\n getParentNodeLocation(element) {\n if (element === null) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, `Invalid getParentNodeLocation call`);\n }\n const node = this.nodes.get(element);\n if (!node) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, `Tree element not found: ${element}`);\n }\n const location = this.model.getNodeLocation(node);\n const parentLocation = this.model.getParentNodeLocation(location);\n const parent = this.model.getNode(parentLocation);\n return parent.element;\n }\n getElementLocation(element) {\n if (element === null) {\n return [];\n }\n const node = this.nodes.get(element);\n if (!node) {\n throw new _tree_js__WEBPACK_IMPORTED_MODULE_1__.TreeError(this.user, `Tree element not found: ${element}`);\n }\n return this.model.getNodeLocation(node);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js": +/*!************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.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 */ ObjectTreeElementCollapseState: () => (/* binding */ ObjectTreeElementCollapseState),\n/* harmony export */ TreeError: () => (/* binding */ TreeError),\n/* harmony export */ TreeMouseEventTarget: () => (/* binding */ TreeMouseEventTarget),\n/* harmony export */ WeakMapper: () => (/* binding */ WeakMapper)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nvar ObjectTreeElementCollapseState;\n(function (ObjectTreeElementCollapseState) {\n ObjectTreeElementCollapseState[ObjectTreeElementCollapseState[\"Expanded\"] = 0] = \"Expanded\";\n ObjectTreeElementCollapseState[ObjectTreeElementCollapseState[\"Collapsed\"] = 1] = \"Collapsed\";\n /**\n * If the element is already in the tree, preserve its current state. Else, expand it.\n */\n ObjectTreeElementCollapseState[ObjectTreeElementCollapseState[\"PreserveOrExpanded\"] = 2] = \"PreserveOrExpanded\";\n /**\n * If the element is already in the tree, preserve its current state. Else, collapse it.\n */\n ObjectTreeElementCollapseState[ObjectTreeElementCollapseState[\"PreserveOrCollapsed\"] = 3] = \"PreserveOrCollapsed\";\n})(ObjectTreeElementCollapseState || (ObjectTreeElementCollapseState = {}));\nvar TreeMouseEventTarget;\n(function (TreeMouseEventTarget) {\n TreeMouseEventTarget[TreeMouseEventTarget[\"Unknown\"] = 0] = \"Unknown\";\n TreeMouseEventTarget[TreeMouseEventTarget[\"Twistie\"] = 1] = \"Twistie\";\n TreeMouseEventTarget[TreeMouseEventTarget[\"Element\"] = 2] = \"Element\";\n TreeMouseEventTarget[TreeMouseEventTarget[\"Filter\"] = 3] = \"Filter\";\n})(TreeMouseEventTarget || (TreeMouseEventTarget = {}));\nclass TreeError extends Error {\n constructor(user, message) {\n super(`TreeError [${user}] ${message}`);\n }\n}\nclass WeakMapper {\n constructor(fn) {\n this.fn = fn;\n this._map = new WeakMap();\n }\n map(key) {\n let result = this._map.get(key);\n if (!result) {\n result = this.fn(key);\n this._map.set(key, result);\n }\n return result;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js": +/*!*********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.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 */ Widget: () => (/* binding */ Widget)\n/* harmony export */ });\n/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../keyboardEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js\");\n/* harmony import */ var _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _touch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__ = __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\n\nclass Widget extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__.Disposable {\n onclick(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.CLICK, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(e))));\n }\n onmousedown(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_DOWN, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(e))));\n }\n onmouseover(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_OVER, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(e))));\n }\n onmouseleave(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_LEAVE, (e) => listener(new _mouseEvent_js__WEBPACK_IMPORTED_MODULE_2__.StandardMouseEvent(e))));\n }\n onkeydown(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_DOWN, (e) => listener(new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e))));\n }\n onkeyup(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.KEY_UP, (e) => listener(new _keyboardEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardKeyboardEvent(e))));\n }\n oninput(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.INPUT, listener));\n }\n onblur(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.BLUR, listener));\n }\n onfocus(domNode, listener) {\n this._register(_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(domNode, _dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.FOCUS, listener));\n }\n ignoreGesture(domNode) {\n return _touch_js__WEBPACK_IMPORTED_MODULE_3__.Gesture.ignoreTarget(domNode);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/actions.js": +/*!******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/actions.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 */ Action: () => (/* binding */ Action),\n/* harmony export */ ActionRunner: () => (/* binding */ ActionRunner),\n/* harmony export */ EmptySubmenuAction: () => (/* binding */ EmptySubmenuAction),\n/* harmony export */ Separator: () => (/* binding */ Separator),\n/* harmony export */ SubmenuAction: () => (/* binding */ SubmenuAction),\n/* harmony export */ toAction: () => (/* binding */ toAction)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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 *--------------------------------------------------------------------------------------------*/\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\nclass Action extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\n constructor(id, label = '', cssClass = '', enabled = true, actionCallback) {\n super();\n this._onDidChange = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\n this.onDidChange = this._onDidChange.event;\n this._enabled = true;\n this._id = id;\n this._label = label;\n this._cssClass = cssClass;\n this._enabled = enabled;\n this._actionCallback = actionCallback;\n }\n get id() {\n return this._id;\n }\n get label() {\n return this._label;\n }\n set label(value) {\n this._setLabel(value);\n }\n _setLabel(value) {\n if (this._label !== value) {\n this._label = value;\n this._onDidChange.fire({ label: value });\n }\n }\n get tooltip() {\n return this._tooltip || '';\n }\n set tooltip(value) {\n this._setTooltip(value);\n }\n _setTooltip(value) {\n if (this._tooltip !== value) {\n this._tooltip = value;\n this._onDidChange.fire({ tooltip: value });\n }\n }\n get class() {\n return this._cssClass;\n }\n set class(value) {\n this._setClass(value);\n }\n _setClass(value) {\n if (this._cssClass !== value) {\n this._cssClass = value;\n this._onDidChange.fire({ class: value });\n }\n }\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._setEnabled(value);\n }\n _setEnabled(value) {\n if (this._enabled !== value) {\n this._enabled = value;\n this._onDidChange.fire({ enabled: value });\n }\n }\n get checked() {\n return this._checked;\n }\n set checked(value) {\n this._setChecked(value);\n }\n _setChecked(value) {\n if (this._checked !== value) {\n this._checked = value;\n this._onDidChange.fire({ checked: value });\n }\n }\n run(event, data) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._actionCallback) {\n yield this._actionCallback(event);\n }\n });\n }\n}\nclass ActionRunner extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\n constructor() {\n super(...arguments);\n this._onWillRun = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\n this.onWillRun = this._onWillRun.event;\n this._onDidRun = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\n this.onDidRun = this._onDidRun.event;\n }\n run(action, context) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!action.enabled) {\n return;\n }\n this._onWillRun.fire({ action });\n let error = undefined;\n try {\n yield this.runAction(action, context);\n }\n catch (e) {\n error = e;\n }\n this._onDidRun.fire({ action, error });\n });\n }\n runAction(action, context) {\n return __awaiter(this, void 0, void 0, function* () {\n yield action.run(context);\n });\n }\n}\nclass Separator {\n constructor() {\n this.id = Separator.ID;\n this.label = '';\n this.tooltip = '';\n this.class = 'separator';\n this.enabled = false;\n this.checked = false;\n }\n /**\n * Joins all non-empty lists of actions with separators.\n */\n static join(...actionLists) {\n let out = [];\n for (const list of actionLists) {\n if (!list.length) {\n // skip\n }\n else if (out.length) {\n out = [...out, new Separator(), ...list];\n }\n else {\n out = list;\n }\n }\n return out;\n }\n run() {\n return __awaiter(this, void 0, void 0, function* () { });\n }\n}\nSeparator.ID = 'vs.actions.separator';\nclass SubmenuAction {\n get actions() { return this._actions; }\n constructor(id, label, actions, cssClass) {\n this.tooltip = '';\n this.enabled = true;\n this.checked = undefined;\n this.id = id;\n this.label = label;\n this.class = cssClass;\n this._actions = actions;\n }\n run() {\n return __awaiter(this, void 0, void 0, function* () { });\n }\n}\nclass EmptySubmenuAction extends Action {\n constructor() {\n super(EmptySubmenuAction.ID, _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('submenu.empty', '(empty)'), undefined, false);\n }\n}\nEmptySubmenuAction.ID = 'vs.actions.empty';\nfunction toAction(props) {\n var _a, _b;\n return {\n id: props.id,\n label: props.label,\n class: undefined,\n enabled: (_a = props.enabled) !== null && _a !== void 0 ? _a : true,\n checked: (_b = props.checked) !== null && _b !== void 0 ? _b : false,\n run: () => __awaiter(this, void 0, void 0, function* () { return props.run(); }),\n tooltip: props.label\n };\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/actions.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/arrays.js": +/*!*****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/arrays.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 */ ArrayQueue: () => (/* binding */ ArrayQueue),\n/* harmony export */ CallbackIterable: () => (/* binding */ CallbackIterable),\n/* harmony export */ CompareResult: () => (/* binding */ CompareResult),\n/* harmony export */ arrayInsert: () => (/* binding */ arrayInsert),\n/* harmony export */ asArray: () => (/* binding */ asArray),\n/* harmony export */ binarySearch: () => (/* binding */ binarySearch),\n/* harmony export */ binarySearch2: () => (/* binding */ binarySearch2),\n/* harmony export */ coalesce: () => (/* binding */ coalesce),\n/* harmony export */ coalesceInPlace: () => (/* binding */ coalesceInPlace),\n/* harmony export */ compareBy: () => (/* binding */ compareBy),\n/* harmony export */ distinct: () => (/* binding */ distinct),\n/* harmony export */ equals: () => (/* binding */ equals),\n/* harmony export */ findFirstInSorted: () => (/* binding */ findFirstInSorted),\n/* harmony export */ findLast: () => (/* binding */ findLast),\n/* harmony export */ findLastMaxBy: () => (/* binding */ findLastMaxBy),\n/* harmony export */ findMaxBy: () => (/* binding */ findMaxBy),\n/* harmony export */ findMinBy: () => (/* binding */ findMinBy),\n/* harmony export */ firstOrDefault: () => (/* binding */ firstOrDefault),\n/* harmony export */ groupBy: () => (/* binding */ groupBy),\n/* harmony export */ insertInto: () => (/* binding */ insertInto),\n/* harmony export */ isFalsyOrEmpty: () => (/* binding */ isFalsyOrEmpty),\n/* harmony export */ isNonEmptyArray: () => (/* binding */ isNonEmptyArray),\n/* harmony export */ lastIndex: () => (/* binding */ lastIndex),\n/* harmony export */ mapFind: () => (/* binding */ mapFind),\n/* harmony export */ numberComparator: () => (/* binding */ numberComparator),\n/* harmony export */ pushMany: () => (/* binding */ pushMany),\n/* harmony export */ pushToEnd: () => (/* binding */ pushToEnd),\n/* harmony export */ pushToStart: () => (/* binding */ pushToStart),\n/* harmony export */ quickSelect: () => (/* binding */ quickSelect),\n/* harmony export */ range: () => (/* binding */ range),\n/* harmony export */ removeFastWithoutKeepingOrder: () => (/* binding */ removeFastWithoutKeepingOrder),\n/* harmony export */ splice: () => (/* binding */ splice),\n/* harmony export */ tail: () => (/* binding */ tail),\n/* harmony export */ tail2: () => (/* binding */ tail2)\n/* harmony export */ });\n/**\n * Returns the last element of an array.\n * @param array The array.\n * @param n Which element from the end (default is zero).\n */\nfunction tail(array, n = 0) {\n return array[array.length - (1 + n)];\n}\nfunction tail2(arr) {\n if (arr.length === 0) {\n throw new Error('Invalid tail call');\n }\n return [arr.slice(0, arr.length - 1), arr[arr.length - 1]];\n}\nfunction equals(one, other, itemEquals = (a, b) => a === b) {\n if (one === other) {\n return true;\n }\n if (!one || !other) {\n return false;\n }\n if (one.length !== other.length) {\n return false;\n }\n for (let i = 0, len = one.length; i < len; i++) {\n if (!itemEquals(one[i], other[i])) {\n return false;\n }\n }\n return true;\n}\n/**\n * Remove the element at `index` by replacing it with the last element. This is faster than `splice`\n * but changes the order of the array\n */\nfunction removeFastWithoutKeepingOrder(array, index) {\n const last = array.length - 1;\n if (index < last) {\n array[index] = array[last];\n }\n array.pop();\n}\n/**\n * Performs a binary search algorithm over a sorted array.\n *\n * @param array The array being searched.\n * @param key The value we search for.\n * @param comparator A function that takes two array elements and returns zero\n * if they are equal, a negative number if the first element precedes the\n * second one in the sorting order, or a positive number if the second element\n * precedes the first one.\n * @return See {@link binarySearch2}\n */\nfunction binarySearch(array, key, comparator) {\n return binarySearch2(array.length, i => comparator(array[i], key));\n}\n/**\n * Performs a binary search algorithm over a sorted collection. Useful for cases\n * when we need to perform a binary search over something that isn't actually an\n * array, and converting data to an array would defeat the use of binary search\n * in the first place.\n *\n * @param length The collection length.\n * @param compareToKey A function that takes an index of an element in the\n * collection and returns zero if the value at this index is equal to the\n * search key, a negative number if the value precedes the search key in the\n * sorting order, or a positive number if the search key precedes the value.\n * @return A non-negative index of an element, if found. If not found, the\n * result is -(n+1) (or ~n, using bitwise notation), where n is the index\n * where the key should be inserted to maintain the sorting order.\n */\nfunction binarySearch2(length, compareToKey) {\n let low = 0, high = length - 1;\n while (low <= high) {\n const mid = ((low + high) / 2) | 0;\n const comp = compareToKey(mid);\n if (comp < 0) {\n low = mid + 1;\n }\n else if (comp > 0) {\n high = mid - 1;\n }\n else {\n return mid;\n }\n }\n return -(low + 1);\n}\n/**\n * Takes a sorted array and a function p. The array is sorted in such a way that all elements where p(x) is false\n * are located before all elements where p(x) is true.\n * @returns the least x for which p(x) is true or array.length if no element fullfills the given function.\n */\nfunction findFirstInSorted(array, p) {\n let low = 0, high = array.length;\n if (high === 0) {\n return 0; // no children\n }\n while (low < high) {\n const mid = Math.floor((low + high) / 2);\n if (p(array[mid])) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n return low;\n}\nfunction quickSelect(nth, data, compare) {\n nth = nth | 0;\n if (nth >= data.length) {\n throw new TypeError('invalid index');\n }\n const pivotValue = data[Math.floor(data.length * Math.random())];\n const lower = [];\n const higher = [];\n const pivots = [];\n for (const value of data) {\n const val = compare(value, pivotValue);\n if (val < 0) {\n lower.push(value);\n }\n else if (val > 0) {\n higher.push(value);\n }\n else {\n pivots.push(value);\n }\n }\n if (nth < lower.length) {\n return quickSelect(nth, lower, compare);\n }\n else if (nth < lower.length + pivots.length) {\n return pivots[0];\n }\n else {\n return quickSelect(nth - (lower.length + pivots.length), higher, compare);\n }\n}\nfunction groupBy(data, compare) {\n const result = [];\n let currentGroup = undefined;\n for (const element of data.slice(0).sort(compare)) {\n if (!currentGroup || compare(currentGroup[0], element) !== 0) {\n currentGroup = [element];\n result.push(currentGroup);\n }\n else {\n currentGroup.push(element);\n }\n }\n return result;\n}\n/**\n * @returns New array with all falsy values removed. The original array IS NOT modified.\n */\nfunction coalesce(array) {\n return array.filter(e => !!e);\n}\n/**\n * Remove all falsy values from `array`. The original array IS modified.\n */\nfunction coalesceInPlace(array) {\n let to = 0;\n for (let i = 0; i < array.length; i++) {\n if (!!array[i]) {\n array[to] = array[i];\n to += 1;\n }\n }\n array.length = to;\n}\n/**\n * @returns false if the provided object is an array and not empty.\n */\nfunction isFalsyOrEmpty(obj) {\n return !Array.isArray(obj) || obj.length === 0;\n}\nfunction isNonEmptyArray(obj) {\n return Array.isArray(obj) && obj.length > 0;\n}\n/**\n * Removes duplicates from the given array. The optional keyFn allows to specify\n * how elements are checked for equality by returning an alternate value for each.\n */\nfunction distinct(array, keyFn = value => value) {\n const seen = new Set();\n return array.filter(element => {\n const key = keyFn(element);\n if (seen.has(key)) {\n return false;\n }\n seen.add(key);\n return true;\n });\n}\nfunction findLast(arr, predicate) {\n const idx = lastIndex(arr, predicate);\n if (idx === -1) {\n return undefined;\n }\n return arr[idx];\n}\nfunction lastIndex(array, fn) {\n for (let i = array.length - 1; i >= 0; i--) {\n const element = array[i];\n if (fn(element)) {\n return i;\n }\n }\n return -1;\n}\nfunction firstOrDefault(array, notFoundValue) {\n return array.length > 0 ? array[0] : notFoundValue;\n}\nfunction range(arg, to) {\n let from = typeof to === 'number' ? arg : 0;\n if (typeof to === 'number') {\n from = arg;\n }\n else {\n from = 0;\n to = arg;\n }\n const result = [];\n if (from <= to) {\n for (let i = from; i < to; i++) {\n result.push(i);\n }\n }\n else {\n for (let i = from; i > to; i--) {\n result.push(i);\n }\n }\n return result;\n}\n/**\n * Insert `insertArr` inside `target` at `insertIndex`.\n * Please don't touch unless you understand https://jsperf.com/inserting-an-array-within-an-array\n */\nfunction arrayInsert(target, insertIndex, insertArr) {\n const before = target.slice(0, insertIndex);\n const after = target.slice(insertIndex);\n return before.concat(insertArr, after);\n}\n/**\n * Pushes an element to the start of the array, if found.\n */\nfunction pushToStart(arr, value) {\n const index = arr.indexOf(value);\n if (index > -1) {\n arr.splice(index, 1);\n arr.unshift(value);\n }\n}\n/**\n * Pushes an element to the end of the array, if found.\n */\nfunction pushToEnd(arr, value) {\n const index = arr.indexOf(value);\n if (index > -1) {\n arr.splice(index, 1);\n arr.push(value);\n }\n}\nfunction pushMany(arr, items) {\n for (const item of items) {\n arr.push(item);\n }\n}\nfunction asArray(x) {\n return Array.isArray(x) ? x : [x];\n}\n/**\n * Returns the first mapped value of the array which is not undefined.\n */\nfunction mapFind(array, mapFn) {\n for (const value of array) {\n const mapped = mapFn(value);\n if (mapped !== undefined) {\n return mapped;\n }\n }\n return undefined;\n}\n/**\n * Insert the new items in the array.\n * @param array The original array.\n * @param start The zero-based location in the array from which to start inserting elements.\n * @param newItems The items to be inserted\n */\nfunction insertInto(array, start, newItems) {\n const startIdx = getActualStartIndex(array, start);\n const originalLength = array.length;\n const newItemsLength = newItems.length;\n array.length = originalLength + newItemsLength;\n // Move the items after the start index, start from the end so that we don't overwrite any value.\n for (let i = originalLength - 1; i >= startIdx; i--) {\n array[i + newItemsLength] = array[i];\n }\n for (let i = 0; i < newItemsLength; i++) {\n array[i + startIdx] = newItems[i];\n }\n}\n/**\n * Removes elements from an array and inserts new elements in their place, returning the deleted elements. Alternative to the native Array.splice method, it\n * can only support limited number of items due to the maximum call stack size limit.\n * @param array The original array.\n * @param start The zero-based location in the array from which to start removing elements.\n * @param deleteCount The number of elements to remove.\n * @returns An array containing the elements that were deleted.\n */\nfunction splice(array, start, deleteCount, newItems) {\n const index = getActualStartIndex(array, start);\n const result = array.splice(index, deleteCount);\n insertInto(array, index, newItems);\n return result;\n}\n/**\n * Determine the actual start index (same logic as the native splice() or slice())\n * If greater than the length of the array, start will be set to the length of the array. In this case, no element will be deleted but the method will behave as an adding function, adding as many element as item[n*] provided.\n * If negative, it will begin that many elements from the end of the array. (In this case, the origin -1, meaning -n is the index of the nth last element, and is therefore equivalent to the index of array.length - n.) If array.length + start is less than 0, it will begin from index 0.\n * @param array The target array.\n * @param start The operation index.\n */\nfunction getActualStartIndex(array, start) {\n return start < 0 ? Math.max(start + array.length, 0) : Math.min(start, array.length);\n}\nvar CompareResult;\n(function (CompareResult) {\n function isLessThan(result) {\n return result < 0;\n }\n CompareResult.isLessThan = isLessThan;\n function isGreaterThan(result) {\n return result > 0;\n }\n CompareResult.isGreaterThan = isGreaterThan;\n function isNeitherLessOrGreaterThan(result) {\n return result === 0;\n }\n CompareResult.isNeitherLessOrGreaterThan = isNeitherLessOrGreaterThan;\n CompareResult.greaterThan = 1;\n CompareResult.lessThan = -1;\n CompareResult.neitherLessOrGreaterThan = 0;\n})(CompareResult || (CompareResult = {}));\nfunction compareBy(selector, comparator) {\n return (a, b) => comparator(selector(a), selector(b));\n}\n/**\n * The natural order on numbers.\n*/\nconst numberComparator = (a, b) => a - b;\n/**\n * Returns the first item that is equal to or greater than every other item.\n*/\nfunction findMaxBy(items, comparator) {\n if (items.length === 0) {\n return undefined;\n }\n let max = items[0];\n for (let i = 1; i < items.length; i++) {\n const item = items[i];\n if (comparator(item, max) > 0) {\n max = item;\n }\n }\n return max;\n}\n/**\n * Returns the last item that is equal to or greater than every other item.\n*/\nfunction findLastMaxBy(items, comparator) {\n if (items.length === 0) {\n return undefined;\n }\n let max = items[0];\n for (let i = 1; i < items.length; i++) {\n const item = items[i];\n if (comparator(item, max) >= 0) {\n max = item;\n }\n }\n return max;\n}\n/**\n * Returns the first item that is equal to or less than every other item.\n*/\nfunction findMinBy(items, comparator) {\n return findMaxBy(items, (a, b) => -comparator(a, b));\n}\nclass ArrayQueue {\n /**\n * Constructs a queue that is backed by the given array. Runtime is O(1).\n */\n constructor(items) {\n this.items = items;\n this.firstIdx = 0;\n this.lastIdx = this.items.length - 1;\n }\n get length() {\n return this.lastIdx - this.firstIdx + 1;\n }\n /**\n * Consumes elements from the beginning of the queue as long as the predicate returns true.\n * If no elements were consumed, `null` is returned. Has a runtime of O(result.length).\n */\n takeWhile(predicate) {\n // P(k) := k <= this.lastIdx && predicate(this.items[k])\n // Find s := min { k | k >= this.firstIdx && !P(k) } and return this.data[this.firstIdx...s)\n let startIdx = this.firstIdx;\n while (startIdx < this.items.length && predicate(this.items[startIdx])) {\n startIdx++;\n }\n const result = startIdx === this.firstIdx ? null : this.items.slice(this.firstIdx, startIdx);\n this.firstIdx = startIdx;\n return result;\n }\n /**\n * Consumes elements from the end of the queue as long as the predicate returns true.\n * If no elements were consumed, `null` is returned.\n * The result has the same order as the underlying array!\n */\n takeFromEndWhile(predicate) {\n // P(k) := this.firstIdx >= k && predicate(this.items[k])\n // Find s := max { k | k <= this.lastIdx && !P(k) } and return this.data(s...this.lastIdx]\n let endIdx = this.lastIdx;\n while (endIdx >= 0 && predicate(this.items[endIdx])) {\n endIdx--;\n }\n const result = endIdx === this.lastIdx ? null : this.items.slice(endIdx + 1, this.lastIdx + 1);\n this.lastIdx = endIdx;\n return result;\n }\n peek() {\n if (this.length === 0) {\n return undefined;\n }\n return this.items[this.firstIdx];\n }\n dequeue() {\n const result = this.items[this.firstIdx];\n this.firstIdx++;\n return result;\n }\n takeCount(count) {\n const result = this.items.slice(this.firstIdx, this.firstIdx + count);\n this.firstIdx += count;\n return result;\n }\n}\n/**\n * This class is faster than an iterator and array for lazy computed data.\n*/\nclass CallbackIterable {\n constructor(\n /**\n * Calls the callback for every item.\n * Stops when the callback returns false.\n */\n iterate) {\n this.iterate = iterate;\n }\n toArray() {\n const result = [];\n this.iterate(item => { result.push(item); return true; });\n return result;\n }\n filter(predicate) {\n return new CallbackIterable(cb => this.iterate(item => predicate(item) ? cb(item) : true));\n }\n map(mapFn) {\n return new CallbackIterable(cb => this.iterate(item => cb(mapFn(item))));\n }\n findLast(predicate) {\n let result;\n this.iterate(item => {\n if (predicate(item)) {\n result = item;\n }\n return true;\n });\n return result;\n }\n findLastMaxBy(comparator) {\n let result;\n let first = true;\n this.iterate(item => {\n if (first || CompareResult.isGreaterThan(comparator(item, result))) {\n first = false;\n result = item;\n }\n return true;\n });\n return result;\n }\n}\nCallbackIterable.empty = new CallbackIterable(_callback => { });\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/arrays.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/assert.js": +/*!*****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/assert.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 */ assertFn: () => (/* binding */ assertFn),\n/* harmony export */ assertNever: () => (/* binding */ assertNever),\n/* harmony export */ checkAdjacentItems: () => (/* binding */ checkAdjacentItems),\n/* harmony export */ ok: () => (/* binding */ ok)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.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 * Throws an error with the provided message if the provided value does not evaluate to a true Javascript value.\n *\n * @deprecated Use `assert(...)` instead.\n * This method is usually used like this:\n * ```ts\n * import * as assert from 'vs/base/common/assert';\n * assert.ok(...);\n * ```\n *\n * However, `assert` in that example is a user chosen name.\n * There is no tooling for generating such an import statement.\n * Thus, the `assert(...)` function should be used instead.\n */\nfunction ok(value, message) {\n if (!value) {\n throw new Error(message ? `Assertion failed (${message})` : 'Assertion Failed');\n }\n}\nfunction assertNever(value, message = 'Unreachable') {\n throw new Error(message);\n}\n/**\n * condition must be side-effect free!\n */\nfunction assertFn(condition) {\n if (!condition()) {\n // eslint-disable-next-line no-debugger\n debugger;\n // Reevaluate `condition` again to make debugging easier\n condition();\n (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.onUnexpectedError)(new _errors_js__WEBPACK_IMPORTED_MODULE_0__.BugIndicatingError('Assertion Failed'));\n }\n}\nfunction checkAdjacentItems(items, predicate) {\n let i = 0;\n while (i < items.length - 1) {\n const a = items[i];\n const b = items[i + 1];\n if (!predicate(a, b)) {\n return false;\n }\n i++;\n }\n return true;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/assert.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/async.js": +/*!****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/async.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 */ AsyncIterableObject: () => (/* binding */ AsyncIterableObject),\n/* harmony export */ CancelableAsyncIterableObject: () => (/* binding */ CancelableAsyncIterableObject),\n/* harmony export */ DeferredPromise: () => (/* binding */ DeferredPromise),\n/* harmony export */ Delayer: () => (/* binding */ Delayer),\n/* harmony export */ IdleValue: () => (/* binding */ IdleValue),\n/* harmony export */ IntervalTimer: () => (/* binding */ IntervalTimer),\n/* harmony export */ Promises: () => (/* binding */ Promises),\n/* harmony export */ RunOnceScheduler: () => (/* binding */ RunOnceScheduler),\n/* harmony export */ ThrottledDelayer: () => (/* binding */ ThrottledDelayer),\n/* harmony export */ Throttler: () => (/* binding */ Throttler),\n/* harmony export */ TimeoutTimer: () => (/* binding */ TimeoutTimer),\n/* harmony export */ createCancelableAsyncIterable: () => (/* binding */ createCancelableAsyncIterable),\n/* harmony export */ createCancelablePromise: () => (/* binding */ createCancelablePromise),\n/* harmony export */ disposableTimeout: () => (/* binding */ disposableTimeout),\n/* harmony export */ first: () => (/* binding */ first),\n/* harmony export */ isThenable: () => (/* binding */ isThenable),\n/* harmony export */ raceCancellation: () => (/* binding */ raceCancellation),\n/* harmony export */ runWhenIdle: () => (/* binding */ runWhenIdle),\n/* harmony export */ timeout: () => (/* binding */ timeout)\n/* harmony export */ });\n/* harmony import */ var _cancellation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cancellation.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cancellation.js\");\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _symbols_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./symbols.js */ \"./node_modules/monaco-editor/esm/vs/base/common/symbols.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 *--------------------------------------------------------------------------------------------*/\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __asyncValues = (undefined && undefined.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\n\n\n\n\n\n\nfunction isThenable(obj) {\n return !!obj && typeof obj.then === 'function';\n}\nfunction createCancelablePromise(callback) {\n const source = new _cancellation_js__WEBPACK_IMPORTED_MODULE_0__.CancellationTokenSource();\n const thenable = callback(source.token);\n const promise = new Promise((resolve, reject) => {\n const subscription = source.token.onCancellationRequested(() => {\n subscription.dispose();\n source.dispose();\n reject(new _errors_js__WEBPACK_IMPORTED_MODULE_1__.CancellationError());\n });\n Promise.resolve(thenable).then(value => {\n subscription.dispose();\n source.dispose();\n resolve(value);\n }, err => {\n subscription.dispose();\n source.dispose();\n reject(err);\n });\n });\n return new class {\n cancel() {\n source.cancel();\n }\n then(resolve, reject) {\n return promise.then(resolve, reject);\n }\n catch(reject) {\n return this.then(undefined, reject);\n }\n finally(onfinally) {\n return promise.finally(onfinally);\n }\n };\n}\nfunction raceCancellation(promise, token, defaultValue) {\n return new Promise((resolve, reject) => {\n const ref = token.onCancellationRequested(() => {\n ref.dispose();\n resolve(defaultValue);\n });\n promise.then(resolve, reject).finally(() => ref.dispose());\n });\n}\n/**\n * A helper to prevent accumulation of sequential async tasks.\n *\n * Imagine a mail man with the sole task of delivering letters. As soon as\n * a letter submitted for delivery, he drives to the destination, delivers it\n * and returns to his base. Imagine that during the trip, N more letters were submitted.\n * When the mail man returns, he picks those N letters and delivers them all in a\n * single trip. Even though N+1 submissions occurred, only 2 deliveries were made.\n *\n * The throttler implements this via the queue() method, by providing it a task\n * factory. Following the example:\n *\n * \t\tconst throttler = new Throttler();\n * \t\tconst letters = [];\n *\n * \t\tfunction deliver() {\n * \t\t\tconst lettersToDeliver = letters;\n * \t\t\tletters = [];\n * \t\t\treturn makeTheTrip(lettersToDeliver);\n * \t\t}\n *\n * \t\tfunction onLetterReceived(l) {\n * \t\t\tletters.push(l);\n * \t\t\tthrottler.queue(deliver);\n * \t\t}\n */\nclass Throttler {\n constructor() {\n this.isDisposed = false;\n this.activePromise = null;\n this.queuedPromise = null;\n this.queuedPromiseFactory = null;\n }\n queue(promiseFactory) {\n if (this.isDisposed) {\n throw new Error('Throttler is disposed');\n }\n if (this.activePromise) {\n this.queuedPromiseFactory = promiseFactory;\n if (!this.queuedPromise) {\n const onComplete = () => {\n this.queuedPromise = null;\n if (this.isDisposed) {\n return;\n }\n const result = this.queue(this.queuedPromiseFactory);\n this.queuedPromiseFactory = null;\n return result;\n };\n this.queuedPromise = new Promise(resolve => {\n this.activePromise.then(onComplete, onComplete).then(resolve);\n });\n }\n return new Promise((resolve, reject) => {\n this.queuedPromise.then(resolve, reject);\n });\n }\n this.activePromise = promiseFactory();\n return new Promise((resolve, reject) => {\n this.activePromise.then((result) => {\n this.activePromise = null;\n resolve(result);\n }, (err) => {\n this.activePromise = null;\n reject(err);\n });\n });\n }\n dispose() {\n this.isDisposed = true;\n }\n}\nconst timeoutDeferred = (timeout, fn) => {\n let scheduled = true;\n const handle = setTimeout(() => {\n scheduled = false;\n fn();\n }, timeout);\n return {\n isTriggered: () => scheduled,\n dispose: () => {\n clearTimeout(handle);\n scheduled = false;\n },\n };\n};\nconst microtaskDeferred = (fn) => {\n let scheduled = true;\n queueMicrotask(() => {\n if (scheduled) {\n scheduled = false;\n fn();\n }\n });\n return {\n isTriggered: () => scheduled,\n dispose: () => { scheduled = false; },\n };\n};\n/**\n * A helper to delay (debounce) execution of a task that is being requested often.\n *\n * Following the throttler, now imagine the mail man wants to optimize the number of\n * trips proactively. The trip itself can be long, so he decides not to make the trip\n * as soon as a letter is submitted. Instead he waits a while, in case more\n * letters are submitted. After said waiting period, if no letters were submitted, he\n * decides to make the trip. Imagine that N more letters were submitted after the first\n * one, all within a short period of time between each other. Even though N+1\n * submissions occurred, only 1 delivery was made.\n *\n * The delayer offers this behavior via the trigger() method, into which both the task\n * to be executed and the waiting period (delay) must be passed in as arguments. Following\n * the example:\n *\n * \t\tconst delayer = new Delayer(WAITING_PERIOD);\n * \t\tconst letters = [];\n *\n * \t\tfunction letterReceived(l) {\n * \t\t\tletters.push(l);\n * \t\t\tdelayer.trigger(() => { return makeTheTrip(); });\n * \t\t}\n */\nclass Delayer {\n constructor(defaultDelay) {\n this.defaultDelay = defaultDelay;\n this.deferred = null;\n this.completionPromise = null;\n this.doResolve = null;\n this.doReject = null;\n this.task = null;\n }\n trigger(task, delay = this.defaultDelay) {\n this.task = task;\n this.cancelTimeout();\n if (!this.completionPromise) {\n this.completionPromise = new Promise((resolve, reject) => {\n this.doResolve = resolve;\n this.doReject = reject;\n }).then(() => {\n this.completionPromise = null;\n this.doResolve = null;\n if (this.task) {\n const task = this.task;\n this.task = null;\n return task();\n }\n return undefined;\n });\n }\n const fn = () => {\n var _a;\n this.deferred = null;\n (_a = this.doResolve) === null || _a === void 0 ? void 0 : _a.call(this, null);\n };\n this.deferred = delay === _symbols_js__WEBPACK_IMPORTED_MODULE_5__.MicrotaskDelay ? microtaskDeferred(fn) : timeoutDeferred(delay, fn);\n return this.completionPromise;\n }\n isTriggered() {\n var _a;\n return !!((_a = this.deferred) === null || _a === void 0 ? void 0 : _a.isTriggered());\n }\n cancel() {\n var _a;\n this.cancelTimeout();\n if (this.completionPromise) {\n (_a = this.doReject) === null || _a === void 0 ? void 0 : _a.call(this, new _errors_js__WEBPACK_IMPORTED_MODULE_1__.CancellationError());\n this.completionPromise = null;\n }\n }\n cancelTimeout() {\n var _a;\n (_a = this.deferred) === null || _a === void 0 ? void 0 : _a.dispose();\n this.deferred = null;\n }\n dispose() {\n this.cancel();\n }\n}\n/**\n * A helper to delay execution of a task that is being requested often, while\n * preventing accumulation of consecutive executions, while the task runs.\n *\n * The mail man is clever and waits for a certain amount of time, before going\n * out to deliver letters. While the mail man is going out, more letters arrive\n * and can only be delivered once he is back. Once he is back the mail man will\n * do one more trip to deliver the letters that have accumulated while he was out.\n */\nclass ThrottledDelayer {\n constructor(defaultDelay) {\n this.delayer = new Delayer(defaultDelay);\n this.throttler = new Throttler();\n }\n trigger(promiseFactory, delay) {\n return this.delayer.trigger(() => this.throttler.queue(promiseFactory), delay);\n }\n cancel() {\n this.delayer.cancel();\n }\n dispose() {\n this.delayer.dispose();\n }\n}\nfunction timeout(millis, token) {\n if (!token) {\n return createCancelablePromise(token => timeout(millis, token));\n }\n return new Promise((resolve, reject) => {\n const handle = setTimeout(() => {\n disposable.dispose();\n resolve();\n }, millis);\n const disposable = token.onCancellationRequested(() => {\n clearTimeout(handle);\n disposable.dispose();\n reject(new _errors_js__WEBPACK_IMPORTED_MODULE_1__.CancellationError());\n });\n });\n}\nfunction disposableTimeout(handler, timeout = 0) {\n const timer = setTimeout(handler, timeout);\n return (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.toDisposable)(() => clearTimeout(timer));\n}\nfunction first(promiseFactories, shouldStop = t => !!t, defaultValue = null) {\n let index = 0;\n const len = promiseFactories.length;\n const loop = () => {\n if (index >= len) {\n return Promise.resolve(defaultValue);\n }\n const factory = promiseFactories[index++];\n const promise = Promise.resolve(factory());\n return promise.then(result => {\n if (shouldStop(result)) {\n return Promise.resolve(result);\n }\n return loop();\n });\n };\n return loop();\n}\nclass TimeoutTimer {\n constructor(runner, timeout) {\n this._token = -1;\n if (typeof runner === 'function' && typeof timeout === 'number') {\n this.setIfNotSet(runner, timeout);\n }\n }\n dispose() {\n this.cancel();\n }\n cancel() {\n if (this._token !== -1) {\n clearTimeout(this._token);\n this._token = -1;\n }\n }\n cancelAndSet(runner, timeout) {\n this.cancel();\n this._token = setTimeout(() => {\n this._token = -1;\n runner();\n }, timeout);\n }\n setIfNotSet(runner, timeout) {\n if (this._token !== -1) {\n // timer is already set\n return;\n }\n this._token = setTimeout(() => {\n this._token = -1;\n runner();\n }, timeout);\n }\n}\nclass IntervalTimer {\n constructor() {\n this._token = -1;\n }\n dispose() {\n this.cancel();\n }\n cancel() {\n if (this._token !== -1) {\n clearInterval(this._token);\n this._token = -1;\n }\n }\n cancelAndSet(runner, interval) {\n this.cancel();\n this._token = setInterval(() => {\n runner();\n }, interval);\n }\n}\nclass RunOnceScheduler {\n constructor(runner, delay) {\n this.timeoutToken = -1;\n this.runner = runner;\n this.timeout = delay;\n this.timeoutHandler = this.onTimeout.bind(this);\n }\n /**\n * Dispose RunOnceScheduler\n */\n dispose() {\n this.cancel();\n this.runner = null;\n }\n /**\n * Cancel current scheduled runner (if any).\n */\n cancel() {\n if (this.isScheduled()) {\n clearTimeout(this.timeoutToken);\n this.timeoutToken = -1;\n }\n }\n /**\n * Cancel previous runner (if any) & schedule a new runner.\n */\n schedule(delay = this.timeout) {\n this.cancel();\n this.timeoutToken = setTimeout(this.timeoutHandler, delay);\n }\n get delay() {\n return this.timeout;\n }\n set delay(value) {\n this.timeout = value;\n }\n /**\n * Returns true if scheduled.\n */\n isScheduled() {\n return this.timeoutToken !== -1;\n }\n onTimeout() {\n this.timeoutToken = -1;\n if (this.runner) {\n this.doRun();\n }\n }\n doRun() {\n var _a;\n (_a = this.runner) === null || _a === void 0 ? void 0 : _a.call(this);\n }\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 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 */\nlet runWhenIdle;\n(function () {\n if (typeof requestIdleCallback !== 'function' || typeof cancelIdleCallback !== 'function') {\n runWhenIdle = (runner) => {\n (0,_platform_js__WEBPACK_IMPORTED_MODULE_4__.setTimeout0)(() => {\n if (disposed) {\n return;\n }\n const end = Date.now() + 15; // one frame at 64fps\n runner(Object.freeze({\n didTimeout: true,\n timeRemaining() {\n return Math.max(0, end - Date.now());\n }\n }));\n });\n let disposed = false;\n return {\n dispose() {\n if (disposed) {\n return;\n }\n disposed = true;\n }\n };\n };\n }\n else {\n runWhenIdle = (runner, timeout) => {\n const handle = requestIdleCallback(runner, typeof timeout === 'number' ? { timeout } : undefined);\n let disposed = false;\n return {\n dispose() {\n if (disposed) {\n return;\n }\n disposed = true;\n cancelIdleCallback(handle);\n }\n };\n };\n }\n})();\n/**\n * An implementation of the \"idle-until-urgent\"-strategy as introduced\n * here: https://philipwalton.com/articles/idle-until-urgent/\n */\nclass IdleValue {\n constructor(executor) {\n this._didRun = false;\n this._executor = () => {\n try {\n this._value = executor();\n }\n catch (err) {\n this._error = err;\n }\n finally {\n this._didRun = true;\n }\n };\n this._handle = runWhenIdle(() => this._executor());\n }\n dispose() {\n this._handle.dispose();\n }\n get value() {\n if (!this._didRun) {\n this._handle.dispose();\n this._executor();\n }\n if (this._error) {\n throw this._error;\n }\n return this._value;\n }\n get isInitialized() {\n return this._didRun;\n }\n}\n/**\n * Creates a promise whose resolution or rejection can be controlled imperatively.\n */\nclass DeferredPromise {\n get isRejected() {\n var _a;\n return ((_a = this.outcome) === null || _a === void 0 ? void 0 : _a.outcome) === 1 /* DeferredOutcome.Rejected */;\n }\n get isSettled() {\n return !!this.outcome;\n }\n constructor() {\n this.p = new Promise((c, e) => {\n this.completeCallback = c;\n this.errorCallback = e;\n });\n }\n complete(value) {\n return new Promise(resolve => {\n this.completeCallback(value);\n this.outcome = { outcome: 0 /* DeferredOutcome.Resolved */, value };\n resolve();\n });\n }\n error(err) {\n return new Promise(resolve => {\n this.errorCallback(err);\n this.outcome = { outcome: 1 /* DeferredOutcome.Rejected */, value: err };\n resolve();\n });\n }\n cancel() {\n return this.error(new _errors_js__WEBPACK_IMPORTED_MODULE_1__.CancellationError());\n }\n}\n//#endregion\n//#region Promises\nvar Promises;\n(function (Promises) {\n /**\n * A drop-in replacement for `Promise.all` with the only difference\n * that the method awaits every promise to either fulfill or reject.\n *\n * Similar to `Promise.all`, only the first error will be returned\n * if any.\n */\n function settled(promises) {\n return __awaiter(this, void 0, void 0, function* () {\n let firstError = undefined;\n const result = yield Promise.all(promises.map(promise => promise.then(value => value, error => {\n if (!firstError) {\n firstError = error;\n }\n return undefined; // do not rethrow so that other promises can settle\n })));\n if (typeof firstError !== 'undefined') {\n throw firstError;\n }\n return result; // cast is needed and protected by the `throw` above\n });\n }\n Promises.settled = settled;\n /**\n * A helper to create a new `Promise` with a body that is a promise\n * itself. By default, an error that raises from the async body will\n * end up as a unhandled rejection, so this utility properly awaits the\n * body and rejects the promise as a normal promise does without async\n * body.\n *\n * This method should only be used in rare cases where otherwise `async`\n * cannot be used (e.g. when callbacks are involved that require this).\n */\n function withAsyncBody(bodyFn) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n try {\n yield bodyFn(resolve, reject);\n }\n catch (error) {\n reject(error);\n }\n }));\n }\n Promises.withAsyncBody = withAsyncBody;\n})(Promises || (Promises = {}));\n/**\n * A rich implementation for an `AsyncIterable`.\n */\nclass AsyncIterableObject {\n static fromArray(items) {\n return new AsyncIterableObject((writer) => {\n writer.emitMany(items);\n });\n }\n static fromPromise(promise) {\n return new AsyncIterableObject((emitter) => __awaiter(this, void 0, void 0, function* () {\n emitter.emitMany(yield promise);\n }));\n }\n static fromPromises(promises) {\n return new AsyncIterableObject((emitter) => __awaiter(this, void 0, void 0, function* () {\n yield Promise.all(promises.map((p) => __awaiter(this, void 0, void 0, function* () { return emitter.emitOne(yield p); })));\n }));\n }\n static merge(iterables) {\n return new AsyncIterableObject((emitter) => __awaiter(this, void 0, void 0, function* () {\n yield Promise.all(iterables.map((iterable) => { var _a, iterable_1, iterable_1_1; return __awaiter(this, void 0, void 0, function* () {\n var _b, e_1, _c, _d;\n try {\n for (_a = true, iterable_1 = __asyncValues(iterable); iterable_1_1 = yield iterable_1.next(), _b = iterable_1_1.done, !_b; _a = true) {\n _d = iterable_1_1.value;\n _a = false;\n const item = _d;\n emitter.emitOne(item);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (!_a && !_b && (_c = iterable_1.return)) yield _c.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }); }));\n }));\n }\n constructor(executor) {\n this._state = 0 /* AsyncIterableSourceState.Initial */;\n this._results = [];\n this._error = null;\n this._onStateChanged = new _event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n queueMicrotask(() => __awaiter(this, void 0, void 0, function* () {\n const writer = {\n emitOne: (item) => this.emitOne(item),\n emitMany: (items) => this.emitMany(items),\n reject: (error) => this.reject(error)\n };\n try {\n yield Promise.resolve(executor(writer));\n this.resolve();\n }\n catch (err) {\n this.reject(err);\n }\n finally {\n writer.emitOne = undefined;\n writer.emitMany = undefined;\n writer.reject = undefined;\n }\n }));\n }\n [Symbol.asyncIterator]() {\n let i = 0;\n return {\n next: () => __awaiter(this, void 0, void 0, function* () {\n do {\n if (this._state === 2 /* AsyncIterableSourceState.DoneError */) {\n throw this._error;\n }\n if (i < this._results.length) {\n return { done: false, value: this._results[i++] };\n }\n if (this._state === 1 /* AsyncIterableSourceState.DoneOK */) {\n return { done: true, value: undefined };\n }\n yield _event_js__WEBPACK_IMPORTED_MODULE_2__.Event.toPromise(this._onStateChanged.event);\n } while (true);\n })\n };\n }\n static map(iterable, mapFn) {\n return new AsyncIterableObject((emitter) => __awaiter(this, void 0, void 0, function* () {\n var _a, e_2, _b, _c;\n try {\n for (var _d = true, iterable_2 = __asyncValues(iterable), iterable_2_1; iterable_2_1 = yield iterable_2.next(), _a = iterable_2_1.done, !_a; _d = true) {\n _c = iterable_2_1.value;\n _d = false;\n const item = _c;\n emitter.emitOne(mapFn(item));\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_2.return)) yield _b.call(iterable_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }));\n }\n map(mapFn) {\n return AsyncIterableObject.map(this, mapFn);\n }\n static filter(iterable, filterFn) {\n return new AsyncIterableObject((emitter) => __awaiter(this, void 0, void 0, function* () {\n var _a, e_3, _b, _c;\n try {\n for (var _d = true, iterable_3 = __asyncValues(iterable), iterable_3_1; iterable_3_1 = yield iterable_3.next(), _a = iterable_3_1.done, !_a; _d = true) {\n _c = iterable_3_1.value;\n _d = false;\n const item = _c;\n if (filterFn(item)) {\n emitter.emitOne(item);\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = iterable_3.return)) yield _b.call(iterable_3);\n }\n finally { if (e_3) throw e_3.error; }\n }\n }));\n }\n filter(filterFn) {\n return AsyncIterableObject.filter(this, filterFn);\n }\n static coalesce(iterable) {\n return AsyncIterableObject.filter(iterable, item => !!item);\n }\n coalesce() {\n return AsyncIterableObject.coalesce(this);\n }\n static toPromise(iterable) {\n var _a, iterable_4, iterable_4_1;\n var _b, e_4, _c, _d;\n return __awaiter(this, void 0, void 0, function* () {\n const result = [];\n try {\n for (_a = true, iterable_4 = __asyncValues(iterable); iterable_4_1 = yield iterable_4.next(), _b = iterable_4_1.done, !_b; _a = true) {\n _d = iterable_4_1.value;\n _a = false;\n const item = _d;\n result.push(item);\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (!_a && !_b && (_c = iterable_4.return)) yield _c.call(iterable_4);\n }\n finally { if (e_4) throw e_4.error; }\n }\n return result;\n });\n }\n toPromise() {\n return AsyncIterableObject.toPromise(this);\n }\n /**\n * The value will be appended at the end.\n *\n * **NOTE** If `resolve()` or `reject()` have already been called, this method has no effect.\n */\n emitOne(value) {\n if (this._state !== 0 /* AsyncIterableSourceState.Initial */) {\n return;\n }\n // it is important to add new values at the end,\n // as we may have iterators already running on the array\n this._results.push(value);\n this._onStateChanged.fire();\n }\n /**\n * The values will be appended at the end.\n *\n * **NOTE** If `resolve()` or `reject()` have already been called, this method has no effect.\n */\n emitMany(values) {\n if (this._state !== 0 /* AsyncIterableSourceState.Initial */) {\n return;\n }\n // it is important to add new values at the end,\n // as we may have iterators already running on the array\n this._results = this._results.concat(values);\n this._onStateChanged.fire();\n }\n /**\n * Calling `resolve()` will mark the result array as complete.\n *\n * **NOTE** `resolve()` must be called, otherwise all consumers of this iterable will hang indefinitely, similar to a non-resolved promise.\n * **NOTE** If `resolve()` or `reject()` have already been called, this method has no effect.\n */\n resolve() {\n if (this._state !== 0 /* AsyncIterableSourceState.Initial */) {\n return;\n }\n this._state = 1 /* AsyncIterableSourceState.DoneOK */;\n this._onStateChanged.fire();\n }\n /**\n * Writing an error will permanently invalidate this iterable.\n * The current users will receive an error thrown, as will all future users.\n *\n * **NOTE** If `resolve()` or `reject()` have already been called, this method has no effect.\n */\n reject(error) {\n if (this._state !== 0 /* AsyncIterableSourceState.Initial */) {\n return;\n }\n this._state = 2 /* AsyncIterableSourceState.DoneError */;\n this._error = error;\n this._onStateChanged.fire();\n }\n}\nAsyncIterableObject.EMPTY = AsyncIterableObject.fromArray([]);\nclass CancelableAsyncIterableObject extends AsyncIterableObject {\n constructor(_source, executor) {\n super(executor);\n this._source = _source;\n }\n cancel() {\n this._source.cancel();\n }\n}\nfunction createCancelableAsyncIterable(callback) {\n const source = new _cancellation_js__WEBPACK_IMPORTED_MODULE_0__.CancellationTokenSource();\n const innerIterable = callback(source.token);\n return new CancelableAsyncIterableObject(source, (emitter) => __awaiter(this, void 0, void 0, function* () {\n var _a, e_5, _b, _c;\n const subscription = source.token.onCancellationRequested(() => {\n subscription.dispose();\n source.dispose();\n emitter.reject(new _errors_js__WEBPACK_IMPORTED_MODULE_1__.CancellationError());\n });\n try {\n try {\n for (var _d = true, innerIterable_1 = __asyncValues(innerIterable), innerIterable_1_1; innerIterable_1_1 = yield innerIterable_1.next(), _a = innerIterable_1_1.done, !_a; _d = true) {\n _c = innerIterable_1_1.value;\n _d = false;\n const item = _c;\n if (source.token.isCancellationRequested) {\n // canceled in the meantime\n return;\n }\n emitter.emitOne(item);\n }\n }\n catch (e_5_1) { e_5 = { error: e_5_1 }; }\n finally {\n try {\n if (!_d && !_a && (_b = innerIterable_1.return)) yield _b.call(innerIterable_1);\n }\n finally { if (e_5) throw e_5.error; }\n }\n subscription.dispose();\n source.dispose();\n }\n catch (err) {\n subscription.dispose();\n source.dispose();\n emitter.reject(err);\n }\n }));\n}\n//#endregion\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/async.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/buffer.js": +/*!*****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/buffer.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 */ VSBuffer: () => (/* binding */ VSBuffer),\n/* harmony export */ readUInt16LE: () => (/* binding */ readUInt16LE),\n/* harmony export */ readUInt32BE: () => (/* binding */ readUInt32BE),\n/* harmony export */ readUInt8: () => (/* binding */ readUInt8),\n/* harmony export */ writeUInt16LE: () => (/* binding */ writeUInt16LE),\n/* harmony export */ writeUInt32BE: () => (/* binding */ writeUInt32BE),\n/* harmony export */ writeUInt8: () => (/* binding */ writeUInt8)\n/* harmony export */ });\n/* harmony import */ var _lazy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lazy.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lazy.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\nconst hasBuffer = (typeof Buffer !== 'undefined');\nconst indexOfTable = new _lazy_js__WEBPACK_IMPORTED_MODULE_0__.Lazy(() => new Uint8Array(256));\nlet textDecoder;\nclass VSBuffer {\n /**\n * When running in a nodejs context, if `actual` is not a nodejs Buffer, the backing store for\n * the returned `VSBuffer` instance might use a nodejs Buffer allocated from node's Buffer pool,\n * which is not transferrable.\n */\n static wrap(actual) {\n if (hasBuffer && !(Buffer.isBuffer(actual))) {\n // https://nodejs.org/dist/latest-v10.x/docs/api/buffer.html#buffer_class_method_buffer_from_arraybuffer_byteoffset_length\n // Create a zero-copy Buffer wrapper around the ArrayBuffer pointed to by the Uint8Array\n actual = Buffer.from(actual.buffer, actual.byteOffset, actual.byteLength);\n }\n return new VSBuffer(actual);\n }\n constructor(buffer) {\n this.buffer = buffer;\n this.byteLength = this.buffer.byteLength;\n }\n toString() {\n if (hasBuffer) {\n return this.buffer.toString();\n }\n else {\n if (!textDecoder) {\n textDecoder = new TextDecoder();\n }\n return textDecoder.decode(this.buffer);\n }\n }\n}\nfunction readUInt16LE(source, offset) {\n return (((source[offset + 0] << 0) >>> 0) |\n ((source[offset + 1] << 8) >>> 0));\n}\nfunction writeUInt16LE(destination, value, offset) {\n destination[offset + 0] = (value & 0b11111111);\n value = value >>> 8;\n destination[offset + 1] = (value & 0b11111111);\n}\nfunction readUInt32BE(source, offset) {\n return (source[offset] * Math.pow(2, 24)\n + source[offset + 1] * Math.pow(2, 16)\n + source[offset + 2] * Math.pow(2, 8)\n + source[offset + 3]);\n}\nfunction writeUInt32BE(destination, value, offset) {\n destination[offset + 3] = value;\n value = value >>> 8;\n destination[offset + 2] = value;\n value = value >>> 8;\n destination[offset + 1] = value;\n value = value >>> 8;\n destination[offset] = value;\n}\nfunction readUInt8(source, offset) {\n return source[offset];\n}\nfunction writeUInt8(destination, value, offset) {\n destination[offset] = value;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/buffer.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/cache.js": +/*!****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/cache.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 */ CachedFunction: () => (/* binding */ CachedFunction),\n/* harmony export */ LRUCachedFunction: () => (/* binding */ LRUCachedFunction)\n/* harmony export */ });\n/**\n * Uses a LRU cache to make a given parametrized function cached.\n * Caches just the last value.\n * The key must be JSON serializable.\n*/\nclass LRUCachedFunction {\n constructor(fn) {\n this.fn = fn;\n this.lastCache = undefined;\n this.lastArgKey = undefined;\n }\n get(arg) {\n const key = JSON.stringify(arg);\n if (this.lastArgKey !== key) {\n this.lastArgKey = key;\n this.lastCache = this.fn(arg);\n }\n return this.lastCache;\n }\n}\n/**\n * Uses an unbounded cache (referential equality) to memoize the results of the given function.\n*/\nclass CachedFunction {\n get cachedValues() {\n return this._map;\n }\n constructor(fn) {\n this.fn = fn;\n this._map = new Map();\n }\n get(arg) {\n if (this._map.has(arg)) {\n return this._map.get(arg);\n }\n const value = this.fn(arg);\n this._map.set(arg, value);\n return value;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/cache.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/cancellation.js": +/*!***********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/cancellation.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 */ CancellationToken: () => (/* binding */ CancellationToken),\n/* harmony export */ CancellationTokenSource: () => (/* binding */ CancellationTokenSource)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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\nconst shortcutEvent = Object.freeze(function (callback, context) {\n const handle = setTimeout(callback.bind(context), 0);\n return { dispose() { clearTimeout(handle); } };\n});\nvar CancellationToken;\n(function (CancellationToken) {\n function isCancellationToken(thing) {\n if (thing === CancellationToken.None || thing === CancellationToken.Cancelled) {\n return true;\n }\n if (thing instanceof MutableToken) {\n return true;\n }\n if (!thing || typeof thing !== 'object') {\n return false;\n }\n return typeof thing.isCancellationRequested === 'boolean'\n && typeof thing.onCancellationRequested === 'function';\n }\n CancellationToken.isCancellationToken = isCancellationToken;\n CancellationToken.None = Object.freeze({\n isCancellationRequested: false,\n onCancellationRequested: _event_js__WEBPACK_IMPORTED_MODULE_0__.Event.None\n });\n CancellationToken.Cancelled = Object.freeze({\n isCancellationRequested: true,\n onCancellationRequested: shortcutEvent\n });\n})(CancellationToken || (CancellationToken = {}));\nclass MutableToken {\n constructor() {\n this._isCancelled = false;\n this._emitter = null;\n }\n cancel() {\n if (!this._isCancelled) {\n this._isCancelled = true;\n if (this._emitter) {\n this._emitter.fire(undefined);\n this.dispose();\n }\n }\n }\n get isCancellationRequested() {\n return this._isCancelled;\n }\n get onCancellationRequested() {\n if (this._isCancelled) {\n return shortcutEvent;\n }\n if (!this._emitter) {\n this._emitter = new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter();\n }\n return this._emitter.event;\n }\n dispose() {\n if (this._emitter) {\n this._emitter.dispose();\n this._emitter = null;\n }\n }\n}\nclass CancellationTokenSource {\n constructor(parent) {\n this._token = undefined;\n this._parentListener = undefined;\n this._parentListener = parent && parent.onCancellationRequested(this.cancel, this);\n }\n get token() {\n if (!this._token) {\n // be lazy and create the token only when\n // actually needed\n this._token = new MutableToken();\n }\n return this._token;\n }\n cancel() {\n if (!this._token) {\n // save an object by returning the default\n // cancelled token when cancellation happens\n // before someone asks for the token\n this._token = CancellationToken.Cancelled;\n }\n else if (this._token instanceof MutableToken) {\n // actually cancel\n this._token.cancel();\n }\n }\n dispose(cancel = false) {\n var _a;\n if (cancel) {\n this.cancel();\n }\n (_a = this._parentListener) === null || _a === void 0 ? void 0 : _a.dispose();\n if (!this._token) {\n // ensure to initialize with an empty token if we had none\n this._token = CancellationToken.None;\n }\n else if (this._token instanceof MutableToken) {\n // actually dispose\n this._token.dispose();\n }\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/cancellation.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/codicons.js": +/*!*******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/codicons.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 */ Codicon: () => (/* binding */ Codicon),\n/* harmony export */ getCodiconFontCharacters: () => (/* binding */ getCodiconFontCharacters)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n\nconst _codiconFontCharacters = Object.create(null);\nfunction register(id, fontCharacter) {\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isString)(fontCharacter)) {\n const val = _codiconFontCharacters[fontCharacter];\n if (val === undefined) {\n throw new Error(`${id} references an unknown codicon: ${fontCharacter}`);\n }\n fontCharacter = val;\n }\n _codiconFontCharacters[id] = fontCharacter;\n return { id };\n}\n/**\n * Only to be used by the iconRegistry.\n */\nfunction getCodiconFontCharacters() {\n return _codiconFontCharacters;\n}\n/**\n * The Codicon library is a set of default icons that are built-in in VS Code.\n *\n * In the product (outside of base) Codicons should only be used as defaults. In order to have all icons in VS Code\n * themeable, component should define new, UI component specific icons using `iconRegistry.registerIcon`.\n * In that call a Codicon can be named as default.\n */\nconst Codicon = {\n // built-in icons, with image name\n add: register('add', 0xea60),\n plus: register('plus', 0xea60),\n gistNew: register('gist-new', 0xea60),\n repoCreate: register('repo-create', 0xea60),\n lightbulb: register('lightbulb', 0xea61),\n lightBulb: register('light-bulb', 0xea61),\n repo: register('repo', 0xea62),\n repoDelete: register('repo-delete', 0xea62),\n gistFork: register('gist-fork', 0xea63),\n repoForked: register('repo-forked', 0xea63),\n gitPullRequest: register('git-pull-request', 0xea64),\n gitPullRequestAbandoned: register('git-pull-request-abandoned', 0xea64),\n recordKeys: register('record-keys', 0xea65),\n keyboard: register('keyboard', 0xea65),\n tag: register('tag', 0xea66),\n tagAdd: register('tag-add', 0xea66),\n tagRemove: register('tag-remove', 0xea66),\n person: register('person', 0xea67),\n personFollow: register('person-follow', 0xea67),\n personOutline: register('person-outline', 0xea67),\n personFilled: register('person-filled', 0xea67),\n gitBranch: register('git-branch', 0xea68),\n gitBranchCreate: register('git-branch-create', 0xea68),\n gitBranchDelete: register('git-branch-delete', 0xea68),\n sourceControl: register('source-control', 0xea68),\n mirror: register('mirror', 0xea69),\n mirrorPublic: register('mirror-public', 0xea69),\n star: register('star', 0xea6a),\n starAdd: register('star-add', 0xea6a),\n starDelete: register('star-delete', 0xea6a),\n starEmpty: register('star-empty', 0xea6a),\n comment: register('comment', 0xea6b),\n commentAdd: register('comment-add', 0xea6b),\n alert: register('alert', 0xea6c),\n warning: register('warning', 0xea6c),\n search: register('search', 0xea6d),\n searchSave: register('search-save', 0xea6d),\n logOut: register('log-out', 0xea6e),\n signOut: register('sign-out', 0xea6e),\n logIn: register('log-in', 0xea6f),\n signIn: register('sign-in', 0xea6f),\n eye: register('eye', 0xea70),\n eyeUnwatch: register('eye-unwatch', 0xea70),\n eyeWatch: register('eye-watch', 0xea70),\n circleFilled: register('circle-filled', 0xea71),\n primitiveDot: register('primitive-dot', 0xea71),\n closeDirty: register('close-dirty', 0xea71),\n debugBreakpoint: register('debug-breakpoint', 0xea71),\n debugBreakpointDisabled: register('debug-breakpoint-disabled', 0xea71),\n debugHint: register('debug-hint', 0xea71),\n primitiveSquare: register('primitive-square', 0xea72),\n edit: register('edit', 0xea73),\n pencil: register('pencil', 0xea73),\n info: register('info', 0xea74),\n issueOpened: register('issue-opened', 0xea74),\n gistPrivate: register('gist-private', 0xea75),\n gitForkPrivate: register('git-fork-private', 0xea75),\n lock: register('lock', 0xea75),\n mirrorPrivate: register('mirror-private', 0xea75),\n close: register('close', 0xea76),\n removeClose: register('remove-close', 0xea76),\n x: register('x', 0xea76),\n repoSync: register('repo-sync', 0xea77),\n sync: register('sync', 0xea77),\n clone: register('clone', 0xea78),\n desktopDownload: register('desktop-download', 0xea78),\n beaker: register('beaker', 0xea79),\n microscope: register('microscope', 0xea79),\n vm: register('vm', 0xea7a),\n deviceDesktop: register('device-desktop', 0xea7a),\n file: register('file', 0xea7b),\n fileText: register('file-text', 0xea7b),\n more: register('more', 0xea7c),\n ellipsis: register('ellipsis', 0xea7c),\n kebabHorizontal: register('kebab-horizontal', 0xea7c),\n mailReply: register('mail-reply', 0xea7d),\n reply: register('reply', 0xea7d),\n organization: register('organization', 0xea7e),\n organizationFilled: register('organization-filled', 0xea7e),\n organizationOutline: register('organization-outline', 0xea7e),\n newFile: register('new-file', 0xea7f),\n fileAdd: register('file-add', 0xea7f),\n newFolder: register('new-folder', 0xea80),\n fileDirectoryCreate: register('file-directory-create', 0xea80),\n trash: register('trash', 0xea81),\n trashcan: register('trashcan', 0xea81),\n history: register('history', 0xea82),\n clock: register('clock', 0xea82),\n folder: register('folder', 0xea83),\n fileDirectory: register('file-directory', 0xea83),\n symbolFolder: register('symbol-folder', 0xea83),\n logoGithub: register('logo-github', 0xea84),\n markGithub: register('mark-github', 0xea84),\n github: register('github', 0xea84),\n terminal: register('terminal', 0xea85),\n console: register('console', 0xea85),\n repl: register('repl', 0xea85),\n zap: register('zap', 0xea86),\n symbolEvent: register('symbol-event', 0xea86),\n error: register('error', 0xea87),\n stop: register('stop', 0xea87),\n variable: register('variable', 0xea88),\n symbolVariable: register('symbol-variable', 0xea88),\n array: register('array', 0xea8a),\n symbolArray: register('symbol-array', 0xea8a),\n symbolModule: register('symbol-module', 0xea8b),\n symbolPackage: register('symbol-package', 0xea8b),\n symbolNamespace: register('symbol-namespace', 0xea8b),\n symbolObject: register('symbol-object', 0xea8b),\n symbolMethod: register('symbol-method', 0xea8c),\n symbolFunction: register('symbol-function', 0xea8c),\n symbolConstructor: register('symbol-constructor', 0xea8c),\n symbolBoolean: register('symbol-boolean', 0xea8f),\n symbolNull: register('symbol-null', 0xea8f),\n symbolNumeric: register('symbol-numeric', 0xea90),\n symbolNumber: register('symbol-number', 0xea90),\n symbolStructure: register('symbol-structure', 0xea91),\n symbolStruct: register('symbol-struct', 0xea91),\n symbolParameter: register('symbol-parameter', 0xea92),\n symbolTypeParameter: register('symbol-type-parameter', 0xea92),\n symbolKey: register('symbol-key', 0xea93),\n symbolText: register('symbol-text', 0xea93),\n symbolReference: register('symbol-reference', 0xea94),\n goToFile: register('go-to-file', 0xea94),\n symbolEnum: register('symbol-enum', 0xea95),\n symbolValue: register('symbol-value', 0xea95),\n symbolRuler: register('symbol-ruler', 0xea96),\n symbolUnit: register('symbol-unit', 0xea96),\n activateBreakpoints: register('activate-breakpoints', 0xea97),\n archive: register('archive', 0xea98),\n arrowBoth: register('arrow-both', 0xea99),\n arrowDown: register('arrow-down', 0xea9a),\n arrowLeft: register('arrow-left', 0xea9b),\n arrowRight: register('arrow-right', 0xea9c),\n arrowSmallDown: register('arrow-small-down', 0xea9d),\n arrowSmallLeft: register('arrow-small-left', 0xea9e),\n arrowSmallRight: register('arrow-small-right', 0xea9f),\n arrowSmallUp: register('arrow-small-up', 0xeaa0),\n arrowUp: register('arrow-up', 0xeaa1),\n bell: register('bell', 0xeaa2),\n bold: register('bold', 0xeaa3),\n book: register('book', 0xeaa4),\n bookmark: register('bookmark', 0xeaa5),\n debugBreakpointConditionalUnverified: register('debug-breakpoint-conditional-unverified', 0xeaa6),\n debugBreakpointConditional: register('debug-breakpoint-conditional', 0xeaa7),\n debugBreakpointConditionalDisabled: register('debug-breakpoint-conditional-disabled', 0xeaa7),\n debugBreakpointDataUnverified: register('debug-breakpoint-data-unverified', 0xeaa8),\n debugBreakpointData: register('debug-breakpoint-data', 0xeaa9),\n debugBreakpointDataDisabled: register('debug-breakpoint-data-disabled', 0xeaa9),\n debugBreakpointLogUnverified: register('debug-breakpoint-log-unverified', 0xeaaa),\n debugBreakpointLog: register('debug-breakpoint-log', 0xeaab),\n debugBreakpointLogDisabled: register('debug-breakpoint-log-disabled', 0xeaab),\n briefcase: register('briefcase', 0xeaac),\n broadcast: register('broadcast', 0xeaad),\n browser: register('browser', 0xeaae),\n bug: register('bug', 0xeaaf),\n calendar: register('calendar', 0xeab0),\n caseSensitive: register('case-sensitive', 0xeab1),\n check: register('check', 0xeab2),\n checklist: register('checklist', 0xeab3),\n chevronDown: register('chevron-down', 0xeab4),\n dropDownButton: register('drop-down-button', 0xeab4),\n chevronLeft: register('chevron-left', 0xeab5),\n chevronRight: register('chevron-right', 0xeab6),\n chevronUp: register('chevron-up', 0xeab7),\n chromeClose: register('chrome-close', 0xeab8),\n chromeMaximize: register('chrome-maximize', 0xeab9),\n chromeMinimize: register('chrome-minimize', 0xeaba),\n chromeRestore: register('chrome-restore', 0xeabb),\n circle: register('circle', 0xeabc),\n circleOutline: register('circle-outline', 0xeabc),\n debugBreakpointUnverified: register('debug-breakpoint-unverified', 0xeabc),\n circleSlash: register('circle-slash', 0xeabd),\n circuitBoard: register('circuit-board', 0xeabe),\n clearAll: register('clear-all', 0xeabf),\n clippy: register('clippy', 0xeac0),\n closeAll: register('close-all', 0xeac1),\n cloudDownload: register('cloud-download', 0xeac2),\n cloudUpload: register('cloud-upload', 0xeac3),\n code: register('code', 0xeac4),\n collapseAll: register('collapse-all', 0xeac5),\n colorMode: register('color-mode', 0xeac6),\n commentDiscussion: register('comment-discussion', 0xeac7),\n compareChanges: register('compare-changes', 0xeafd),\n creditCard: register('credit-card', 0xeac9),\n dash: register('dash', 0xeacc),\n dashboard: register('dashboard', 0xeacd),\n database: register('database', 0xeace),\n debugContinue: register('debug-continue', 0xeacf),\n debugDisconnect: register('debug-disconnect', 0xead0),\n debugPause: register('debug-pause', 0xead1),\n debugRestart: register('debug-restart', 0xead2),\n debugStart: register('debug-start', 0xead3),\n debugStepInto: register('debug-step-into', 0xead4),\n debugStepOut: register('debug-step-out', 0xead5),\n debugStepOver: register('debug-step-over', 0xead6),\n debugStop: register('debug-stop', 0xead7),\n debug: register('debug', 0xead8),\n deviceCameraVideo: register('device-camera-video', 0xead9),\n deviceCamera: register('device-camera', 0xeada),\n deviceMobile: register('device-mobile', 0xeadb),\n diffAdded: register('diff-added', 0xeadc),\n diffIgnored: register('diff-ignored', 0xeadd),\n diffModified: register('diff-modified', 0xeade),\n diffRemoved: register('diff-removed', 0xeadf),\n diffRenamed: register('diff-renamed', 0xeae0),\n diff: register('diff', 0xeae1),\n discard: register('discard', 0xeae2),\n editorLayout: register('editor-layout', 0xeae3),\n emptyWindow: register('empty-window', 0xeae4),\n exclude: register('exclude', 0xeae5),\n extensions: register('extensions', 0xeae6),\n eyeClosed: register('eye-closed', 0xeae7),\n fileBinary: register('file-binary', 0xeae8),\n fileCode: register('file-code', 0xeae9),\n fileMedia: register('file-media', 0xeaea),\n filePdf: register('file-pdf', 0xeaeb),\n fileSubmodule: register('file-submodule', 0xeaec),\n fileSymlinkDirectory: register('file-symlink-directory', 0xeaed),\n fileSymlinkFile: register('file-symlink-file', 0xeaee),\n fileZip: register('file-zip', 0xeaef),\n files: register('files', 0xeaf0),\n filter: register('filter', 0xeaf1),\n flame: register('flame', 0xeaf2),\n foldDown: register('fold-down', 0xeaf3),\n foldUp: register('fold-up', 0xeaf4),\n fold: register('fold', 0xeaf5),\n folderActive: register('folder-active', 0xeaf6),\n folderOpened: register('folder-opened', 0xeaf7),\n gear: register('gear', 0xeaf8),\n gift: register('gift', 0xeaf9),\n gistSecret: register('gist-secret', 0xeafa),\n gist: register('gist', 0xeafb),\n gitCommit: register('git-commit', 0xeafc),\n gitCompare: register('git-compare', 0xeafd),\n gitMerge: register('git-merge', 0xeafe),\n githubAction: register('github-action', 0xeaff),\n githubAlt: register('github-alt', 0xeb00),\n globe: register('globe', 0xeb01),\n grabber: register('grabber', 0xeb02),\n graph: register('graph', 0xeb03),\n gripper: register('gripper', 0xeb04),\n heart: register('heart', 0xeb05),\n home: register('home', 0xeb06),\n horizontalRule: register('horizontal-rule', 0xeb07),\n hubot: register('hubot', 0xeb08),\n inbox: register('inbox', 0xeb09),\n issueClosed: register('issue-closed', 0xeba4),\n issueReopened: register('issue-reopened', 0xeb0b),\n issues: register('issues', 0xeb0c),\n italic: register('italic', 0xeb0d),\n jersey: register('jersey', 0xeb0e),\n json: register('json', 0xeb0f),\n bracket: register('bracket', 0xeb0f),\n kebabVertical: register('kebab-vertical', 0xeb10),\n key: register('key', 0xeb11),\n law: register('law', 0xeb12),\n lightbulbAutofix: register('lightbulb-autofix', 0xeb13),\n linkExternal: register('link-external', 0xeb14),\n link: register('link', 0xeb15),\n listOrdered: register('list-ordered', 0xeb16),\n listUnordered: register('list-unordered', 0xeb17),\n liveShare: register('live-share', 0xeb18),\n loading: register('loading', 0xeb19),\n location: register('location', 0xeb1a),\n mailRead: register('mail-read', 0xeb1b),\n mail: register('mail', 0xeb1c),\n markdown: register('markdown', 0xeb1d),\n megaphone: register('megaphone', 0xeb1e),\n mention: register('mention', 0xeb1f),\n milestone: register('milestone', 0xeb20),\n mortarBoard: register('mortar-board', 0xeb21),\n move: register('move', 0xeb22),\n multipleWindows: register('multiple-windows', 0xeb23),\n mute: register('mute', 0xeb24),\n noNewline: register('no-newline', 0xeb25),\n note: register('note', 0xeb26),\n octoface: register('octoface', 0xeb27),\n openPreview: register('open-preview', 0xeb28),\n package_: register('package', 0xeb29),\n paintcan: register('paintcan', 0xeb2a),\n pin: register('pin', 0xeb2b),\n play: register('play', 0xeb2c),\n run: register('run', 0xeb2c),\n plug: register('plug', 0xeb2d),\n preserveCase: register('preserve-case', 0xeb2e),\n preview: register('preview', 0xeb2f),\n project: register('project', 0xeb30),\n pulse: register('pulse', 0xeb31),\n question: register('question', 0xeb32),\n quote: register('quote', 0xeb33),\n radioTower: register('radio-tower', 0xeb34),\n reactions: register('reactions', 0xeb35),\n references: register('references', 0xeb36),\n refresh: register('refresh', 0xeb37),\n regex: register('regex', 0xeb38),\n remoteExplorer: register('remote-explorer', 0xeb39),\n remote: register('remote', 0xeb3a),\n remove: register('remove', 0xeb3b),\n replaceAll: register('replace-all', 0xeb3c),\n replace: register('replace', 0xeb3d),\n repoClone: register('repo-clone', 0xeb3e),\n repoForcePush: register('repo-force-push', 0xeb3f),\n repoPull: register('repo-pull', 0xeb40),\n repoPush: register('repo-push', 0xeb41),\n report: register('report', 0xeb42),\n requestChanges: register('request-changes', 0xeb43),\n rocket: register('rocket', 0xeb44),\n rootFolderOpened: register('root-folder-opened', 0xeb45),\n rootFolder: register('root-folder', 0xeb46),\n rss: register('rss', 0xeb47),\n ruby: register('ruby', 0xeb48),\n saveAll: register('save-all', 0xeb49),\n saveAs: register('save-as', 0xeb4a),\n save: register('save', 0xeb4b),\n screenFull: register('screen-full', 0xeb4c),\n screenNormal: register('screen-normal', 0xeb4d),\n searchStop: register('search-stop', 0xeb4e),\n server: register('server', 0xeb50),\n settingsGear: register('settings-gear', 0xeb51),\n settings: register('settings', 0xeb52),\n shield: register('shield', 0xeb53),\n smiley: register('smiley', 0xeb54),\n sortPrecedence: register('sort-precedence', 0xeb55),\n splitHorizontal: register('split-horizontal', 0xeb56),\n splitVertical: register('split-vertical', 0xeb57),\n squirrel: register('squirrel', 0xeb58),\n starFull: register('star-full', 0xeb59),\n starHalf: register('star-half', 0xeb5a),\n symbolClass: register('symbol-class', 0xeb5b),\n symbolColor: register('symbol-color', 0xeb5c),\n symbolCustomColor: register('symbol-customcolor', 0xeb5c),\n symbolConstant: register('symbol-constant', 0xeb5d),\n symbolEnumMember: register('symbol-enum-member', 0xeb5e),\n symbolField: register('symbol-field', 0xeb5f),\n symbolFile: register('symbol-file', 0xeb60),\n symbolInterface: register('symbol-interface', 0xeb61),\n symbolKeyword: register('symbol-keyword', 0xeb62),\n symbolMisc: register('symbol-misc', 0xeb63),\n symbolOperator: register('symbol-operator', 0xeb64),\n symbolProperty: register('symbol-property', 0xeb65),\n wrench: register('wrench', 0xeb65),\n wrenchSubaction: register('wrench-subaction', 0xeb65),\n symbolSnippet: register('symbol-snippet', 0xeb66),\n tasklist: register('tasklist', 0xeb67),\n telescope: register('telescope', 0xeb68),\n textSize: register('text-size', 0xeb69),\n threeBars: register('three-bars', 0xeb6a),\n thumbsdown: register('thumbsdown', 0xeb6b),\n thumbsup: register('thumbsup', 0xeb6c),\n tools: register('tools', 0xeb6d),\n triangleDown: register('triangle-down', 0xeb6e),\n triangleLeft: register('triangle-left', 0xeb6f),\n triangleRight: register('triangle-right', 0xeb70),\n triangleUp: register('triangle-up', 0xeb71),\n twitter: register('twitter', 0xeb72),\n unfold: register('unfold', 0xeb73),\n unlock: register('unlock', 0xeb74),\n unmute: register('unmute', 0xeb75),\n unverified: register('unverified', 0xeb76),\n verified: register('verified', 0xeb77),\n versions: register('versions', 0xeb78),\n vmActive: register('vm-active', 0xeb79),\n vmOutline: register('vm-outline', 0xeb7a),\n vmRunning: register('vm-running', 0xeb7b),\n watch: register('watch', 0xeb7c),\n whitespace: register('whitespace', 0xeb7d),\n wholeWord: register('whole-word', 0xeb7e),\n window: register('window', 0xeb7f),\n wordWrap: register('word-wrap', 0xeb80),\n zoomIn: register('zoom-in', 0xeb81),\n zoomOut: register('zoom-out', 0xeb82),\n listFilter: register('list-filter', 0xeb83),\n listFlat: register('list-flat', 0xeb84),\n listSelection: register('list-selection', 0xeb85),\n selection: register('selection', 0xeb85),\n listTree: register('list-tree', 0xeb86),\n debugBreakpointFunctionUnverified: register('debug-breakpoint-function-unverified', 0xeb87),\n debugBreakpointFunction: register('debug-breakpoint-function', 0xeb88),\n debugBreakpointFunctionDisabled: register('debug-breakpoint-function-disabled', 0xeb88),\n debugStackframeActive: register('debug-stackframe-active', 0xeb89),\n circleSmallFilled: register('circle-small-filled', 0xeb8a),\n debugStackframeDot: register('debug-stackframe-dot', 0xeb8a),\n debugStackframe: register('debug-stackframe', 0xeb8b),\n debugStackframeFocused: register('debug-stackframe-focused', 0xeb8b),\n debugBreakpointUnsupported: register('debug-breakpoint-unsupported', 0xeb8c),\n symbolString: register('symbol-string', 0xeb8d),\n debugReverseContinue: register('debug-reverse-continue', 0xeb8e),\n debugStepBack: register('debug-step-back', 0xeb8f),\n debugRestartFrame: register('debug-restart-frame', 0xeb90),\n callIncoming: register('call-incoming', 0xeb92),\n callOutgoing: register('call-outgoing', 0xeb93),\n menu: register('menu', 0xeb94),\n expandAll: register('expand-all', 0xeb95),\n feedback: register('feedback', 0xeb96),\n groupByRefType: register('group-by-ref-type', 0xeb97),\n ungroupByRefType: register('ungroup-by-ref-type', 0xeb98),\n account: register('account', 0xeb99),\n bellDot: register('bell-dot', 0xeb9a),\n debugConsole: register('debug-console', 0xeb9b),\n library: register('library', 0xeb9c),\n output: register('output', 0xeb9d),\n runAll: register('run-all', 0xeb9e),\n syncIgnored: register('sync-ignored', 0xeb9f),\n pinned: register('pinned', 0xeba0),\n githubInverted: register('github-inverted', 0xeba1),\n debugAlt: register('debug-alt', 0xeb91),\n serverProcess: register('server-process', 0xeba2),\n serverEnvironment: register('server-environment', 0xeba3),\n pass: register('pass', 0xeba4),\n stopCircle: register('stop-circle', 0xeba5),\n playCircle: register('play-circle', 0xeba6),\n record: register('record', 0xeba7),\n debugAltSmall: register('debug-alt-small', 0xeba8),\n vmConnect: register('vm-connect', 0xeba9),\n cloud: register('cloud', 0xebaa),\n merge: register('merge', 0xebab),\n exportIcon: register('export', 0xebac),\n graphLeft: register('graph-left', 0xebad),\n magnet: register('magnet', 0xebae),\n notebook: register('notebook', 0xebaf),\n redo: register('redo', 0xebb0),\n checkAll: register('check-all', 0xebb1),\n pinnedDirty: register('pinned-dirty', 0xebb2),\n passFilled: register('pass-filled', 0xebb3),\n circleLargeFilled: register('circle-large-filled', 0xebb4),\n circleLarge: register('circle-large', 0xebb5),\n circleLargeOutline: register('circle-large-outline', 0xebb5),\n combine: register('combine', 0xebb6),\n gather: register('gather', 0xebb6),\n table: register('table', 0xebb7),\n variableGroup: register('variable-group', 0xebb8),\n typeHierarchy: register('type-hierarchy', 0xebb9),\n typeHierarchySub: register('type-hierarchy-sub', 0xebba),\n typeHierarchySuper: register('type-hierarchy-super', 0xebbb),\n gitPullRequestCreate: register('git-pull-request-create', 0xebbc),\n runAbove: register('run-above', 0xebbd),\n runBelow: register('run-below', 0xebbe),\n notebookTemplate: register('notebook-template', 0xebbf),\n debugRerun: register('debug-rerun', 0xebc0),\n workspaceTrusted: register('workspace-trusted', 0xebc1),\n workspaceUntrusted: register('workspace-untrusted', 0xebc2),\n workspaceUnspecified: register('workspace-unspecified', 0xebc3),\n terminalCmd: register('terminal-cmd', 0xebc4),\n terminalDebian: register('terminal-debian', 0xebc5),\n terminalLinux: register('terminal-linux', 0xebc6),\n terminalPowershell: register('terminal-powershell', 0xebc7),\n terminalTmux: register('terminal-tmux', 0xebc8),\n terminalUbuntu: register('terminal-ubuntu', 0xebc9),\n terminalBash: register('terminal-bash', 0xebca),\n arrowSwap: register('arrow-swap', 0xebcb),\n copy: register('copy', 0xebcc),\n personAdd: register('person-add', 0xebcd),\n filterFilled: register('filter-filled', 0xebce),\n wand: register('wand', 0xebcf),\n debugLineByLine: register('debug-line-by-line', 0xebd0),\n inspect: register('inspect', 0xebd1),\n layers: register('layers', 0xebd2),\n layersDot: register('layers-dot', 0xebd3),\n layersActive: register('layers-active', 0xebd4),\n compass: register('compass', 0xebd5),\n compassDot: register('compass-dot', 0xebd6),\n compassActive: register('compass-active', 0xebd7),\n azure: register('azure', 0xebd8),\n issueDraft: register('issue-draft', 0xebd9),\n gitPullRequestClosed: register('git-pull-request-closed', 0xebda),\n gitPullRequestDraft: register('git-pull-request-draft', 0xebdb),\n debugAll: register('debug-all', 0xebdc),\n debugCoverage: register('debug-coverage', 0xebdd),\n runErrors: register('run-errors', 0xebde),\n folderLibrary: register('folder-library', 0xebdf),\n debugContinueSmall: register('debug-continue-small', 0xebe0),\n beakerStop: register('beaker-stop', 0xebe1),\n graphLine: register('graph-line', 0xebe2),\n graphScatter: register('graph-scatter', 0xebe3),\n pieChart: register('pie-chart', 0xebe4),\n bracketDot: register('bracket-dot', 0xebe5),\n bracketError: register('bracket-error', 0xebe6),\n lockSmall: register('lock-small', 0xebe7),\n azureDevops: register('azure-devops', 0xebe8),\n verifiedFilled: register('verified-filled', 0xebe9),\n newLine: register('newline', 0xebea),\n layout: register('layout', 0xebeb),\n layoutActivitybarLeft: register('layout-activitybar-left', 0xebec),\n layoutActivitybarRight: register('layout-activitybar-right', 0xebed),\n layoutPanelLeft: register('layout-panel-left', 0xebee),\n layoutPanelCenter: register('layout-panel-center', 0xebef),\n layoutPanelJustify: register('layout-panel-justify', 0xebf0),\n layoutPanelRight: register('layout-panel-right', 0xebf1),\n layoutPanel: register('layout-panel', 0xebf2),\n layoutSidebarLeft: register('layout-sidebar-left', 0xebf3),\n layoutSidebarRight: register('layout-sidebar-right', 0xebf4),\n layoutStatusbar: register('layout-statusbar', 0xebf5),\n layoutMenubar: register('layout-menubar', 0xebf6),\n layoutCentered: register('layout-centered', 0xebf7),\n layoutSidebarRightOff: register('layout-sidebar-right-off', 0xec00),\n layoutPanelOff: register('layout-panel-off', 0xec01),\n layoutSidebarLeftOff: register('layout-sidebar-left-off', 0xec02),\n target: register('target', 0xebf8),\n indent: register('indent', 0xebf9),\n recordSmall: register('record-small', 0xebfa),\n errorSmall: register('error-small', 0xebfb),\n arrowCircleDown: register('arrow-circle-down', 0xebfc),\n arrowCircleLeft: register('arrow-circle-left', 0xebfd),\n arrowCircleRight: register('arrow-circle-right', 0xebfe),\n arrowCircleUp: register('arrow-circle-up', 0xebff),\n heartFilled: register('heart-filled', 0xec04),\n map: register('map', 0xec05),\n mapFilled: register('map-filled', 0xec06),\n circleSmall: register('circle-small', 0xec07),\n bellSlash: register('bell-slash', 0xec08),\n bellSlashDot: register('bell-slash-dot', 0xec09),\n commentUnresolved: register('comment-unresolved', 0xec0a),\n gitPullRequestGoToChanges: register('git-pull-request-go-to-changes', 0xec0b),\n gitPullRequestNewChanges: register('git-pull-request-new-changes', 0xec0c),\n searchFuzzy: register('search-fuzzy', 0xec0d),\n commentDraft: register('comment-draft', 0xec0e),\n send: register('send', 0xec0f),\n sparkle: register('sparkle', 0xec10),\n insert: register('insert', 0xec11),\n // derived icons, that could become separate icons\n dialogError: register('dialog-error', 'error'),\n dialogWarning: register('dialog-warning', 'warning'),\n dialogInfo: register('dialog-info', 'info'),\n dialogClose: register('dialog-close', 'close'),\n treeItemExpanded: register('tree-item-expanded', 'chevron-down'),\n treeFilterOnTypeOn: register('tree-filter-on-type-on', 'list-filter'),\n treeFilterOnTypeOff: register('tree-filter-on-type-off', 'list-selection'),\n treeFilterClear: register('tree-filter-clear', 'close'),\n treeItemLoading: register('tree-item-loading', 'loading'),\n menuSelection: register('menu-selection', 'check'),\n menuSubmenu: register('menu-submenu', 'chevron-right'),\n menuBarMore: register('menubar-more', 'more'),\n scrollbarButtonLeft: register('scrollbar-button-left', 'triangle-left'),\n scrollbarButtonRight: register('scrollbar-button-right', 'triangle-right'),\n scrollbarButtonUp: register('scrollbar-button-up', 'triangle-up'),\n scrollbarButtonDown: register('scrollbar-button-down', 'triangle-down'),\n toolBarMore: register('toolbar-more', 'more'),\n quickInputBack: register('quick-input-back', 'arrow-left')\n};\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/codicons.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/collections.js": +/*!**********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/collections.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 */ SetMap: () => (/* binding */ SetMap)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nclass SetMap {\n constructor() {\n this.map = new Map();\n }\n add(key, value) {\n let values = this.map.get(key);\n if (!values) {\n values = new Set();\n this.map.set(key, values);\n }\n values.add(value);\n }\n delete(key, value) {\n const values = this.map.get(key);\n if (!values) {\n return;\n }\n values.delete(value);\n if (values.size === 0) {\n this.map.delete(key);\n }\n }\n forEach(key, fn) {\n const values = this.map.get(key);\n if (!values) {\n return;\n }\n values.forEach(fn);\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/collections.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/color.js": +/*!****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/color.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 */ Color: () => (/* binding */ Color),\n/* harmony export */ HSLA: () => (/* binding */ HSLA),\n/* harmony export */ HSVA: () => (/* binding */ HSVA),\n/* harmony export */ RGBA: () => (/* binding */ RGBA)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nfunction roundFloat(number, decimalPoints) {\n const decimal = Math.pow(10, decimalPoints);\n return Math.round(number * decimal) / decimal;\n}\nclass RGBA {\n constructor(r, g, b, a = 1) {\n this._rgbaBrand = undefined;\n this.r = Math.min(255, Math.max(0, r)) | 0;\n this.g = Math.min(255, Math.max(0, g)) | 0;\n this.b = Math.min(255, Math.max(0, b)) | 0;\n this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);\n }\n static equals(a, b) {\n return a.r === b.r && a.g === b.g && a.b === b.b && a.a === b.a;\n }\n}\nclass HSLA {\n constructor(h, s, l, a) {\n this._hslaBrand = undefined;\n this.h = Math.max(Math.min(360, h), 0) | 0;\n this.s = roundFloat(Math.max(Math.min(1, s), 0), 3);\n this.l = roundFloat(Math.max(Math.min(1, l), 0), 3);\n this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);\n }\n static equals(a, b) {\n return a.h === b.h && a.s === b.s && a.l === b.l && a.a === b.a;\n }\n /**\n * Converts an RGB color value to HSL. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n * Assumes r, g, and b are contained in the set [0, 255] and\n * returns h in the set [0, 360], s, and l in the set [0, 1].\n */\n static fromRGBA(rgba) {\n const r = rgba.r / 255;\n const g = rgba.g / 255;\n const b = rgba.b / 255;\n const a = rgba.a;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n let s = 0;\n const l = (min + max) / 2;\n const chroma = max - min;\n if (chroma > 0) {\n s = Math.min((l <= 0.5 ? chroma / (2 * l) : chroma / (2 - (2 * l))), 1);\n switch (max) {\n case r:\n h = (g - b) / chroma + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / chroma + 2;\n break;\n case b:\n h = (r - g) / chroma + 4;\n break;\n }\n h *= 60;\n h = Math.round(h);\n }\n return new HSLA(h, s, l, a);\n }\n static _hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n }\n /**\n * Converts an HSL color value to RGB. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n * Assumes h in the set [0, 360] s, and l are contained in the set [0, 1] and\n * returns r, g, and b in the set [0, 255].\n */\n static toRGBA(hsla) {\n const h = hsla.h / 360;\n const { s, l, a } = hsla;\n let r, g, b;\n if (s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n r = HSLA._hue2rgb(p, q, h + 1 / 3);\n g = HSLA._hue2rgb(p, q, h);\n b = HSLA._hue2rgb(p, q, h - 1 / 3);\n }\n return new RGBA(Math.round(r * 255), Math.round(g * 255), Math.round(b * 255), a);\n }\n}\nclass HSVA {\n constructor(h, s, v, a) {\n this._hsvaBrand = undefined;\n this.h = Math.max(Math.min(360, h), 0) | 0;\n this.s = roundFloat(Math.max(Math.min(1, s), 0), 3);\n this.v = roundFloat(Math.max(Math.min(1, v), 0), 3);\n this.a = roundFloat(Math.max(Math.min(1, a), 0), 3);\n }\n static equals(a, b) {\n return a.h === b.h && a.s === b.s && a.v === b.v && a.a === b.a;\n }\n // from http://www.rapidtables.com/convert/color/rgb-to-hsv.htm\n static fromRGBA(rgba) {\n const r = rgba.r / 255;\n const g = rgba.g / 255;\n const b = rgba.b / 255;\n const cmax = Math.max(r, g, b);\n const cmin = Math.min(r, g, b);\n const delta = cmax - cmin;\n const s = cmax === 0 ? 0 : (delta / cmax);\n let m;\n if (delta === 0) {\n m = 0;\n }\n else if (cmax === r) {\n m = ((((g - b) / delta) % 6) + 6) % 6;\n }\n else if (cmax === g) {\n m = ((b - r) / delta) + 2;\n }\n else {\n m = ((r - g) / delta) + 4;\n }\n return new HSVA(Math.round(m * 60), s, cmax, rgba.a);\n }\n // from http://www.rapidtables.com/convert/color/hsv-to-rgb.htm\n static toRGBA(hsva) {\n const { h, s, v, a } = hsva;\n const c = v * s;\n const x = c * (1 - Math.abs((h / 60) % 2 - 1));\n const m = v - c;\n let [r, g, b] = [0, 0, 0];\n if (h < 60) {\n r = c;\n g = x;\n }\n else if (h < 120) {\n r = x;\n g = c;\n }\n else if (h < 180) {\n g = c;\n b = x;\n }\n else if (h < 240) {\n g = x;\n b = c;\n }\n else if (h < 300) {\n r = x;\n b = c;\n }\n else if (h <= 360) {\n r = c;\n b = x;\n }\n r = Math.round((r + m) * 255);\n g = Math.round((g + m) * 255);\n b = Math.round((b + m) * 255);\n return new RGBA(r, g, b, a);\n }\n}\nclass Color {\n static fromHex(hex) {\n return Color.Format.CSS.parseHex(hex) || Color.red;\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.equals(b);\n }\n get hsla() {\n if (this._hsla) {\n return this._hsla;\n }\n else {\n return HSLA.fromRGBA(this.rgba);\n }\n }\n get hsva() {\n if (this._hsva) {\n return this._hsva;\n }\n return HSVA.fromRGBA(this.rgba);\n }\n constructor(arg) {\n if (!arg) {\n throw new Error('Color needs a value');\n }\n else if (arg instanceof RGBA) {\n this.rgba = arg;\n }\n else if (arg instanceof HSLA) {\n this._hsla = arg;\n this.rgba = HSLA.toRGBA(arg);\n }\n else if (arg instanceof HSVA) {\n this._hsva = arg;\n this.rgba = HSVA.toRGBA(arg);\n }\n else {\n throw new Error('Invalid color ctor argument');\n }\n }\n equals(other) {\n return !!other && RGBA.equals(this.rgba, other.rgba) && HSLA.equals(this.hsla, other.hsla) && HSVA.equals(this.hsva, other.hsva);\n }\n /**\n * http://www.w3.org/TR/WCAG20/#relativeluminancedef\n * Returns the number in the set [0, 1]. O => Darkest Black. 1 => Lightest white.\n */\n getRelativeLuminance() {\n const R = Color._relativeLuminanceForComponent(this.rgba.r);\n const G = Color._relativeLuminanceForComponent(this.rgba.g);\n const B = Color._relativeLuminanceForComponent(this.rgba.b);\n const luminance = 0.2126 * R + 0.7152 * G + 0.0722 * B;\n return roundFloat(luminance, 4);\n }\n static _relativeLuminanceForComponent(color) {\n const c = color / 255;\n return (c <= 0.03928) ? c / 12.92 : Math.pow(((c + 0.055) / 1.055), 2.4);\n }\n /**\n *\thttp://24ways.org/2010/calculating-color-contrast\n * Return 'true' if lighter color otherwise 'false'\n */\n isLighter() {\n const yiq = (this.rgba.r * 299 + this.rgba.g * 587 + this.rgba.b * 114) / 1000;\n return yiq >= 128;\n }\n isLighterThan(another) {\n const lum1 = this.getRelativeLuminance();\n const lum2 = another.getRelativeLuminance();\n return lum1 > lum2;\n }\n isDarkerThan(another) {\n const lum1 = this.getRelativeLuminance();\n const lum2 = another.getRelativeLuminance();\n return lum1 < lum2;\n }\n lighten(factor) {\n return new Color(new HSLA(this.hsla.h, this.hsla.s, this.hsla.l + this.hsla.l * factor, this.hsla.a));\n }\n darken(factor) {\n return new Color(new HSLA(this.hsla.h, this.hsla.s, this.hsla.l - this.hsla.l * factor, this.hsla.a));\n }\n transparent(factor) {\n const { r, g, b, a } = this.rgba;\n return new Color(new RGBA(r, g, b, a * factor));\n }\n isTransparent() {\n return this.rgba.a === 0;\n }\n isOpaque() {\n return this.rgba.a === 1;\n }\n opposite() {\n return new Color(new RGBA(255 - this.rgba.r, 255 - this.rgba.g, 255 - this.rgba.b, this.rgba.a));\n }\n makeOpaque(opaqueBackground) {\n if (this.isOpaque() || opaqueBackground.rgba.a !== 1) {\n // only allow to blend onto a non-opaque color onto a opaque color\n return this;\n }\n const { r, g, b, a } = this.rgba;\n // https://stackoverflow.com/questions/12228548/finding-equivalent-color-with-opacity\n return new Color(new RGBA(opaqueBackground.rgba.r - a * (opaqueBackground.rgba.r - r), opaqueBackground.rgba.g - a * (opaqueBackground.rgba.g - g), opaqueBackground.rgba.b - a * (opaqueBackground.rgba.b - b), 1));\n }\n toString() {\n if (!this._toString) {\n this._toString = Color.Format.CSS.format(this);\n }\n return this._toString;\n }\n static getLighterColor(of, relative, factor) {\n if (of.isLighterThan(relative)) {\n return of;\n }\n factor = factor ? factor : 0.5;\n const lum1 = of.getRelativeLuminance();\n const lum2 = relative.getRelativeLuminance();\n factor = factor * (lum2 - lum1) / lum2;\n return of.lighten(factor);\n }\n static getDarkerColor(of, relative, factor) {\n if (of.isDarkerThan(relative)) {\n return of;\n }\n factor = factor ? factor : 0.5;\n const lum1 = of.getRelativeLuminance();\n const lum2 = relative.getRelativeLuminance();\n factor = factor * (lum1 - lum2) / lum1;\n return of.darken(factor);\n }\n}\nColor.white = new Color(new RGBA(255, 255, 255, 1));\nColor.black = new Color(new RGBA(0, 0, 0, 1));\nColor.red = new Color(new RGBA(255, 0, 0, 1));\nColor.blue = new Color(new RGBA(0, 0, 255, 1));\nColor.green = new Color(new RGBA(0, 255, 0, 1));\nColor.cyan = new Color(new RGBA(0, 255, 255, 1));\nColor.lightgrey = new Color(new RGBA(211, 211, 211, 1));\nColor.transparent = new Color(new RGBA(0, 0, 0, 0));\n(function (Color) {\n let Format;\n (function (Format) {\n let CSS;\n (function (CSS) {\n function formatRGB(color) {\n if (color.rgba.a === 1) {\n return `rgb(${color.rgba.r}, ${color.rgba.g}, ${color.rgba.b})`;\n }\n return Color.Format.CSS.formatRGBA(color);\n }\n CSS.formatRGB = formatRGB;\n function formatRGBA(color) {\n return `rgba(${color.rgba.r}, ${color.rgba.g}, ${color.rgba.b}, ${+(color.rgba.a).toFixed(2)})`;\n }\n CSS.formatRGBA = formatRGBA;\n function formatHSL(color) {\n if (color.hsla.a === 1) {\n return `hsl(${color.hsla.h}, ${(color.hsla.s * 100).toFixed(2)}%, ${(color.hsla.l * 100).toFixed(2)}%)`;\n }\n return Color.Format.CSS.formatHSLA(color);\n }\n CSS.formatHSL = formatHSL;\n function formatHSLA(color) {\n return `hsla(${color.hsla.h}, ${(color.hsla.s * 100).toFixed(2)}%, ${(color.hsla.l * 100).toFixed(2)}%, ${color.hsla.a.toFixed(2)})`;\n }\n CSS.formatHSLA = formatHSLA;\n function _toTwoDigitHex(n) {\n const r = n.toString(16);\n return r.length !== 2 ? '0' + r : r;\n }\n /**\n * Formats the color as #RRGGBB\n */\n function formatHex(color) {\n return `#${_toTwoDigitHex(color.rgba.r)}${_toTwoDigitHex(color.rgba.g)}${_toTwoDigitHex(color.rgba.b)}`;\n }\n CSS.formatHex = formatHex;\n /**\n * Formats the color as #RRGGBBAA\n * If 'compact' is set, colors without transparancy will be printed as #RRGGBB\n */\n function formatHexA(color, compact = false) {\n if (compact && color.rgba.a === 1) {\n return Color.Format.CSS.formatHex(color);\n }\n return `#${_toTwoDigitHex(color.rgba.r)}${_toTwoDigitHex(color.rgba.g)}${_toTwoDigitHex(color.rgba.b)}${_toTwoDigitHex(Math.round(color.rgba.a * 255))}`;\n }\n CSS.formatHexA = formatHexA;\n /**\n * The default format will use HEX if opaque and RGBA otherwise.\n */\n function format(color) {\n if (color.isOpaque()) {\n return Color.Format.CSS.formatHex(color);\n }\n return Color.Format.CSS.formatRGBA(color);\n }\n CSS.format = format;\n /**\n * Converts an Hex color value to a Color.\n * returns r, g, and b are contained in the set [0, 255]\n * @param hex string (#RGB, #RGBA, #RRGGBB or #RRGGBBAA).\n */\n function parseHex(hex) {\n const length = hex.length;\n if (length === 0) {\n // Invalid color\n return null;\n }\n if (hex.charCodeAt(0) !== 35 /* CharCode.Hash */) {\n // Does not begin with a #\n return null;\n }\n if (length === 7) {\n // #RRGGBB format\n const r = 16 * _parseHexDigit(hex.charCodeAt(1)) + _parseHexDigit(hex.charCodeAt(2));\n const g = 16 * _parseHexDigit(hex.charCodeAt(3)) + _parseHexDigit(hex.charCodeAt(4));\n const b = 16 * _parseHexDigit(hex.charCodeAt(5)) + _parseHexDigit(hex.charCodeAt(6));\n return new Color(new RGBA(r, g, b, 1));\n }\n if (length === 9) {\n // #RRGGBBAA format\n const r = 16 * _parseHexDigit(hex.charCodeAt(1)) + _parseHexDigit(hex.charCodeAt(2));\n const g = 16 * _parseHexDigit(hex.charCodeAt(3)) + _parseHexDigit(hex.charCodeAt(4));\n const b = 16 * _parseHexDigit(hex.charCodeAt(5)) + _parseHexDigit(hex.charCodeAt(6));\n const a = 16 * _parseHexDigit(hex.charCodeAt(7)) + _parseHexDigit(hex.charCodeAt(8));\n return new Color(new RGBA(r, g, b, a / 255));\n }\n if (length === 4) {\n // #RGB format\n const r = _parseHexDigit(hex.charCodeAt(1));\n const g = _parseHexDigit(hex.charCodeAt(2));\n const b = _parseHexDigit(hex.charCodeAt(3));\n return new Color(new RGBA(16 * r + r, 16 * g + g, 16 * b + b));\n }\n if (length === 5) {\n // #RGBA format\n const r = _parseHexDigit(hex.charCodeAt(1));\n const g = _parseHexDigit(hex.charCodeAt(2));\n const b = _parseHexDigit(hex.charCodeAt(3));\n const a = _parseHexDigit(hex.charCodeAt(4));\n return new Color(new RGBA(16 * r + r, 16 * g + g, 16 * b + b, (16 * a + a) / 255));\n }\n // Invalid color\n return null;\n }\n CSS.parseHex = parseHex;\n function _parseHexDigit(charCode) {\n switch (charCode) {\n case 48 /* CharCode.Digit0 */: return 0;\n case 49 /* CharCode.Digit1 */: return 1;\n case 50 /* CharCode.Digit2 */: return 2;\n case 51 /* CharCode.Digit3 */: return 3;\n case 52 /* CharCode.Digit4 */: return 4;\n case 53 /* CharCode.Digit5 */: return 5;\n case 54 /* CharCode.Digit6 */: return 6;\n case 55 /* CharCode.Digit7 */: return 7;\n case 56 /* CharCode.Digit8 */: return 8;\n case 57 /* CharCode.Digit9 */: return 9;\n case 97 /* CharCode.a */: return 10;\n case 65 /* CharCode.A */: return 10;\n case 98 /* CharCode.b */: return 11;\n case 66 /* CharCode.B */: return 11;\n case 99 /* CharCode.c */: return 12;\n case 67 /* CharCode.C */: return 12;\n case 100 /* CharCode.d */: return 13;\n case 68 /* CharCode.D */: return 13;\n case 101 /* CharCode.e */: return 14;\n case 69 /* CharCode.E */: return 14;\n case 102 /* CharCode.f */: return 15;\n case 70 /* CharCode.F */: return 15;\n }\n return 0;\n }\n })(CSS = Format.CSS || (Format.CSS = {}));\n })(Format = Color.Format || (Color.Format = {}));\n})(Color || (Color = {}));\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/color.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/comparers.js": +/*!********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/comparers.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 */ compareAnything: () => (/* binding */ compareAnything),\n/* harmony export */ compareByPrefix: () => (/* binding */ compareByPrefix),\n/* harmony export */ compareFileNames: () => (/* binding */ compareFileNames)\n/* harmony export */ });\n/* harmony import */ var _lazy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lazy.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lazy.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// When comparing large numbers of strings it's better for performance to create an\n// Intl.Collator object and use the function provided by its compare property\n// than it is to use String.prototype.localeCompare()\n// A collator with numeric sorting enabled, and no sensitivity to case, accents or diacritics.\nconst intlFileNameCollatorBaseNumeric = new _lazy_js__WEBPACK_IMPORTED_MODULE_0__.Lazy(() => {\n const collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' });\n return {\n collator,\n collatorIsNumeric: collator.resolvedOptions().numeric\n };\n});\n// A collator with numeric sorting enabled.\nconst intlFileNameCollatorNumeric = new _lazy_js__WEBPACK_IMPORTED_MODULE_0__.Lazy(() => {\n const collator = new Intl.Collator(undefined, { numeric: true });\n return {\n collator\n };\n});\n// A collator with numeric sorting enabled, and sensitivity to accents and diacritics but not case.\nconst intlFileNameCollatorNumericCaseInsensitive = new _lazy_js__WEBPACK_IMPORTED_MODULE_0__.Lazy(() => {\n const collator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'accent' });\n return {\n collator\n };\n});\n/** Compares filenames without distinguishing the name from the extension. Disambiguates by unicode comparison. */\nfunction compareFileNames(one, other, caseSensitive = false) {\n const a = one || '';\n const b = other || '';\n const result = intlFileNameCollatorBaseNumeric.value.collator.compare(a, b);\n // Using the numeric option will make compare(`foo1`, `foo01`) === 0. Disambiguate.\n if (intlFileNameCollatorBaseNumeric.value.collatorIsNumeric && result === 0 && a !== b) {\n return a < b ? -1 : 1;\n }\n return result;\n}\nfunction compareAnything(one, other, lookFor) {\n const elementAName = one.toLowerCase();\n const elementBName = other.toLowerCase();\n // Sort prefix matches over non prefix matches\n const prefixCompare = compareByPrefix(one, other, lookFor);\n if (prefixCompare) {\n return prefixCompare;\n }\n // Sort suffix matches over non suffix matches\n const elementASuffixMatch = elementAName.endsWith(lookFor);\n const elementBSuffixMatch = elementBName.endsWith(lookFor);\n if (elementASuffixMatch !== elementBSuffixMatch) {\n return elementASuffixMatch ? -1 : 1;\n }\n // Understand file names\n const r = compareFileNames(elementAName, elementBName);\n if (r !== 0) {\n return r;\n }\n // Compare by name\n return elementAName.localeCompare(elementBName);\n}\nfunction compareByPrefix(one, other, lookFor) {\n const elementAName = one.toLowerCase();\n const elementBName = other.toLowerCase();\n // Sort prefix matches over non prefix matches\n const elementAPrefixMatch = elementAName.startsWith(lookFor);\n const elementBPrefixMatch = elementBName.startsWith(lookFor);\n if (elementAPrefixMatch !== elementBPrefixMatch) {\n return elementAPrefixMatch ? -1 : 1;\n }\n // Same prefix: Sort shorter matches to the top to have those on top that match more precisely\n else if (elementAPrefixMatch && elementBPrefixMatch) {\n if (elementAName.length < elementBName.length) {\n return -1;\n }\n if (elementAName.length > elementBName.length) {\n return 1;\n }\n }\n return 0;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/comparers.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/dataTransfer.js": +/*!***********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/dataTransfer.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 */ UriList: () => (/* binding */ UriList),\n/* harmony export */ VSDataTransfer: () => (/* binding */ VSDataTransfer),\n/* harmony export */ createFileDataTransferItem: () => (/* binding */ createFileDataTransferItem),\n/* harmony export */ createStringDataTransferItem: () => (/* binding */ createStringDataTransferItem),\n/* harmony export */ matchesMimeType: () => (/* binding */ matchesMimeType)\n/* harmony export */ });\n/* harmony import */ var _arrays_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _iterator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.js\");\n/* harmony import */ var _uuid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uuid.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uuid.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 *--------------------------------------------------------------------------------------------*/\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\nfunction createStringDataTransferItem(stringOrPromise) {\n return {\n asString: () => __awaiter(this, void 0, void 0, function* () { return stringOrPromise; }),\n asFile: () => undefined,\n value: typeof stringOrPromise === 'string' ? stringOrPromise : undefined,\n };\n}\nfunction createFileDataTransferItem(fileName, uri, data) {\n const file = { id: (0,_uuid_js__WEBPACK_IMPORTED_MODULE_2__.generateUuid)(), name: fileName, uri, data };\n return {\n asString: () => __awaiter(this, void 0, void 0, function* () { return ''; }),\n asFile: () => file,\n value: undefined,\n };\n}\nclass VSDataTransfer {\n constructor() {\n this._entries = new Map();\n }\n get size() {\n let size = 0;\n for (const _ of this._entries) {\n size++;\n }\n return size;\n }\n has(mimeType) {\n return this._entries.has(this.toKey(mimeType));\n }\n matches(pattern) {\n const mimes = [...this._entries.keys()];\n if (_iterator_js__WEBPACK_IMPORTED_MODULE_1__.Iterable.some(this, ([_, item]) => item.asFile())) {\n mimes.push('files');\n }\n return matchesMimeType_normalized(normalizeMimeType(pattern), mimes);\n }\n get(mimeType) {\n var _a;\n return (_a = this._entries.get(this.toKey(mimeType))) === null || _a === void 0 ? void 0 : _a[0];\n }\n /**\n * Add a new entry to this data transfer.\n *\n * This does not replace existing entries for `mimeType`.\n */\n append(mimeType, value) {\n const existing = this._entries.get(mimeType);\n if (existing) {\n existing.push(value);\n }\n else {\n this._entries.set(this.toKey(mimeType), [value]);\n }\n }\n /**\n * Set the entry for a given mime type.\n *\n * This replaces all existing entries for `mimeType`.\n */\n replace(mimeType, value) {\n this._entries.set(this.toKey(mimeType), [value]);\n }\n /**\n * Remove all entries for `mimeType`.\n */\n delete(mimeType) {\n this._entries.delete(this.toKey(mimeType));\n }\n /**\n * Iterate over all `[mime, item]` pairs in this data transfer.\n *\n * There may be multiple entries for each mime type.\n */\n *[Symbol.iterator]() {\n for (const [mine, items] of this._entries) {\n for (const item of items) {\n yield [mine, item];\n }\n }\n }\n toKey(mimeType) {\n return normalizeMimeType(mimeType);\n }\n}\nfunction normalizeMimeType(mimeType) {\n return mimeType.toLowerCase();\n}\nfunction matchesMimeType(pattern, mimeTypes) {\n return matchesMimeType_normalized(normalizeMimeType(pattern), mimeTypes.map(normalizeMimeType));\n}\nfunction matchesMimeType_normalized(normalizedPattern, normalizedMimeTypes) {\n // Anything wildcard\n if (normalizedPattern === '*/*') {\n return normalizedMimeTypes.length > 0;\n }\n // Exact match\n if (normalizedMimeTypes.includes(normalizedPattern)) {\n return true;\n }\n // Wildcard, such as `image/*`\n const wildcard = normalizedPattern.match(/^([a-z]+)\\/([a-z]+|\\*)$/i);\n if (!wildcard) {\n return false;\n }\n const [_, type, subtype] = wildcard;\n if (subtype === '*') {\n return normalizedMimeTypes.some(mime => mime.startsWith(type + '/'));\n }\n return false;\n}\nconst UriList = Object.freeze({\n // http://amundsen.com/hypermedia/urilist/\n create: (entries) => {\n return (0,_arrays_js__WEBPACK_IMPORTED_MODULE_0__.distinct)(entries.map(x => x.toString())).join('\\r\\n');\n },\n split: (str) => {\n return str.split('\\r\\n');\n },\n parse: (str) => {\n return UriList.split(str).filter(value => !value.startsWith('#'));\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/dataTransfer.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/decorators.js": +/*!*********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/decorators.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 */ memoize: () => (/* binding */ memoize)\n/* harmony export */ });\nfunction memoize(_target, key, descriptor) {\n let fnKey = null;\n let fn = null;\n if (typeof descriptor.value === 'function') {\n fnKey = 'value';\n fn = descriptor.value;\n if (fn.length !== 0) {\n console.warn('Memoize should only be used in functions with zero parameters');\n }\n }\n else if (typeof descriptor.get === 'function') {\n fnKey = 'get';\n fn = descriptor.get;\n }\n if (!fn) {\n throw new Error('not supported');\n }\n const memoizeKey = `$memoize$${key}`;\n descriptor[fnKey] = function (...args) {\n if (!this.hasOwnProperty(memoizeKey)) {\n Object.defineProperty(this, memoizeKey, {\n configurable: false,\n enumerable: false,\n writable: false,\n value: fn.apply(this, args)\n });\n }\n return this[memoizeKey];\n };\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/decorators.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js": +/*!********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/diff/diff.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 */ LcsDiff: () => (/* binding */ LcsDiff),\n/* harmony export */ StringDiffSequence: () => (/* binding */ StringDiffSequence),\n/* harmony export */ stringDiff: () => (/* binding */ stringDiff)\n/* harmony export */ });\n/* harmony import */ var _diffChange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./diffChange.js */ \"./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js\");\n/* harmony import */ var _hash_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hash.js */ \"./node_modules/monaco-editor/esm/vs/base/common/hash.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\nclass StringDiffSequence {\n constructor(source) {\n this.source = source;\n }\n getElements() {\n const source = this.source;\n const characters = new Int32Array(source.length);\n for (let i = 0, len = source.length; i < len; i++) {\n characters[i] = source.charCodeAt(i);\n }\n return characters;\n }\n}\nfunction stringDiff(original, modified, pretty) {\n return new LcsDiff(new StringDiffSequence(original), new StringDiffSequence(modified)).ComputeDiff(pretty).changes;\n}\n//\n// The code below has been ported from a C# implementation in VS\n//\nclass Debug {\n static Assert(condition, message) {\n if (!condition) {\n throw new Error(message);\n }\n }\n}\nclass MyArray {\n /**\n * Copies a range of elements from an Array starting at the specified source index and pastes\n * them to another Array starting at the specified destination index. The length and the indexes\n * are specified as 64-bit integers.\n * sourceArray:\n *\t\tThe Array that contains the data to copy.\n * sourceIndex:\n *\t\tA 64-bit integer that represents the index in the sourceArray at which copying begins.\n * destinationArray:\n *\t\tThe Array that receives the data.\n * destinationIndex:\n *\t\tA 64-bit integer that represents the index in the destinationArray at which storing begins.\n * length:\n *\t\tA 64-bit integer that represents the number of elements to copy.\n */\n static Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length) {\n for (let i = 0; i < length; i++) {\n destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];\n }\n }\n static Copy2(sourceArray, sourceIndex, destinationArray, destinationIndex, length) {\n for (let i = 0; i < length; i++) {\n destinationArray[destinationIndex + i] = sourceArray[sourceIndex + i];\n }\n }\n}\n/**\n * A utility class which helps to create the set of DiffChanges from\n * a difference operation. This class accepts original DiffElements and\n * modified DiffElements that are involved in a particular change. The\n * MarkNextChange() method can be called to mark the separation between\n * distinct changes. At the end, the Changes property can be called to retrieve\n * the constructed changes.\n */\nclass DiffChangeHelper {\n /**\n * Constructs a new DiffChangeHelper for the given DiffSequences.\n */\n constructor() {\n this.m_changes = [];\n this.m_originalStart = 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */;\n this.m_modifiedStart = 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */;\n this.m_originalCount = 0;\n this.m_modifiedCount = 0;\n }\n /**\n * Marks the beginning of the next change in the set of differences.\n */\n MarkNextChange() {\n // Only add to the list if there is something to add\n if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {\n // Add the new change to our list\n this.m_changes.push(new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(this.m_originalStart, this.m_originalCount, this.m_modifiedStart, this.m_modifiedCount));\n }\n // Reset for the next change\n this.m_originalCount = 0;\n this.m_modifiedCount = 0;\n this.m_originalStart = 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */;\n this.m_modifiedStart = 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */;\n }\n /**\n * Adds the original element at the given position to the elements\n * affected by the current change. The modified index gives context\n * to the change position with respect to the original sequence.\n * @param originalIndex The index of the original element to add.\n * @param modifiedIndex The index of the modified element that provides corresponding position in the modified sequence.\n */\n AddOriginalElement(originalIndex, modifiedIndex) {\n // The 'true' start index is the smallest of the ones we've seen\n this.m_originalStart = Math.min(this.m_originalStart, originalIndex);\n this.m_modifiedStart = Math.min(this.m_modifiedStart, modifiedIndex);\n this.m_originalCount++;\n }\n /**\n * Adds the modified element at the given position to the elements\n * affected by the current change. The original index gives context\n * to the change position with respect to the modified sequence.\n * @param originalIndex The index of the original element that provides corresponding position in the original sequence.\n * @param modifiedIndex The index of the modified element to add.\n */\n AddModifiedElement(originalIndex, modifiedIndex) {\n // The 'true' start index is the smallest of the ones we've seen\n this.m_originalStart = Math.min(this.m_originalStart, originalIndex);\n this.m_modifiedStart = Math.min(this.m_modifiedStart, modifiedIndex);\n this.m_modifiedCount++;\n }\n /**\n * Retrieves all of the changes marked by the class.\n */\n getChanges() {\n if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {\n // Finish up on whatever is left\n this.MarkNextChange();\n }\n return this.m_changes;\n }\n /**\n * Retrieves all of the changes marked by the class in the reverse order\n */\n getReverseChanges() {\n if (this.m_originalCount > 0 || this.m_modifiedCount > 0) {\n // Finish up on whatever is left\n this.MarkNextChange();\n }\n this.m_changes.reverse();\n return this.m_changes;\n }\n}\n/**\n * An implementation of the difference algorithm described in\n * \"An O(ND) Difference Algorithm and its variations\" by Eugene W. Myers\n */\nclass LcsDiff {\n /**\n * Constructs the DiffFinder\n */\n constructor(originalSequence, modifiedSequence, continueProcessingPredicate = null) {\n this.ContinueProcessingPredicate = continueProcessingPredicate;\n this._originalSequence = originalSequence;\n this._modifiedSequence = modifiedSequence;\n const [originalStringElements, originalElementsOrHash, originalHasStrings] = LcsDiff._getElements(originalSequence);\n const [modifiedStringElements, modifiedElementsOrHash, modifiedHasStrings] = LcsDiff._getElements(modifiedSequence);\n this._hasStrings = (originalHasStrings && modifiedHasStrings);\n this._originalStringElements = originalStringElements;\n this._originalElementsOrHash = originalElementsOrHash;\n this._modifiedStringElements = modifiedStringElements;\n this._modifiedElementsOrHash = modifiedElementsOrHash;\n this.m_forwardHistory = [];\n this.m_reverseHistory = [];\n }\n static _isStringArray(arr) {\n return (arr.length > 0 && typeof arr[0] === 'string');\n }\n static _getElements(sequence) {\n const elements = sequence.getElements();\n if (LcsDiff._isStringArray(elements)) {\n const hashes = new Int32Array(elements.length);\n for (let i = 0, len = elements.length; i < len; i++) {\n hashes[i] = (0,_hash_js__WEBPACK_IMPORTED_MODULE_1__.stringHash)(elements[i], 0);\n }\n return [elements, hashes, true];\n }\n if (elements instanceof Int32Array) {\n return [[], elements, false];\n }\n return [[], new Int32Array(elements), false];\n }\n ElementsAreEqual(originalIndex, newIndex) {\n if (this._originalElementsOrHash[originalIndex] !== this._modifiedElementsOrHash[newIndex]) {\n return false;\n }\n return (this._hasStrings ? this._originalStringElements[originalIndex] === this._modifiedStringElements[newIndex] : true);\n }\n ElementsAreStrictEqual(originalIndex, newIndex) {\n if (!this.ElementsAreEqual(originalIndex, newIndex)) {\n return false;\n }\n const originalElement = LcsDiff._getStrictElement(this._originalSequence, originalIndex);\n const modifiedElement = LcsDiff._getStrictElement(this._modifiedSequence, newIndex);\n return (originalElement === modifiedElement);\n }\n static _getStrictElement(sequence, index) {\n if (typeof sequence.getStrictElement === 'function') {\n return sequence.getStrictElement(index);\n }\n return null;\n }\n OriginalElementsAreEqual(index1, index2) {\n if (this._originalElementsOrHash[index1] !== this._originalElementsOrHash[index2]) {\n return false;\n }\n return (this._hasStrings ? this._originalStringElements[index1] === this._originalStringElements[index2] : true);\n }\n ModifiedElementsAreEqual(index1, index2) {\n if (this._modifiedElementsOrHash[index1] !== this._modifiedElementsOrHash[index2]) {\n return false;\n }\n return (this._hasStrings ? this._modifiedStringElements[index1] === this._modifiedStringElements[index2] : true);\n }\n ComputeDiff(pretty) {\n return this._ComputeDiff(0, this._originalElementsOrHash.length - 1, 0, this._modifiedElementsOrHash.length - 1, pretty);\n }\n /**\n * Computes the differences between the original and modified input\n * sequences on the bounded range.\n * @returns An array of the differences between the two input sequences.\n */\n _ComputeDiff(originalStart, originalEnd, modifiedStart, modifiedEnd, pretty) {\n const quitEarlyArr = [false];\n let changes = this.ComputeDiffRecursive(originalStart, originalEnd, modifiedStart, modifiedEnd, quitEarlyArr);\n if (pretty) {\n // We have to clean up the computed diff to be more intuitive\n // but it turns out this cannot be done correctly until the entire set\n // of diffs have been computed\n changes = this.PrettifyChanges(changes);\n }\n return {\n quitEarly: quitEarlyArr[0],\n changes: changes\n };\n }\n /**\n * Private helper method which computes the differences on the bounded range\n * recursively.\n * @returns An array of the differences between the two input sequences.\n */\n ComputeDiffRecursive(originalStart, originalEnd, modifiedStart, modifiedEnd, quitEarlyArr) {\n quitEarlyArr[0] = false;\n // Find the start of the differences\n while (originalStart <= originalEnd && modifiedStart <= modifiedEnd && this.ElementsAreEqual(originalStart, modifiedStart)) {\n originalStart++;\n modifiedStart++;\n }\n // Find the end of the differences\n while (originalEnd >= originalStart && modifiedEnd >= modifiedStart && this.ElementsAreEqual(originalEnd, modifiedEnd)) {\n originalEnd--;\n modifiedEnd--;\n }\n // In the special case where we either have all insertions or all deletions or the sequences are identical\n if (originalStart > originalEnd || modifiedStart > modifiedEnd) {\n let changes;\n if (modifiedStart <= modifiedEnd) {\n Debug.Assert(originalStart === originalEnd + 1, 'originalStart should only be one more than originalEnd');\n // All insertions\n changes = [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, 0, modifiedStart, modifiedEnd - modifiedStart + 1)\n ];\n }\n else if (originalStart <= originalEnd) {\n Debug.Assert(modifiedStart === modifiedEnd + 1, 'modifiedStart should only be one more than modifiedEnd');\n // All deletions\n changes = [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, 0)\n ];\n }\n else {\n Debug.Assert(originalStart === originalEnd + 1, 'originalStart should only be one more than originalEnd');\n Debug.Assert(modifiedStart === modifiedEnd + 1, 'modifiedStart should only be one more than modifiedEnd');\n // Identical sequences - No differences\n changes = [];\n }\n return changes;\n }\n // This problem can be solved using the Divide-And-Conquer technique.\n const midOriginalArr = [0];\n const midModifiedArr = [0];\n const result = this.ComputeRecursionPoint(originalStart, originalEnd, modifiedStart, modifiedEnd, midOriginalArr, midModifiedArr, quitEarlyArr);\n const midOriginal = midOriginalArr[0];\n const midModified = midModifiedArr[0];\n if (result !== null) {\n // Result is not-null when there was enough memory to compute the changes while\n // searching for the recursion point\n return result;\n }\n else if (!quitEarlyArr[0]) {\n // We can break the problem down recursively by finding the changes in the\n // First Half: (originalStart, modifiedStart) to (midOriginal, midModified)\n // Second Half: (midOriginal + 1, minModified + 1) to (originalEnd, modifiedEnd)\n // NOTE: ComputeDiff() is inclusive, therefore the second range starts on the next point\n const leftChanges = this.ComputeDiffRecursive(originalStart, midOriginal, modifiedStart, midModified, quitEarlyArr);\n let rightChanges = [];\n if (!quitEarlyArr[0]) {\n rightChanges = this.ComputeDiffRecursive(midOriginal + 1, originalEnd, midModified + 1, modifiedEnd, quitEarlyArr);\n }\n else {\n // We didn't have time to finish the first half, so we don't have time to compute this half.\n // Consider the entire rest of the sequence different.\n rightChanges = [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(midOriginal + 1, originalEnd - (midOriginal + 1) + 1, midModified + 1, modifiedEnd - (midModified + 1) + 1)\n ];\n }\n return this.ConcatenateChanges(leftChanges, rightChanges);\n }\n // If we hit here, we quit early, and so can't return anything meaningful\n return [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)\n ];\n }\n WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr) {\n let forwardChanges = null;\n let reverseChanges = null;\n // First, walk backward through the forward diagonals history\n let changeHelper = new DiffChangeHelper();\n let diagonalMin = diagonalForwardStart;\n let diagonalMax = diagonalForwardEnd;\n let diagonalRelative = (midOriginalArr[0] - midModifiedArr[0]) - diagonalForwardOffset;\n let lastOriginalIndex = -1073741824 /* Constants.MIN_SAFE_SMALL_INTEGER */;\n let historyIndex = this.m_forwardHistory.length - 1;\n do {\n // Get the diagonal index from the relative diagonal number\n const diagonal = diagonalRelative + diagonalForwardBase;\n // Figure out where we came from\n if (diagonal === diagonalMin || (diagonal < diagonalMax && forwardPoints[diagonal - 1] < forwardPoints[diagonal + 1])) {\n // Vertical line (the element is an insert)\n originalIndex = forwardPoints[diagonal + 1];\n modifiedIndex = originalIndex - diagonalRelative - diagonalForwardOffset;\n if (originalIndex < lastOriginalIndex) {\n changeHelper.MarkNextChange();\n }\n lastOriginalIndex = originalIndex;\n changeHelper.AddModifiedElement(originalIndex + 1, modifiedIndex);\n diagonalRelative = (diagonal + 1) - diagonalForwardBase; //Setup for the next iteration\n }\n else {\n // Horizontal line (the element is a deletion)\n originalIndex = forwardPoints[diagonal - 1] + 1;\n modifiedIndex = originalIndex - diagonalRelative - diagonalForwardOffset;\n if (originalIndex < lastOriginalIndex) {\n changeHelper.MarkNextChange();\n }\n lastOriginalIndex = originalIndex - 1;\n changeHelper.AddOriginalElement(originalIndex, modifiedIndex + 1);\n diagonalRelative = (diagonal - 1) - diagonalForwardBase; //Setup for the next iteration\n }\n if (historyIndex >= 0) {\n forwardPoints = this.m_forwardHistory[historyIndex];\n diagonalForwardBase = forwardPoints[0]; //We stored this in the first spot\n diagonalMin = 1;\n diagonalMax = forwardPoints.length - 1;\n }\n } while (--historyIndex >= -1);\n // Ironically, we get the forward changes as the reverse of the\n // order we added them since we technically added them backwards\n forwardChanges = changeHelper.getReverseChanges();\n if (quitEarlyArr[0]) {\n // TODO: Calculate a partial from the reverse diagonals.\n // For now, just assume everything after the midOriginal/midModified point is a diff\n let originalStartPoint = midOriginalArr[0] + 1;\n let modifiedStartPoint = midModifiedArr[0] + 1;\n if (forwardChanges !== null && forwardChanges.length > 0) {\n const lastForwardChange = forwardChanges[forwardChanges.length - 1];\n originalStartPoint = Math.max(originalStartPoint, lastForwardChange.getOriginalEnd());\n modifiedStartPoint = Math.max(modifiedStartPoint, lastForwardChange.getModifiedEnd());\n }\n reverseChanges = [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStartPoint, originalEnd - originalStartPoint + 1, modifiedStartPoint, modifiedEnd - modifiedStartPoint + 1)\n ];\n }\n else {\n // Now walk backward through the reverse diagonals history\n changeHelper = new DiffChangeHelper();\n diagonalMin = diagonalReverseStart;\n diagonalMax = diagonalReverseEnd;\n diagonalRelative = (midOriginalArr[0] - midModifiedArr[0]) - diagonalReverseOffset;\n lastOriginalIndex = 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */;\n historyIndex = (deltaIsEven) ? this.m_reverseHistory.length - 1 : this.m_reverseHistory.length - 2;\n do {\n // Get the diagonal index from the relative diagonal number\n const diagonal = diagonalRelative + diagonalReverseBase;\n // Figure out where we came from\n if (diagonal === diagonalMin || (diagonal < diagonalMax && reversePoints[diagonal - 1] >= reversePoints[diagonal + 1])) {\n // Horizontal line (the element is a deletion))\n originalIndex = reversePoints[diagonal + 1] - 1;\n modifiedIndex = originalIndex - diagonalRelative - diagonalReverseOffset;\n if (originalIndex > lastOriginalIndex) {\n changeHelper.MarkNextChange();\n }\n lastOriginalIndex = originalIndex + 1;\n changeHelper.AddOriginalElement(originalIndex + 1, modifiedIndex + 1);\n diagonalRelative = (diagonal + 1) - diagonalReverseBase; //Setup for the next iteration\n }\n else {\n // Vertical line (the element is an insertion)\n originalIndex = reversePoints[diagonal - 1];\n modifiedIndex = originalIndex - diagonalRelative - diagonalReverseOffset;\n if (originalIndex > lastOriginalIndex) {\n changeHelper.MarkNextChange();\n }\n lastOriginalIndex = originalIndex;\n changeHelper.AddModifiedElement(originalIndex + 1, modifiedIndex + 1);\n diagonalRelative = (diagonal - 1) - diagonalReverseBase; //Setup for the next iteration\n }\n if (historyIndex >= 0) {\n reversePoints = this.m_reverseHistory[historyIndex];\n diagonalReverseBase = reversePoints[0]; //We stored this in the first spot\n diagonalMin = 1;\n diagonalMax = reversePoints.length - 1;\n }\n } while (--historyIndex >= -1);\n // There are cases where the reverse history will find diffs that\n // are correct, but not intuitive, so we need shift them.\n reverseChanges = changeHelper.getChanges();\n }\n return this.ConcatenateChanges(forwardChanges, reverseChanges);\n }\n /**\n * Given the range to compute the diff on, this method finds the point:\n * (midOriginal, midModified)\n * that exists in the middle of the LCS of the two sequences and\n * is the point at which the LCS problem may be broken down recursively.\n * This method will try to keep the LCS trace in memory. If the LCS recursion\n * point is calculated and the full trace is available in memory, then this method\n * will return the change list.\n * @param originalStart The start bound of the original sequence range\n * @param originalEnd The end bound of the original sequence range\n * @param modifiedStart The start bound of the modified sequence range\n * @param modifiedEnd The end bound of the modified sequence range\n * @param midOriginal The middle point of the original sequence range\n * @param midModified The middle point of the modified sequence range\n * @returns The diff changes, if available, otherwise null\n */\n ComputeRecursionPoint(originalStart, originalEnd, modifiedStart, modifiedEnd, midOriginalArr, midModifiedArr, quitEarlyArr) {\n let originalIndex = 0, modifiedIndex = 0;\n let diagonalForwardStart = 0, diagonalForwardEnd = 0;\n let diagonalReverseStart = 0, diagonalReverseEnd = 0;\n // To traverse the edit graph and produce the proper LCS, our actual\n // start position is just outside the given boundary\n originalStart--;\n modifiedStart--;\n // We set these up to make the compiler happy, but they will\n // be replaced before we return with the actual recursion point\n midOriginalArr[0] = 0;\n midModifiedArr[0] = 0;\n // Clear out the history\n this.m_forwardHistory = [];\n this.m_reverseHistory = [];\n // Each cell in the two arrays corresponds to a diagonal in the edit graph.\n // The integer value in the cell represents the originalIndex of the furthest\n // reaching point found so far that ends in that diagonal.\n // The modifiedIndex can be computed mathematically from the originalIndex and the diagonal number.\n const maxDifferences = (originalEnd - originalStart) + (modifiedEnd - modifiedStart);\n const numDiagonals = maxDifferences + 1;\n const forwardPoints = new Int32Array(numDiagonals);\n const reversePoints = new Int32Array(numDiagonals);\n // diagonalForwardBase: Index into forwardPoints of the diagonal which passes through (originalStart, modifiedStart)\n // diagonalReverseBase: Index into reversePoints of the diagonal which passes through (originalEnd, modifiedEnd)\n const diagonalForwardBase = (modifiedEnd - modifiedStart);\n const diagonalReverseBase = (originalEnd - originalStart);\n // diagonalForwardOffset: Geometric offset which allows modifiedIndex to be computed from originalIndex and the\n // diagonal number (relative to diagonalForwardBase)\n // diagonalReverseOffset: Geometric offset which allows modifiedIndex to be computed from originalIndex and the\n // diagonal number (relative to diagonalReverseBase)\n const diagonalForwardOffset = (originalStart - modifiedStart);\n const diagonalReverseOffset = (originalEnd - modifiedEnd);\n // delta: The difference between the end diagonal and the start diagonal. This is used to relate diagonal numbers\n // relative to the start diagonal with diagonal numbers relative to the end diagonal.\n // The Even/Oddn-ness of this delta is important for determining when we should check for overlap\n const delta = diagonalReverseBase - diagonalForwardBase;\n const deltaIsEven = (delta % 2 === 0);\n // Here we set up the start and end points as the furthest points found so far\n // in both the forward and reverse directions, respectively\n forwardPoints[diagonalForwardBase] = originalStart;\n reversePoints[diagonalReverseBase] = originalEnd;\n // Remember if we quit early, and thus need to do a best-effort result instead of a real result.\n quitEarlyArr[0] = false;\n // A couple of points:\n // --With this method, we iterate on the number of differences between the two sequences.\n // The more differences there actually are, the longer this will take.\n // --Also, as the number of differences increases, we have to search on diagonals further\n // away from the reference diagonal (which is diagonalForwardBase for forward, diagonalReverseBase for reverse).\n // --We extend on even diagonals (relative to the reference diagonal) only when numDifferences\n // is even and odd diagonals only when numDifferences is odd.\n for (let numDifferences = 1; numDifferences <= (maxDifferences / 2) + 1; numDifferences++) {\n let furthestOriginalIndex = 0;\n let furthestModifiedIndex = 0;\n // Run the algorithm in the forward direction\n diagonalForwardStart = this.ClipDiagonalBound(diagonalForwardBase - numDifferences, numDifferences, diagonalForwardBase, numDiagonals);\n diagonalForwardEnd = this.ClipDiagonalBound(diagonalForwardBase + numDifferences, numDifferences, diagonalForwardBase, numDiagonals);\n for (let diagonal = diagonalForwardStart; diagonal <= diagonalForwardEnd; diagonal += 2) {\n // STEP 1: We extend the furthest reaching point in the present diagonal\n // by looking at the diagonals above and below and picking the one whose point\n // is further away from the start point (originalStart, modifiedStart)\n if (diagonal === diagonalForwardStart || (diagonal < diagonalForwardEnd && forwardPoints[diagonal - 1] < forwardPoints[diagonal + 1])) {\n originalIndex = forwardPoints[diagonal + 1];\n }\n else {\n originalIndex = forwardPoints[diagonal - 1] + 1;\n }\n modifiedIndex = originalIndex - (diagonal - diagonalForwardBase) - diagonalForwardOffset;\n // Save the current originalIndex so we can test for false overlap in step 3\n const tempOriginalIndex = originalIndex;\n // STEP 2: We can continue to extend the furthest reaching point in the present diagonal\n // so long as the elements are equal.\n while (originalIndex < originalEnd && modifiedIndex < modifiedEnd && this.ElementsAreEqual(originalIndex + 1, modifiedIndex + 1)) {\n originalIndex++;\n modifiedIndex++;\n }\n forwardPoints[diagonal] = originalIndex;\n if (originalIndex + modifiedIndex > furthestOriginalIndex + furthestModifiedIndex) {\n furthestOriginalIndex = originalIndex;\n furthestModifiedIndex = modifiedIndex;\n }\n // STEP 3: If delta is odd (overlap first happens on forward when delta is odd)\n // and diagonal is in the range of reverse diagonals computed for numDifferences-1\n // (the previous iteration; we haven't computed reverse diagonals for numDifferences yet)\n // then check for overlap.\n if (!deltaIsEven && Math.abs(diagonal - diagonalReverseBase) <= (numDifferences - 1)) {\n if (originalIndex >= reversePoints[diagonal]) {\n midOriginalArr[0] = originalIndex;\n midModifiedArr[0] = modifiedIndex;\n if (tempOriginalIndex <= reversePoints[diagonal] && 1447 /* LocalConstants.MaxDifferencesHistory */ > 0 && numDifferences <= (1447 /* LocalConstants.MaxDifferencesHistory */ + 1)) {\n // BINGO! We overlapped, and we have the full trace in memory!\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\n }\n else {\n // Either false overlap, or we didn't have enough memory for the full trace\n // Just return the recursion point\n return null;\n }\n }\n }\n }\n // Check to see if we should be quitting early, before moving on to the next iteration.\n const matchLengthOfLongest = ((furthestOriginalIndex - originalStart) + (furthestModifiedIndex - modifiedStart) - numDifferences) / 2;\n if (this.ContinueProcessingPredicate !== null && !this.ContinueProcessingPredicate(furthestOriginalIndex, matchLengthOfLongest)) {\n // We can't finish, so skip ahead to generating a result from what we have.\n quitEarlyArr[0] = true;\n // Use the furthest distance we got in the forward direction.\n midOriginalArr[0] = furthestOriginalIndex;\n midModifiedArr[0] = furthestModifiedIndex;\n if (matchLengthOfLongest > 0 && 1447 /* LocalConstants.MaxDifferencesHistory */ > 0 && numDifferences <= (1447 /* LocalConstants.MaxDifferencesHistory */ + 1)) {\n // Enough of the history is in memory to walk it backwards\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\n }\n else {\n // We didn't actually remember enough of the history.\n //Since we are quitting the diff early, we need to shift back the originalStart and modified start\n //back into the boundary limits since we decremented their value above beyond the boundary limit.\n originalStart++;\n modifiedStart++;\n return [\n new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, originalEnd - originalStart + 1, modifiedStart, modifiedEnd - modifiedStart + 1)\n ];\n }\n }\n // Run the algorithm in the reverse direction\n diagonalReverseStart = this.ClipDiagonalBound(diagonalReverseBase - numDifferences, numDifferences, diagonalReverseBase, numDiagonals);\n diagonalReverseEnd = this.ClipDiagonalBound(diagonalReverseBase + numDifferences, numDifferences, diagonalReverseBase, numDiagonals);\n for (let diagonal = diagonalReverseStart; diagonal <= diagonalReverseEnd; diagonal += 2) {\n // STEP 1: We extend the furthest reaching point in the present diagonal\n // by looking at the diagonals above and below and picking the one whose point\n // is further away from the start point (originalEnd, modifiedEnd)\n if (diagonal === diagonalReverseStart || (diagonal < diagonalReverseEnd && reversePoints[diagonal - 1] >= reversePoints[diagonal + 1])) {\n originalIndex = reversePoints[diagonal + 1] - 1;\n }\n else {\n originalIndex = reversePoints[diagonal - 1];\n }\n modifiedIndex = originalIndex - (diagonal - diagonalReverseBase) - diagonalReverseOffset;\n // Save the current originalIndex so we can test for false overlap\n const tempOriginalIndex = originalIndex;\n // STEP 2: We can continue to extend the furthest reaching point in the present diagonal\n // as long as the elements are equal.\n while (originalIndex > originalStart && modifiedIndex > modifiedStart && this.ElementsAreEqual(originalIndex, modifiedIndex)) {\n originalIndex--;\n modifiedIndex--;\n }\n reversePoints[diagonal] = originalIndex;\n // STEP 4: If delta is even (overlap first happens on reverse when delta is even)\n // and diagonal is in the range of forward diagonals computed for numDifferences\n // then check for overlap.\n if (deltaIsEven && Math.abs(diagonal - diagonalForwardBase) <= numDifferences) {\n if (originalIndex <= forwardPoints[diagonal]) {\n midOriginalArr[0] = originalIndex;\n midModifiedArr[0] = modifiedIndex;\n if (tempOriginalIndex >= forwardPoints[diagonal] && 1447 /* LocalConstants.MaxDifferencesHistory */ > 0 && numDifferences <= (1447 /* LocalConstants.MaxDifferencesHistory */ + 1)) {\n // BINGO! We overlapped, and we have the full trace in memory!\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\n }\n else {\n // Either false overlap, or we didn't have enough memory for the full trace\n // Just return the recursion point\n return null;\n }\n }\n }\n }\n // Save current vectors to history before the next iteration\n if (numDifferences <= 1447 /* LocalConstants.MaxDifferencesHistory */) {\n // We are allocating space for one extra int, which we fill with\n // the index of the diagonal base index\n let temp = new Int32Array(diagonalForwardEnd - diagonalForwardStart + 2);\n temp[0] = diagonalForwardBase - diagonalForwardStart + 1;\n MyArray.Copy2(forwardPoints, diagonalForwardStart, temp, 1, diagonalForwardEnd - diagonalForwardStart + 1);\n this.m_forwardHistory.push(temp);\n temp = new Int32Array(diagonalReverseEnd - diagonalReverseStart + 2);\n temp[0] = diagonalReverseBase - diagonalReverseStart + 1;\n MyArray.Copy2(reversePoints, diagonalReverseStart, temp, 1, diagonalReverseEnd - diagonalReverseStart + 1);\n this.m_reverseHistory.push(temp);\n }\n }\n // If we got here, then we have the full trace in history. We just have to convert it to a change list\n // NOTE: This part is a bit messy\n return this.WALKTRACE(diagonalForwardBase, diagonalForwardStart, diagonalForwardEnd, diagonalForwardOffset, diagonalReverseBase, diagonalReverseStart, diagonalReverseEnd, diagonalReverseOffset, forwardPoints, reversePoints, originalIndex, originalEnd, midOriginalArr, modifiedIndex, modifiedEnd, midModifiedArr, deltaIsEven, quitEarlyArr);\n }\n /**\n * Shifts the given changes to provide a more intuitive diff.\n * While the first element in a diff matches the first element after the diff,\n * we shift the diff down.\n *\n * @param changes The list of changes to shift\n * @returns The shifted changes\n */\n PrettifyChanges(changes) {\n // Shift all the changes down first\n for (let i = 0; i < changes.length; i++) {\n const change = changes[i];\n const originalStop = (i < changes.length - 1) ? changes[i + 1].originalStart : this._originalElementsOrHash.length;\n const modifiedStop = (i < changes.length - 1) ? changes[i + 1].modifiedStart : this._modifiedElementsOrHash.length;\n const checkOriginal = change.originalLength > 0;\n const checkModified = change.modifiedLength > 0;\n while (change.originalStart + change.originalLength < originalStop\n && change.modifiedStart + change.modifiedLength < modifiedStop\n && (!checkOriginal || this.OriginalElementsAreEqual(change.originalStart, change.originalStart + change.originalLength))\n && (!checkModified || this.ModifiedElementsAreEqual(change.modifiedStart, change.modifiedStart + change.modifiedLength))) {\n const startStrictEqual = this.ElementsAreStrictEqual(change.originalStart, change.modifiedStart);\n const endStrictEqual = this.ElementsAreStrictEqual(change.originalStart + change.originalLength, change.modifiedStart + change.modifiedLength);\n if (endStrictEqual && !startStrictEqual) {\n // moving the change down would create an equal change, but the elements are not strict equal\n break;\n }\n change.originalStart++;\n change.modifiedStart++;\n }\n const mergedChangeArr = [null];\n if (i < changes.length - 1 && this.ChangesOverlap(changes[i], changes[i + 1], mergedChangeArr)) {\n changes[i] = mergedChangeArr[0];\n changes.splice(i + 1, 1);\n i--;\n continue;\n }\n }\n // Shift changes back up until we hit empty or whitespace-only lines\n for (let i = changes.length - 1; i >= 0; i--) {\n const change = changes[i];\n let originalStop = 0;\n let modifiedStop = 0;\n if (i > 0) {\n const prevChange = changes[i - 1];\n originalStop = prevChange.originalStart + prevChange.originalLength;\n modifiedStop = prevChange.modifiedStart + prevChange.modifiedLength;\n }\n const checkOriginal = change.originalLength > 0;\n const checkModified = change.modifiedLength > 0;\n let bestDelta = 0;\n let bestScore = this._boundaryScore(change.originalStart, change.originalLength, change.modifiedStart, change.modifiedLength);\n for (let delta = 1;; delta++) {\n const originalStart = change.originalStart - delta;\n const modifiedStart = change.modifiedStart - delta;\n if (originalStart < originalStop || modifiedStart < modifiedStop) {\n break;\n }\n if (checkOriginal && !this.OriginalElementsAreEqual(originalStart, originalStart + change.originalLength)) {\n break;\n }\n if (checkModified && !this.ModifiedElementsAreEqual(modifiedStart, modifiedStart + change.modifiedLength)) {\n break;\n }\n const touchingPreviousChange = (originalStart === originalStop && modifiedStart === modifiedStop);\n const score = ((touchingPreviousChange ? 5 : 0)\n + this._boundaryScore(originalStart, change.originalLength, modifiedStart, change.modifiedLength));\n if (score > bestScore) {\n bestScore = score;\n bestDelta = delta;\n }\n }\n change.originalStart -= bestDelta;\n change.modifiedStart -= bestDelta;\n const mergedChangeArr = [null];\n if (i > 0 && this.ChangesOverlap(changes[i - 1], changes[i], mergedChangeArr)) {\n changes[i - 1] = mergedChangeArr[0];\n changes.splice(i, 1);\n i++;\n continue;\n }\n }\n // There could be multiple longest common substrings.\n // Give preference to the ones containing longer lines\n if (this._hasStrings) {\n for (let i = 1, len = changes.length; i < len; i++) {\n const aChange = changes[i - 1];\n const bChange = changes[i];\n const matchedLength = bChange.originalStart - aChange.originalStart - aChange.originalLength;\n const aOriginalStart = aChange.originalStart;\n const bOriginalEnd = bChange.originalStart + bChange.originalLength;\n const abOriginalLength = bOriginalEnd - aOriginalStart;\n const aModifiedStart = aChange.modifiedStart;\n const bModifiedEnd = bChange.modifiedStart + bChange.modifiedLength;\n const abModifiedLength = bModifiedEnd - aModifiedStart;\n // Avoid wasting a lot of time with these searches\n if (matchedLength < 5 && abOriginalLength < 20 && abModifiedLength < 20) {\n const t = this._findBetterContiguousSequence(aOriginalStart, abOriginalLength, aModifiedStart, abModifiedLength, matchedLength);\n if (t) {\n const [originalMatchStart, modifiedMatchStart] = t;\n if (originalMatchStart !== aChange.originalStart + aChange.originalLength || modifiedMatchStart !== aChange.modifiedStart + aChange.modifiedLength) {\n // switch to another sequence that has a better score\n aChange.originalLength = originalMatchStart - aChange.originalStart;\n aChange.modifiedLength = modifiedMatchStart - aChange.modifiedStart;\n bChange.originalStart = originalMatchStart + matchedLength;\n bChange.modifiedStart = modifiedMatchStart + matchedLength;\n bChange.originalLength = bOriginalEnd - bChange.originalStart;\n bChange.modifiedLength = bModifiedEnd - bChange.modifiedStart;\n }\n }\n }\n }\n }\n return changes;\n }\n _findBetterContiguousSequence(originalStart, originalLength, modifiedStart, modifiedLength, desiredLength) {\n if (originalLength < desiredLength || modifiedLength < desiredLength) {\n return null;\n }\n const originalMax = originalStart + originalLength - desiredLength + 1;\n const modifiedMax = modifiedStart + modifiedLength - desiredLength + 1;\n let bestScore = 0;\n let bestOriginalStart = 0;\n let bestModifiedStart = 0;\n for (let i = originalStart; i < originalMax; i++) {\n for (let j = modifiedStart; j < modifiedMax; j++) {\n const score = this._contiguousSequenceScore(i, j, desiredLength);\n if (score > 0 && score > bestScore) {\n bestScore = score;\n bestOriginalStart = i;\n bestModifiedStart = j;\n }\n }\n }\n if (bestScore > 0) {\n return [bestOriginalStart, bestModifiedStart];\n }\n return null;\n }\n _contiguousSequenceScore(originalStart, modifiedStart, length) {\n let score = 0;\n for (let l = 0; l < length; l++) {\n if (!this.ElementsAreEqual(originalStart + l, modifiedStart + l)) {\n return 0;\n }\n score += this._originalStringElements[originalStart + l].length;\n }\n return score;\n }\n _OriginalIsBoundary(index) {\n if (index <= 0 || index >= this._originalElementsOrHash.length - 1) {\n return true;\n }\n return (this._hasStrings && /^\\s*$/.test(this._originalStringElements[index]));\n }\n _OriginalRegionIsBoundary(originalStart, originalLength) {\n if (this._OriginalIsBoundary(originalStart) || this._OriginalIsBoundary(originalStart - 1)) {\n return true;\n }\n if (originalLength > 0) {\n const originalEnd = originalStart + originalLength;\n if (this._OriginalIsBoundary(originalEnd - 1) || this._OriginalIsBoundary(originalEnd)) {\n return true;\n }\n }\n return false;\n }\n _ModifiedIsBoundary(index) {\n if (index <= 0 || index >= this._modifiedElementsOrHash.length - 1) {\n return true;\n }\n return (this._hasStrings && /^\\s*$/.test(this._modifiedStringElements[index]));\n }\n _ModifiedRegionIsBoundary(modifiedStart, modifiedLength) {\n if (this._ModifiedIsBoundary(modifiedStart) || this._ModifiedIsBoundary(modifiedStart - 1)) {\n return true;\n }\n if (modifiedLength > 0) {\n const modifiedEnd = modifiedStart + modifiedLength;\n if (this._ModifiedIsBoundary(modifiedEnd - 1) || this._ModifiedIsBoundary(modifiedEnd)) {\n return true;\n }\n }\n return false;\n }\n _boundaryScore(originalStart, originalLength, modifiedStart, modifiedLength) {\n const originalScore = (this._OriginalRegionIsBoundary(originalStart, originalLength) ? 1 : 0);\n const modifiedScore = (this._ModifiedRegionIsBoundary(modifiedStart, modifiedLength) ? 1 : 0);\n return (originalScore + modifiedScore);\n }\n /**\n * Concatenates the two input DiffChange lists and returns the resulting\n * list.\n * @param The left changes\n * @param The right changes\n * @returns The concatenated list\n */\n ConcatenateChanges(left, right) {\n const mergedChangeArr = [];\n if (left.length === 0 || right.length === 0) {\n return (right.length > 0) ? right : left;\n }\n else if (this.ChangesOverlap(left[left.length - 1], right[0], mergedChangeArr)) {\n // Since we break the problem down recursively, it is possible that we\n // might recurse in the middle of a change thereby splitting it into\n // two changes. Here in the combining stage, we detect and fuse those\n // changes back together\n const result = new Array(left.length + right.length - 1);\n MyArray.Copy(left, 0, result, 0, left.length - 1);\n result[left.length - 1] = mergedChangeArr[0];\n MyArray.Copy(right, 1, result, left.length, right.length - 1);\n return result;\n }\n else {\n const result = new Array(left.length + right.length);\n MyArray.Copy(left, 0, result, 0, left.length);\n MyArray.Copy(right, 0, result, left.length, right.length);\n return result;\n }\n }\n /**\n * Returns true if the two changes overlap and can be merged into a single\n * change\n * @param left The left change\n * @param right The right change\n * @param mergedChange The merged change if the two overlap, null otherwise\n * @returns True if the two changes overlap\n */\n ChangesOverlap(left, right, mergedChangeArr) {\n Debug.Assert(left.originalStart <= right.originalStart, 'Left change is not less than or equal to right change');\n Debug.Assert(left.modifiedStart <= right.modifiedStart, 'Left change is not less than or equal to right change');\n if (left.originalStart + left.originalLength >= right.originalStart || left.modifiedStart + left.modifiedLength >= right.modifiedStart) {\n const originalStart = left.originalStart;\n let originalLength = left.originalLength;\n const modifiedStart = left.modifiedStart;\n let modifiedLength = left.modifiedLength;\n if (left.originalStart + left.originalLength >= right.originalStart) {\n originalLength = right.originalStart + right.originalLength - left.originalStart;\n }\n if (left.modifiedStart + left.modifiedLength >= right.modifiedStart) {\n modifiedLength = right.modifiedStart + right.modifiedLength - left.modifiedStart;\n }\n mergedChangeArr[0] = new _diffChange_js__WEBPACK_IMPORTED_MODULE_0__.DiffChange(originalStart, originalLength, modifiedStart, modifiedLength);\n return true;\n }\n else {\n mergedChangeArr[0] = null;\n return false;\n }\n }\n /**\n * Helper method used to clip a diagonal index to the range of valid\n * diagonals. This also decides whether or not the diagonal index,\n * if it exceeds the boundary, should be clipped to the boundary or clipped\n * one inside the boundary depending on the Even/Odd status of the boundary\n * and numDifferences.\n * @param diagonal The index of the diagonal to clip.\n * @param numDifferences The current number of differences being iterated upon.\n * @param diagonalBaseIndex The base reference diagonal.\n * @param numDiagonals The total number of diagonals.\n * @returns The clipped diagonal index.\n */\n ClipDiagonalBound(diagonal, numDifferences, diagonalBaseIndex, numDiagonals) {\n if (diagonal >= 0 && diagonal < numDiagonals) {\n // Nothing to clip, its in range\n return diagonal;\n }\n // diagonalsBelow: The number of diagonals below the reference diagonal\n // diagonalsAbove: The number of diagonals above the reference diagonal\n const diagonalsBelow = diagonalBaseIndex;\n const diagonalsAbove = numDiagonals - diagonalBaseIndex - 1;\n const diffEven = (numDifferences % 2 === 0);\n if (diagonal < 0) {\n const lowerBoundEven = (diagonalsBelow % 2 === 0);\n return (diffEven === lowerBoundEven) ? 0 : 1;\n }\n else {\n const upperBoundEven = (diagonalsAbove % 2 === 0);\n return (diffEven === upperBoundEven) ? numDiagonals - 1 : numDiagonals - 2;\n }\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/diff/diff.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js": +/*!**************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.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 */ DiffChange: () => (/* binding */ DiffChange)\n/* harmony export */ });\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 * Represents information about a specific difference between two sequences.\n */\nclass DiffChange {\n /**\n * Constructs a new DiffChange with the given sequence information\n * and content.\n */\n constructor(originalStart, originalLength, modifiedStart, modifiedLength) {\n //Debug.Assert(originalLength > 0 || modifiedLength > 0, \"originalLength and modifiedLength cannot both be <= 0\");\n this.originalStart = originalStart;\n this.originalLength = originalLength;\n this.modifiedStart = modifiedStart;\n this.modifiedLength = modifiedLength;\n }\n /**\n * The end point (exclusive) of the change in the original sequence.\n */\n getOriginalEnd() {\n return this.originalStart + this.originalLength;\n }\n /**\n * The end point (exclusive) of the change in the modified sequence.\n */\n getModifiedEnd() {\n return this.modifiedStart + this.modifiedLength;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/errorMessage.js": +/*!***********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/errorMessage.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 */ toErrorMessage: () => (/* binding */ toErrorMessage)\n/* harmony export */ });\n/* harmony import */ var _arrays_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.js\");\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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\nfunction exceptionToErrorMessage(exception, verbose) {\n if (verbose && (exception.stack || exception.stacktrace)) {\n return _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('stackTrace.format', \"{0}: {1}\", detectSystemErrorMessage(exception), stackToString(exception.stack) || stackToString(exception.stacktrace));\n }\n return detectSystemErrorMessage(exception);\n}\nfunction stackToString(stack) {\n if (Array.isArray(stack)) {\n return stack.join('\\n');\n }\n return stack;\n}\nfunction detectSystemErrorMessage(exception) {\n // Custom node.js error from us\n if (exception.code === 'ERR_UNC_HOST_NOT_ALLOWED') {\n return `${exception.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`;\n }\n // See https://nodejs.org/api/errors.html#errors_class_system_error\n if (typeof exception.code === 'string' && typeof exception.errno === 'number' && typeof exception.syscall === 'string') {\n return _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('nodeExceptionMessage', \"A system error occurred ({0})\", exception.message);\n }\n return exception.message || _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('error.defaultMessage', \"An unknown error occurred. Please consult the log for more details.\");\n}\n/**\n * Tries to generate a human readable error message out of the error. If the verbose parameter\n * is set to true, the error message will include stacktrace details if provided.\n *\n * @returns A string containing the error message.\n */\nfunction toErrorMessage(error = null, verbose = false) {\n if (!error) {\n return _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('error.defaultMessage', \"An unknown error occurred. Please consult the log for more details.\");\n }\n if (Array.isArray(error)) {\n const errors = _arrays_js__WEBPACK_IMPORTED_MODULE_0__.coalesce(error);\n const msg = toErrorMessage(errors[0], verbose);\n if (errors.length > 1) {\n return _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('error.moreErrors', \"{0} ({1} errors in total)\", msg, errors.length);\n }\n return msg;\n }\n if (_types_js__WEBPACK_IMPORTED_MODULE_1__.isString(error)) {\n return error;\n }\n if (error.detail) {\n const detail = error.detail;\n if (detail.error) {\n return exceptionToErrorMessage(detail.error, verbose);\n }\n if (detail.exception) {\n return exceptionToErrorMessage(detail.exception, verbose);\n }\n }\n if (error.stack) {\n return exceptionToErrorMessage(error, verbose);\n }\n if (error.message) {\n return error.message;\n }\n return _nls_js__WEBPACK_IMPORTED_MODULE_2__.localize('error.defaultMessage', \"An unknown error occurred. Please consult the log for more details.\");\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/errorMessage.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/errors.js": +/*!*****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/errors.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 */ BugIndicatingError: () => (/* binding */ BugIndicatingError),\n/* harmony export */ CancellationError: () => (/* binding */ CancellationError),\n/* harmony export */ ErrorHandler: () => (/* binding */ ErrorHandler),\n/* harmony export */ ErrorNoTelemetry: () => (/* binding */ ErrorNoTelemetry),\n/* harmony export */ NotSupportedError: () => (/* binding */ NotSupportedError),\n/* harmony export */ canceled: () => (/* binding */ canceled),\n/* harmony export */ errorHandler: () => (/* binding */ errorHandler),\n/* harmony export */ illegalArgument: () => (/* binding */ illegalArgument),\n/* harmony export */ illegalState: () => (/* binding */ illegalState),\n/* harmony export */ isCancellationError: () => (/* binding */ isCancellationError),\n/* harmony export */ onUnexpectedError: () => (/* binding */ onUnexpectedError),\n/* harmony export */ onUnexpectedExternalError: () => (/* binding */ onUnexpectedExternalError),\n/* harmony export */ transformErrorForSerialization: () => (/* binding */ transformErrorForSerialization)\n/* harmony export */ });\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// Avoid circular dependency on EventEmitter by implementing a subset of the interface.\nclass ErrorHandler {\n constructor() {\n this.listeners = [];\n this.unexpectedErrorHandler = function (e) {\n setTimeout(() => {\n if (e.stack) {\n if (ErrorNoTelemetry.isErrorNoTelemetry(e)) {\n throw new ErrorNoTelemetry(e.message + '\\n\\n' + e.stack);\n }\n throw new Error(e.message + '\\n\\n' + e.stack);\n }\n throw e;\n }, 0);\n };\n }\n emit(e) {\n this.listeners.forEach((listener) => {\n listener(e);\n });\n }\n onUnexpectedError(e) {\n this.unexpectedErrorHandler(e);\n this.emit(e);\n }\n // For external errors, we don't want the listeners to be called\n onUnexpectedExternalError(e) {\n this.unexpectedErrorHandler(e);\n }\n}\nconst errorHandler = new ErrorHandler();\nfunction onUnexpectedError(e) {\n // ignore errors from cancelled promises\n if (!isCancellationError(e)) {\n errorHandler.onUnexpectedError(e);\n }\n return undefined;\n}\nfunction onUnexpectedExternalError(e) {\n // ignore errors from cancelled promises\n if (!isCancellationError(e)) {\n errorHandler.onUnexpectedExternalError(e);\n }\n return undefined;\n}\nfunction transformErrorForSerialization(error) {\n if (error instanceof Error) {\n const { name, message } = error;\n const stack = error.stacktrace || error.stack;\n return {\n $isError: true,\n name,\n message,\n stack,\n noTelemetry: ErrorNoTelemetry.isErrorNoTelemetry(error)\n };\n }\n // return as is\n return error;\n}\nconst canceledName = 'Canceled';\n/**\n * Checks if the given error is a promise in canceled state\n */\nfunction isCancellationError(error) {\n if (error instanceof CancellationError) {\n return true;\n }\n return error instanceof Error && error.name === canceledName && error.message === canceledName;\n}\n// !!!IMPORTANT!!!\n// Do NOT change this class because it is also used as an API-type.\nclass CancellationError extends Error {\n constructor() {\n super(canceledName);\n this.name = this.message;\n }\n}\n/**\n * @deprecated use {@link CancellationError `new CancellationError()`} instead\n */\nfunction canceled() {\n const error = new Error(canceledName);\n error.name = error.message;\n return error;\n}\nfunction illegalArgument(name) {\n if (name) {\n return new Error(`Illegal argument: ${name}`);\n }\n else {\n return new Error('Illegal argument');\n }\n}\nfunction illegalState(name) {\n if (name) {\n return new Error(`Illegal state: ${name}`);\n }\n else {\n return new Error('Illegal state');\n }\n}\nclass NotSupportedError extends Error {\n constructor(message) {\n super('NotSupported');\n if (message) {\n this.message = message;\n }\n }\n}\n/**\n * Error that when thrown won't be logged in telemetry as an unhandled error.\n */\nclass ErrorNoTelemetry extends Error {\n constructor(msg) {\n super(msg);\n this.name = 'CodeExpectedError';\n }\n static fromError(err) {\n if (err instanceof ErrorNoTelemetry) {\n return err;\n }\n const result = new ErrorNoTelemetry();\n result.message = err.message;\n result.stack = err.stack;\n return result;\n }\n static isErrorNoTelemetry(err) {\n return err.name === 'CodeExpectedError';\n }\n}\n/**\n * This error indicates a bug.\n * Do not throw this for invalid user input.\n * Only catch this error to recover gracefully from bugs.\n */\nclass BugIndicatingError extends Error {\n constructor(message) {\n super(message || 'An unexpected bug occurred.');\n Object.setPrototypeOf(this, BugIndicatingError.prototype);\n // Because we know for sure only buggy code throws this,\n // we definitely want to break here and fix the bug.\n // eslint-disable-next-line no-debugger\n // debugger;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/errors.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/event.js": +/*!****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/event.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 */ DebounceEmitter: () => (/* binding */ DebounceEmitter),\n/* harmony export */ Emitter: () => (/* binding */ Emitter),\n/* harmony export */ Event: () => (/* binding */ Event),\n/* harmony export */ EventBufferer: () => (/* binding */ EventBufferer),\n/* harmony export */ EventMultiplexer: () => (/* binding */ EventMultiplexer),\n/* harmony export */ EventProfiling: () => (/* binding */ EventProfiling),\n/* harmony export */ MicrotaskEmitter: () => (/* binding */ MicrotaskEmitter),\n/* harmony export */ PauseableEmitter: () => (/* binding */ PauseableEmitter),\n/* harmony export */ Relay: () => (/* binding */ Relay),\n/* harmony export */ createEventDeliveryQueue: () => (/* binding */ createEventDeliveryQueue)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _functional_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./functional.js */ \"./node_modules/monaco-editor/esm/vs/base/common/functional.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _linkedList_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./linkedList.js */ \"./node_modules/monaco-editor/esm/vs/base/common/linkedList.js\");\n/* harmony import */ var _stopwatch_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./stopwatch.js */ \"./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js\");\n\n\n\n\n\n// -----------------------------------------------------------------------------------------------------------------------\n// Uncomment the next line to print warnings whenever an emitter with listeners is disposed. That is a sign of code smell.\n// -----------------------------------------------------------------------------------------------------------------------\nconst _enableDisposeWithListenerWarning = false;\n// _enableDisposeWithListenerWarning = Boolean(\"TRUE\"); // causes a linter warning so that it cannot be pushed\n// -----------------------------------------------------------------------------------------------------------------------\n// Uncomment the next line to print warnings whenever a snapshotted event is used repeatedly without cleanup.\n// See https://github.com/microsoft/vscode/issues/142851\n// -----------------------------------------------------------------------------------------------------------------------\nconst _enableSnapshotPotentialLeakWarning = false;\nvar Event;\n(function (Event) {\n Event.None = () => _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n function _addLeakageTraceLogic(options) {\n if (_enableSnapshotPotentialLeakWarning) {\n const { onDidAddListener: origListenerDidAdd } = options;\n const stack = Stacktrace.create();\n let count = 0;\n options.onDidAddListener = () => {\n if (++count === 2) {\n console.warn('snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here');\n stack.print();\n }\n origListenerDidAdd === null || origListenerDidAdd === void 0 ? void 0 : origListenerDidAdd();\n };\n }\n }\n /**\n * Given an event, returns another event which debounces calls and defers the listeners to a later task via a shared\n * `setTimeout`. The event is converted into a signal (`Event`) to avoid additional object creation as a\n * result of merging events and to try prevent race conditions that could arise when using related deferred and\n * non-deferred events.\n *\n * This is useful for deferring non-critical work (eg. general UI updates) to ensure it does not block critical work\n * (eg. latency of keypress to text rendered).\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @param event The event source for the new event.\n * @param disposable A disposable store to add the new EventEmitter to.\n */\n function defer(event, disposable) {\n return debounce(event, () => void 0, 0, undefined, true, undefined, disposable);\n }\n Event.defer = defer;\n /**\n * Given an event, returns another event which only fires once.\n *\n * @param event The event source for the new event.\n */\n function once(event) {\n return (listener, thisArgs = null, disposables) => {\n // we need this, in case the event fires during the listener call\n let didFire = false;\n let result = undefined;\n result = event(e => {\n if (didFire) {\n return;\n }\n else if (result) {\n result.dispose();\n }\n else {\n didFire = true;\n }\n return listener.call(thisArgs, e);\n }, null, disposables);\n if (didFire) {\n result.dispose();\n }\n return result;\n };\n }\n Event.once = once;\n /**\n * Maps an event of one type into an event of another type using a mapping function, similar to how\n * `Array.prototype.map` works.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @param event The event source for the new event.\n * @param map The mapping function.\n * @param disposable A disposable store to add the new EventEmitter to.\n */\n function map(event, map, disposable) {\n return snapshot((listener, thisArgs = null, disposables) => event(i => listener.call(thisArgs, map(i)), null, disposables), disposable);\n }\n Event.map = map;\n /**\n * Wraps an event in another event that performs some function on the event object before firing.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @param event The event source for the new event.\n * @param each The function to perform on the event object.\n * @param disposable A disposable store to add the new EventEmitter to.\n */\n function forEach(event, each, disposable) {\n return snapshot((listener, thisArgs = null, disposables) => event(i => { each(i); listener.call(thisArgs, i); }, null, disposables), disposable);\n }\n Event.forEach = forEach;\n function filter(event, filter, disposable) {\n return snapshot((listener, thisArgs = null, disposables) => event(e => filter(e) && listener.call(thisArgs, e), null, disposables), disposable);\n }\n Event.filter = filter;\n /**\n * Given an event, returns the same event but typed as `Event`.\n */\n function signal(event) {\n return event;\n }\n Event.signal = signal;\n function any(...events) {\n return (listener, thisArgs = null, disposables) => (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.combinedDisposable)(...events.map(event => event(e => listener.call(thisArgs, e), null, disposables)));\n }\n Event.any = any;\n /**\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n */\n function reduce(event, merge, initial, disposable) {\n let output = initial;\n return map(event, e => {\n output = merge(output, e);\n return output;\n }, disposable);\n }\n Event.reduce = reduce;\n function snapshot(event, disposable) {\n let listener;\n const options = {\n onWillAddFirstListener() {\n listener = event(emitter.fire, emitter);\n },\n onDidRemoveLastListener() {\n listener === null || listener === void 0 ? void 0 : listener.dispose();\n }\n };\n if (!disposable) {\n _addLeakageTraceLogic(options);\n }\n const emitter = new Emitter(options);\n disposable === null || disposable === void 0 ? void 0 : disposable.add(emitter);\n return emitter.event;\n }\n function debounce(event, merge, delay = 100, leading = false, flushOnListenerRemove = false, leakWarningThreshold, disposable) {\n let subscription;\n let output = undefined;\n let handle = undefined;\n let numDebouncedCalls = 0;\n let doFire;\n const options = {\n leakWarningThreshold,\n onWillAddFirstListener() {\n subscription = event(cur => {\n numDebouncedCalls++;\n output = merge(output, cur);\n if (leading && !handle) {\n emitter.fire(output);\n output = undefined;\n }\n doFire = () => {\n const _output = output;\n output = undefined;\n handle = undefined;\n if (!leading || numDebouncedCalls > 1) {\n emitter.fire(_output);\n }\n numDebouncedCalls = 0;\n };\n if (typeof delay === 'number') {\n clearTimeout(handle);\n handle = setTimeout(doFire, delay);\n }\n else {\n if (handle === undefined) {\n handle = 0;\n queueMicrotask(doFire);\n }\n }\n });\n },\n onWillRemoveListener() {\n if (flushOnListenerRemove && numDebouncedCalls > 0) {\n doFire === null || doFire === void 0 ? void 0 : doFire();\n }\n },\n onDidRemoveLastListener() {\n doFire = undefined;\n subscription.dispose();\n }\n };\n if (!disposable) {\n _addLeakageTraceLogic(options);\n }\n const emitter = new Emitter(options);\n disposable === null || disposable === void 0 ? void 0 : disposable.add(emitter);\n return emitter.event;\n }\n Event.debounce = debounce;\n /**\n * Debounces an event, firing after some delay (default=0) with an array of all event original objects.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n */\n function accumulate(event, delay = 0, disposable) {\n return Event.debounce(event, (last, e) => {\n if (!last) {\n return [e];\n }\n last.push(e);\n return last;\n }, delay, undefined, true, undefined, disposable);\n }\n Event.accumulate = accumulate;\n /**\n * Filters an event such that some condition is _not_ met more than once in a row, effectively ensuring duplicate\n * event objects from different sources do not fire the same event object.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @param event The event source for the new event.\n * @param equals The equality condition.\n * @param disposable A disposable store to add the new EventEmitter to.\n *\n * @example\n * ```\n * // Fire only one time when a single window is opened or focused\n * Event.latch(Event.any(onDidOpenWindow, onDidFocusWindow))\n * ```\n */\n function latch(event, equals = (a, b) => a === b, disposable) {\n let firstCall = true;\n let cache;\n return filter(event, value => {\n const shouldEmit = firstCall || !equals(value, cache);\n firstCall = false;\n cache = value;\n return shouldEmit;\n }, disposable);\n }\n Event.latch = latch;\n /**\n * Splits an event whose parameter is a union type into 2 separate events for each type in the union.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @example\n * ```\n * const event = new EventEmitter().event;\n * const [numberEvent, undefinedEvent] = Event.split(event, isUndefined);\n * ```\n *\n * @param event The event source for the new event.\n * @param isT A function that determines what event is of the first type.\n * @param disposable A disposable store to add the new EventEmitter to.\n */\n function split(event, isT, disposable) {\n return [\n Event.filter(event, isT, disposable),\n Event.filter(event, e => !isT(e), disposable),\n ];\n }\n Event.split = split;\n /**\n * Buffers an event until it has a listener attached.\n *\n * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned\n * event is accessible to \"third parties\", e.g the event is a public property. Otherwise a leaked listener on the\n * returned event causes this utility to leak a listener on the original event.\n *\n * @param event The event source for the new event.\n * @param flushAfterTimeout Determines whether to flush the buffer after a timeout immediately or after a\n * `setTimeout` when the first event listener is added.\n * @param _buffer Internal: A source event array used for tests.\n *\n * @example\n * ```\n * // Start accumulating events, when the first listener is attached, flush\n * // the event after a timeout such that multiple listeners attached before\n * // the timeout would receive the event\n * this.onInstallExtension = Event.buffer(service.onInstallExtension, true);\n * ```\n */\n function buffer(event, flushAfterTimeout = false, _buffer = []) {\n let buffer = _buffer.slice();\n let listener = event(e => {\n if (buffer) {\n buffer.push(e);\n }\n else {\n emitter.fire(e);\n }\n });\n const flush = () => {\n buffer === null || buffer === void 0 ? void 0 : buffer.forEach(e => emitter.fire(e));\n buffer = null;\n };\n const emitter = new Emitter({\n onWillAddFirstListener() {\n if (!listener) {\n listener = event(e => emitter.fire(e));\n }\n },\n onDidAddFirstListener() {\n if (buffer) {\n if (flushAfterTimeout) {\n setTimeout(flush);\n }\n else {\n flush();\n }\n }\n },\n onDidRemoveLastListener() {\n if (listener) {\n listener.dispose();\n }\n listener = null;\n }\n });\n return emitter.event;\n }\n Event.buffer = buffer;\n class ChainableEvent {\n constructor(event) {\n this.event = event;\n this.disposables = new _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.DisposableStore();\n }\n /** @see {@link Event.map} */\n map(fn) {\n return new ChainableEvent(map(this.event, fn, this.disposables));\n }\n /** @see {@link Event.forEach} */\n forEach(fn) {\n return new ChainableEvent(forEach(this.event, fn, this.disposables));\n }\n filter(fn) {\n return new ChainableEvent(filter(this.event, fn, this.disposables));\n }\n /** @see {@link Event.reduce} */\n reduce(merge, initial) {\n return new ChainableEvent(reduce(this.event, merge, initial, this.disposables));\n }\n /** @see {@link Event.reduce} */\n latch() {\n return new ChainableEvent(latch(this.event, undefined, this.disposables));\n }\n debounce(merge, delay = 100, leading = false, flushOnListenerRemove = false, leakWarningThreshold) {\n return new ChainableEvent(debounce(this.event, merge, delay, leading, flushOnListenerRemove, leakWarningThreshold, this.disposables));\n }\n /**\n * Attach a listener to the event.\n */\n on(listener, thisArgs, disposables) {\n return this.event(listener, thisArgs, disposables);\n }\n /** @see {@link Event.once} */\n once(listener, thisArgs, disposables) {\n return once(this.event)(listener, thisArgs, disposables);\n }\n dispose() {\n this.disposables.dispose();\n }\n }\n /**\n * Wraps the event in an {@link IChainableEvent}, allowing a more functional programming style.\n *\n * @example\n * ```\n * // Normal\n * const onEnterPressNormal = Event.filter(\n * Event.map(onKeyPress.event, e => new StandardKeyboardEvent(e)),\n * e.keyCode === KeyCode.Enter\n * ).event;\n *\n * // Using chain\n * const onEnterPressChain = Event.chain(onKeyPress.event)\n * .map(e => new StandardKeyboardEvent(e))\n * .filter(e => e.keyCode === KeyCode.Enter)\n * .event;\n * ```\n */\n function chain(event) {\n return new ChainableEvent(event);\n }\n Event.chain = chain;\n /**\n * Creates an {@link Event} from a node event emitter.\n */\n function fromNodeEventEmitter(emitter, eventName, map = id => id) {\n const fn = (...args) => result.fire(map(...args));\n const onFirstListenerAdd = () => emitter.on(eventName, fn);\n const onLastListenerRemove = () => emitter.removeListener(eventName, fn);\n const result = new Emitter({ onWillAddFirstListener: onFirstListenerAdd, onDidRemoveLastListener: onLastListenerRemove });\n return result.event;\n }\n Event.fromNodeEventEmitter = fromNodeEventEmitter;\n /**\n * Creates an {@link Event} from a DOM event emitter.\n */\n function fromDOMEventEmitter(emitter, eventName, map = id => id) {\n const fn = (...args) => result.fire(map(...args));\n const onFirstListenerAdd = () => emitter.addEventListener(eventName, fn);\n const onLastListenerRemove = () => emitter.removeEventListener(eventName, fn);\n const result = new Emitter({ onWillAddFirstListener: onFirstListenerAdd, onDidRemoveLastListener: onLastListenerRemove });\n return result.event;\n }\n Event.fromDOMEventEmitter = fromDOMEventEmitter;\n /**\n * Creates a promise out of an event, using the {@link Event.once} helper.\n */\n function toPromise(event) {\n return new Promise(resolve => once(event)(resolve));\n }\n Event.toPromise = toPromise;\n /**\n * Adds a listener to an event and calls the listener immediately with undefined as the event object.\n *\n * @example\n * ```\n * // Initialize the UI and update it when dataChangeEvent fires\n * runAndSubscribe(dataChangeEvent, () => this._updateUI());\n * ```\n */\n function runAndSubscribe(event, handler) {\n handler(undefined);\n return event(e => handler(e));\n }\n Event.runAndSubscribe = runAndSubscribe;\n /**\n * Adds a listener to an event and calls the listener immediately with undefined as the event object. A new\n * {@link DisposableStore} is passed to the listener which is disposed when the returned disposable is disposed.\n */\n function runAndSubscribeWithStore(event, handler) {\n let store = null;\n function run(e) {\n store === null || store === void 0 ? void 0 : store.dispose();\n store = new _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.DisposableStore();\n handler(e, store);\n }\n run(undefined);\n const disposable = event(e => run(e));\n return (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.toDisposable)(() => {\n disposable.dispose();\n store === null || store === void 0 ? void 0 : store.dispose();\n });\n }\n Event.runAndSubscribeWithStore = runAndSubscribeWithStore;\n class EmitterObserver {\n constructor(_observable, store) {\n this._observable = _observable;\n this._counter = 0;\n this._hasChanged = false;\n const options = {\n onWillAddFirstListener: () => {\n _observable.addObserver(this);\n },\n onDidRemoveLastListener: () => {\n _observable.removeObserver(this);\n }\n };\n if (!store) {\n _addLeakageTraceLogic(options);\n }\n this.emitter = new Emitter(options);\n if (store) {\n store.add(this.emitter);\n }\n }\n beginUpdate(_observable) {\n // assert(_observable === this.obs);\n this._counter++;\n }\n handlePossibleChange(_observable) {\n // assert(_observable === this.obs);\n }\n handleChange(_observable, _change) {\n // assert(_observable === this.obs);\n this._hasChanged = true;\n }\n endUpdate(_observable) {\n // assert(_observable === this.obs);\n this._counter--;\n if (this._counter === 0) {\n this._observable.reportChanges();\n if (this._hasChanged) {\n this._hasChanged = false;\n this.emitter.fire(this._observable.get());\n }\n }\n }\n }\n /**\n * Creates an event emitter that is fired when the observable changes.\n * Each listeners subscribes to the emitter.\n */\n function fromObservable(obs, store) {\n const observer = new EmitterObserver(obs, store);\n return observer.emitter.event;\n }\n Event.fromObservable = fromObservable;\n /**\n * Each listener is attached to the observable directly.\n */\n function fromObservableLight(observable) {\n return (listener) => {\n let count = 0;\n let didChange = false;\n const observer = {\n beginUpdate() {\n count++;\n },\n endUpdate() {\n count--;\n if (count === 0) {\n observable.reportChanges();\n if (didChange) {\n didChange = false;\n listener();\n }\n }\n },\n handlePossibleChange() {\n // noop\n },\n handleChange() {\n didChange = true;\n }\n };\n observable.addObserver(observer);\n return {\n dispose() {\n observable.removeObserver(observer);\n }\n };\n };\n }\n Event.fromObservableLight = fromObservableLight;\n})(Event || (Event = {}));\nclass EventProfiling {\n constructor(name) {\n this.listenerCount = 0;\n this.invocationCount = 0;\n this.elapsedOverall = 0;\n this.durations = [];\n this.name = `${name}_${EventProfiling._idPool++}`;\n EventProfiling.all.add(this);\n }\n start(listenerCount) {\n this._stopWatch = new _stopwatch_js__WEBPACK_IMPORTED_MODULE_4__.StopWatch();\n this.listenerCount = listenerCount;\n }\n stop() {\n if (this._stopWatch) {\n const elapsed = this._stopWatch.elapsed();\n this.durations.push(elapsed);\n this.elapsedOverall += elapsed;\n this.invocationCount += 1;\n this._stopWatch = undefined;\n }\n }\n}\nEventProfiling.all = new Set();\nEventProfiling._idPool = 0;\nlet _globalLeakWarningThreshold = -1;\nclass LeakageMonitor {\n constructor(threshold, name = Math.random().toString(18).slice(2, 5)) {\n this.threshold = threshold;\n this.name = name;\n this._warnCountdown = 0;\n }\n dispose() {\n var _a;\n (_a = this._stacks) === null || _a === void 0 ? void 0 : _a.clear();\n }\n check(stack, listenerCount) {\n const threshold = this.threshold;\n if (threshold <= 0 || listenerCount < threshold) {\n return undefined;\n }\n if (!this._stacks) {\n this._stacks = new Map();\n }\n const count = (this._stacks.get(stack.value) || 0);\n this._stacks.set(stack.value, count + 1);\n this._warnCountdown -= 1;\n if (this._warnCountdown <= 0) {\n // only warn on first exceed and then every time the limit\n // is exceeded by 50% again\n this._warnCountdown = threshold * 0.5;\n // find most frequent listener and print warning\n let topStack;\n let topCount = 0;\n for (const [stack, count] of this._stacks) {\n if (!topStack || topCount < count) {\n topStack = stack;\n topCount = count;\n }\n }\n console.warn(`[${this.name}] potential listener LEAK detected, having ${listenerCount} listeners already. MOST frequent listener (${topCount}):`);\n console.warn(topStack);\n }\n return () => {\n const count = (this._stacks.get(stack.value) || 0);\n this._stacks.set(stack.value, count - 1);\n };\n }\n}\nclass Stacktrace {\n static create() {\n var _a;\n return new Stacktrace((_a = new Error().stack) !== null && _a !== void 0 ? _a : '');\n }\n constructor(value) {\n this.value = value;\n }\n print() {\n console.warn(this.value.split('\\n').slice(2).join('\\n'));\n }\n}\nclass UniqueContainer {\n constructor(value) {\n this.value = value;\n }\n}\nconst compactionThreshold = 2;\nconst forEachListener = (listeners, fn) => {\n if (listeners instanceof UniqueContainer) {\n fn(listeners);\n }\n else {\n for (let i = 0; i < listeners.length; i++) {\n const l = listeners[i];\n if (l) {\n fn(l);\n }\n }\n }\n};\n/**\n * The Emitter can be used to expose an Event to the public\n * to fire it from the insides.\n * Sample:\n class Document {\n\n private readonly _onDidChange = new Emitter<(value:string)=>any>();\n\n public onDidChange = this._onDidChange.event;\n\n // getter-style\n // get onDidChange(): Event<(value:string)=>any> {\n // \treturn this._onDidChange.event;\n // }\n\n private _doIt() {\n //...\n this._onDidChange.fire(value);\n }\n }\n */\nclass Emitter {\n constructor(options) {\n var _a, _b, _c, _d, _e;\n this._size = 0;\n this._options = options;\n this._leakageMon = _globalLeakWarningThreshold > 0 || ((_a = this._options) === null || _a === void 0 ? void 0 : _a.leakWarningThreshold) ? new LeakageMonitor((_c = (_b = this._options) === null || _b === void 0 ? void 0 : _b.leakWarningThreshold) !== null && _c !== void 0 ? _c : _globalLeakWarningThreshold) : undefined;\n this._perfMon = ((_d = this._options) === null || _d === void 0 ? void 0 : _d._profName) ? new EventProfiling(this._options._profName) : undefined;\n this._deliveryQueue = (_e = this._options) === null || _e === void 0 ? void 0 : _e.deliveryQueue;\n }\n dispose() {\n var _a, _b, _c, _d;\n if (!this._disposed) {\n this._disposed = true;\n // It is bad to have listeners at the time of disposing an emitter, it is worst to have listeners keep the emitter\n // alive via the reference that's embedded in their disposables. Therefore we loop over all remaining listeners and\n // unset their subscriptions/disposables. Looping and blaming remaining listeners is done on next tick because the\n // the following programming pattern is very popular:\n //\n // const someModel = this._disposables.add(new ModelObject()); // (1) create and register model\n // this._disposables.add(someModel.onDidChange(() => { ... }); // (2) subscribe and register model-event listener\n // ...later...\n // this._disposables.dispose(); disposes (1) then (2): don't warn after (1) but after the \"overall dispose\" is done\n if (((_a = this._deliveryQueue) === null || _a === void 0 ? void 0 : _a.current) === this) {\n this._deliveryQueue.reset();\n }\n if (this._listeners) {\n if (_enableDisposeWithListenerWarning) {\n const listeners = this._listeners;\n queueMicrotask(() => {\n forEachListener(listeners, l => { var _a; return (_a = l.stack) === null || _a === void 0 ? void 0 : _a.print(); });\n });\n }\n this._listeners = undefined;\n this._size = 0;\n }\n (_c = (_b = this._options) === null || _b === void 0 ? void 0 : _b.onDidRemoveLastListener) === null || _c === void 0 ? void 0 : _c.call(_b);\n (_d = this._leakageMon) === null || _d === void 0 ? void 0 : _d.dispose();\n }\n }\n /**\n * For the public to allow to subscribe\n * to events from this Emitter\n */\n get event() {\n var _a;\n (_a = this._event) !== null && _a !== void 0 ? _a : (this._event = (callback, thisArgs, disposables) => {\n var _a, _b, _c, _d, _e;\n if (this._leakageMon && this._size > this._leakageMon.threshold * 3) {\n console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`);\n return _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n }\n if (this._disposed) {\n // todo: should we warn if a listener is added to a disposed emitter? This happens often\n return _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n }\n if (thisArgs) {\n callback = callback.bind(thisArgs);\n }\n const contained = new UniqueContainer(callback);\n let removeMonitor;\n let stack;\n if (this._leakageMon && this._size >= Math.ceil(this._leakageMon.threshold * 0.2)) {\n // check and record this emitter for potential leakage\n contained.stack = Stacktrace.create();\n removeMonitor = this._leakageMon.check(contained.stack, this._size + 1);\n }\n if (_enableDisposeWithListenerWarning) {\n contained.stack = stack !== null && stack !== void 0 ? stack : Stacktrace.create();\n }\n if (!this._listeners) {\n (_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.onWillAddFirstListener) === null || _b === void 0 ? void 0 : _b.call(_a, this);\n this._listeners = contained;\n (_d = (_c = this._options) === null || _c === void 0 ? void 0 : _c.onDidAddFirstListener) === null || _d === void 0 ? void 0 : _d.call(_c, this);\n }\n else if (this._listeners instanceof UniqueContainer) {\n (_e = this._deliveryQueue) !== null && _e !== void 0 ? _e : (this._deliveryQueue = new EventDeliveryQueuePrivate());\n this._listeners = [this._listeners, contained];\n }\n else {\n this._listeners.push(contained);\n }\n this._size++;\n const result = (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.toDisposable)(() => { removeMonitor === null || removeMonitor === void 0 ? void 0 : removeMonitor(); this._removeListener(contained); });\n if (disposables instanceof _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.DisposableStore) {\n disposables.add(result);\n }\n else if (Array.isArray(disposables)) {\n disposables.push(result);\n }\n return result;\n });\n return this._event;\n }\n _removeListener(listener) {\n var _a, _b, _c, _d;\n (_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.onWillRemoveListener) === null || _b === void 0 ? void 0 : _b.call(_a, this);\n if (!this._listeners) {\n return; // expected if a listener gets disposed\n }\n if (this._size === 1) {\n this._listeners = undefined;\n (_d = (_c = this._options) === null || _c === void 0 ? void 0 : _c.onDidRemoveLastListener) === null || _d === void 0 ? void 0 : _d.call(_c, this);\n this._size = 0;\n return;\n }\n // size > 1 which requires that listeners be a list:\n const listeners = this._listeners;\n const index = listeners.indexOf(listener);\n if (index === -1) {\n console.log('disposed?', this._disposed);\n console.log('size?', this._size);\n console.log('arr?', JSON.stringify(this._listeners));\n throw new Error('Attempted to dispose unknown listener');\n }\n this._size--;\n listeners[index] = undefined;\n const adjustDeliveryQueue = this._deliveryQueue.current === this;\n if (this._size * compactionThreshold <= listeners.length) {\n let n = 0;\n for (let i = 0; i < listeners.length; i++) {\n if (listeners[i]) {\n listeners[n++] = listeners[i];\n }\n else if (adjustDeliveryQueue) {\n this._deliveryQueue.end--;\n if (n < this._deliveryQueue.i) {\n this._deliveryQueue.i--;\n }\n }\n }\n listeners.length = n;\n }\n }\n _deliver(listener, value) {\n var _a;\n if (!listener) {\n return;\n }\n const errorHandler = ((_a = this._options) === null || _a === void 0 ? void 0 : _a.onListenerError) || _errors_js__WEBPACK_IMPORTED_MODULE_0__.onUnexpectedError;\n if (!errorHandler) {\n listener.value(value);\n return;\n }\n try {\n listener.value(value);\n }\n catch (e) {\n errorHandler(e);\n }\n }\n /** Delivers items in the queue. Assumes the queue is ready to go. */\n _deliverQueue(dq) {\n const listeners = dq.current._listeners;\n while (dq.i < dq.end) {\n // important: dq.i is incremented before calling deliver() because it might reenter deliverQueue()\n this._deliver(listeners[dq.i++], dq.value);\n }\n dq.reset();\n }\n /**\n * To be kept private to fire an event to\n * subscribers\n */\n fire(event) {\n var _a, _b, _c, _d;\n if ((_a = this._deliveryQueue) === null || _a === void 0 ? void 0 : _a.current) {\n this._deliverQueue(this._deliveryQueue);\n (_b = this._perfMon) === null || _b === void 0 ? void 0 : _b.stop(); // last fire() will have starting perfmon, stop it before starting the next dispatch\n }\n (_c = this._perfMon) === null || _c === void 0 ? void 0 : _c.start(this._size);\n if (!this._listeners) {\n // no-op\n }\n else if (this._listeners instanceof UniqueContainer) {\n this._deliver(this._listeners, event);\n }\n else {\n const dq = this._deliveryQueue;\n dq.enqueue(this, event, this._listeners.length);\n this._deliverQueue(dq);\n }\n (_d = this._perfMon) === null || _d === void 0 ? void 0 : _d.stop();\n }\n hasListeners() {\n return this._size > 0;\n }\n}\nconst createEventDeliveryQueue = () => new EventDeliveryQueuePrivate();\nclass EventDeliveryQueuePrivate {\n constructor() {\n /**\n * Index in current's listener list.\n */\n this.i = -1;\n /**\n * The last index in the listener's list to deliver.\n */\n this.end = 0;\n }\n enqueue(emitter, value, end) {\n this.i = 0;\n this.end = end;\n this.current = emitter;\n this.value = value;\n }\n reset() {\n this.i = this.end; // force any current emission loop to stop, mainly for during dispose\n this.current = undefined;\n this.value = undefined;\n }\n}\nclass PauseableEmitter extends Emitter {\n constructor(options) {\n super(options);\n this._isPaused = 0;\n this._eventQueue = new _linkedList_js__WEBPACK_IMPORTED_MODULE_3__.LinkedList();\n this._mergeFn = options === null || options === void 0 ? void 0 : options.merge;\n }\n pause() {\n this._isPaused++;\n }\n resume() {\n if (this._isPaused !== 0 && --this._isPaused === 0) {\n if (this._mergeFn) {\n // use the merge function to create a single composite\n // event. make a copy in case firing pauses this emitter\n if (this._eventQueue.size > 0) {\n const events = Array.from(this._eventQueue);\n this._eventQueue.clear();\n super.fire(this._mergeFn(events));\n }\n }\n else {\n // no merging, fire each event individually and test\n // that this emitter isn't paused halfway through\n while (!this._isPaused && this._eventQueue.size !== 0) {\n super.fire(this._eventQueue.shift());\n }\n }\n }\n }\n fire(event) {\n if (this._size) {\n if (this._isPaused !== 0) {\n this._eventQueue.push(event);\n }\n else {\n super.fire(event);\n }\n }\n }\n}\nclass DebounceEmitter extends PauseableEmitter {\n constructor(options) {\n var _a;\n super(options);\n this._delay = (_a = options.delay) !== null && _a !== void 0 ? _a : 100;\n }\n fire(event) {\n if (!this._handle) {\n this.pause();\n this._handle = setTimeout(() => {\n this._handle = undefined;\n this.resume();\n }, this._delay);\n }\n super.fire(event);\n }\n}\n/**\n * An emitter which queue all events and then process them at the\n * end of the event loop.\n */\nclass MicrotaskEmitter extends Emitter {\n constructor(options) {\n super(options);\n this._queuedEvents = [];\n this._mergeFn = options === null || options === void 0 ? void 0 : options.merge;\n }\n fire(event) {\n if (!this.hasListeners()) {\n return;\n }\n this._queuedEvents.push(event);\n if (this._queuedEvents.length === 1) {\n queueMicrotask(() => {\n if (this._mergeFn) {\n super.fire(this._mergeFn(this._queuedEvents));\n }\n else {\n this._queuedEvents.forEach(e => super.fire(e));\n }\n this._queuedEvents = [];\n });\n }\n }\n}\nclass EventMultiplexer {\n constructor() {\n this.hasListeners = false;\n this.events = [];\n this.emitter = new Emitter({\n onWillAddFirstListener: () => this.onFirstListenerAdd(),\n onDidRemoveLastListener: () => this.onLastListenerRemove()\n });\n }\n get event() {\n return this.emitter.event;\n }\n add(event) {\n const e = { event: event, listener: null };\n this.events.push(e);\n if (this.hasListeners) {\n this.hook(e);\n }\n const dispose = () => {\n if (this.hasListeners) {\n this.unhook(e);\n }\n const idx = this.events.indexOf(e);\n this.events.splice(idx, 1);\n };\n return (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.toDisposable)((0,_functional_js__WEBPACK_IMPORTED_MODULE_1__.once)(dispose));\n }\n onFirstListenerAdd() {\n this.hasListeners = true;\n this.events.forEach(e => this.hook(e));\n }\n onLastListenerRemove() {\n this.hasListeners = false;\n this.events.forEach(e => this.unhook(e));\n }\n hook(e) {\n e.listener = e.event(r => this.emitter.fire(r));\n }\n unhook(e) {\n if (e.listener) {\n e.listener.dispose();\n }\n e.listener = null;\n }\n dispose() {\n this.emitter.dispose();\n }\n}\n/**\n * The EventBufferer is useful in situations in which you want\n * to delay firing your events during some code.\n * You can wrap that code and be sure that the event will not\n * be fired during that wrap.\n *\n * ```\n * const emitter: Emitter;\n * const delayer = new EventDelayer();\n * const delayedEvent = delayer.wrapEvent(emitter.event);\n *\n * delayedEvent(console.log);\n *\n * delayer.bufferEvents(() => {\n * emitter.fire(); // event will not be fired yet\n * });\n *\n * // event will only be fired at this point\n * ```\n */\nclass EventBufferer {\n constructor() {\n this.buffers = [];\n }\n wrapEvent(event) {\n return (listener, thisArgs, disposables) => {\n return event(i => {\n const buffer = this.buffers[this.buffers.length - 1];\n if (buffer) {\n buffer.push(() => listener.call(thisArgs, i));\n }\n else {\n listener.call(thisArgs, i);\n }\n }, undefined, disposables);\n };\n }\n bufferEvents(fn) {\n const buffer = [];\n this.buffers.push(buffer);\n const r = fn();\n this.buffers.pop();\n buffer.forEach(flush => flush());\n return r;\n }\n}\n/**\n * A Relay is an event forwarder which functions as a replugabble event pipe.\n * Once created, you can connect an input event to it and it will simply forward\n * events from that input event through its own `event` property. The `input`\n * can be changed at any point in time.\n */\nclass Relay {\n constructor() {\n this.listening = false;\n this.inputEvent = Event.None;\n this.inputEventListener = _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable.None;\n this.emitter = new Emitter({\n onDidAddFirstListener: () => {\n this.listening = true;\n this.inputEventListener = this.inputEvent(this.emitter.fire, this.emitter);\n },\n onDidRemoveLastListener: () => {\n this.listening = false;\n this.inputEventListener.dispose();\n }\n });\n this.event = this.emitter.event;\n }\n set input(event) {\n this.inputEvent = event;\n if (this.listening) {\n this.inputEventListener.dispose();\n this.inputEventListener = event(this.emitter.fire, this.emitter);\n }\n }\n dispose() {\n this.inputEventListener.dispose();\n this.emitter.dispose();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/event.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/extpath.js": +/*!******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/extpath.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 */ getRoot: () => (/* binding */ getRoot),\n/* harmony export */ hasDriveLetter: () => (/* binding */ hasDriveLetter),\n/* harmony export */ isEqualOrParent: () => (/* binding */ isEqualOrParent),\n/* harmony export */ isPathSeparator: () => (/* binding */ isPathSeparator),\n/* harmony export */ isWindowsDriveLetter: () => (/* binding */ isWindowsDriveLetter),\n/* harmony export */ toPosixPath: () => (/* binding */ toPosixPath),\n/* harmony export */ toSlashes: () => (/* binding */ toSlashes)\n/* harmony export */ });\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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\nfunction isPathSeparator(code) {\n return code === 47 /* CharCode.Slash */ || code === 92 /* CharCode.Backslash */;\n}\n/**\n * Takes a Windows OS path and changes backward slashes to forward slashes.\n * This should only be done for OS paths from Windows (or user provided paths potentially from Windows).\n * Using it on a Linux or MaxOS path might change it.\n */\nfunction toSlashes(osPath) {\n return osPath.replace(/[\\\\/]/g, _path_js__WEBPACK_IMPORTED_MODULE_0__.posix.sep);\n}\n/**\n * Takes a Windows OS path (using backward or forward slashes) and turns it into a posix path:\n * - turns backward slashes into forward slashes\n * - makes it absolute if it starts with a drive letter\n * This should only be done for OS paths from Windows (or user provided paths potentially from Windows).\n * Using it on a Linux or MaxOS path might change it.\n */\nfunction toPosixPath(osPath) {\n if (osPath.indexOf('/') === -1) {\n osPath = toSlashes(osPath);\n }\n if (/^[a-zA-Z]:(\\/|$)/.test(osPath)) { // starts with a drive letter\n osPath = '/' + osPath;\n }\n return osPath;\n}\n/**\n * Computes the _root_ this path, like `getRoot('c:\\files') === c:\\`,\n * `getRoot('files:///files/path') === files:///`,\n * or `getRoot('\\\\server\\shares\\path') === \\\\server\\shares\\`\n */\nfunction getRoot(path, sep = _path_js__WEBPACK_IMPORTED_MODULE_0__.posix.sep) {\n if (!path) {\n return '';\n }\n const len = path.length;\n const firstLetter = path.charCodeAt(0);\n if (isPathSeparator(firstLetter)) {\n if (isPathSeparator(path.charCodeAt(1))) {\n // UNC candidate \\\\localhost\\shares\\ddd\n // ^^^^^^^^^^^^^^^^^^^\n if (!isPathSeparator(path.charCodeAt(2))) {\n let pos = 3;\n const start = pos;\n for (; pos < len; pos++) {\n if (isPathSeparator(path.charCodeAt(pos))) {\n break;\n }\n }\n if (start !== pos && !isPathSeparator(path.charCodeAt(pos + 1))) {\n pos += 1;\n for (; pos < len; pos++) {\n if (isPathSeparator(path.charCodeAt(pos))) {\n return path.slice(0, pos + 1) // consume this separator\n .replace(/[\\\\/]/g, sep);\n }\n }\n }\n }\n }\n // /user/far\n // ^\n return sep;\n }\n else if (isWindowsDriveLetter(firstLetter)) {\n // check for windows drive letter c:\\ or c:\n if (path.charCodeAt(1) === 58 /* CharCode.Colon */) {\n if (isPathSeparator(path.charCodeAt(2))) {\n // C:\\fff\n // ^^^\n return path.slice(0, 2) + sep;\n }\n else {\n // C:\n // ^^\n return path.slice(0, 2);\n }\n }\n }\n // check for URI\n // scheme://authority/path\n // ^^^^^^^^^^^^^^^^^^^\n let pos = path.indexOf('://');\n if (pos !== -1) {\n pos += 3; // 3 -> \"://\".length\n for (; pos < len; pos++) {\n if (isPathSeparator(path.charCodeAt(pos))) {\n return path.slice(0, pos + 1); // consume this separator\n }\n }\n }\n return '';\n}\n/**\n * @deprecated please use `IUriIdentityService.extUri.isEqualOrParent` instead. If\n * you are in a context without services, consider to pass down the `extUri` from the\n * outside, or use `extUriBiasedIgnorePathCase` if you know what you are doing.\n */\nfunction isEqualOrParent(base, parentCandidate, ignoreCase, separator = _path_js__WEBPACK_IMPORTED_MODULE_0__.sep) {\n if (base === parentCandidate) {\n return true;\n }\n if (!base || !parentCandidate) {\n return false;\n }\n if (parentCandidate.length > base.length) {\n return false;\n }\n if (ignoreCase) {\n const beginsWith = (0,_strings_js__WEBPACK_IMPORTED_MODULE_2__.startsWithIgnoreCase)(base, parentCandidate);\n if (!beginsWith) {\n return false;\n }\n if (parentCandidate.length === base.length) {\n return true; // same path, different casing\n }\n let sepOffset = parentCandidate.length;\n if (parentCandidate.charAt(parentCandidate.length - 1) === separator) {\n sepOffset--; // adjust the expected sep offset in case our candidate already ends in separator character\n }\n return base.charAt(sepOffset) === separator;\n }\n if (parentCandidate.charAt(parentCandidate.length - 1) !== separator) {\n parentCandidate += separator;\n }\n return base.indexOf(parentCandidate) === 0;\n}\nfunction isWindowsDriveLetter(char0) {\n return char0 >= 65 /* CharCode.A */ && char0 <= 90 /* CharCode.Z */ || char0 >= 97 /* CharCode.a */ && char0 <= 122 /* CharCode.z */;\n}\nfunction hasDriveLetter(path, isWindowsOS = _platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows) {\n if (isWindowsOS) {\n return isWindowsDriveLetter(path.charCodeAt(0)) && path.charCodeAt(1) === 58 /* CharCode.Colon */;\n }\n return false;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/extpath.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/filters.js": +/*!******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/filters.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 */ FuzzyScore: () => (/* binding */ FuzzyScore),\n/* harmony export */ FuzzyScoreOptions: () => (/* binding */ FuzzyScoreOptions),\n/* harmony export */ anyScore: () => (/* binding */ anyScore),\n/* harmony export */ createMatches: () => (/* binding */ createMatches),\n/* harmony export */ fuzzyScore: () => (/* binding */ fuzzyScore),\n/* harmony export */ fuzzyScoreGracefulAggressive: () => (/* binding */ fuzzyScoreGracefulAggressive),\n/* harmony export */ isPatternInWord: () => (/* binding */ isPatternInWord),\n/* harmony export */ isUpper: () => (/* binding */ isUpper),\n/* harmony export */ matchesCamelCase: () => (/* binding */ matchesCamelCase),\n/* harmony export */ matchesContiguousSubString: () => (/* binding */ matchesContiguousSubString),\n/* harmony export */ matchesFuzzy: () => (/* binding */ matchesFuzzy),\n/* harmony export */ matchesPrefix: () => (/* binding */ matchesPrefix),\n/* harmony export */ matchesStrictPrefix: () => (/* binding */ matchesStrictPrefix),\n/* harmony export */ matchesSubString: () => (/* binding */ matchesSubString),\n/* harmony export */ matchesWords: () => (/* binding */ matchesWords),\n/* harmony export */ or: () => (/* binding */ or)\n/* harmony export */ });\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./map.js */ \"./node_modules/monaco-editor/esm/vs/base/common/map.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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// Combined filters\n/**\n * @returns A filter which combines the provided set\n * of filters with an or. The *first* filters that\n * matches defined the return value of the returned\n * filter.\n */\nfunction or(...filter) {\n return function (word, wordToMatchAgainst) {\n for (let i = 0, len = filter.length; i < len; i++) {\n const match = filter[i](word, wordToMatchAgainst);\n if (match) {\n return match;\n }\n }\n return null;\n };\n}\n// Prefix\nconst matchesStrictPrefix = _matchesPrefix.bind(undefined, false);\nconst matchesPrefix = _matchesPrefix.bind(undefined, true);\nfunction _matchesPrefix(ignoreCase, word, wordToMatchAgainst) {\n if (!wordToMatchAgainst || wordToMatchAgainst.length < word.length) {\n return null;\n }\n let matches;\n if (ignoreCase) {\n matches = _strings_js__WEBPACK_IMPORTED_MODULE_1__.startsWithIgnoreCase(wordToMatchAgainst, word);\n }\n else {\n matches = wordToMatchAgainst.indexOf(word) === 0;\n }\n if (!matches) {\n return null;\n }\n return word.length > 0 ? [{ start: 0, end: word.length }] : [];\n}\n// Contiguous Substring\nfunction matchesContiguousSubString(word, wordToMatchAgainst) {\n const index = wordToMatchAgainst.toLowerCase().indexOf(word.toLowerCase());\n if (index === -1) {\n return null;\n }\n return [{ start: index, end: index + word.length }];\n}\n// Substring\nfunction matchesSubString(word, wordToMatchAgainst) {\n return _matchesSubString(word.toLowerCase(), wordToMatchAgainst.toLowerCase(), 0, 0);\n}\nfunction _matchesSubString(word, wordToMatchAgainst, i, j) {\n if (i === word.length) {\n return [];\n }\n else if (j === wordToMatchAgainst.length) {\n return null;\n }\n else {\n if (word[i] === wordToMatchAgainst[j]) {\n let result = null;\n if (result = _matchesSubString(word, wordToMatchAgainst, i + 1, j + 1)) {\n return join({ start: j, end: j + 1 }, result);\n }\n return null;\n }\n return _matchesSubString(word, wordToMatchAgainst, i, j + 1);\n }\n}\n// CamelCase\nfunction isLower(code) {\n return 97 /* CharCode.a */ <= code && code <= 122 /* CharCode.z */;\n}\nfunction isUpper(code) {\n return 65 /* CharCode.A */ <= code && code <= 90 /* CharCode.Z */;\n}\nfunction isNumber(code) {\n return 48 /* CharCode.Digit0 */ <= code && code <= 57 /* CharCode.Digit9 */;\n}\nfunction isWhitespace(code) {\n return (code === 32 /* CharCode.Space */\n || code === 9 /* CharCode.Tab */\n || code === 10 /* CharCode.LineFeed */\n || code === 13 /* CharCode.CarriageReturn */);\n}\nconst wordSeparators = new Set();\n// These are chosen as natural word separators based on writen text.\n// It is a subset of the word separators used by the monaco editor.\n'()[]{}<>`\\'\"-/;:,.?!'\n .split('')\n .forEach(s => wordSeparators.add(s.charCodeAt(0)));\nfunction isWordSeparator(code) {\n return isWhitespace(code) || wordSeparators.has(code);\n}\nfunction charactersMatch(codeA, codeB) {\n return (codeA === codeB) || (isWordSeparator(codeA) && isWordSeparator(codeB));\n}\nfunction isAlphanumeric(code) {\n return isLower(code) || isUpper(code) || isNumber(code);\n}\nfunction join(head, tail) {\n if (tail.length === 0) {\n tail = [head];\n }\n else if (head.end === tail[0].start) {\n tail[0].start = head.start;\n }\n else {\n tail.unshift(head);\n }\n return tail;\n}\nfunction nextAnchor(camelCaseWord, start) {\n for (let i = start; i < camelCaseWord.length; i++) {\n const c = camelCaseWord.charCodeAt(i);\n if (isUpper(c) || isNumber(c) || (i > 0 && !isAlphanumeric(camelCaseWord.charCodeAt(i - 1)))) {\n return i;\n }\n }\n return camelCaseWord.length;\n}\nfunction _matchesCamelCase(word, camelCaseWord, i, j) {\n if (i === word.length) {\n return [];\n }\n else if (j === camelCaseWord.length) {\n return null;\n }\n else if (word[i] !== camelCaseWord[j].toLowerCase()) {\n return null;\n }\n else {\n let result = null;\n let nextUpperIndex = j + 1;\n result = _matchesCamelCase(word, camelCaseWord, i + 1, j + 1);\n while (!result && (nextUpperIndex = nextAnchor(camelCaseWord, nextUpperIndex)) < camelCaseWord.length) {\n result = _matchesCamelCase(word, camelCaseWord, i + 1, nextUpperIndex);\n nextUpperIndex++;\n }\n return result === null ? null : join({ start: j, end: j + 1 }, result);\n }\n}\n// Heuristic to avoid computing camel case matcher for words that don't\n// look like camelCaseWords.\nfunction analyzeCamelCaseWord(word) {\n let upper = 0, lower = 0, alpha = 0, numeric = 0, code = 0;\n for (let i = 0; i < word.length; i++) {\n code = word.charCodeAt(i);\n if (isUpper(code)) {\n upper++;\n }\n if (isLower(code)) {\n lower++;\n }\n if (isAlphanumeric(code)) {\n alpha++;\n }\n if (isNumber(code)) {\n numeric++;\n }\n }\n const upperPercent = upper / word.length;\n const lowerPercent = lower / word.length;\n const alphaPercent = alpha / word.length;\n const numericPercent = numeric / word.length;\n return { upperPercent, lowerPercent, alphaPercent, numericPercent };\n}\nfunction isUpperCaseWord(analysis) {\n const { upperPercent, lowerPercent } = analysis;\n return lowerPercent === 0 && upperPercent > 0.6;\n}\nfunction isCamelCaseWord(analysis) {\n const { upperPercent, lowerPercent, alphaPercent, numericPercent } = analysis;\n return lowerPercent > 0.2 && upperPercent < 0.8 && alphaPercent > 0.6 && numericPercent < 0.2;\n}\n// Heuristic to avoid computing camel case matcher for words that don't\n// look like camel case patterns.\nfunction isCamelCasePattern(word) {\n let upper = 0, lower = 0, code = 0, whitespace = 0;\n for (let i = 0; i < word.length; i++) {\n code = word.charCodeAt(i);\n if (isUpper(code)) {\n upper++;\n }\n if (isLower(code)) {\n lower++;\n }\n if (isWhitespace(code)) {\n whitespace++;\n }\n }\n if ((upper === 0 || lower === 0) && whitespace === 0) {\n return word.length <= 30;\n }\n else {\n return upper <= 5;\n }\n}\nfunction matchesCamelCase(word, camelCaseWord) {\n if (!camelCaseWord) {\n return null;\n }\n camelCaseWord = camelCaseWord.trim();\n if (camelCaseWord.length === 0) {\n return null;\n }\n if (!isCamelCasePattern(word)) {\n return null;\n }\n if (camelCaseWord.length > 60) {\n return null;\n }\n const analysis = analyzeCamelCaseWord(camelCaseWord);\n if (!isCamelCaseWord(analysis)) {\n if (!isUpperCaseWord(analysis)) {\n return null;\n }\n camelCaseWord = camelCaseWord.toLowerCase();\n }\n let result = null;\n let i = 0;\n word = word.toLowerCase();\n while (i < camelCaseWord.length && (result = _matchesCamelCase(word, camelCaseWord, 0, i)) === null) {\n i = nextAnchor(camelCaseWord, i + 1);\n }\n return result;\n}\n// Matches beginning of words supporting non-ASCII languages\n// If `contiguous` is true then matches word with beginnings of the words in the target. E.g. \"pul\" will match \"Git: Pull\"\n// Otherwise also matches sub string of the word with beginnings of the words in the target. E.g. \"gp\" or \"g p\" will match \"Git: Pull\"\n// Useful in cases where the target is words (e.g. command labels)\nfunction matchesWords(word, target, contiguous = false) {\n if (!target || target.length === 0) {\n return null;\n }\n let result = null;\n let i = 0;\n word = word.toLowerCase();\n target = target.toLowerCase();\n while (i < target.length && (result = _matchesWords(word, target, 0, i, contiguous)) === null) {\n i = nextWord(target, i + 1);\n }\n return result;\n}\nfunction _matchesWords(word, target, i, j, contiguous) {\n if (i === word.length) {\n return [];\n }\n else if (j === target.length) {\n return null;\n }\n else if (!charactersMatch(word.charCodeAt(i), target.charCodeAt(j))) {\n return null;\n }\n else {\n let result = null;\n let nextWordIndex = j + 1;\n result = _matchesWords(word, target, i + 1, j + 1, contiguous);\n if (!contiguous) {\n while (!result && (nextWordIndex = nextWord(target, nextWordIndex)) < target.length) {\n result = _matchesWords(word, target, i + 1, nextWordIndex, contiguous);\n nextWordIndex++;\n }\n }\n if (!result) {\n return null;\n }\n // If the characters don't exactly match, then they must be word separators (see charactersMatch(...)).\n // We don't want to include this in the matches but we don't want to throw the target out all together so we return `result`.\n if (word.charCodeAt(i) !== target.charCodeAt(j)) {\n return result;\n }\n return join({ start: j, end: j + 1 }, result);\n }\n}\nfunction nextWord(word, start) {\n for (let i = start; i < word.length; i++) {\n if (isWordSeparator(word.charCodeAt(i)) ||\n (i > 0 && isWordSeparator(word.charCodeAt(i - 1)))) {\n return i;\n }\n }\n return word.length;\n}\n// Fuzzy\nconst fuzzyContiguousFilter = or(matchesPrefix, matchesCamelCase, matchesContiguousSubString);\nconst fuzzySeparateFilter = or(matchesPrefix, matchesCamelCase, matchesSubString);\nconst fuzzyRegExpCache = new _map_js__WEBPACK_IMPORTED_MODULE_0__.LRUCache(10000); // bounded to 10000 elements\nfunction matchesFuzzy(word, wordToMatchAgainst, enableSeparateSubstringMatching = false) {\n if (typeof word !== 'string' || typeof wordToMatchAgainst !== 'string') {\n return null; // return early for invalid input\n }\n // Form RegExp for wildcard matches\n let regexp = fuzzyRegExpCache.get(word);\n if (!regexp) {\n regexp = new RegExp(_strings_js__WEBPACK_IMPORTED_MODULE_1__.convertSimple2RegExpPattern(word), 'i');\n fuzzyRegExpCache.set(word, regexp);\n }\n // RegExp Filter\n const match = regexp.exec(wordToMatchAgainst);\n if (match) {\n return [{ start: match.index, end: match.index + match[0].length }];\n }\n // Default Filter\n return enableSeparateSubstringMatching ? fuzzySeparateFilter(word, wordToMatchAgainst) : fuzzyContiguousFilter(word, wordToMatchAgainst);\n}\nfunction anyScore(pattern, lowPattern, patternPos, word, lowWord, wordPos) {\n const max = Math.min(13, pattern.length);\n for (; patternPos < max; patternPos++) {\n const result = fuzzyScore(pattern, lowPattern, patternPos, word, lowWord, wordPos, { firstMatchCanBeWeak: true, boostFullMatch: true });\n if (result) {\n return result;\n }\n }\n return [0, wordPos];\n}\n//#region --- fuzzyScore ---\nfunction createMatches(score) {\n if (typeof score === 'undefined') {\n return [];\n }\n const res = [];\n const wordPos = score[1];\n for (let i = score.length - 1; i > 1; i--) {\n const pos = score[i] + wordPos;\n const last = res[res.length - 1];\n if (last && last.end === pos) {\n last.end = pos + 1;\n }\n else {\n res.push({ start: pos, end: pos + 1 });\n }\n }\n return res;\n}\nconst _maxLen = 128;\nfunction initTable() {\n const table = [];\n const row = [];\n for (let i = 0; i <= _maxLen; i++) {\n row[i] = 0;\n }\n for (let i = 0; i <= _maxLen; i++) {\n table.push(row.slice(0));\n }\n return table;\n}\nfunction initArr(maxLen) {\n const row = [];\n for (let i = 0; i <= maxLen; i++) {\n row[i] = 0;\n }\n return row;\n}\nconst _minWordMatchPos = initArr(2 * _maxLen); // min word position for a certain pattern position\nconst _maxWordMatchPos = initArr(2 * _maxLen); // max word position for a certain pattern position\nconst _diag = initTable(); // the length of a contiguous diagonal match\nconst _table = initTable();\nconst _arrows = initTable();\nconst _debug = false;\nfunction printTable(table, pattern, patternLen, word, wordLen) {\n function pad(s, n, pad = ' ') {\n while (s.length < n) {\n s = pad + s;\n }\n return s;\n }\n let ret = ` | |${word.split('').map(c => pad(c, 3)).join('|')}\\n`;\n for (let i = 0; i <= patternLen; i++) {\n if (i === 0) {\n ret += ' |';\n }\n else {\n ret += `${pattern[i - 1]}|`;\n }\n ret += table[i].slice(0, wordLen + 1).map(n => pad(n.toString(), 3)).join('|') + '\\n';\n }\n return ret;\n}\nfunction printTables(pattern, patternStart, word, wordStart) {\n pattern = pattern.substr(patternStart);\n word = word.substr(wordStart);\n console.log(printTable(_table, pattern, pattern.length, word, word.length));\n console.log(printTable(_arrows, pattern, pattern.length, word, word.length));\n console.log(printTable(_diag, pattern, pattern.length, word, word.length));\n}\nfunction isSeparatorAtPos(value, index) {\n if (index < 0 || index >= value.length) {\n return false;\n }\n const code = value.codePointAt(index);\n switch (code) {\n case 95 /* CharCode.Underline */:\n case 45 /* CharCode.Dash */:\n case 46 /* CharCode.Period */:\n case 32 /* CharCode.Space */:\n case 47 /* CharCode.Slash */:\n case 92 /* CharCode.Backslash */:\n case 39 /* CharCode.SingleQuote */:\n case 34 /* CharCode.DoubleQuote */:\n case 58 /* CharCode.Colon */:\n case 36 /* CharCode.DollarSign */:\n case 60 /* CharCode.LessThan */:\n case 62 /* CharCode.GreaterThan */:\n case 40 /* CharCode.OpenParen */:\n case 41 /* CharCode.CloseParen */:\n case 91 /* CharCode.OpenSquareBracket */:\n case 93 /* CharCode.CloseSquareBracket */:\n case 123 /* CharCode.OpenCurlyBrace */:\n case 125 /* CharCode.CloseCurlyBrace */:\n return true;\n case undefined:\n return false;\n default:\n if (_strings_js__WEBPACK_IMPORTED_MODULE_1__.isEmojiImprecise(code)) {\n return true;\n }\n return false;\n }\n}\nfunction isWhitespaceAtPos(value, index) {\n if (index < 0 || index >= value.length) {\n return false;\n }\n const code = value.charCodeAt(index);\n switch (code) {\n case 32 /* CharCode.Space */:\n case 9 /* CharCode.Tab */:\n return true;\n default:\n return false;\n }\n}\nfunction isUpperCaseAtPos(pos, word, wordLow) {\n return word[pos] !== wordLow[pos];\n}\nfunction isPatternInWord(patternLow, patternPos, patternLen, wordLow, wordPos, wordLen, fillMinWordPosArr = false) {\n while (patternPos < patternLen && wordPos < wordLen) {\n if (patternLow[patternPos] === wordLow[wordPos]) {\n if (fillMinWordPosArr) {\n // Remember the min word position for each pattern position\n _minWordMatchPos[patternPos] = wordPos;\n }\n patternPos += 1;\n }\n wordPos += 1;\n }\n return patternPos === patternLen; // pattern must be exhausted\n}\nvar FuzzyScore;\n(function (FuzzyScore) {\n /**\n * No matches and value `-100`\n */\n FuzzyScore.Default = ([-100, 0]);\n function isDefault(score) {\n return !score || (score.length === 2 && score[0] === -100 && score[1] === 0);\n }\n FuzzyScore.isDefault = isDefault;\n})(FuzzyScore || (FuzzyScore = {}));\nclass FuzzyScoreOptions {\n constructor(firstMatchCanBeWeak, boostFullMatch) {\n this.firstMatchCanBeWeak = firstMatchCanBeWeak;\n this.boostFullMatch = boostFullMatch;\n }\n}\nFuzzyScoreOptions.default = { boostFullMatch: true, firstMatchCanBeWeak: false };\nfunction fuzzyScore(pattern, patternLow, patternStart, word, wordLow, wordStart, options = FuzzyScoreOptions.default) {\n const patternLen = pattern.length > _maxLen ? _maxLen : pattern.length;\n const wordLen = word.length > _maxLen ? _maxLen : word.length;\n if (patternStart >= patternLen || wordStart >= wordLen || (patternLen - patternStart) > (wordLen - wordStart)) {\n return undefined;\n }\n // Run a simple check if the characters of pattern occur\n // (in order) at all in word. If that isn't the case we\n // stop because no match will be possible\n if (!isPatternInWord(patternLow, patternStart, patternLen, wordLow, wordStart, wordLen, true)) {\n return undefined;\n }\n // Find the max matching word position for each pattern position\n // NOTE: the min matching word position was filled in above, in the `isPatternInWord` call\n _fillInMaxWordMatchPos(patternLen, wordLen, patternStart, wordStart, patternLow, wordLow);\n let row = 1;\n let column = 1;\n let patternPos = patternStart;\n let wordPos = wordStart;\n const hasStrongFirstMatch = [false];\n // There will be a match, fill in tables\n for (row = 1, patternPos = patternStart; patternPos < patternLen; row++, patternPos++) {\n // Reduce search space to possible matching word positions and to possible access from next row\n const minWordMatchPos = _minWordMatchPos[patternPos];\n const maxWordMatchPos = _maxWordMatchPos[patternPos];\n const nextMaxWordMatchPos = (patternPos + 1 < patternLen ? _maxWordMatchPos[patternPos + 1] : wordLen);\n for (column = minWordMatchPos - wordStart + 1, wordPos = minWordMatchPos; wordPos < nextMaxWordMatchPos; column++, wordPos++) {\n let score = Number.MIN_SAFE_INTEGER;\n let canComeDiag = false;\n if (wordPos <= maxWordMatchPos) {\n score = _doScore(pattern, patternLow, patternPos, patternStart, word, wordLow, wordPos, wordLen, wordStart, _diag[row - 1][column - 1] === 0, hasStrongFirstMatch);\n }\n let diagScore = 0;\n if (score !== Number.MAX_SAFE_INTEGER) {\n canComeDiag = true;\n diagScore = score + _table[row - 1][column - 1];\n }\n const canComeLeft = wordPos > minWordMatchPos;\n const leftScore = canComeLeft ? _table[row][column - 1] + (_diag[row][column - 1] > 0 ? -5 : 0) : 0; // penalty for a gap start\n const canComeLeftLeft = wordPos > minWordMatchPos + 1 && _diag[row][column - 1] > 0;\n const leftLeftScore = canComeLeftLeft ? _table[row][column - 2] + (_diag[row][column - 2] > 0 ? -5 : 0) : 0; // penalty for a gap start\n if (canComeLeftLeft && (!canComeLeft || leftLeftScore >= leftScore) && (!canComeDiag || leftLeftScore >= diagScore)) {\n // always prefer choosing left left to jump over a diagonal because that means a match is earlier in the word\n _table[row][column] = leftLeftScore;\n _arrows[row][column] = 3 /* Arrow.LeftLeft */;\n _diag[row][column] = 0;\n }\n else if (canComeLeft && (!canComeDiag || leftScore >= diagScore)) {\n // always prefer choosing left since that means a match is earlier in the word\n _table[row][column] = leftScore;\n _arrows[row][column] = 2 /* Arrow.Left */;\n _diag[row][column] = 0;\n }\n else if (canComeDiag) {\n _table[row][column] = diagScore;\n _arrows[row][column] = 1 /* Arrow.Diag */;\n _diag[row][column] = _diag[row - 1][column - 1] + 1;\n }\n else {\n throw new Error(`not possible`);\n }\n }\n }\n if (_debug) {\n printTables(pattern, patternStart, word, wordStart);\n }\n if (!hasStrongFirstMatch[0] && !options.firstMatchCanBeWeak) {\n return undefined;\n }\n row--;\n column--;\n const result = [_table[row][column], wordStart];\n let backwardsDiagLength = 0;\n let maxMatchColumn = 0;\n while (row >= 1) {\n // Find the column where we go diagonally up\n let diagColumn = column;\n do {\n const arrow = _arrows[row][diagColumn];\n if (arrow === 3 /* Arrow.LeftLeft */) {\n diagColumn = diagColumn - 2;\n }\n else if (arrow === 2 /* Arrow.Left */) {\n diagColumn = diagColumn - 1;\n }\n else {\n // found the diagonal\n break;\n }\n } while (diagColumn >= 1);\n // Overturn the \"forwards\" decision if keeping the \"backwards\" diagonal would give a better match\n if (backwardsDiagLength > 1 // only if we would have a contiguous match of 3 characters\n && patternLow[patternStart + row - 1] === wordLow[wordStart + column - 1] // only if we can do a contiguous match diagonally\n && !isUpperCaseAtPos(diagColumn + wordStart - 1, word, wordLow) // only if the forwards chose diagonal is not an uppercase\n && backwardsDiagLength + 1 > _diag[row][diagColumn] // only if our contiguous match would be longer than the \"forwards\" contiguous match\n ) {\n diagColumn = column;\n }\n if (diagColumn === column) {\n // this is a contiguous match\n backwardsDiagLength++;\n }\n else {\n backwardsDiagLength = 1;\n }\n if (!maxMatchColumn) {\n // remember the last matched column\n maxMatchColumn = diagColumn;\n }\n row--;\n column = diagColumn - 1;\n result.push(column);\n }\n if (wordLen === patternLen && options.boostFullMatch) {\n // the word matches the pattern with all characters!\n // giving the score a total match boost (to come up ahead other words)\n result[0] += 2;\n }\n // Add 1 penalty for each skipped character in the word\n const skippedCharsCount = maxMatchColumn - patternLen;\n result[0] -= skippedCharsCount;\n return result;\n}\nfunction _fillInMaxWordMatchPos(patternLen, wordLen, patternStart, wordStart, patternLow, wordLow) {\n let patternPos = patternLen - 1;\n let wordPos = wordLen - 1;\n while (patternPos >= patternStart && wordPos >= wordStart) {\n if (patternLow[patternPos] === wordLow[wordPos]) {\n _maxWordMatchPos[patternPos] = wordPos;\n patternPos--;\n }\n wordPos--;\n }\n}\nfunction _doScore(pattern, patternLow, patternPos, patternStart, word, wordLow, wordPos, wordLen, wordStart, newMatchStart, outFirstMatchStrong) {\n if (patternLow[patternPos] !== wordLow[wordPos]) {\n return Number.MIN_SAFE_INTEGER;\n }\n let score = 1;\n let isGapLocation = false;\n if (wordPos === (patternPos - patternStart)) {\n // common prefix: `foobar <-> foobaz`\n // ^^^^^\n score = pattern[patternPos] === word[wordPos] ? 7 : 5;\n }\n else if (isUpperCaseAtPos(wordPos, word, wordLow) && (wordPos === 0 || !isUpperCaseAtPos(wordPos - 1, word, wordLow))) {\n // hitting upper-case: `foo <-> forOthers`\n // ^^ ^\n score = pattern[patternPos] === word[wordPos] ? 7 : 5;\n isGapLocation = true;\n }\n else if (isSeparatorAtPos(wordLow, wordPos) && (wordPos === 0 || !isSeparatorAtPos(wordLow, wordPos - 1))) {\n // hitting a separator: `. <-> foo.bar`\n // ^\n score = 5;\n }\n else if (isSeparatorAtPos(wordLow, wordPos - 1) || isWhitespaceAtPos(wordLow, wordPos - 1)) {\n // post separator: `foo <-> bar_foo`\n // ^^^\n score = 5;\n isGapLocation = true;\n }\n if (score > 1 && patternPos === patternStart) {\n outFirstMatchStrong[0] = true;\n }\n if (!isGapLocation) {\n isGapLocation = isUpperCaseAtPos(wordPos, word, wordLow) || isSeparatorAtPos(wordLow, wordPos - 1) || isWhitespaceAtPos(wordLow, wordPos - 1);\n }\n //\n if (patternPos === patternStart) { // first character in pattern\n if (wordPos > wordStart) {\n // the first pattern character would match a word character that is not at the word start\n // so introduce a penalty to account for the gap preceding this match\n score -= isGapLocation ? 3 : 5;\n }\n }\n else {\n if (newMatchStart) {\n // this would be the beginning of a new match (i.e. there would be a gap before this location)\n score += isGapLocation ? 2 : 0;\n }\n else {\n // this is part of a contiguous match, so give it a slight bonus, but do so only if it would not be a preferred gap location\n score += isGapLocation ? 0 : 1;\n }\n }\n if (wordPos + 1 === wordLen) {\n // we always penalize gaps, but this gives unfair advantages to a match that would match the last character in the word\n // so pretend there is a gap after the last character in the word to normalize things\n score -= isGapLocation ? 3 : 5;\n }\n return score;\n}\n//#endregion\n//#region --- graceful ---\nfunction fuzzyScoreGracefulAggressive(pattern, lowPattern, patternPos, word, lowWord, wordPos, options) {\n return fuzzyScoreWithPermutations(pattern, lowPattern, patternPos, word, lowWord, wordPos, true, options);\n}\nfunction fuzzyScoreWithPermutations(pattern, lowPattern, patternPos, word, lowWord, wordPos, aggressive, options) {\n let top = fuzzyScore(pattern, lowPattern, patternPos, word, lowWord, wordPos, options);\n if (top && !aggressive) {\n // when using the original pattern yield a result we`\n // return it unless we are aggressive and try to find\n // a better alignment, e.g. `cno` -> `^co^ns^ole` or `^c^o^nsole`.\n return top;\n }\n if (pattern.length >= 3) {\n // When the pattern is long enough then try a few (max 7)\n // permutations of the pattern to find a better match. The\n // permutations only swap neighbouring characters, e.g\n // `cnoso` becomes `conso`, `cnsoo`, `cnoos`.\n const tries = Math.min(7, pattern.length - 1);\n for (let movingPatternPos = patternPos + 1; movingPatternPos < tries; movingPatternPos++) {\n const newPattern = nextTypoPermutation(pattern, movingPatternPos);\n if (newPattern) {\n const candidate = fuzzyScore(newPattern, newPattern.toLowerCase(), patternPos, word, lowWord, wordPos, options);\n if (candidate) {\n candidate[0] -= 3; // permutation penalty\n if (!top || candidate[0] > top[0]) {\n top = candidate;\n }\n }\n }\n }\n }\n return top;\n}\nfunction nextTypoPermutation(pattern, patternPos) {\n if (patternPos + 1 >= pattern.length) {\n return undefined;\n }\n const swap1 = pattern[patternPos];\n const swap2 = pattern[patternPos + 1];\n if (swap1 === swap2) {\n return undefined;\n }\n return pattern.slice(0, patternPos)\n + swap2\n + swap1\n + pattern.slice(patternPos + 2);\n}\n//#endregion\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/filters.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/functional.js": +/*!*********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/functional.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 */ once: () => (/* binding */ once)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nfunction once(fn) {\n const _this = this;\n let didCall = false;\n let result;\n return function () {\n if (didCall) {\n return result;\n }\n didCall = true;\n result = fn.apply(_this, arguments);\n return result;\n };\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/functional.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/fuzzyScorer.js": +/*!**********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/fuzzyScorer.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 */ pieceToQuery: () => (/* binding */ pieceToQuery),\n/* harmony export */ prepareQuery: () => (/* binding */ prepareQuery),\n/* harmony export */ scoreFuzzy2: () => (/* binding */ scoreFuzzy2)\n/* harmony export */ });\n/* harmony import */ var _filters_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n\n\n\n\nconst NO_SCORE2 = [undefined, []];\nfunction scoreFuzzy2(target, query, patternStart = 0, wordStart = 0) {\n // Score: multiple inputs\n const preparedQuery = query;\n if (preparedQuery.values && preparedQuery.values.length > 1) {\n return doScoreFuzzy2Multiple(target, preparedQuery.values, patternStart, wordStart);\n }\n // Score: single input\n return doScoreFuzzy2Single(target, query, patternStart, wordStart);\n}\nfunction doScoreFuzzy2Multiple(target, query, patternStart, wordStart) {\n let totalScore = 0;\n const totalMatches = [];\n for (const queryPiece of query) {\n const [score, matches] = doScoreFuzzy2Single(target, queryPiece, patternStart, wordStart);\n if (typeof score !== 'number') {\n // if a single query value does not match, return with\n // no score entirely, we require all queries to match\n return NO_SCORE2;\n }\n totalScore += score;\n totalMatches.push(...matches);\n }\n // if we have a score, ensure that the positions are\n // sorted in ascending order and distinct\n return [totalScore, normalizeMatches(totalMatches)];\n}\nfunction doScoreFuzzy2Single(target, query, patternStart, wordStart) {\n const score = (0,_filters_js__WEBPACK_IMPORTED_MODULE_0__.fuzzyScore)(query.original, query.originalLowercase, patternStart, target, target.toLowerCase(), wordStart, { firstMatchCanBeWeak: true, boostFullMatch: true });\n if (!score) {\n return NO_SCORE2;\n }\n return [score[0], (0,_filters_js__WEBPACK_IMPORTED_MODULE_0__.createMatches)(score)];\n}\nconst NO_ITEM_SCORE = Object.freeze({ score: 0 });\nfunction normalizeMatches(matches) {\n // sort matches by start to be able to normalize\n const sortedMatches = matches.sort((matchA, matchB) => {\n return matchA.start - matchB.start;\n });\n // merge matches that overlap\n const normalizedMatches = [];\n let currentMatch = undefined;\n for (const match of sortedMatches) {\n // if we have no current match or the matches\n // do not overlap, we take it as is and remember\n // it for future merging\n if (!currentMatch || !matchOverlaps(currentMatch, match)) {\n currentMatch = match;\n normalizedMatches.push(match);\n }\n // otherwise we merge the matches\n else {\n currentMatch.start = Math.min(currentMatch.start, match.start);\n currentMatch.end = Math.max(currentMatch.end, match.end);\n }\n }\n return normalizedMatches;\n}\nfunction matchOverlaps(matchA, matchB) {\n if (matchA.end < matchB.start) {\n return false; // A ends before B starts\n }\n if (matchB.end < matchA.start) {\n return false; // B ends before A starts\n }\n return true;\n}\n/*\n * If a query is wrapped in quotes, the user does not want to\n * use fuzzy search for this query.\n */\nfunction queryExpectsExactMatch(query) {\n return query.startsWith('\"') && query.endsWith('\"');\n}\n/**\n * Helper function to prepare a search value for scoring by removing unwanted characters\n * and allowing to score on multiple pieces separated by whitespace character.\n */\nconst MULTIPLE_QUERY_VALUES_SEPARATOR = ' ';\nfunction prepareQuery(original) {\n if (typeof original !== 'string') {\n original = '';\n }\n const originalLowercase = original.toLowerCase();\n const { pathNormalized, normalized, normalizedLowercase } = normalizeQuery(original);\n const containsPathSeparator = pathNormalized.indexOf(_path_js__WEBPACK_IMPORTED_MODULE_1__.sep) >= 0;\n const expectExactMatch = queryExpectsExactMatch(original);\n let values = undefined;\n const originalSplit = original.split(MULTIPLE_QUERY_VALUES_SEPARATOR);\n if (originalSplit.length > 1) {\n for (const originalPiece of originalSplit) {\n const expectExactMatchPiece = queryExpectsExactMatch(originalPiece);\n const { pathNormalized: pathNormalizedPiece, normalized: normalizedPiece, normalizedLowercase: normalizedLowercasePiece } = normalizeQuery(originalPiece);\n if (normalizedPiece) {\n if (!values) {\n values = [];\n }\n values.push({\n original: originalPiece,\n originalLowercase: originalPiece.toLowerCase(),\n pathNormalized: pathNormalizedPiece,\n normalized: normalizedPiece,\n normalizedLowercase: normalizedLowercasePiece,\n expectContiguousMatch: expectExactMatchPiece\n });\n }\n }\n }\n return { original, originalLowercase, pathNormalized, normalized, normalizedLowercase, values, containsPathSeparator, expectContiguousMatch: expectExactMatch };\n}\nfunction normalizeQuery(original) {\n let pathNormalized;\n if (_platform_js__WEBPACK_IMPORTED_MODULE_2__.isWindows) {\n pathNormalized = original.replace(/\\//g, _path_js__WEBPACK_IMPORTED_MODULE_1__.sep); // Help Windows users to search for paths when using slash\n }\n else {\n pathNormalized = original.replace(/\\\\/g, _path_js__WEBPACK_IMPORTED_MODULE_1__.sep); // Help macOS/Linux users to search for paths when using backslash\n }\n // we remove quotes here because quotes are used for exact match search\n const normalized = (0,_strings_js__WEBPACK_IMPORTED_MODULE_3__.stripWildcards)(pathNormalized).replace(/\\s|\"/g, '');\n return {\n pathNormalized,\n normalized,\n normalizedLowercase: normalized.toLowerCase()\n };\n}\nfunction pieceToQuery(arg1) {\n if (Array.isArray(arg1)) {\n return prepareQuery(arg1.map(piece => piece.original).join(MULTIPLE_QUERY_VALUES_SEPARATOR));\n }\n return prepareQuery(arg1.original);\n}\n//#endregion\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/fuzzyScorer.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/glob.js": +/*!***************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/glob.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 */ GLOBSTAR: () => (/* binding */ GLOBSTAR),\n/* harmony export */ GLOB_SPLIT: () => (/* binding */ GLOB_SPLIT),\n/* harmony export */ isRelativePattern: () => (/* binding */ isRelativePattern),\n/* harmony export */ match: () => (/* binding */ match),\n/* harmony export */ parse: () => (/* binding */ parse),\n/* harmony export */ splitGlobAware: () => (/* binding */ splitGlobAware)\n/* harmony export */ });\n/* harmony import */ var _async_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _extpath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extpath.js */ \"./node_modules/monaco-editor/esm/vs/base/common/extpath.js\");\n/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map.js */ \"./node_modules/monaco-editor/esm/vs/base/common/map.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\n\nconst GLOBSTAR = '**';\nconst GLOB_SPLIT = '/';\nconst PATH_REGEX = '[/\\\\\\\\]'; // any slash or backslash\nconst NO_PATH_REGEX = '[^/\\\\\\\\]'; // any non-slash and non-backslash\nconst ALL_FORWARD_SLASHES = /\\//g;\nfunction starsToRegExp(starCount, isLastPattern) {\n switch (starCount) {\n case 0:\n return '';\n case 1:\n return `${NO_PATH_REGEX}*?`; // 1 star matches any number of characters except path separator (/ and \\) - non greedy (?)\n default:\n // Matches: (Path Sep OR Path Val followed by Path Sep) 0-many times except when it's the last pattern\n // in which case also matches (Path Sep followed by Path Val)\n // Group is non capturing because we don't need to capture at all (?:...)\n // Overall we use non-greedy matching because it could be that we match too much\n return `(?:${PATH_REGEX}|${NO_PATH_REGEX}+${PATH_REGEX}${isLastPattern ? `|${PATH_REGEX}${NO_PATH_REGEX}+` : ''})*?`;\n }\n}\nfunction splitGlobAware(pattern, splitChar) {\n if (!pattern) {\n return [];\n }\n const segments = [];\n let inBraces = false;\n let inBrackets = false;\n let curVal = '';\n for (const char of pattern) {\n switch (char) {\n case splitChar:\n if (!inBraces && !inBrackets) {\n segments.push(curVal);\n curVal = '';\n continue;\n }\n break;\n case '{':\n inBraces = true;\n break;\n case '}':\n inBraces = false;\n break;\n case '[':\n inBrackets = true;\n break;\n case ']':\n inBrackets = false;\n break;\n }\n curVal += char;\n }\n // Tail\n if (curVal) {\n segments.push(curVal);\n }\n return segments;\n}\nfunction parseRegExp(pattern) {\n if (!pattern) {\n return '';\n }\n let regEx = '';\n // Split up into segments for each slash found\n const segments = splitGlobAware(pattern, GLOB_SPLIT);\n // Special case where we only have globstars\n if (segments.every(segment => segment === GLOBSTAR)) {\n regEx = '.*';\n }\n // Build regex over segments\n else {\n let previousSegmentWasGlobStar = false;\n segments.forEach((segment, index) => {\n // Treat globstar specially\n if (segment === GLOBSTAR) {\n // if we have more than one globstar after another, just ignore it\n if (previousSegmentWasGlobStar) {\n return;\n }\n regEx += starsToRegExp(2, index === segments.length - 1);\n }\n // Anything else, not globstar\n else {\n // States\n let inBraces = false;\n let braceVal = '';\n let inBrackets = false;\n let bracketVal = '';\n for (const char of segment) {\n // Support brace expansion\n if (char !== '}' && inBraces) {\n braceVal += char;\n continue;\n }\n // Support brackets\n if (inBrackets && (char !== ']' || !bracketVal) /* ] is literally only allowed as first character in brackets to match it */) {\n let res;\n // range operator\n if (char === '-') {\n res = char;\n }\n // negation operator (only valid on first index in bracket)\n else if ((char === '^' || char === '!') && !bracketVal) {\n res = '^';\n }\n // glob split matching is not allowed within character ranges\n // see http://man7.org/linux/man-pages/man7/glob.7.html\n else if (char === GLOB_SPLIT) {\n res = '';\n }\n // anything else gets escaped\n else {\n res = (0,_strings_js__WEBPACK_IMPORTED_MODULE_5__.escapeRegExpCharacters)(char);\n }\n bracketVal += res;\n continue;\n }\n switch (char) {\n case '{':\n inBraces = true;\n continue;\n case '[':\n inBrackets = true;\n continue;\n case '}': {\n const choices = splitGlobAware(braceVal, ',');\n // Converts {foo,bar} => [foo|bar]\n const braceRegExp = `(?:${choices.map(choice => parseRegExp(choice)).join('|')})`;\n regEx += braceRegExp;\n inBraces = false;\n braceVal = '';\n break;\n }\n case ']': {\n regEx += ('[' + bracketVal + ']');\n inBrackets = false;\n bracketVal = '';\n break;\n }\n case '?':\n regEx += NO_PATH_REGEX; // 1 ? matches any single character except path separator (/ and \\)\n continue;\n case '*':\n regEx += starsToRegExp(1);\n continue;\n default:\n regEx += (0,_strings_js__WEBPACK_IMPORTED_MODULE_5__.escapeRegExpCharacters)(char);\n }\n }\n // Tail: Add the slash we had split on if there is more to\n // come and the remaining pattern is not a globstar\n // For example if pattern: some/**/*.js we want the \"/\" after\n // some to be included in the RegEx to prevent a folder called\n // \"something\" to match as well.\n if (index < segments.length - 1 && // more segments to come after this\n (segments[index + 1] !== GLOBSTAR || // next segment is not **, or...\n index + 2 < segments.length // ...next segment is ** but there is more segments after that\n )) {\n regEx += PATH_REGEX;\n }\n }\n // update globstar state\n previousSegmentWasGlobStar = (segment === GLOBSTAR);\n });\n }\n return regEx;\n}\n// regexes to check for trivial glob patterns that just check for String#endsWith\nconst T1 = /^\\*\\*\\/\\*\\.[\\w\\.-]+$/; // **/*.something\nconst T2 = /^\\*\\*\\/([\\w\\.-]+)\\/?$/; // **/something\nconst T3 = /^{\\*\\*\\/\\*?[\\w\\.-]+\\/?(,\\*\\*\\/\\*?[\\w\\.-]+\\/?)*}$/; // {**/*.something,**/*.else} or {**/package.json,**/project.json}\nconst T3_2 = /^{\\*\\*\\/\\*?[\\w\\.-]+(\\/(\\*\\*)?)?(,\\*\\*\\/\\*?[\\w\\.-]+(\\/(\\*\\*)?)?)*}$/; // Like T3, with optional trailing /**\nconst T4 = /^\\*\\*((\\/[\\w\\.-]+)+)\\/?$/; // **/something/else\nconst T5 = /^([\\w\\.-]+(\\/[\\w\\.-]+)*)\\/?$/; // something/else\nconst CACHE = new _map_js__WEBPACK_IMPORTED_MODULE_2__.LRUCache(10000); // bounded to 10000 elements\nconst FALSE = function () {\n return false;\n};\nconst NULL = function () {\n return null;\n};\nfunction parsePattern(arg1, options) {\n if (!arg1) {\n return NULL;\n }\n // Handle relative patterns\n let pattern;\n if (typeof arg1 !== 'string') {\n pattern = arg1.pattern;\n }\n else {\n pattern = arg1;\n }\n // Whitespace trimming\n pattern = pattern.trim();\n // Check cache\n const patternKey = `${pattern}_${!!options.trimForExclusions}`;\n let parsedPattern = CACHE.get(patternKey);\n if (parsedPattern) {\n return wrapRelativePattern(parsedPattern, arg1);\n }\n // Check for Trivials\n let match;\n if (T1.test(pattern)) {\n parsedPattern = trivia1(pattern.substr(4), pattern); // common pattern: **/*.txt just need endsWith check\n }\n else if (match = T2.exec(trimForExclusions(pattern, options))) { // common pattern: **/some.txt just need basename check\n parsedPattern = trivia2(match[1], pattern);\n }\n else if ((options.trimForExclusions ? T3_2 : T3).test(pattern)) { // repetition of common patterns (see above) {**/*.txt,**/*.png}\n parsedPattern = trivia3(pattern, options);\n }\n else if (match = T4.exec(trimForExclusions(pattern, options))) { // common pattern: **/something/else just need endsWith check\n parsedPattern = trivia4and5(match[1].substr(1), pattern, true);\n }\n else if (match = T5.exec(trimForExclusions(pattern, options))) { // common pattern: something/else just need equals check\n parsedPattern = trivia4and5(match[1], pattern, false);\n }\n // Otherwise convert to pattern\n else {\n parsedPattern = toRegExp(pattern);\n }\n // Cache\n CACHE.set(patternKey, parsedPattern);\n return wrapRelativePattern(parsedPattern, arg1);\n}\nfunction wrapRelativePattern(parsedPattern, arg2) {\n if (typeof arg2 === 'string') {\n return parsedPattern;\n }\n const wrappedPattern = function (path, basename) {\n if (!(0,_extpath_js__WEBPACK_IMPORTED_MODULE_1__.isEqualOrParent)(path, arg2.base, !_platform_js__WEBPACK_IMPORTED_MODULE_4__.isLinux)) {\n // skip glob matching if `base` is not a parent of `path`\n return null;\n }\n // Given we have checked `base` being a parent of `path`,\n // we can now remove the `base` portion of the `path`\n // and only match on the remaining path components\n // For that we try to extract the portion of the `path`\n // that comes after the `base` portion. We have to account\n // for the fact that `base` might end in a path separator\n // (https://github.com/microsoft/vscode/issues/162498)\n return parsedPattern((0,_strings_js__WEBPACK_IMPORTED_MODULE_5__.ltrim)(path.substr(arg2.base.length), _path_js__WEBPACK_IMPORTED_MODULE_3__.sep), basename);\n };\n // Make sure to preserve associated metadata\n wrappedPattern.allBasenames = parsedPattern.allBasenames;\n wrappedPattern.allPaths = parsedPattern.allPaths;\n wrappedPattern.basenames = parsedPattern.basenames;\n wrappedPattern.patterns = parsedPattern.patterns;\n return wrappedPattern;\n}\nfunction trimForExclusions(pattern, options) {\n return options.trimForExclusions && pattern.endsWith('/**') ? pattern.substr(0, pattern.length - 2) : pattern; // dropping **, tailing / is dropped later\n}\n// common pattern: **/*.txt just need endsWith check\nfunction trivia1(base, pattern) {\n return function (path, basename) {\n return typeof path === 'string' && path.endsWith(base) ? pattern : null;\n };\n}\n// common pattern: **/some.txt just need basename check\nfunction trivia2(base, pattern) {\n const slashBase = `/${base}`;\n const backslashBase = `\\\\${base}`;\n const parsedPattern = function (path, basename) {\n if (typeof path !== 'string') {\n return null;\n }\n if (basename) {\n return basename === base ? pattern : null;\n }\n return path === base || path.endsWith(slashBase) || path.endsWith(backslashBase) ? pattern : null;\n };\n const basenames = [base];\n parsedPattern.basenames = basenames;\n parsedPattern.patterns = [pattern];\n parsedPattern.allBasenames = basenames;\n return parsedPattern;\n}\n// repetition of common patterns (see above) {**/*.txt,**/*.png}\nfunction trivia3(pattern, options) {\n const parsedPatterns = aggregateBasenameMatches(pattern.slice(1, -1)\n .split(',')\n .map(pattern => parsePattern(pattern, options))\n .filter(pattern => pattern !== NULL), pattern);\n const patternsLength = parsedPatterns.length;\n if (!patternsLength) {\n return NULL;\n }\n if (patternsLength === 1) {\n return parsedPatterns[0];\n }\n const parsedPattern = function (path, basename) {\n for (let i = 0, n = parsedPatterns.length; i < n; i++) {\n if (parsedPatterns[i](path, basename)) {\n return pattern;\n }\n }\n return null;\n };\n const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);\n if (withBasenames) {\n parsedPattern.allBasenames = withBasenames.allBasenames;\n }\n const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);\n if (allPaths.length) {\n parsedPattern.allPaths = allPaths;\n }\n return parsedPattern;\n}\n// common patterns: **/something/else just need endsWith check, something/else just needs and equals check\nfunction trivia4and5(targetPath, pattern, matchPathEnds) {\n const usingPosixSep = _path_js__WEBPACK_IMPORTED_MODULE_3__.sep === _path_js__WEBPACK_IMPORTED_MODULE_3__.posix.sep;\n const nativePath = usingPosixSep ? targetPath : targetPath.replace(ALL_FORWARD_SLASHES, _path_js__WEBPACK_IMPORTED_MODULE_3__.sep);\n const nativePathEnd = _path_js__WEBPACK_IMPORTED_MODULE_3__.sep + nativePath;\n const targetPathEnd = _path_js__WEBPACK_IMPORTED_MODULE_3__.posix.sep + targetPath;\n let parsedPattern;\n if (matchPathEnds) {\n parsedPattern = function (path, basename) {\n return typeof path === 'string' && ((path === nativePath || path.endsWith(nativePathEnd)) || !usingPosixSep && (path === targetPath || path.endsWith(targetPathEnd))) ? pattern : null;\n };\n }\n else {\n parsedPattern = function (path, basename) {\n return typeof path === 'string' && (path === nativePath || (!usingPosixSep && path === targetPath)) ? pattern : null;\n };\n }\n parsedPattern.allPaths = [(matchPathEnds ? '*/' : './') + targetPath];\n return parsedPattern;\n}\nfunction toRegExp(pattern) {\n try {\n const regExp = new RegExp(`^${parseRegExp(pattern)}$`);\n return function (path) {\n regExp.lastIndex = 0; // reset RegExp to its initial state to reuse it!\n return typeof path === 'string' && regExp.test(path) ? pattern : null;\n };\n }\n catch (error) {\n return NULL;\n }\n}\nfunction match(arg1, path, hasSibling) {\n if (!arg1 || typeof path !== 'string') {\n return false;\n }\n return parse(arg1)(path, undefined, hasSibling);\n}\nfunction parse(arg1, options = {}) {\n if (!arg1) {\n return FALSE;\n }\n // Glob with String\n if (typeof arg1 === 'string' || isRelativePattern(arg1)) {\n const parsedPattern = parsePattern(arg1, options);\n if (parsedPattern === NULL) {\n return FALSE;\n }\n const resultPattern = function (path, basename) {\n return !!parsedPattern(path, basename);\n };\n if (parsedPattern.allBasenames) {\n resultPattern.allBasenames = parsedPattern.allBasenames;\n }\n if (parsedPattern.allPaths) {\n resultPattern.allPaths = parsedPattern.allPaths;\n }\n return resultPattern;\n }\n // Glob with Expression\n return parsedExpression(arg1, options);\n}\nfunction isRelativePattern(obj) {\n const rp = obj;\n if (!rp) {\n return false;\n }\n return typeof rp.base === 'string' && typeof rp.pattern === 'string';\n}\nfunction parsedExpression(expression, options) {\n const parsedPatterns = aggregateBasenameMatches(Object.getOwnPropertyNames(expression)\n .map(pattern => parseExpressionPattern(pattern, expression[pattern], options))\n .filter(pattern => pattern !== NULL));\n const patternsLength = parsedPatterns.length;\n if (!patternsLength) {\n return NULL;\n }\n if (!parsedPatterns.some(parsedPattern => !!parsedPattern.requiresSiblings)) {\n if (patternsLength === 1) {\n return parsedPatterns[0];\n }\n const resultExpression = function (path, basename) {\n let resultPromises = undefined;\n for (let i = 0, n = parsedPatterns.length; i < n; i++) {\n const result = parsedPatterns[i](path, basename);\n if (typeof result === 'string') {\n return result; // immediately return as soon as the first expression matches\n }\n // If the result is a promise, we have to keep it for\n // later processing and await the result properly.\n if ((0,_async_js__WEBPACK_IMPORTED_MODULE_0__.isThenable)(result)) {\n if (!resultPromises) {\n resultPromises = [];\n }\n resultPromises.push(result);\n }\n }\n // With result promises, we have to loop over each and\n // await the result before we can return any result.\n if (resultPromises) {\n return (() => __awaiter(this, void 0, void 0, function* () {\n for (const resultPromise of resultPromises) {\n const result = yield resultPromise;\n if (typeof result === 'string') {\n return result;\n }\n }\n return null;\n }))();\n }\n return null;\n };\n const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);\n if (withBasenames) {\n resultExpression.allBasenames = withBasenames.allBasenames;\n }\n const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);\n if (allPaths.length) {\n resultExpression.allPaths = allPaths;\n }\n return resultExpression;\n }\n const resultExpression = function (path, base, hasSibling) {\n let name = undefined;\n let resultPromises = undefined;\n for (let i = 0, n = parsedPatterns.length; i < n; i++) {\n // Pattern matches path\n const parsedPattern = parsedPatterns[i];\n if (parsedPattern.requiresSiblings && hasSibling) {\n if (!base) {\n base = (0,_path_js__WEBPACK_IMPORTED_MODULE_3__.basename)(path);\n }\n if (!name) {\n name = base.substr(0, base.length - (0,_path_js__WEBPACK_IMPORTED_MODULE_3__.extname)(path).length);\n }\n }\n const result = parsedPattern(path, base, name, hasSibling);\n if (typeof result === 'string') {\n return result; // immediately return as soon as the first expression matches\n }\n // If the result is a promise, we have to keep it for\n // later processing and await the result properly.\n if ((0,_async_js__WEBPACK_IMPORTED_MODULE_0__.isThenable)(result)) {\n if (!resultPromises) {\n resultPromises = [];\n }\n resultPromises.push(result);\n }\n }\n // With result promises, we have to loop over each and\n // await the result before we can return any result.\n if (resultPromises) {\n return (() => __awaiter(this, void 0, void 0, function* () {\n for (const resultPromise of resultPromises) {\n const result = yield resultPromise;\n if (typeof result === 'string') {\n return result;\n }\n }\n return null;\n }))();\n }\n return null;\n };\n const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);\n if (withBasenames) {\n resultExpression.allBasenames = withBasenames.allBasenames;\n }\n const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);\n if (allPaths.length) {\n resultExpression.allPaths = allPaths;\n }\n return resultExpression;\n}\nfunction parseExpressionPattern(pattern, value, options) {\n if (value === false) {\n return NULL; // pattern is disabled\n }\n const parsedPattern = parsePattern(pattern, options);\n if (parsedPattern === NULL) {\n return NULL;\n }\n // Expression Pattern is \n if (typeof value === 'boolean') {\n return parsedPattern;\n }\n // Expression Pattern is \n if (value) {\n const when = value.when;\n if (typeof when === 'string') {\n const result = (path, basename, name, hasSibling) => {\n if (!hasSibling || !parsedPattern(path, basename)) {\n return null;\n }\n const clausePattern = when.replace('$(basename)', () => name);\n const matched = hasSibling(clausePattern);\n return (0,_async_js__WEBPACK_IMPORTED_MODULE_0__.isThenable)(matched) ?\n matched.then(match => match ? pattern : null) :\n matched ? pattern : null;\n };\n result.requiresSiblings = true;\n return result;\n }\n }\n // Expression is anything\n return parsedPattern;\n}\nfunction aggregateBasenameMatches(parsedPatterns, result) {\n const basenamePatterns = parsedPatterns.filter(parsedPattern => !!parsedPattern.basenames);\n if (basenamePatterns.length < 2) {\n return parsedPatterns;\n }\n const basenames = basenamePatterns.reduce((all, current) => {\n const basenames = current.basenames;\n return basenames ? all.concat(basenames) : all;\n }, []);\n let patterns;\n if (result) {\n patterns = [];\n for (let i = 0, n = basenames.length; i < n; i++) {\n patterns.push(result);\n }\n }\n else {\n patterns = basenamePatterns.reduce((all, current) => {\n const patterns = current.patterns;\n return patterns ? all.concat(patterns) : all;\n }, []);\n }\n const aggregate = function (path, basename) {\n if (typeof path !== 'string') {\n return null;\n }\n if (!basename) {\n let i;\n for (i = path.length; i > 0; i--) {\n const ch = path.charCodeAt(i - 1);\n if (ch === 47 /* CharCode.Slash */ || ch === 92 /* CharCode.Backslash */) {\n break;\n }\n }\n basename = path.substr(i);\n }\n const index = basenames.indexOf(basename);\n return index !== -1 ? patterns[index] : null;\n };\n aggregate.basenames = basenames;\n aggregate.patterns = patterns;\n aggregate.allBasenames = basenames;\n const aggregatedPatterns = parsedPatterns.filter(parsedPattern => !parsedPattern.basenames);\n aggregatedPatterns.push(aggregate);\n return aggregatedPatterns;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/glob.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/hash.js": +/*!***************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/hash.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 */ StringSHA1: () => (/* binding */ StringSHA1),\n/* harmony export */ doHash: () => (/* binding */ doHash),\n/* harmony export */ hash: () => (/* binding */ hash),\n/* harmony export */ numberHash: () => (/* binding */ numberHash),\n/* harmony export */ stringHash: () => (/* binding */ stringHash),\n/* harmony export */ toHexString: () => (/* binding */ toHexString)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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 * Return a hash value for an object.\n */\nfunction hash(obj) {\n return doHash(obj, 0);\n}\nfunction doHash(obj, hashVal) {\n switch (typeof obj) {\n case 'object':\n if (obj === null) {\n return numberHash(349, hashVal);\n }\n else if (Array.isArray(obj)) {\n return arrayHash(obj, hashVal);\n }\n return objectHash(obj, hashVal);\n case 'string':\n return stringHash(obj, hashVal);\n case 'boolean':\n return booleanHash(obj, hashVal);\n case 'number':\n return numberHash(obj, hashVal);\n case 'undefined':\n return numberHash(937, hashVal);\n default:\n return numberHash(617, hashVal);\n }\n}\nfunction numberHash(val, initialHashVal) {\n return (((initialHashVal << 5) - initialHashVal) + val) | 0; // hashVal * 31 + ch, keep as int32\n}\nfunction booleanHash(b, initialHashVal) {\n return numberHash(b ? 433 : 863, initialHashVal);\n}\nfunction stringHash(s, hashVal) {\n hashVal = numberHash(149417, hashVal);\n for (let i = 0, length = s.length; i < length; i++) {\n hashVal = numberHash(s.charCodeAt(i), hashVal);\n }\n return hashVal;\n}\nfunction arrayHash(arr, initialHashVal) {\n initialHashVal = numberHash(104579, initialHashVal);\n return arr.reduce((hashVal, item) => doHash(item, hashVal), initialHashVal);\n}\nfunction objectHash(obj, initialHashVal) {\n initialHashVal = numberHash(181387, initialHashVal);\n return Object.keys(obj).sort().reduce((hashVal, key) => {\n hashVal = stringHash(key, hashVal);\n return doHash(obj[key], hashVal);\n }, initialHashVal);\n}\nfunction leftRotate(value, bits, totalBits = 32) {\n // delta + bits = totalBits\n const delta = totalBits - bits;\n // All ones, expect `delta` zeros aligned to the right\n const mask = ~((1 << delta) - 1);\n // Join (value left-shifted `bits` bits) with (masked value right-shifted `delta` bits)\n return ((value << bits) | ((mask & value) >>> delta)) >>> 0;\n}\nfunction fill(dest, index = 0, count = dest.byteLength, value = 0) {\n for (let i = 0; i < count; i++) {\n dest[index + i] = value;\n }\n}\nfunction leftPad(value, length, char = '0') {\n while (value.length < length) {\n value = char + value;\n }\n return value;\n}\nfunction toHexString(bufferOrValue, bitsize = 32) {\n if (bufferOrValue instanceof ArrayBuffer) {\n return Array.from(new Uint8Array(bufferOrValue)).map(b => b.toString(16).padStart(2, '0')).join('');\n }\n return leftPad((bufferOrValue >>> 0).toString(16), bitsize / 4);\n}\n/**\n * A SHA1 implementation that works with strings and does not allocate.\n */\nclass StringSHA1 {\n constructor() {\n this._h0 = 0x67452301;\n this._h1 = 0xEFCDAB89;\n this._h2 = 0x98BADCFE;\n this._h3 = 0x10325476;\n this._h4 = 0xC3D2E1F0;\n this._buff = new Uint8Array(64 /* SHA1Constant.BLOCK_SIZE */ + 3 /* to fit any utf-8 */);\n this._buffDV = new DataView(this._buff.buffer);\n this._buffLen = 0;\n this._totalLen = 0;\n this._leftoverHighSurrogate = 0;\n this._finished = false;\n }\n update(str) {\n const strLen = str.length;\n if (strLen === 0) {\n return;\n }\n const buff = this._buff;\n let buffLen = this._buffLen;\n let leftoverHighSurrogate = this._leftoverHighSurrogate;\n let charCode;\n let offset;\n if (leftoverHighSurrogate !== 0) {\n charCode = leftoverHighSurrogate;\n offset = -1;\n leftoverHighSurrogate = 0;\n }\n else {\n charCode = str.charCodeAt(0);\n offset = 0;\n }\n while (true) {\n let codePoint = charCode;\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.isHighSurrogate(charCode)) {\n if (offset + 1 < strLen) {\n const nextCharCode = str.charCodeAt(offset + 1);\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.isLowSurrogate(nextCharCode)) {\n offset++;\n codePoint = _strings_js__WEBPACK_IMPORTED_MODULE_0__.computeCodePoint(charCode, nextCharCode);\n }\n else {\n // illegal => unicode replacement character\n codePoint = 65533 /* SHA1Constant.UNICODE_REPLACEMENT */;\n }\n }\n else {\n // last character is a surrogate pair\n leftoverHighSurrogate = charCode;\n break;\n }\n }\n else if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.isLowSurrogate(charCode)) {\n // illegal => unicode replacement character\n codePoint = 65533 /* SHA1Constant.UNICODE_REPLACEMENT */;\n }\n buffLen = this._push(buff, buffLen, codePoint);\n offset++;\n if (offset < strLen) {\n charCode = str.charCodeAt(offset);\n }\n else {\n break;\n }\n }\n this._buffLen = buffLen;\n this._leftoverHighSurrogate = leftoverHighSurrogate;\n }\n _push(buff, buffLen, codePoint) {\n if (codePoint < 0x0080) {\n buff[buffLen++] = codePoint;\n }\n else if (codePoint < 0x0800) {\n buff[buffLen++] = 0b11000000 | ((codePoint & 0b00000000000000000000011111000000) >>> 6);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else if (codePoint < 0x10000) {\n buff[buffLen++] = 0b11100000 | ((codePoint & 0b00000000000000001111000000000000) >>> 12);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else {\n buff[buffLen++] = 0b11110000 | ((codePoint & 0b00000000000111000000000000000000) >>> 18);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000111111000000000000) >>> 12);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n buff[buffLen++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n if (buffLen >= 64 /* SHA1Constant.BLOCK_SIZE */) {\n this._step();\n buffLen -= 64 /* SHA1Constant.BLOCK_SIZE */;\n this._totalLen += 64 /* SHA1Constant.BLOCK_SIZE */;\n // take last 3 in case of UTF8 overflow\n buff[0] = buff[64 /* SHA1Constant.BLOCK_SIZE */ + 0];\n buff[1] = buff[64 /* SHA1Constant.BLOCK_SIZE */ + 1];\n buff[2] = buff[64 /* SHA1Constant.BLOCK_SIZE */ + 2];\n }\n return buffLen;\n }\n digest() {\n if (!this._finished) {\n this._finished = true;\n if (this._leftoverHighSurrogate) {\n // illegal => unicode replacement character\n this._leftoverHighSurrogate = 0;\n this._buffLen = this._push(this._buff, this._buffLen, 65533 /* SHA1Constant.UNICODE_REPLACEMENT */);\n }\n this._totalLen += this._buffLen;\n this._wrapUp();\n }\n return toHexString(this._h0) + toHexString(this._h1) + toHexString(this._h2) + toHexString(this._h3) + toHexString(this._h4);\n }\n _wrapUp() {\n this._buff[this._buffLen++] = 0x80;\n fill(this._buff, this._buffLen);\n if (this._buffLen > 56) {\n this._step();\n fill(this._buff);\n }\n // this will fit because the mantissa can cover up to 52 bits\n const ml = 8 * this._totalLen;\n this._buffDV.setUint32(56, Math.floor(ml / 4294967296), false);\n this._buffDV.setUint32(60, ml % 4294967296, false);\n this._step();\n }\n _step() {\n const bigBlock32 = StringSHA1._bigBlock32;\n const data = this._buffDV;\n for (let j = 0; j < 64 /* 16*4 */; j += 4) {\n bigBlock32.setUint32(j, data.getUint32(j, false), false);\n }\n for (let j = 64; j < 320 /* 80*4 */; j += 4) {\n bigBlock32.setUint32(j, leftRotate((bigBlock32.getUint32(j - 12, false) ^ bigBlock32.getUint32(j - 32, false) ^ bigBlock32.getUint32(j - 56, false) ^ bigBlock32.getUint32(j - 64, false)), 1), false);\n }\n let a = this._h0;\n let b = this._h1;\n let c = this._h2;\n let d = this._h3;\n let e = this._h4;\n let f, k;\n let temp;\n for (let j = 0; j < 80; j++) {\n if (j < 20) {\n f = (b & c) | ((~b) & d);\n k = 0x5A827999;\n }\n else if (j < 40) {\n f = b ^ c ^ d;\n k = 0x6ED9EBA1;\n }\n else if (j < 60) {\n f = (b & c) | (b & d) | (c & d);\n k = 0x8F1BBCDC;\n }\n else {\n f = b ^ c ^ d;\n k = 0xCA62C1D6;\n }\n temp = (leftRotate(a, 5) + f + e + k + bigBlock32.getUint32(j * 4, false)) & 0xffffffff;\n e = d;\n d = c;\n c = leftRotate(b, 30);\n b = a;\n a = temp;\n }\n this._h0 = (this._h0 + a) & 0xffffffff;\n this._h1 = (this._h1 + b) & 0xffffffff;\n this._h2 = (this._h2 + c) & 0xffffffff;\n this._h3 = (this._h3 + d) & 0xffffffff;\n this._h4 = (this._h4 + e) & 0xffffffff;\n }\n}\nStringSHA1._bigBlock32 = new DataView(new ArrayBuffer(320)); // 80 * 4 = 320\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/hash.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/history.js": +/*!******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/history.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 */ HistoryNavigator: () => (/* binding */ HistoryNavigator)\n/* harmony export */ });\n/* harmony import */ var _navigator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./navigator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/navigator.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 HistoryNavigator {\n constructor(history = [], limit = 10) {\n this._initialize(history);\n this._limit = limit;\n this._onChange();\n }\n getHistory() {\n return this._elements;\n }\n add(t) {\n this._history.delete(t);\n this._history.add(t);\n this._onChange();\n }\n next() {\n // This will navigate past the end of the last element, and in that case the input should be cleared\n return this._navigator.next();\n }\n previous() {\n if (this._currentPosition() !== 0) {\n return this._navigator.previous();\n }\n return null;\n }\n current() {\n return this._navigator.current();\n }\n first() {\n return this._navigator.first();\n }\n last() {\n return this._navigator.last();\n }\n isLast() {\n return this._currentPosition() >= this._elements.length - 1;\n }\n isNowhere() {\n return this._navigator.current() === null;\n }\n has(t) {\n return this._history.has(t);\n }\n _onChange() {\n this._reduceToLimit();\n const elements = this._elements;\n this._navigator = new _navigator_js__WEBPACK_IMPORTED_MODULE_0__.ArrayNavigator(elements, 0, elements.length, elements.length);\n }\n _reduceToLimit() {\n const data = this._elements;\n if (data.length > this._limit) {\n this._initialize(data.slice(data.length - this._limit));\n }\n }\n _currentPosition() {\n const currentElement = this._navigator.current();\n if (!currentElement) {\n return -1;\n }\n return this._elements.indexOf(currentElement);\n }\n _initialize(history) {\n this._history = new Set();\n for (const entry of history) {\n this._history.add(entry);\n }\n }\n get _elements() {\n const elements = [];\n this._history.forEach(e => elements.push(e));\n return elements;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/history.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js": +/*!**********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/htmlContent.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 */ MarkdownString: () => (/* binding */ MarkdownString),\n/* harmony export */ escapeDoubleQuotes: () => (/* binding */ escapeDoubleQuotes),\n/* harmony export */ escapeMarkdownSyntaxTokens: () => (/* binding */ escapeMarkdownSyntaxTokens),\n/* harmony export */ isEmptyMarkdownString: () => (/* binding */ isEmptyMarkdownString),\n/* harmony export */ isMarkdownString: () => (/* binding */ isMarkdownString),\n/* harmony export */ markdownStringEqual: () => (/* binding */ markdownStringEqual),\n/* harmony export */ parseHrefAndDimensions: () => (/* binding */ parseHrefAndDimensions),\n/* harmony export */ removeMarkdownEscapes: () => (/* binding */ removeMarkdownEscapes)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _iconLabels_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iconLabels.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js\");\n/* harmony import */ var _resources_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./resources.js */ \"./node_modules/monaco-editor/esm/vs/base/common/resources.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.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\nclass MarkdownString {\n constructor(value = '', isTrustedOrOptions = false) {\n var _a, _b, _c;\n this.value = value;\n if (typeof this.value !== 'string') {\n throw (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.illegalArgument)('value');\n }\n if (typeof isTrustedOrOptions === 'boolean') {\n this.isTrusted = isTrustedOrOptions;\n this.supportThemeIcons = false;\n this.supportHtml = false;\n }\n else {\n this.isTrusted = (_a = isTrustedOrOptions.isTrusted) !== null && _a !== void 0 ? _a : undefined;\n this.supportThemeIcons = (_b = isTrustedOrOptions.supportThemeIcons) !== null && _b !== void 0 ? _b : false;\n this.supportHtml = (_c = isTrustedOrOptions.supportHtml) !== null && _c !== void 0 ? _c : false;\n }\n }\n appendText(value, newlineStyle = 0 /* MarkdownStringTextNewlineStyle.Paragraph */) {\n this.value += escapeMarkdownSyntaxTokens(this.supportThemeIcons ? (0,_iconLabels_js__WEBPACK_IMPORTED_MODULE_1__.escapeIcons)(value) : value)\n .replace(/([ \\t]+)/g, (_match, g1) => ' '.repeat(g1.length))\n .replace(/\\>/gm, '\\\\>')\n .replace(/\\n/g, newlineStyle === 1 /* MarkdownStringTextNewlineStyle.Break */ ? '\\\\\\n' : '\\n\\n');\n return this;\n }\n appendMarkdown(value) {\n this.value += value;\n return this;\n }\n appendCodeblock(langId, code) {\n this.value += '\\n```';\n this.value += langId;\n this.value += '\\n';\n this.value += code;\n this.value += '\\n```\\n';\n return this;\n }\n appendLink(target, label, title) {\n this.value += '[';\n this.value += this._escape(label, ']');\n this.value += '](';\n this.value += this._escape(String(target), ')');\n if (title) {\n this.value += ` \"${this._escape(this._escape(title, '\"'), ')')}\"`;\n }\n this.value += ')';\n return this;\n }\n _escape(value, ch) {\n const r = new RegExp((0,_strings_js__WEBPACK_IMPORTED_MODULE_3__.escapeRegExpCharacters)(ch), 'g');\n return value.replace(r, (match, offset) => {\n if (value.charAt(offset - 1) !== '\\\\') {\n return `\\\\${match}`;\n }\n else {\n return match;\n }\n });\n }\n}\nfunction isEmptyMarkdownString(oneOrMany) {\n if (isMarkdownString(oneOrMany)) {\n return !oneOrMany.value;\n }\n else if (Array.isArray(oneOrMany)) {\n return oneOrMany.every(isEmptyMarkdownString);\n }\n else {\n return true;\n }\n}\nfunction isMarkdownString(thing) {\n if (thing instanceof MarkdownString) {\n return true;\n }\n else if (thing && typeof thing === 'object') {\n return typeof thing.value === 'string'\n && (typeof thing.isTrusted === 'boolean' || typeof thing.isTrusted === 'object' || thing.isTrusted === undefined)\n && (typeof thing.supportThemeIcons === 'boolean' || thing.supportThemeIcons === undefined);\n }\n return false;\n}\nfunction markdownStringEqual(a, b) {\n if (a === b) {\n return true;\n }\n else if (!a || !b) {\n return false;\n }\n else {\n return a.value === b.value\n && a.isTrusted === b.isTrusted\n && a.supportThemeIcons === b.supportThemeIcons\n && a.supportHtml === b.supportHtml\n && (a.baseUri === b.baseUri || !!a.baseUri && !!b.baseUri && (0,_resources_js__WEBPACK_IMPORTED_MODULE_2__.isEqual)(_uri_js__WEBPACK_IMPORTED_MODULE_4__.URI.from(a.baseUri), _uri_js__WEBPACK_IMPORTED_MODULE_4__.URI.from(b.baseUri)));\n }\n}\nfunction escapeMarkdownSyntaxTokens(text) {\n // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\n return text.replace(/[\\\\`*_{}[\\]()#+\\-!~]/g, '\\\\$&'); // CodeQL [SM02383] Backslash is escaped in the character class\n}\nfunction escapeDoubleQuotes(input) {\n return input.replace(/\"/g, '"');\n}\nfunction removeMarkdownEscapes(text) {\n if (!text) {\n return text;\n }\n return text.replace(/\\\\([\\\\`*_{}[\\]()#+\\-.!~])/g, '$1');\n}\nfunction parseHrefAndDimensions(href) {\n const dimensions = [];\n const splitted = href.split('|').map(s => s.trim());\n href = splitted[0];\n const parameters = splitted[1];\n if (parameters) {\n const heightFromParams = /height=(\\d+)/.exec(parameters);\n const widthFromParams = /width=(\\d+)/.exec(parameters);\n const height = heightFromParams ? heightFromParams[1] : '';\n const width = widthFromParams ? widthFromParams[1] : '';\n const widthIsFinite = isFinite(parseInt(width));\n const heightIsFinite = isFinite(parseInt(height));\n if (widthIsFinite) {\n dimensions.push(`width=\"${width}\"`);\n }\n if (heightIsFinite) {\n dimensions.push(`height=\"${height}\"`);\n }\n }\n return { href, dimensions };\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/htmlContent.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js": +/*!*********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/iconLabels.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 */ escapeIcons: () => (/* binding */ escapeIcons),\n/* harmony export */ getCodiconAriaLabel: () => (/* binding */ getCodiconAriaLabel),\n/* harmony export */ markdownEscapeEscapedIcons: () => (/* binding */ markdownEscapeEscapedIcons),\n/* harmony export */ matchesFuzzyIconAware: () => (/* binding */ matchesFuzzyIconAware),\n/* harmony export */ parseLabelWithIcons: () => (/* binding */ parseLabelWithIcons),\n/* harmony export */ stripIcons: () => (/* binding */ stripIcons)\n/* harmony export */ });\n/* harmony import */ var _filters_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filters.js */ \"./node_modules/monaco-editor/esm/vs/base/common/filters.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _themables_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./themables.js */ \"./node_modules/monaco-editor/esm/vs/base/common/themables.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\nconst iconStartMarker = '$(';\nconst iconsRegex = new RegExp(`\\\\$\\\\(${_themables_js__WEBPACK_IMPORTED_MODULE_2__.ThemeIcon.iconNameExpression}(?:${_themables_js__WEBPACK_IMPORTED_MODULE_2__.ThemeIcon.iconModifierExpression})?\\\\)`, 'g'); // no capturing groups\nconst escapeIconsRegex = new RegExp(`(\\\\\\\\)?${iconsRegex.source}`, 'g');\nfunction escapeIcons(text) {\n return text.replace(escapeIconsRegex, (match, escaped) => escaped ? match : `\\\\${match}`);\n}\nconst markdownEscapedIconsRegex = new RegExp(`\\\\\\\\${iconsRegex.source}`, 'g');\nfunction markdownEscapeEscapedIcons(text) {\n // Need to add an extra \\ for escaping in markdown\n return text.replace(markdownEscapedIconsRegex, match => `\\\\${match}`);\n}\nconst stripIconsRegex = new RegExp(`(\\\\s)?(\\\\\\\\)?${iconsRegex.source}(\\\\s)?`, 'g');\n/**\n * Takes a label with icons (`$(iconId)xyz`) and strips the icons out (`xyz`)\n */\nfunction stripIcons(text) {\n if (text.indexOf(iconStartMarker) === -1) {\n return text;\n }\n return text.replace(stripIconsRegex, (match, preWhitespace, escaped, postWhitespace) => escaped ? match : preWhitespace || postWhitespace || '');\n}\n/**\n * Takes a label with icons (`$(iconId)xyz`), removes the icon syntax adds whitespace so that screen readers can read the text better.\n */\nfunction getCodiconAriaLabel(text) {\n if (!text) {\n return '';\n }\n return text.replace(/\\$\\((.*?)\\)/g, (_match, codiconName) => ` ${codiconName} `).trim();\n}\nconst _parseIconsRegex = new RegExp(`\\\\$\\\\(${_themables_js__WEBPACK_IMPORTED_MODULE_2__.ThemeIcon.iconNameCharacter}+\\\\)`, 'g');\n/**\n * Takes a label with icons (`abc $(iconId)xyz`) and returns the text (`abc xyz`) and the offsets of the icons (`[3]`)\n */\nfunction parseLabelWithIcons(input) {\n _parseIconsRegex.lastIndex = 0;\n let text = '';\n const iconOffsets = [];\n let iconsOffset = 0;\n while (true) {\n const pos = _parseIconsRegex.lastIndex;\n const match = _parseIconsRegex.exec(input);\n const chars = input.substring(pos, match === null || match === void 0 ? void 0 : match.index);\n if (chars.length > 0) {\n text += chars;\n for (let i = 0; i < chars.length; i++) {\n iconOffsets.push(iconsOffset);\n }\n }\n if (!match) {\n break;\n }\n iconsOffset += match[0].length;\n }\n return { text, iconOffsets };\n}\nfunction matchesFuzzyIconAware(query, target, enableSeparateSubstringMatching = false) {\n const { text, iconOffsets } = target;\n // Return early if there are no icon markers in the word to match against\n if (!iconOffsets || iconOffsets.length === 0) {\n return (0,_filters_js__WEBPACK_IMPORTED_MODULE_0__.matchesFuzzy)(query, text, enableSeparateSubstringMatching);\n }\n // Trim the word to match against because it could have leading\n // whitespace now if the word started with an icon\n const wordToMatchAgainstWithoutIconsTrimmed = (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.ltrim)(text, ' ');\n const leadingWhitespaceOffset = text.length - wordToMatchAgainstWithoutIconsTrimmed.length;\n // match on value without icon\n const matches = (0,_filters_js__WEBPACK_IMPORTED_MODULE_0__.matchesFuzzy)(query, wordToMatchAgainstWithoutIconsTrimmed, enableSeparateSubstringMatching);\n // Map matches back to offsets with icon and trimming\n if (matches) {\n for (const match of matches) {\n const iconOffset = iconOffsets[match.start + leadingWhitespaceOffset] /* icon offsets at index */ + leadingWhitespaceOffset /* overall leading whitespace offset */;\n match.start += iconOffset;\n match.end += iconOffset;\n }\n }\n return matches;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/iconLabels.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/idGenerator.js": +/*!**********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/idGenerator.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 */ IdGenerator: () => (/* binding */ IdGenerator),\n/* harmony export */ defaultGenerator: () => (/* binding */ defaultGenerator)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nclass IdGenerator {\n constructor(prefix) {\n this._prefix = prefix;\n this._lastId = 0;\n }\n nextId() {\n return this._prefix + (++this._lastId);\n }\n}\nconst defaultGenerator = new IdGenerator('id#');\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/idGenerator.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/ime.js": +/*!**************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/ime.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 */ IME: () => (/* binding */ IME),\n/* harmony export */ IMEImpl: () => (/* binding */ IMEImpl)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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 IMEImpl {\n constructor() {\n this._onDidChange = new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter();\n this.onDidChange = this._onDidChange.event;\n this._enabled = true;\n }\n get enabled() {\n return this._enabled;\n }\n /**\n * Enable IME\n */\n enable() {\n this._enabled = true;\n this._onDidChange.fire();\n }\n /**\n * Disable IME\n */\n disable() {\n this._enabled = false;\n this._onDidChange.fire();\n }\n}\nconst IME = new IMEImpl();\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/ime.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/iterator.js": +/*!*******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/iterator.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 */ Iterable: () => (/* binding */ Iterable)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nvar Iterable;\n(function (Iterable) {\n function is(thing) {\n return thing && typeof thing === 'object' && typeof thing[Symbol.iterator] === 'function';\n }\n Iterable.is = is;\n const _empty = Object.freeze([]);\n function empty() {\n return _empty;\n }\n Iterable.empty = empty;\n function* single(element) {\n yield element;\n }\n Iterable.single = single;\n function wrap(iterableOrElement) {\n if (is(iterableOrElement)) {\n return iterableOrElement;\n }\n else {\n return single(iterableOrElement);\n }\n }\n Iterable.wrap = wrap;\n function from(iterable) {\n return iterable || _empty;\n }\n Iterable.from = from;\n function isEmpty(iterable) {\n return !iterable || iterable[Symbol.iterator]().next().done === true;\n }\n Iterable.isEmpty = isEmpty;\n function first(iterable) {\n return iterable[Symbol.iterator]().next().value;\n }\n Iterable.first = first;\n function some(iterable, predicate) {\n for (const element of iterable) {\n if (predicate(element)) {\n return true;\n }\n }\n return false;\n }\n Iterable.some = some;\n function find(iterable, predicate) {\n for (const element of iterable) {\n if (predicate(element)) {\n return element;\n }\n }\n return undefined;\n }\n Iterable.find = find;\n function* filter(iterable, predicate) {\n for (const element of iterable) {\n if (predicate(element)) {\n yield element;\n }\n }\n }\n Iterable.filter = filter;\n function* map(iterable, fn) {\n let index = 0;\n for (const element of iterable) {\n yield fn(element, index++);\n }\n }\n Iterable.map = map;\n function* concat(...iterables) {\n for (const iterable of iterables) {\n for (const element of iterable) {\n yield element;\n }\n }\n }\n Iterable.concat = concat;\n function reduce(iterable, reducer, initialValue) {\n let value = initialValue;\n for (const element of iterable) {\n value = reducer(value, element);\n }\n return value;\n }\n Iterable.reduce = reduce;\n /**\n * Returns an iterable slice of the array, with the same semantics as `array.slice()`.\n */\n function* slice(arr, from, to = arr.length) {\n if (from < 0) {\n from += arr.length;\n }\n if (to < 0) {\n to += arr.length;\n }\n else if (to > arr.length) {\n to = arr.length;\n }\n for (; from < to; from++) {\n yield arr[from];\n }\n }\n Iterable.slice = slice;\n /**\n * Consumes `atMost` elements from iterable and returns the consumed elements,\n * and an iterable for the rest of the elements.\n */\n function consume(iterable, atMost = Number.POSITIVE_INFINITY) {\n const consumed = [];\n if (atMost === 0) {\n return [consumed, iterable];\n }\n const iterator = iterable[Symbol.iterator]();\n for (let i = 0; i < atMost; i++) {\n const next = iterator.next();\n if (next.done) {\n return [consumed, Iterable.empty()];\n }\n consumed.push(next.value);\n }\n return [consumed, { [Symbol.iterator]() { return iterator; } }];\n }\n Iterable.consume = consume;\n})(Iterable || (Iterable = {}));\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/iterator.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js": +/*!*******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/keyCodes.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 */ EVENT_KEY_CODE_MAP: () => (/* binding */ EVENT_KEY_CODE_MAP),\n/* harmony export */ IMMUTABLE_CODE_TO_KEY_CODE: () => (/* binding */ IMMUTABLE_CODE_TO_KEY_CODE),\n/* harmony export */ IMMUTABLE_KEY_CODE_TO_CODE: () => (/* binding */ IMMUTABLE_KEY_CODE_TO_CODE),\n/* harmony export */ KeyChord: () => (/* binding */ KeyChord),\n/* harmony export */ KeyCodeUtils: () => (/* binding */ KeyCodeUtils),\n/* harmony export */ NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE: () => (/* binding */ NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nclass KeyCodeStrMap {\n constructor() {\n this._keyCodeToStr = [];\n this._strToKeyCode = Object.create(null);\n }\n define(keyCode, str) {\n this._keyCodeToStr[keyCode] = str;\n this._strToKeyCode[str.toLowerCase()] = keyCode;\n }\n keyCodeToStr(keyCode) {\n return this._keyCodeToStr[keyCode];\n }\n strToKeyCode(str) {\n return this._strToKeyCode[str.toLowerCase()] || 0 /* KeyCode.Unknown */;\n }\n}\nconst uiMap = new KeyCodeStrMap();\nconst userSettingsUSMap = new KeyCodeStrMap();\nconst userSettingsGeneralMap = new KeyCodeStrMap();\nconst EVENT_KEY_CODE_MAP = new Array(230);\nconst NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE = {};\nconst scanCodeIntToStr = [];\nconst scanCodeStrToInt = Object.create(null);\nconst scanCodeLowerCaseStrToInt = Object.create(null);\n/**\n * -1 if a ScanCode => KeyCode mapping depends on kb layout.\n */\nconst IMMUTABLE_CODE_TO_KEY_CODE = [];\n/**\n * -1 if a KeyCode => ScanCode mapping depends on kb layout.\n */\nconst IMMUTABLE_KEY_CODE_TO_CODE = [];\nfor (let i = 0; i <= 193 /* ScanCode.MAX_VALUE */; i++) {\n IMMUTABLE_CODE_TO_KEY_CODE[i] = -1 /* KeyCode.DependsOnKbLayout */;\n}\nfor (let i = 0; i <= 132 /* KeyCode.MAX_VALUE */; i++) {\n IMMUTABLE_KEY_CODE_TO_CODE[i] = -1 /* ScanCode.DependsOnKbLayout */;\n}\n(function () {\n // See https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx\n // See https://github.com/microsoft/node-native-keymap/blob/88c0b0e5/deps/chromium/keyboard_codes_win.h\n const empty = '';\n const mappings = [\n // immutable, scanCode, scanCodeStr, keyCode, keyCodeStr, eventKeyCode, vkey, usUserSettingsLabel, generalUserSettingsLabel\n [1, 0 /* ScanCode.None */, 'None', 0 /* KeyCode.Unknown */, 'unknown', 0, 'VK_UNKNOWN', empty, empty],\n [1, 1 /* ScanCode.Hyper */, 'Hyper', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 2 /* ScanCode.Super */, 'Super', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 3 /* ScanCode.Fn */, 'Fn', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 4 /* ScanCode.FnLock */, 'FnLock', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 5 /* ScanCode.Suspend */, 'Suspend', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 6 /* ScanCode.Resume */, 'Resume', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 7 /* ScanCode.Turbo */, 'Turbo', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 8 /* ScanCode.Sleep */, 'Sleep', 0 /* KeyCode.Unknown */, empty, 0, 'VK_SLEEP', empty, empty],\n [1, 9 /* ScanCode.WakeUp */, 'WakeUp', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [0, 10 /* ScanCode.KeyA */, 'KeyA', 31 /* KeyCode.KeyA */, 'A', 65, 'VK_A', empty, empty],\n [0, 11 /* ScanCode.KeyB */, 'KeyB', 32 /* KeyCode.KeyB */, 'B', 66, 'VK_B', empty, empty],\n [0, 12 /* ScanCode.KeyC */, 'KeyC', 33 /* KeyCode.KeyC */, 'C', 67, 'VK_C', empty, empty],\n [0, 13 /* ScanCode.KeyD */, 'KeyD', 34 /* KeyCode.KeyD */, 'D', 68, 'VK_D', empty, empty],\n [0, 14 /* ScanCode.KeyE */, 'KeyE', 35 /* KeyCode.KeyE */, 'E', 69, 'VK_E', empty, empty],\n [0, 15 /* ScanCode.KeyF */, 'KeyF', 36 /* KeyCode.KeyF */, 'F', 70, 'VK_F', empty, empty],\n [0, 16 /* ScanCode.KeyG */, 'KeyG', 37 /* KeyCode.KeyG */, 'G', 71, 'VK_G', empty, empty],\n [0, 17 /* ScanCode.KeyH */, 'KeyH', 38 /* KeyCode.KeyH */, 'H', 72, 'VK_H', empty, empty],\n [0, 18 /* ScanCode.KeyI */, 'KeyI', 39 /* KeyCode.KeyI */, 'I', 73, 'VK_I', empty, empty],\n [0, 19 /* ScanCode.KeyJ */, 'KeyJ', 40 /* KeyCode.KeyJ */, 'J', 74, 'VK_J', empty, empty],\n [0, 20 /* ScanCode.KeyK */, 'KeyK', 41 /* KeyCode.KeyK */, 'K', 75, 'VK_K', empty, empty],\n [0, 21 /* ScanCode.KeyL */, 'KeyL', 42 /* KeyCode.KeyL */, 'L', 76, 'VK_L', empty, empty],\n [0, 22 /* ScanCode.KeyM */, 'KeyM', 43 /* KeyCode.KeyM */, 'M', 77, 'VK_M', empty, empty],\n [0, 23 /* ScanCode.KeyN */, 'KeyN', 44 /* KeyCode.KeyN */, 'N', 78, 'VK_N', empty, empty],\n [0, 24 /* ScanCode.KeyO */, 'KeyO', 45 /* KeyCode.KeyO */, 'O', 79, 'VK_O', empty, empty],\n [0, 25 /* ScanCode.KeyP */, 'KeyP', 46 /* KeyCode.KeyP */, 'P', 80, 'VK_P', empty, empty],\n [0, 26 /* ScanCode.KeyQ */, 'KeyQ', 47 /* KeyCode.KeyQ */, 'Q', 81, 'VK_Q', empty, empty],\n [0, 27 /* ScanCode.KeyR */, 'KeyR', 48 /* KeyCode.KeyR */, 'R', 82, 'VK_R', empty, empty],\n [0, 28 /* ScanCode.KeyS */, 'KeyS', 49 /* KeyCode.KeyS */, 'S', 83, 'VK_S', empty, empty],\n [0, 29 /* ScanCode.KeyT */, 'KeyT', 50 /* KeyCode.KeyT */, 'T', 84, 'VK_T', empty, empty],\n [0, 30 /* ScanCode.KeyU */, 'KeyU', 51 /* KeyCode.KeyU */, 'U', 85, 'VK_U', empty, empty],\n [0, 31 /* ScanCode.KeyV */, 'KeyV', 52 /* KeyCode.KeyV */, 'V', 86, 'VK_V', empty, empty],\n [0, 32 /* ScanCode.KeyW */, 'KeyW', 53 /* KeyCode.KeyW */, 'W', 87, 'VK_W', empty, empty],\n [0, 33 /* ScanCode.KeyX */, 'KeyX', 54 /* KeyCode.KeyX */, 'X', 88, 'VK_X', empty, empty],\n [0, 34 /* ScanCode.KeyY */, 'KeyY', 55 /* KeyCode.KeyY */, 'Y', 89, 'VK_Y', empty, empty],\n [0, 35 /* ScanCode.KeyZ */, 'KeyZ', 56 /* KeyCode.KeyZ */, 'Z', 90, 'VK_Z', empty, empty],\n [0, 36 /* ScanCode.Digit1 */, 'Digit1', 22 /* KeyCode.Digit1 */, '1', 49, 'VK_1', empty, empty],\n [0, 37 /* ScanCode.Digit2 */, 'Digit2', 23 /* KeyCode.Digit2 */, '2', 50, 'VK_2', empty, empty],\n [0, 38 /* ScanCode.Digit3 */, 'Digit3', 24 /* KeyCode.Digit3 */, '3', 51, 'VK_3', empty, empty],\n [0, 39 /* ScanCode.Digit4 */, 'Digit4', 25 /* KeyCode.Digit4 */, '4', 52, 'VK_4', empty, empty],\n [0, 40 /* ScanCode.Digit5 */, 'Digit5', 26 /* KeyCode.Digit5 */, '5', 53, 'VK_5', empty, empty],\n [0, 41 /* ScanCode.Digit6 */, 'Digit6', 27 /* KeyCode.Digit6 */, '6', 54, 'VK_6', empty, empty],\n [0, 42 /* ScanCode.Digit7 */, 'Digit7', 28 /* KeyCode.Digit7 */, '7', 55, 'VK_7', empty, empty],\n [0, 43 /* ScanCode.Digit8 */, 'Digit8', 29 /* KeyCode.Digit8 */, '8', 56, 'VK_8', empty, empty],\n [0, 44 /* ScanCode.Digit9 */, 'Digit9', 30 /* KeyCode.Digit9 */, '9', 57, 'VK_9', empty, empty],\n [0, 45 /* ScanCode.Digit0 */, 'Digit0', 21 /* KeyCode.Digit0 */, '0', 48, 'VK_0', empty, empty],\n [1, 46 /* ScanCode.Enter */, 'Enter', 3 /* KeyCode.Enter */, 'Enter', 13, 'VK_RETURN', empty, empty],\n [1, 47 /* ScanCode.Escape */, 'Escape', 9 /* KeyCode.Escape */, 'Escape', 27, 'VK_ESCAPE', empty, empty],\n [1, 48 /* ScanCode.Backspace */, 'Backspace', 1 /* KeyCode.Backspace */, 'Backspace', 8, 'VK_BACK', empty, empty],\n [1, 49 /* ScanCode.Tab */, 'Tab', 2 /* KeyCode.Tab */, 'Tab', 9, 'VK_TAB', empty, empty],\n [1, 50 /* ScanCode.Space */, 'Space', 10 /* KeyCode.Space */, 'Space', 32, 'VK_SPACE', empty, empty],\n [0, 51 /* ScanCode.Minus */, 'Minus', 88 /* KeyCode.Minus */, '-', 189, 'VK_OEM_MINUS', '-', 'OEM_MINUS'],\n [0, 52 /* ScanCode.Equal */, 'Equal', 86 /* KeyCode.Equal */, '=', 187, 'VK_OEM_PLUS', '=', 'OEM_PLUS'],\n [0, 53 /* ScanCode.BracketLeft */, 'BracketLeft', 92 /* KeyCode.BracketLeft */, '[', 219, 'VK_OEM_4', '[', 'OEM_4'],\n [0, 54 /* ScanCode.BracketRight */, 'BracketRight', 94 /* KeyCode.BracketRight */, ']', 221, 'VK_OEM_6', ']', 'OEM_6'],\n [0, 55 /* ScanCode.Backslash */, 'Backslash', 93 /* KeyCode.Backslash */, '\\\\', 220, 'VK_OEM_5', '\\\\', 'OEM_5'],\n [0, 56 /* ScanCode.IntlHash */, 'IntlHash', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [0, 57 /* ScanCode.Semicolon */, 'Semicolon', 85 /* KeyCode.Semicolon */, ';', 186, 'VK_OEM_1', ';', 'OEM_1'],\n [0, 58 /* ScanCode.Quote */, 'Quote', 95 /* KeyCode.Quote */, '\\'', 222, 'VK_OEM_7', '\\'', 'OEM_7'],\n [0, 59 /* ScanCode.Backquote */, 'Backquote', 91 /* KeyCode.Backquote */, '`', 192, 'VK_OEM_3', '`', 'OEM_3'],\n [0, 60 /* ScanCode.Comma */, 'Comma', 87 /* KeyCode.Comma */, ',', 188, 'VK_OEM_COMMA', ',', 'OEM_COMMA'],\n [0, 61 /* ScanCode.Period */, 'Period', 89 /* KeyCode.Period */, '.', 190, 'VK_OEM_PERIOD', '.', 'OEM_PERIOD'],\n [0, 62 /* ScanCode.Slash */, 'Slash', 90 /* KeyCode.Slash */, '/', 191, 'VK_OEM_2', '/', 'OEM_2'],\n [1, 63 /* ScanCode.CapsLock */, 'CapsLock', 8 /* KeyCode.CapsLock */, 'CapsLock', 20, 'VK_CAPITAL', empty, empty],\n [1, 64 /* ScanCode.F1 */, 'F1', 59 /* KeyCode.F1 */, 'F1', 112, 'VK_F1', empty, empty],\n [1, 65 /* ScanCode.F2 */, 'F2', 60 /* KeyCode.F2 */, 'F2', 113, 'VK_F2', empty, empty],\n [1, 66 /* ScanCode.F3 */, 'F3', 61 /* KeyCode.F3 */, 'F3', 114, 'VK_F3', empty, empty],\n [1, 67 /* ScanCode.F4 */, 'F4', 62 /* KeyCode.F4 */, 'F4', 115, 'VK_F4', empty, empty],\n [1, 68 /* ScanCode.F5 */, 'F5', 63 /* KeyCode.F5 */, 'F5', 116, 'VK_F5', empty, empty],\n [1, 69 /* ScanCode.F6 */, 'F6', 64 /* KeyCode.F6 */, 'F6', 117, 'VK_F6', empty, empty],\n [1, 70 /* ScanCode.F7 */, 'F7', 65 /* KeyCode.F7 */, 'F7', 118, 'VK_F7', empty, empty],\n [1, 71 /* ScanCode.F8 */, 'F8', 66 /* KeyCode.F8 */, 'F8', 119, 'VK_F8', empty, empty],\n [1, 72 /* ScanCode.F9 */, 'F9', 67 /* KeyCode.F9 */, 'F9', 120, 'VK_F9', empty, empty],\n [1, 73 /* ScanCode.F10 */, 'F10', 68 /* KeyCode.F10 */, 'F10', 121, 'VK_F10', empty, empty],\n [1, 74 /* ScanCode.F11 */, 'F11', 69 /* KeyCode.F11 */, 'F11', 122, 'VK_F11', empty, empty],\n [1, 75 /* ScanCode.F12 */, 'F12', 70 /* KeyCode.F12 */, 'F12', 123, 'VK_F12', empty, empty],\n [1, 76 /* ScanCode.PrintScreen */, 'PrintScreen', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 77 /* ScanCode.ScrollLock */, 'ScrollLock', 84 /* KeyCode.ScrollLock */, 'ScrollLock', 145, 'VK_SCROLL', empty, empty],\n [1, 78 /* ScanCode.Pause */, 'Pause', 7 /* KeyCode.PauseBreak */, 'PauseBreak', 19, 'VK_PAUSE', empty, empty],\n [1, 79 /* ScanCode.Insert */, 'Insert', 19 /* KeyCode.Insert */, 'Insert', 45, 'VK_INSERT', empty, empty],\n [1, 80 /* ScanCode.Home */, 'Home', 14 /* KeyCode.Home */, 'Home', 36, 'VK_HOME', empty, empty],\n [1, 81 /* ScanCode.PageUp */, 'PageUp', 11 /* KeyCode.PageUp */, 'PageUp', 33, 'VK_PRIOR', empty, empty],\n [1, 82 /* ScanCode.Delete */, 'Delete', 20 /* KeyCode.Delete */, 'Delete', 46, 'VK_DELETE', empty, empty],\n [1, 83 /* ScanCode.End */, 'End', 13 /* KeyCode.End */, 'End', 35, 'VK_END', empty, empty],\n [1, 84 /* ScanCode.PageDown */, 'PageDown', 12 /* KeyCode.PageDown */, 'PageDown', 34, 'VK_NEXT', empty, empty],\n [1, 85 /* ScanCode.ArrowRight */, 'ArrowRight', 17 /* KeyCode.RightArrow */, 'RightArrow', 39, 'VK_RIGHT', 'Right', empty],\n [1, 86 /* ScanCode.ArrowLeft */, 'ArrowLeft', 15 /* KeyCode.LeftArrow */, 'LeftArrow', 37, 'VK_LEFT', 'Left', empty],\n [1, 87 /* ScanCode.ArrowDown */, 'ArrowDown', 18 /* KeyCode.DownArrow */, 'DownArrow', 40, 'VK_DOWN', 'Down', empty],\n [1, 88 /* ScanCode.ArrowUp */, 'ArrowUp', 16 /* KeyCode.UpArrow */, 'UpArrow', 38, 'VK_UP', 'Up', empty],\n [1, 89 /* ScanCode.NumLock */, 'NumLock', 83 /* KeyCode.NumLock */, 'NumLock', 144, 'VK_NUMLOCK', empty, empty],\n [1, 90 /* ScanCode.NumpadDivide */, 'NumpadDivide', 113 /* KeyCode.NumpadDivide */, 'NumPad_Divide', 111, 'VK_DIVIDE', empty, empty],\n [1, 91 /* ScanCode.NumpadMultiply */, 'NumpadMultiply', 108 /* KeyCode.NumpadMultiply */, 'NumPad_Multiply', 106, 'VK_MULTIPLY', empty, empty],\n [1, 92 /* ScanCode.NumpadSubtract */, 'NumpadSubtract', 111 /* KeyCode.NumpadSubtract */, 'NumPad_Subtract', 109, 'VK_SUBTRACT', empty, empty],\n [1, 93 /* ScanCode.NumpadAdd */, 'NumpadAdd', 109 /* KeyCode.NumpadAdd */, 'NumPad_Add', 107, 'VK_ADD', empty, empty],\n [1, 94 /* ScanCode.NumpadEnter */, 'NumpadEnter', 3 /* KeyCode.Enter */, empty, 0, empty, empty, empty],\n [1, 95 /* ScanCode.Numpad1 */, 'Numpad1', 99 /* KeyCode.Numpad1 */, 'NumPad1', 97, 'VK_NUMPAD1', empty, empty],\n [1, 96 /* ScanCode.Numpad2 */, 'Numpad2', 100 /* KeyCode.Numpad2 */, 'NumPad2', 98, 'VK_NUMPAD2', empty, empty],\n [1, 97 /* ScanCode.Numpad3 */, 'Numpad3', 101 /* KeyCode.Numpad3 */, 'NumPad3', 99, 'VK_NUMPAD3', empty, empty],\n [1, 98 /* ScanCode.Numpad4 */, 'Numpad4', 102 /* KeyCode.Numpad4 */, 'NumPad4', 100, 'VK_NUMPAD4', empty, empty],\n [1, 99 /* ScanCode.Numpad5 */, 'Numpad5', 103 /* KeyCode.Numpad5 */, 'NumPad5', 101, 'VK_NUMPAD5', empty, empty],\n [1, 100 /* ScanCode.Numpad6 */, 'Numpad6', 104 /* KeyCode.Numpad6 */, 'NumPad6', 102, 'VK_NUMPAD6', empty, empty],\n [1, 101 /* ScanCode.Numpad7 */, 'Numpad7', 105 /* KeyCode.Numpad7 */, 'NumPad7', 103, 'VK_NUMPAD7', empty, empty],\n [1, 102 /* ScanCode.Numpad8 */, 'Numpad8', 106 /* KeyCode.Numpad8 */, 'NumPad8', 104, 'VK_NUMPAD8', empty, empty],\n [1, 103 /* ScanCode.Numpad9 */, 'Numpad9', 107 /* KeyCode.Numpad9 */, 'NumPad9', 105, 'VK_NUMPAD9', empty, empty],\n [1, 104 /* ScanCode.Numpad0 */, 'Numpad0', 98 /* KeyCode.Numpad0 */, 'NumPad0', 96, 'VK_NUMPAD0', empty, empty],\n [1, 105 /* ScanCode.NumpadDecimal */, 'NumpadDecimal', 112 /* KeyCode.NumpadDecimal */, 'NumPad_Decimal', 110, 'VK_DECIMAL', empty, empty],\n [0, 106 /* ScanCode.IntlBackslash */, 'IntlBackslash', 97 /* KeyCode.IntlBackslash */, 'OEM_102', 226, 'VK_OEM_102', empty, empty],\n [1, 107 /* ScanCode.ContextMenu */, 'ContextMenu', 58 /* KeyCode.ContextMenu */, 'ContextMenu', 93, empty, empty, empty],\n [1, 108 /* ScanCode.Power */, 'Power', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 109 /* ScanCode.NumpadEqual */, 'NumpadEqual', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 110 /* ScanCode.F13 */, 'F13', 71 /* KeyCode.F13 */, 'F13', 124, 'VK_F13', empty, empty],\n [1, 111 /* ScanCode.F14 */, 'F14', 72 /* KeyCode.F14 */, 'F14', 125, 'VK_F14', empty, empty],\n [1, 112 /* ScanCode.F15 */, 'F15', 73 /* KeyCode.F15 */, 'F15', 126, 'VK_F15', empty, empty],\n [1, 113 /* ScanCode.F16 */, 'F16', 74 /* KeyCode.F16 */, 'F16', 127, 'VK_F16', empty, empty],\n [1, 114 /* ScanCode.F17 */, 'F17', 75 /* KeyCode.F17 */, 'F17', 128, 'VK_F17', empty, empty],\n [1, 115 /* ScanCode.F18 */, 'F18', 76 /* KeyCode.F18 */, 'F18', 129, 'VK_F18', empty, empty],\n [1, 116 /* ScanCode.F19 */, 'F19', 77 /* KeyCode.F19 */, 'F19', 130, 'VK_F19', empty, empty],\n [1, 117 /* ScanCode.F20 */, 'F20', 78 /* KeyCode.F20 */, 'F20', 131, 'VK_F20', empty, empty],\n [1, 118 /* ScanCode.F21 */, 'F21', 79 /* KeyCode.F21 */, 'F21', 132, 'VK_F21', empty, empty],\n [1, 119 /* ScanCode.F22 */, 'F22', 80 /* KeyCode.F22 */, 'F22', 133, 'VK_F22', empty, empty],\n [1, 120 /* ScanCode.F23 */, 'F23', 81 /* KeyCode.F23 */, 'F23', 134, 'VK_F23', empty, empty],\n [1, 121 /* ScanCode.F24 */, 'F24', 82 /* KeyCode.F24 */, 'F24', 135, 'VK_F24', empty, empty],\n [1, 122 /* ScanCode.Open */, 'Open', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 123 /* ScanCode.Help */, 'Help', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 124 /* ScanCode.Select */, 'Select', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 125 /* ScanCode.Again */, 'Again', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 126 /* ScanCode.Undo */, 'Undo', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 127 /* ScanCode.Cut */, 'Cut', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 128 /* ScanCode.Copy */, 'Copy', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 129 /* ScanCode.Paste */, 'Paste', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 130 /* ScanCode.Find */, 'Find', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 131 /* ScanCode.AudioVolumeMute */, 'AudioVolumeMute', 117 /* KeyCode.AudioVolumeMute */, 'AudioVolumeMute', 173, 'VK_VOLUME_MUTE', empty, empty],\n [1, 132 /* ScanCode.AudioVolumeUp */, 'AudioVolumeUp', 118 /* KeyCode.AudioVolumeUp */, 'AudioVolumeUp', 175, 'VK_VOLUME_UP', empty, empty],\n [1, 133 /* ScanCode.AudioVolumeDown */, 'AudioVolumeDown', 119 /* KeyCode.AudioVolumeDown */, 'AudioVolumeDown', 174, 'VK_VOLUME_DOWN', empty, empty],\n [1, 134 /* ScanCode.NumpadComma */, 'NumpadComma', 110 /* KeyCode.NUMPAD_SEPARATOR */, 'NumPad_Separator', 108, 'VK_SEPARATOR', empty, empty],\n [0, 135 /* ScanCode.IntlRo */, 'IntlRo', 115 /* KeyCode.ABNT_C1 */, 'ABNT_C1', 193, 'VK_ABNT_C1', empty, empty],\n [1, 136 /* ScanCode.KanaMode */, 'KanaMode', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [0, 137 /* ScanCode.IntlYen */, 'IntlYen', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 138 /* ScanCode.Convert */, 'Convert', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 139 /* ScanCode.NonConvert */, 'NonConvert', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 140 /* ScanCode.Lang1 */, 'Lang1', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 141 /* ScanCode.Lang2 */, 'Lang2', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 142 /* ScanCode.Lang3 */, 'Lang3', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 143 /* ScanCode.Lang4 */, 'Lang4', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 144 /* ScanCode.Lang5 */, 'Lang5', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 145 /* ScanCode.Abort */, 'Abort', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 146 /* ScanCode.Props */, 'Props', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 147 /* ScanCode.NumpadParenLeft */, 'NumpadParenLeft', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 148 /* ScanCode.NumpadParenRight */, 'NumpadParenRight', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 149 /* ScanCode.NumpadBackspace */, 'NumpadBackspace', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 150 /* ScanCode.NumpadMemoryStore */, 'NumpadMemoryStore', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 151 /* ScanCode.NumpadMemoryRecall */, 'NumpadMemoryRecall', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 152 /* ScanCode.NumpadMemoryClear */, 'NumpadMemoryClear', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 153 /* ScanCode.NumpadMemoryAdd */, 'NumpadMemoryAdd', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 154 /* ScanCode.NumpadMemorySubtract */, 'NumpadMemorySubtract', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 155 /* ScanCode.NumpadClear */, 'NumpadClear', 131 /* KeyCode.Clear */, 'Clear', 12, 'VK_CLEAR', empty, empty],\n [1, 156 /* ScanCode.NumpadClearEntry */, 'NumpadClearEntry', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 0 /* ScanCode.None */, empty, 5 /* KeyCode.Ctrl */, 'Ctrl', 17, 'VK_CONTROL', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 4 /* KeyCode.Shift */, 'Shift', 16, 'VK_SHIFT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 6 /* KeyCode.Alt */, 'Alt', 18, 'VK_MENU', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 57 /* KeyCode.Meta */, 'Meta', 91, 'VK_COMMAND', empty, empty],\n [1, 157 /* ScanCode.ControlLeft */, 'ControlLeft', 5 /* KeyCode.Ctrl */, empty, 0, 'VK_LCONTROL', empty, empty],\n [1, 158 /* ScanCode.ShiftLeft */, 'ShiftLeft', 4 /* KeyCode.Shift */, empty, 0, 'VK_LSHIFT', empty, empty],\n [1, 159 /* ScanCode.AltLeft */, 'AltLeft', 6 /* KeyCode.Alt */, empty, 0, 'VK_LMENU', empty, empty],\n [1, 160 /* ScanCode.MetaLeft */, 'MetaLeft', 57 /* KeyCode.Meta */, empty, 0, 'VK_LWIN', empty, empty],\n [1, 161 /* ScanCode.ControlRight */, 'ControlRight', 5 /* KeyCode.Ctrl */, empty, 0, 'VK_RCONTROL', empty, empty],\n [1, 162 /* ScanCode.ShiftRight */, 'ShiftRight', 4 /* KeyCode.Shift */, empty, 0, 'VK_RSHIFT', empty, empty],\n [1, 163 /* ScanCode.AltRight */, 'AltRight', 6 /* KeyCode.Alt */, empty, 0, 'VK_RMENU', empty, empty],\n [1, 164 /* ScanCode.MetaRight */, 'MetaRight', 57 /* KeyCode.Meta */, empty, 0, 'VK_RWIN', empty, empty],\n [1, 165 /* ScanCode.BrightnessUp */, 'BrightnessUp', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 166 /* ScanCode.BrightnessDown */, 'BrightnessDown', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 167 /* ScanCode.MediaPlay */, 'MediaPlay', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 168 /* ScanCode.MediaRecord */, 'MediaRecord', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 169 /* ScanCode.MediaFastForward */, 'MediaFastForward', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 170 /* ScanCode.MediaRewind */, 'MediaRewind', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 171 /* ScanCode.MediaTrackNext */, 'MediaTrackNext', 124 /* KeyCode.MediaTrackNext */, 'MediaTrackNext', 176, 'VK_MEDIA_NEXT_TRACK', empty, empty],\n [1, 172 /* ScanCode.MediaTrackPrevious */, 'MediaTrackPrevious', 125 /* KeyCode.MediaTrackPrevious */, 'MediaTrackPrevious', 177, 'VK_MEDIA_PREV_TRACK', empty, empty],\n [1, 173 /* ScanCode.MediaStop */, 'MediaStop', 126 /* KeyCode.MediaStop */, 'MediaStop', 178, 'VK_MEDIA_STOP', empty, empty],\n [1, 174 /* ScanCode.Eject */, 'Eject', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 175 /* ScanCode.MediaPlayPause */, 'MediaPlayPause', 127 /* KeyCode.MediaPlayPause */, 'MediaPlayPause', 179, 'VK_MEDIA_PLAY_PAUSE', empty, empty],\n [1, 176 /* ScanCode.MediaSelect */, 'MediaSelect', 128 /* KeyCode.LaunchMediaPlayer */, 'LaunchMediaPlayer', 181, 'VK_MEDIA_LAUNCH_MEDIA_SELECT', empty, empty],\n [1, 177 /* ScanCode.LaunchMail */, 'LaunchMail', 129 /* KeyCode.LaunchMail */, 'LaunchMail', 180, 'VK_MEDIA_LAUNCH_MAIL', empty, empty],\n [1, 178 /* ScanCode.LaunchApp2 */, 'LaunchApp2', 130 /* KeyCode.LaunchApp2 */, 'LaunchApp2', 183, 'VK_MEDIA_LAUNCH_APP2', empty, empty],\n [1, 179 /* ScanCode.LaunchApp1 */, 'LaunchApp1', 0 /* KeyCode.Unknown */, empty, 0, 'VK_MEDIA_LAUNCH_APP1', empty, empty],\n [1, 180 /* ScanCode.SelectTask */, 'SelectTask', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 181 /* ScanCode.LaunchScreenSaver */, 'LaunchScreenSaver', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 182 /* ScanCode.BrowserSearch */, 'BrowserSearch', 120 /* KeyCode.BrowserSearch */, 'BrowserSearch', 170, 'VK_BROWSER_SEARCH', empty, empty],\n [1, 183 /* ScanCode.BrowserHome */, 'BrowserHome', 121 /* KeyCode.BrowserHome */, 'BrowserHome', 172, 'VK_BROWSER_HOME', empty, empty],\n [1, 184 /* ScanCode.BrowserBack */, 'BrowserBack', 122 /* KeyCode.BrowserBack */, 'BrowserBack', 166, 'VK_BROWSER_BACK', empty, empty],\n [1, 185 /* ScanCode.BrowserForward */, 'BrowserForward', 123 /* KeyCode.BrowserForward */, 'BrowserForward', 167, 'VK_BROWSER_FORWARD', empty, empty],\n [1, 186 /* ScanCode.BrowserStop */, 'BrowserStop', 0 /* KeyCode.Unknown */, empty, 0, 'VK_BROWSER_STOP', empty, empty],\n [1, 187 /* ScanCode.BrowserRefresh */, 'BrowserRefresh', 0 /* KeyCode.Unknown */, empty, 0, 'VK_BROWSER_REFRESH', empty, empty],\n [1, 188 /* ScanCode.BrowserFavorites */, 'BrowserFavorites', 0 /* KeyCode.Unknown */, empty, 0, 'VK_BROWSER_FAVORITES', empty, empty],\n [1, 189 /* ScanCode.ZoomToggle */, 'ZoomToggle', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 190 /* ScanCode.MailReply */, 'MailReply', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 191 /* ScanCode.MailForward */, 'MailForward', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n [1, 192 /* ScanCode.MailSend */, 'MailSend', 0 /* KeyCode.Unknown */, empty, 0, empty, empty, empty],\n // See https://lists.w3.org/Archives/Public/www-dom/2010JulSep/att-0182/keyCode-spec.html\n // If an Input Method Editor is processing key input and the event is keydown, return 229.\n [1, 0 /* ScanCode.None */, empty, 114 /* KeyCode.KEY_IN_COMPOSITION */, 'KeyInComposition', 229, empty, empty, empty],\n [1, 0 /* ScanCode.None */, empty, 116 /* KeyCode.ABNT_C2 */, 'ABNT_C2', 194, 'VK_ABNT_C2', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 96 /* KeyCode.OEM_8 */, 'OEM_8', 223, 'VK_OEM_8', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_KANA', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_HANGUL', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_JUNJA', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_FINAL', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_HANJA', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_KANJI', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_CONVERT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_NONCONVERT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_ACCEPT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_MODECHANGE', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_SELECT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_PRINT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_EXECUTE', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_SNAPSHOT', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_HELP', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_APPS', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_PROCESSKEY', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_PACKET', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_DBE_SBCSCHAR', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_DBE_DBCSCHAR', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_ATTN', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_CRSEL', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_EXSEL', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_EREOF', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_PLAY', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_ZOOM', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_NONAME', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_PA1', empty, empty],\n [1, 0 /* ScanCode.None */, empty, 0 /* KeyCode.Unknown */, empty, 0, 'VK_OEM_CLEAR', empty, empty],\n ];\n const seenKeyCode = [];\n const seenScanCode = [];\n for (const mapping of mappings) {\n const [immutable, scanCode, scanCodeStr, keyCode, keyCodeStr, eventKeyCode, vkey, usUserSettingsLabel, generalUserSettingsLabel] = mapping;\n if (!seenScanCode[scanCode]) {\n seenScanCode[scanCode] = true;\n scanCodeIntToStr[scanCode] = scanCodeStr;\n scanCodeStrToInt[scanCodeStr] = scanCode;\n scanCodeLowerCaseStrToInt[scanCodeStr.toLowerCase()] = scanCode;\n if (immutable) {\n IMMUTABLE_CODE_TO_KEY_CODE[scanCode] = keyCode;\n if ((keyCode !== 0 /* KeyCode.Unknown */)\n && (keyCode !== 3 /* KeyCode.Enter */)\n && (keyCode !== 5 /* KeyCode.Ctrl */)\n && (keyCode !== 4 /* KeyCode.Shift */)\n && (keyCode !== 6 /* KeyCode.Alt */)\n && (keyCode !== 57 /* KeyCode.Meta */)) {\n IMMUTABLE_KEY_CODE_TO_CODE[keyCode] = scanCode;\n }\n }\n }\n if (!seenKeyCode[keyCode]) {\n seenKeyCode[keyCode] = true;\n if (!keyCodeStr) {\n throw new Error(`String representation missing for key code ${keyCode} around scan code ${scanCodeStr}`);\n }\n uiMap.define(keyCode, keyCodeStr);\n userSettingsUSMap.define(keyCode, usUserSettingsLabel || keyCodeStr);\n userSettingsGeneralMap.define(keyCode, generalUserSettingsLabel || usUserSettingsLabel || keyCodeStr);\n }\n if (eventKeyCode) {\n EVENT_KEY_CODE_MAP[eventKeyCode] = keyCode;\n }\n if (vkey) {\n NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[vkey] = keyCode;\n }\n }\n // Manually added due to the exclusion above (due to duplication with NumpadEnter)\n IMMUTABLE_KEY_CODE_TO_CODE[3 /* KeyCode.Enter */] = 46 /* ScanCode.Enter */;\n})();\nvar KeyCodeUtils;\n(function (KeyCodeUtils) {\n function toString(keyCode) {\n return uiMap.keyCodeToStr(keyCode);\n }\n KeyCodeUtils.toString = toString;\n function fromString(key) {\n return uiMap.strToKeyCode(key);\n }\n KeyCodeUtils.fromString = fromString;\n function toUserSettingsUS(keyCode) {\n return userSettingsUSMap.keyCodeToStr(keyCode);\n }\n KeyCodeUtils.toUserSettingsUS = toUserSettingsUS;\n function toUserSettingsGeneral(keyCode) {\n return userSettingsGeneralMap.keyCodeToStr(keyCode);\n }\n KeyCodeUtils.toUserSettingsGeneral = toUserSettingsGeneral;\n function fromUserSettings(key) {\n return userSettingsUSMap.strToKeyCode(key) || userSettingsGeneralMap.strToKeyCode(key);\n }\n KeyCodeUtils.fromUserSettings = fromUserSettings;\n function toElectronAccelerator(keyCode) {\n if (keyCode >= 98 /* KeyCode.Numpad0 */ && keyCode <= 113 /* KeyCode.NumpadDivide */) {\n // [Electron Accelerators] Electron is able to parse numpad keys, but unfortunately it\n // renders them just as regular keys in menus. For example, num0 is rendered as \"0\",\n // numdiv is rendered as \"/\", numsub is rendered as \"-\".\n //\n // This can lead to incredible confusion, as it makes numpad based keybindings indistinguishable\n // from keybindings based on regular keys.\n //\n // We therefore need to fall back to custom rendering for numpad keys.\n return null;\n }\n switch (keyCode) {\n case 16 /* KeyCode.UpArrow */:\n return 'Up';\n case 18 /* KeyCode.DownArrow */:\n return 'Down';\n case 15 /* KeyCode.LeftArrow */:\n return 'Left';\n case 17 /* KeyCode.RightArrow */:\n return 'Right';\n }\n return uiMap.keyCodeToStr(keyCode);\n }\n KeyCodeUtils.toElectronAccelerator = toElectronAccelerator;\n})(KeyCodeUtils || (KeyCodeUtils = {}));\nfunction KeyChord(firstPart, secondPart) {\n const chordPart = ((secondPart & 0x0000FFFF) << 16) >>> 0;\n return (firstPart | chordPart) >>> 0;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/keyCodes.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js": +/*!***************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.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 */ AriaLabelProvider: () => (/* binding */ AriaLabelProvider),\n/* harmony export */ ElectronAcceleratorLabelProvider: () => (/* binding */ ElectronAcceleratorLabelProvider),\n/* harmony export */ ModifierLabelProvider: () => (/* binding */ ModifierLabelProvider),\n/* harmony export */ UILabelProvider: () => (/* binding */ UILabelProvider),\n/* harmony export */ UserSettingsLabelProvider: () => (/* binding */ UserSettingsLabelProvider)\n/* harmony export */ });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.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 ModifierLabelProvider {\n constructor(mac, windows, linux = windows) {\n this.modifierLabels = [null]; // index 0 will never me accessed.\n this.modifierLabels[2 /* OperatingSystem.Macintosh */] = mac;\n this.modifierLabels[1 /* OperatingSystem.Windows */] = windows;\n this.modifierLabels[3 /* OperatingSystem.Linux */] = linux;\n }\n toLabel(OS, chords, keyLabelProvider) {\n if (chords.length === 0) {\n return null;\n }\n const result = [];\n for (let i = 0, len = chords.length; i < len; i++) {\n const chord = chords[i];\n const keyLabel = keyLabelProvider(chord);\n if (keyLabel === null) {\n // this keybinding cannot be expressed...\n return null;\n }\n result[i] = _simpleAsString(chord, keyLabel, this.modifierLabels[OS]);\n }\n return result.join(' ');\n }\n}\n/**\n * A label provider that prints modifiers in a suitable format for displaying in the UI.\n */\nconst UILabelProvider = new ModifierLabelProvider({\n ctrlKey: '\\u2303',\n shiftKey: '⇧',\n altKey: '⌥',\n metaKey: '⌘',\n separator: '',\n}, {\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey', comment: ['This is the short form for the Control key on the keyboard'] }, \"Ctrl\"),\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey', comment: ['This is the short form for the Shift key on the keyboard'] }, \"Shift\"),\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey', comment: ['This is the short form for the Alt key on the keyboard'] }, \"Alt\"),\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'windowsKey', comment: ['This is the short form for the Windows key on the keyboard'] }, \"Windows\"),\n separator: '+',\n}, {\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey', comment: ['This is the short form for the Control key on the keyboard'] }, \"Ctrl\"),\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey', comment: ['This is the short form for the Shift key on the keyboard'] }, \"Shift\"),\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey', comment: ['This is the short form for the Alt key on the keyboard'] }, \"Alt\"),\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'superKey', comment: ['This is the short form for the Super key on the keyboard'] }, \"Super\"),\n separator: '+',\n});\n/**\n * A label provider that prints modifiers in a suitable format for ARIA.\n */\nconst AriaLabelProvider = new ModifierLabelProvider({\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey.long', comment: ['This is the long form for the Control key on the keyboard'] }, \"Control\"),\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey.long', comment: ['This is the long form for the Shift key on the keyboard'] }, \"Shift\"),\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'optKey.long', comment: ['This is the long form for the Alt/Option key on the keyboard'] }, \"Option\"),\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'cmdKey.long', comment: ['This is the long form for the Command key on the keyboard'] }, \"Command\"),\n separator: '+',\n}, {\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey.long', comment: ['This is the long form for the Control key on the keyboard'] }, \"Control\"),\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey.long', comment: ['This is the long form for the Shift key on the keyboard'] }, \"Shift\"),\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey.long', comment: ['This is the long form for the Alt key on the keyboard'] }, \"Alt\"),\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'windowsKey.long', comment: ['This is the long form for the Windows key on the keyboard'] }, \"Windows\"),\n separator: '+',\n}, {\n ctrlKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ctrlKey.long', comment: ['This is the long form for the Control key on the keyboard'] }, \"Control\"),\n shiftKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'shiftKey.long', comment: ['This is the long form for the Shift key on the keyboard'] }, \"Shift\"),\n altKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'altKey.long', comment: ['This is the long form for the Alt key on the keyboard'] }, \"Alt\"),\n metaKey: _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'superKey.long', comment: ['This is the long form for the Super key on the keyboard'] }, \"Super\"),\n separator: '+',\n});\n/**\n * A label provider that prints modifiers in a suitable format for Electron Accelerators.\n * See https://github.com/electron/electron/blob/master/docs/api/accelerator.md\n */\nconst ElectronAcceleratorLabelProvider = new ModifierLabelProvider({\n ctrlKey: 'Ctrl',\n shiftKey: 'Shift',\n altKey: 'Alt',\n metaKey: 'Cmd',\n separator: '+',\n}, {\n ctrlKey: 'Ctrl',\n shiftKey: 'Shift',\n altKey: 'Alt',\n metaKey: 'Super',\n separator: '+',\n});\n/**\n * A label provider that prints modifiers in a suitable format for user settings.\n */\nconst UserSettingsLabelProvider = new ModifierLabelProvider({\n ctrlKey: 'ctrl',\n shiftKey: 'shift',\n altKey: 'alt',\n metaKey: 'cmd',\n separator: '+',\n}, {\n ctrlKey: 'ctrl',\n shiftKey: 'shift',\n altKey: 'alt',\n metaKey: 'win',\n separator: '+',\n}, {\n ctrlKey: 'ctrl',\n shiftKey: 'shift',\n altKey: 'alt',\n metaKey: 'meta',\n separator: '+',\n});\nfunction _simpleAsString(modifiers, key, labels) {\n if (key === null) {\n return '';\n }\n const result = [];\n // translate modifier keys: Ctrl-Shift-Alt-Meta\n if (modifiers.ctrlKey) {\n result.push(labels.ctrlKey);\n }\n if (modifiers.shiftKey) {\n result.push(labels.shiftKey);\n }\n if (modifiers.altKey) {\n result.push(labels.altKey);\n }\n if (modifiers.metaKey) {\n result.push(labels.metaKey);\n }\n // the actual key\n if (key !== '') {\n result.push(key);\n }\n return result.join(labels.separator);\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/keybindings.js": +/*!**********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/keybindings.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 */ KeyCodeChord: () => (/* binding */ KeyCodeChord),\n/* harmony export */ Keybinding: () => (/* binding */ Keybinding),\n/* harmony export */ ResolvedChord: () => (/* binding */ ResolvedChord),\n/* harmony export */ ResolvedKeybinding: () => (/* binding */ ResolvedKeybinding),\n/* harmony export */ ScanCodeChord: () => (/* binding */ ScanCodeChord),\n/* harmony export */ createSimpleKeybinding: () => (/* binding */ createSimpleKeybinding),\n/* harmony export */ decodeKeybinding: () => (/* binding */ decodeKeybinding)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.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\nfunction decodeKeybinding(keybinding, OS) {\n if (typeof keybinding === 'number') {\n if (keybinding === 0) {\n return null;\n }\n const firstChord = (keybinding & 0x0000FFFF) >>> 0;\n const secondChord = (keybinding & 0xFFFF0000) >>> 16;\n if (secondChord !== 0) {\n return new Keybinding([\n createSimpleKeybinding(firstChord, OS),\n createSimpleKeybinding(secondChord, OS)\n ]);\n }\n return new Keybinding([createSimpleKeybinding(firstChord, OS)]);\n }\n else {\n const chords = [];\n for (let i = 0; i < keybinding.length; i++) {\n chords.push(createSimpleKeybinding(keybinding[i], OS));\n }\n return new Keybinding(chords);\n }\n}\nfunction createSimpleKeybinding(keybinding, OS) {\n const ctrlCmd = (keybinding & 2048 /* BinaryKeybindingsMask.CtrlCmd */ ? true : false);\n const winCtrl = (keybinding & 256 /* BinaryKeybindingsMask.WinCtrl */ ? true : false);\n const ctrlKey = (OS === 2 /* OperatingSystem.Macintosh */ ? winCtrl : ctrlCmd);\n const shiftKey = (keybinding & 1024 /* BinaryKeybindingsMask.Shift */ ? true : false);\n const altKey = (keybinding & 512 /* BinaryKeybindingsMask.Alt */ ? true : false);\n const metaKey = (OS === 2 /* OperatingSystem.Macintosh */ ? ctrlCmd : winCtrl);\n const keyCode = (keybinding & 255 /* BinaryKeybindingsMask.KeyCode */);\n return new KeyCodeChord(ctrlKey, shiftKey, altKey, metaKey, keyCode);\n}\n/**\n * Represents a chord which uses the `keyCode` field of keyboard events.\n * A chord is a combination of keys pressed simultaneously.\n */\nclass KeyCodeChord {\n constructor(ctrlKey, shiftKey, altKey, metaKey, keyCode) {\n this.ctrlKey = ctrlKey;\n this.shiftKey = shiftKey;\n this.altKey = altKey;\n this.metaKey = metaKey;\n this.keyCode = keyCode;\n }\n equals(other) {\n return (other instanceof KeyCodeChord\n && this.ctrlKey === other.ctrlKey\n && this.shiftKey === other.shiftKey\n && this.altKey === other.altKey\n && this.metaKey === other.metaKey\n && this.keyCode === other.keyCode);\n }\n isModifierKey() {\n return (this.keyCode === 0 /* KeyCode.Unknown */\n || this.keyCode === 5 /* KeyCode.Ctrl */\n || this.keyCode === 57 /* KeyCode.Meta */\n || this.keyCode === 6 /* KeyCode.Alt */\n || this.keyCode === 4 /* KeyCode.Shift */);\n }\n /**\n * Does this keybinding refer to the key code of a modifier and it also has the modifier flag?\n */\n isDuplicateModifierCase() {\n return ((this.ctrlKey && this.keyCode === 5 /* KeyCode.Ctrl */)\n || (this.shiftKey && this.keyCode === 4 /* KeyCode.Shift */)\n || (this.altKey && this.keyCode === 6 /* KeyCode.Alt */)\n || (this.metaKey && this.keyCode === 57 /* KeyCode.Meta */));\n }\n}\n/**\n * Represents a chord which uses the `code` field of keyboard events.\n * A chord is a combination of keys pressed simultaneously.\n */\nclass ScanCodeChord {\n constructor(ctrlKey, shiftKey, altKey, metaKey, scanCode) {\n this.ctrlKey = ctrlKey;\n this.shiftKey = shiftKey;\n this.altKey = altKey;\n this.metaKey = metaKey;\n this.scanCode = scanCode;\n }\n /**\n * Does this keybinding refer to the key code of a modifier and it also has the modifier flag?\n */\n isDuplicateModifierCase() {\n return ((this.ctrlKey && (this.scanCode === 157 /* ScanCode.ControlLeft */ || this.scanCode === 161 /* ScanCode.ControlRight */))\n || (this.shiftKey && (this.scanCode === 158 /* ScanCode.ShiftLeft */ || this.scanCode === 162 /* ScanCode.ShiftRight */))\n || (this.altKey && (this.scanCode === 159 /* ScanCode.AltLeft */ || this.scanCode === 163 /* ScanCode.AltRight */))\n || (this.metaKey && (this.scanCode === 160 /* ScanCode.MetaLeft */ || this.scanCode === 164 /* ScanCode.MetaRight */)));\n }\n}\n/**\n * A keybinding is a sequence of chords.\n */\nclass Keybinding {\n constructor(chords) {\n if (chords.length === 0) {\n throw (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.illegalArgument)(`chords`);\n }\n this.chords = chords;\n }\n}\nclass ResolvedChord {\n constructor(ctrlKey, shiftKey, altKey, metaKey, keyLabel, keyAriaLabel) {\n this.ctrlKey = ctrlKey;\n this.shiftKey = shiftKey;\n this.altKey = altKey;\n this.metaKey = metaKey;\n this.keyLabel = keyLabel;\n this.keyAriaLabel = keyAriaLabel;\n }\n}\n/**\n * A resolved keybinding. Consists of one or multiple chords.\n */\nclass ResolvedKeybinding {\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/keybindings.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/labels.js": +/*!*****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/labels.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 */ normalizeDriveLetter: () => (/* binding */ normalizeDriveLetter)\n/* harmony export */ });\n/* harmony import */ var _extpath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./extpath.js */ \"./node_modules/monaco-editor/esm/vs/base/common/extpath.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n\n\nfunction normalizeDriveLetter(path, isWindowsOS = _platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows) {\n if ((0,_extpath_js__WEBPACK_IMPORTED_MODULE_0__.hasDriveLetter)(path, isWindowsOS)) {\n return path.charAt(0).toUpperCase() + path.slice(1);\n }\n return path;\n}\nlet normalizedUserHomeCached = Object.create(null);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/labels.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/lazy.js": +/*!***************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/lazy.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 */ Lazy: () => (/* binding */ Lazy)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nclass Lazy {\n constructor(executor) {\n this.executor = executor;\n this._didRun = false;\n }\n /**\n * Get the wrapped value.\n *\n * This will force evaluation of the lazy value if it has not been resolved yet. Lazy values are only\n * resolved once. `getValue` will re-throw exceptions that are hit while resolving the value\n */\n get value() {\n if (!this._didRun) {\n try {\n this._value = this.executor();\n }\n catch (err) {\n this._error = err;\n }\n finally {\n this._didRun = true;\n }\n }\n if (this._error) {\n throw this._error;\n }\n return this._value;\n }\n /**\n * Get the wrapped value without forcing evaluation.\n */\n get rawValue() { return this._value; }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/lazy.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js": +/*!********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/lifecycle.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 */ Disposable: () => (/* binding */ Disposable),\n/* harmony export */ DisposableMap: () => (/* binding */ DisposableMap),\n/* harmony export */ DisposableStore: () => (/* binding */ DisposableStore),\n/* harmony export */ ImmortalReference: () => (/* binding */ ImmortalReference),\n/* harmony export */ MutableDisposable: () => (/* binding */ MutableDisposable),\n/* harmony export */ RefCountedDisposable: () => (/* binding */ RefCountedDisposable),\n/* harmony export */ combinedDisposable: () => (/* binding */ combinedDisposable),\n/* harmony export */ dispose: () => (/* binding */ dispose),\n/* harmony export */ isDisposable: () => (/* binding */ isDisposable),\n/* harmony export */ markAsSingleton: () => (/* binding */ markAsSingleton),\n/* harmony export */ setDisposableTracker: () => (/* binding */ setDisposableTracker),\n/* harmony export */ toDisposable: () => (/* binding */ toDisposable)\n/* harmony export */ });\n/* harmony import */ var _functional_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./functional.js */ \"./node_modules/monaco-editor/esm/vs/base/common/functional.js\");\n/* harmony import */ var _iterator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iterator.js */ \"./node_modules/monaco-editor/esm/vs/base/common/iterator.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// #region Disposable Tracking\n/**\n * Enables logging of potentially leaked disposables.\n *\n * A disposable is considered leaked if it is not disposed or not registered as the child of\n * another disposable. This tracking is very simple an only works for classes that either\n * extend Disposable or use a DisposableStore. This means there are a lot of false positives.\n */\nconst TRACK_DISPOSABLES = false;\nlet disposableTracker = null;\nfunction setDisposableTracker(tracker) {\n disposableTracker = tracker;\n}\nif (TRACK_DISPOSABLES) {\n const __is_disposable_tracked__ = '__is_disposable_tracked__';\n setDisposableTracker(new class {\n trackDisposable(x) {\n const stack = new Error('Potentially leaked disposable').stack;\n setTimeout(() => {\n if (!x[__is_disposable_tracked__]) {\n console.log(stack);\n }\n }, 3000);\n }\n setParent(child, parent) {\n if (child && child !== Disposable.None) {\n try {\n child[__is_disposable_tracked__] = true;\n }\n catch (_a) {\n // noop\n }\n }\n }\n markAsDisposed(disposable) {\n if (disposable && disposable !== Disposable.None) {\n try {\n disposable[__is_disposable_tracked__] = true;\n }\n catch (_a) {\n // noop\n }\n }\n }\n markAsSingleton(disposable) { }\n });\n}\nfunction trackDisposable(x) {\n disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.trackDisposable(x);\n return x;\n}\nfunction markAsDisposed(disposable) {\n disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.markAsDisposed(disposable);\n}\nfunction setParentOfDisposable(child, parent) {\n disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.setParent(child, parent);\n}\nfunction setParentOfDisposables(children, parent) {\n if (!disposableTracker) {\n return;\n }\n for (const child of children) {\n disposableTracker.setParent(child, parent);\n }\n}\n/**\n * Indicates that the given object is a singleton which does not need to be disposed.\n*/\nfunction markAsSingleton(singleton) {\n disposableTracker === null || disposableTracker === void 0 ? void 0 : disposableTracker.markAsSingleton(singleton);\n return singleton;\n}\n/**\n * Check if `thing` is {@link IDisposable disposable}.\n */\nfunction isDisposable(thing) {\n return typeof thing.dispose === 'function' && thing.dispose.length === 0;\n}\nfunction dispose(arg) {\n if (_iterator_js__WEBPACK_IMPORTED_MODULE_1__.Iterable.is(arg)) {\n const errors = [];\n for (const d of arg) {\n if (d) {\n try {\n d.dispose();\n }\n catch (e) {\n errors.push(e);\n }\n }\n }\n if (errors.length === 1) {\n throw errors[0];\n }\n else if (errors.length > 1) {\n throw new AggregateError(errors, 'Encountered errors while disposing of store');\n }\n return Array.isArray(arg) ? [] : arg;\n }\n else if (arg) {\n arg.dispose();\n return arg;\n }\n}\n/**\n * Combine multiple disposable values into a single {@link IDisposable}.\n */\nfunction combinedDisposable(...disposables) {\n const parent = toDisposable(() => dispose(disposables));\n setParentOfDisposables(disposables, parent);\n return parent;\n}\n/**\n * Turn a function that implements dispose into an {@link IDisposable}.\n *\n * @param fn Clean up function, guaranteed to be called only **once**.\n */\nfunction toDisposable(fn) {\n const self = trackDisposable({\n dispose: (0,_functional_js__WEBPACK_IMPORTED_MODULE_0__.once)(() => {\n markAsDisposed(self);\n fn();\n })\n });\n return self;\n}\n/**\n * Manages a collection of disposable values.\n *\n * This is the preferred way to manage multiple disposables. A `DisposableStore` is safer to work with than an\n * `IDisposable[]` as it considers edge cases, such as registering the same value multiple times or adding an item to a\n * store that has already been disposed of.\n */\nclass DisposableStore {\n constructor() {\n this._toDispose = new Set();\n this._isDisposed = false;\n trackDisposable(this);\n }\n /**\n * Dispose of all registered disposables and mark this object as disposed.\n *\n * Any future disposables added to this object will be disposed of on `add`.\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n markAsDisposed(this);\n this._isDisposed = true;\n this.clear();\n }\n /**\n * @return `true` if this object has been disposed of.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of all registered disposables but do not mark this object as disposed.\n */\n clear() {\n if (this._toDispose.size === 0) {\n return;\n }\n try {\n dispose(this._toDispose);\n }\n finally {\n this._toDispose.clear();\n }\n }\n /**\n * Add a new {@link IDisposable disposable} to the collection.\n */\n add(o) {\n if (!o) {\n return o;\n }\n if (o === this) {\n throw new Error('Cannot register a disposable on itself!');\n }\n setParentOfDisposable(o, this);\n if (this._isDisposed) {\n if (!DisposableStore.DISABLE_DISPOSED_WARNING) {\n console.warn(new Error('Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!').stack);\n }\n }\n else {\n this._toDispose.add(o);\n }\n return o;\n }\n}\nDisposableStore.DISABLE_DISPOSED_WARNING = false;\n/**\n * Abstract base class for a {@link IDisposable disposable} object.\n *\n * Subclasses can {@linkcode _register} disposables that will be automatically cleaned up when this object is disposed of.\n */\nclass Disposable {\n constructor() {\n this._store = new DisposableStore();\n trackDisposable(this);\n setParentOfDisposable(this._store, this);\n }\n dispose() {\n markAsDisposed(this);\n this._store.dispose();\n }\n /**\n * Adds `o` to the collection of disposables managed by this object.\n */\n _register(o) {\n if (o === this) {\n throw new Error('Cannot register a disposable on itself!');\n }\n return this._store.add(o);\n }\n}\n/**\n * A disposable that does nothing when it is disposed of.\n *\n * TODO: This should not be a static property.\n */\nDisposable.None = Object.freeze({ dispose() { } });\n/**\n * Manages the lifecycle of a disposable value that may be changed.\n *\n * This ensures that when the disposable value is changed, the previously held disposable is disposed of. You can\n * also register a `MutableDisposable` on a `Disposable` to ensure it is automatically cleaned up.\n */\nclass MutableDisposable {\n constructor() {\n this._isDisposed = false;\n trackDisposable(this);\n }\n get value() {\n return this._isDisposed ? undefined : this._value;\n }\n set value(value) {\n var _a;\n if (this._isDisposed || value === this._value) {\n return;\n }\n (_a = this._value) === null || _a === void 0 ? void 0 : _a.dispose();\n if (value) {\n setParentOfDisposable(value, this);\n }\n this._value = value;\n }\n /**\n * Resets the stored value and disposed of the previously stored value.\n */\n clear() {\n this.value = undefined;\n }\n dispose() {\n var _a;\n this._isDisposed = true;\n markAsDisposed(this);\n (_a = this._value) === null || _a === void 0 ? void 0 : _a.dispose();\n this._value = undefined;\n }\n}\nclass RefCountedDisposable {\n constructor(_disposable) {\n this._disposable = _disposable;\n this._counter = 1;\n }\n acquire() {\n this._counter++;\n return this;\n }\n release() {\n if (--this._counter === 0) {\n this._disposable.dispose();\n }\n return this;\n }\n}\nclass ImmortalReference {\n constructor(object) {\n this.object = object;\n }\n dispose() { }\n}\n/**\n * A map the manages the lifecycle of the values that it stores.\n */\nclass DisposableMap {\n constructor() {\n this._store = new Map();\n this._isDisposed = false;\n trackDisposable(this);\n }\n /**\n * Disposes of all stored values and mark this object as disposed.\n *\n * Trying to use this object after it has been disposed of is an error.\n */\n dispose() {\n markAsDisposed(this);\n this._isDisposed = true;\n this.clearAndDisposeAll();\n }\n /**\n * Disposes of all stored values and clear the map, but DO NOT mark this object as disposed.\n */\n clearAndDisposeAll() {\n if (!this._store.size) {\n return;\n }\n try {\n dispose(this._store.values());\n }\n finally {\n this._store.clear();\n }\n }\n get(key) {\n return this._store.get(key);\n }\n set(key, value, skipDisposeOnOverwrite = false) {\n var _a;\n if (this._isDisposed) {\n console.warn(new Error('Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!').stack);\n }\n if (!skipDisposeOnOverwrite) {\n (_a = this._store.get(key)) === null || _a === void 0 ? void 0 : _a.dispose();\n }\n this._store.set(key, value);\n }\n /**\n * Delete the value stored for `key` from this map and also dispose of it.\n */\n deleteAndDispose(key) {\n var _a;\n (_a = this._store.get(key)) === null || _a === void 0 ? void 0 : _a.dispose();\n this._store.delete(key);\n }\n [Symbol.iterator]() {\n return this._store[Symbol.iterator]();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/linkedList.js": +/*!*********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/linkedList.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 */ LinkedList: () => (/* binding */ LinkedList)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nclass Node {\n constructor(element) {\n this.element = element;\n this.next = Node.Undefined;\n this.prev = Node.Undefined;\n }\n}\nNode.Undefined = new Node(undefined);\nclass LinkedList {\n constructor() {\n this._first = Node.Undefined;\n this._last = Node.Undefined;\n this._size = 0;\n }\n get size() {\n return this._size;\n }\n isEmpty() {\n return this._first === Node.Undefined;\n }\n clear() {\n let node = this._first;\n while (node !== Node.Undefined) {\n const next = node.next;\n node.prev = Node.Undefined;\n node.next = Node.Undefined;\n node = next;\n }\n this._first = Node.Undefined;\n this._last = Node.Undefined;\n this._size = 0;\n }\n unshift(element) {\n return this._insert(element, false);\n }\n push(element) {\n return this._insert(element, true);\n }\n _insert(element, atTheEnd) {\n const newNode = new Node(element);\n if (this._first === Node.Undefined) {\n this._first = newNode;\n this._last = newNode;\n }\n else if (atTheEnd) {\n // push\n const oldLast = this._last;\n this._last = newNode;\n newNode.prev = oldLast;\n oldLast.next = newNode;\n }\n else {\n // unshift\n const oldFirst = this._first;\n this._first = newNode;\n newNode.next = oldFirst;\n oldFirst.prev = newNode;\n }\n this._size += 1;\n let didRemove = false;\n return () => {\n if (!didRemove) {\n didRemove = true;\n this._remove(newNode);\n }\n };\n }\n shift() {\n if (this._first === Node.Undefined) {\n return undefined;\n }\n else {\n const res = this._first.element;\n this._remove(this._first);\n return res;\n }\n }\n pop() {\n if (this._last === Node.Undefined) {\n return undefined;\n }\n else {\n const res = this._last.element;\n this._remove(this._last);\n return res;\n }\n }\n _remove(node) {\n if (node.prev !== Node.Undefined && node.next !== Node.Undefined) {\n // middle\n const anchor = node.prev;\n anchor.next = node.next;\n node.next.prev = anchor;\n }\n else if (node.prev === Node.Undefined && node.next === Node.Undefined) {\n // only node\n this._first = Node.Undefined;\n this._last = Node.Undefined;\n }\n else if (node.next === Node.Undefined) {\n // last\n this._last = this._last.prev;\n this._last.next = Node.Undefined;\n }\n else if (node.prev === Node.Undefined) {\n // first\n this._first = this._first.next;\n this._first.prev = Node.Undefined;\n }\n // done\n this._size -= 1;\n }\n *[Symbol.iterator]() {\n let node = this._first;\n while (node !== Node.Undefined) {\n yield node.element;\n node = node.next;\n }\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/linkedList.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/linkedText.js": +/*!*********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/linkedText.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 */ LinkedText: () => (/* binding */ LinkedText),\n/* harmony export */ parseLinkedText: () => (/* binding */ parseLinkedText)\n/* harmony export */ });\n/* harmony import */ var _decorators_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./decorators.js */ \"./node_modules/monaco-editor/esm/vs/base/common/decorators.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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\nclass LinkedText {\n constructor(nodes) {\n this.nodes = nodes;\n }\n toString() {\n return this.nodes.map(node => typeof node === 'string' ? node : node.label).join('');\n }\n}\n__decorate([\n _decorators_js__WEBPACK_IMPORTED_MODULE_0__.memoize\n], LinkedText.prototype, \"toString\", null);\nconst LINK_REGEX = /\\[([^\\]]+)\\]\\(((?:https?:\\/\\/|command:|file:)[^\\)\\s]+)(?: ([\"'])(.+?)(\\3))?\\)/gi;\nfunction parseLinkedText(text) {\n const result = [];\n let index = 0;\n let match;\n while (match = LINK_REGEX.exec(text)) {\n if (match.index - index > 0) {\n result.push(text.substring(index, match.index));\n }\n const [, label, href, , title] = match;\n if (title) {\n result.push({ label, href, title });\n }\n else {\n result.push({ label, href });\n }\n index = match.index + match[0].length;\n }\n if (index < text.length) {\n result.push(text.substring(index));\n }\n return new LinkedText(result);\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/linkedText.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/map.js": +/*!**************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/map.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 */ LRUCache: () => (/* binding */ LRUCache),\n/* harmony export */ LinkedMap: () => (/* binding */ LinkedMap),\n/* harmony export */ ResourceMap: () => (/* binding */ ResourceMap)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nvar _a, _b;\nclass ResourceMapEntry {\n constructor(uri, value) {\n this.uri = uri;\n this.value = value;\n }\n}\nclass ResourceMap {\n constructor(mapOrKeyFn, toKey) {\n this[_a] = 'ResourceMap';\n if (mapOrKeyFn instanceof ResourceMap) {\n this.map = new Map(mapOrKeyFn.map);\n this.toKey = toKey !== null && toKey !== void 0 ? toKey : ResourceMap.defaultToKey;\n }\n else {\n this.map = new Map();\n this.toKey = mapOrKeyFn !== null && mapOrKeyFn !== void 0 ? mapOrKeyFn : ResourceMap.defaultToKey;\n }\n }\n set(resource, value) {\n this.map.set(this.toKey(resource), new ResourceMapEntry(resource, value));\n return this;\n }\n get(resource) {\n var _c;\n return (_c = this.map.get(this.toKey(resource))) === null || _c === void 0 ? void 0 : _c.value;\n }\n has(resource) {\n return this.map.has(this.toKey(resource));\n }\n get size() {\n return this.map.size;\n }\n clear() {\n this.map.clear();\n }\n delete(resource) {\n return this.map.delete(this.toKey(resource));\n }\n forEach(clb, thisArg) {\n if (typeof thisArg !== 'undefined') {\n clb = clb.bind(thisArg);\n }\n for (const [_, entry] of this.map) {\n clb(entry.value, entry.uri, this);\n }\n }\n *values() {\n for (const entry of this.map.values()) {\n yield entry.value;\n }\n }\n *keys() {\n for (const entry of this.map.values()) {\n yield entry.uri;\n }\n }\n *entries() {\n for (const entry of this.map.values()) {\n yield [entry.uri, entry.value];\n }\n }\n *[(_a = Symbol.toStringTag, Symbol.iterator)]() {\n for (const [, entry] of this.map) {\n yield [entry.uri, entry.value];\n }\n }\n}\nResourceMap.defaultToKey = (resource) => resource.toString();\nclass LinkedMap {\n constructor() {\n this[_b] = 'LinkedMap';\n this._map = new Map();\n this._head = undefined;\n this._tail = undefined;\n this._size = 0;\n this._state = 0;\n }\n clear() {\n this._map.clear();\n this._head = undefined;\n this._tail = undefined;\n this._size = 0;\n this._state++;\n }\n isEmpty() {\n return !this._head && !this._tail;\n }\n get size() {\n return this._size;\n }\n get first() {\n var _c;\n return (_c = this._head) === null || _c === void 0 ? void 0 : _c.value;\n }\n get last() {\n var _c;\n return (_c = this._tail) === null || _c === void 0 ? void 0 : _c.value;\n }\n has(key) {\n return this._map.has(key);\n }\n get(key, touch = 0 /* Touch.None */) {\n const item = this._map.get(key);\n if (!item) {\n return undefined;\n }\n if (touch !== 0 /* Touch.None */) {\n this.touch(item, touch);\n }\n return item.value;\n }\n set(key, value, touch = 0 /* Touch.None */) {\n let item = this._map.get(key);\n if (item) {\n item.value = value;\n if (touch !== 0 /* Touch.None */) {\n this.touch(item, touch);\n }\n }\n else {\n item = { key, value, next: undefined, previous: undefined };\n switch (touch) {\n case 0 /* Touch.None */:\n this.addItemLast(item);\n break;\n case 1 /* Touch.AsOld */:\n this.addItemFirst(item);\n break;\n case 2 /* Touch.AsNew */:\n this.addItemLast(item);\n break;\n default:\n this.addItemLast(item);\n break;\n }\n this._map.set(key, item);\n this._size++;\n }\n return this;\n }\n delete(key) {\n return !!this.remove(key);\n }\n remove(key) {\n const item = this._map.get(key);\n if (!item) {\n return undefined;\n }\n this._map.delete(key);\n this.removeItem(item);\n this._size--;\n return item.value;\n }\n shift() {\n if (!this._head && !this._tail) {\n return undefined;\n }\n if (!this._head || !this._tail) {\n throw new Error('Invalid list');\n }\n const item = this._head;\n this._map.delete(item.key);\n this.removeItem(item);\n this._size--;\n return item.value;\n }\n forEach(callbackfn, thisArg) {\n const state = this._state;\n let current = this._head;\n while (current) {\n if (thisArg) {\n callbackfn.bind(thisArg)(current.value, current.key, this);\n }\n else {\n callbackfn(current.value, current.key, this);\n }\n if (this._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n current = current.next;\n }\n }\n keys() {\n const map = this;\n const state = this._state;\n let current = this._head;\n const iterator = {\n [Symbol.iterator]() {\n return iterator;\n },\n next() {\n if (map._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n if (current) {\n const result = { value: current.key, done: false };\n current = current.next;\n return result;\n }\n else {\n return { value: undefined, done: true };\n }\n }\n };\n return iterator;\n }\n values() {\n const map = this;\n const state = this._state;\n let current = this._head;\n const iterator = {\n [Symbol.iterator]() {\n return iterator;\n },\n next() {\n if (map._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n if (current) {\n const result = { value: current.value, done: false };\n current = current.next;\n return result;\n }\n else {\n return { value: undefined, done: true };\n }\n }\n };\n return iterator;\n }\n entries() {\n const map = this;\n const state = this._state;\n let current = this._head;\n const iterator = {\n [Symbol.iterator]() {\n return iterator;\n },\n next() {\n if (map._state !== state) {\n throw new Error(`LinkedMap got modified during iteration.`);\n }\n if (current) {\n const result = { value: [current.key, current.value], done: false };\n current = current.next;\n return result;\n }\n else {\n return { value: undefined, done: true };\n }\n }\n };\n return iterator;\n }\n [(_b = Symbol.toStringTag, Symbol.iterator)]() {\n return this.entries();\n }\n trimOld(newSize) {\n if (newSize >= this.size) {\n return;\n }\n if (newSize === 0) {\n this.clear();\n return;\n }\n let current = this._head;\n let currentSize = this.size;\n while (current && currentSize > newSize) {\n this._map.delete(current.key);\n current = current.next;\n currentSize--;\n }\n this._head = current;\n this._size = currentSize;\n if (current) {\n current.previous = undefined;\n }\n this._state++;\n }\n addItemFirst(item) {\n // First time Insert\n if (!this._head && !this._tail) {\n this._tail = item;\n }\n else if (!this._head) {\n throw new Error('Invalid list');\n }\n else {\n item.next = this._head;\n this._head.previous = item;\n }\n this._head = item;\n this._state++;\n }\n addItemLast(item) {\n // First time Insert\n if (!this._head && !this._tail) {\n this._head = item;\n }\n else if (!this._tail) {\n throw new Error('Invalid list');\n }\n else {\n item.previous = this._tail;\n this._tail.next = item;\n }\n this._tail = item;\n this._state++;\n }\n removeItem(item) {\n if (item === this._head && item === this._tail) {\n this._head = undefined;\n this._tail = undefined;\n }\n else if (item === this._head) {\n // This can only happen if size === 1 which is handled\n // by the case above.\n if (!item.next) {\n throw new Error('Invalid list');\n }\n item.next.previous = undefined;\n this._head = item.next;\n }\n else if (item === this._tail) {\n // This can only happen if size === 1 which is handled\n // by the case above.\n if (!item.previous) {\n throw new Error('Invalid list');\n }\n item.previous.next = undefined;\n this._tail = item.previous;\n }\n else {\n const next = item.next;\n const previous = item.previous;\n if (!next || !previous) {\n throw new Error('Invalid list');\n }\n next.previous = previous;\n previous.next = next;\n }\n item.next = undefined;\n item.previous = undefined;\n this._state++;\n }\n touch(item, touch) {\n if (!this._head || !this._tail) {\n throw new Error('Invalid list');\n }\n if ((touch !== 1 /* Touch.AsOld */ && touch !== 2 /* Touch.AsNew */)) {\n return;\n }\n if (touch === 1 /* Touch.AsOld */) {\n if (item === this._head) {\n return;\n }\n const next = item.next;\n const previous = item.previous;\n // Unlink the item\n if (item === this._tail) {\n // previous must be defined since item was not head but is tail\n // So there are more than on item in the map\n previous.next = undefined;\n this._tail = previous;\n }\n else {\n // Both next and previous are not undefined since item was neither head nor tail.\n next.previous = previous;\n previous.next = next;\n }\n // Insert the node at head\n item.previous = undefined;\n item.next = this._head;\n this._head.previous = item;\n this._head = item;\n this._state++;\n }\n else if (touch === 2 /* Touch.AsNew */) {\n if (item === this._tail) {\n return;\n }\n const next = item.next;\n const previous = item.previous;\n // Unlink the item.\n if (item === this._head) {\n // next must be defined since item was not tail but is head\n // So there are more than on item in the map\n next.previous = undefined;\n this._head = next;\n }\n else {\n // Both next and previous are not undefined since item was neither head nor tail.\n next.previous = previous;\n previous.next = next;\n }\n item.next = undefined;\n item.previous = this._tail;\n this._tail.next = item;\n this._tail = item;\n this._state++;\n }\n }\n toJSON() {\n const data = [];\n this.forEach((value, key) => {\n data.push([key, value]);\n });\n return data;\n }\n fromJSON(data) {\n this.clear();\n for (const [key, value] of data) {\n this.set(key, value);\n }\n }\n}\nclass LRUCache extends LinkedMap {\n constructor(limit, ratio = 1) {\n super();\n this._limit = limit;\n this._ratio = Math.min(Math.max(0, ratio), 1);\n }\n get limit() {\n return this._limit;\n }\n set limit(limit) {\n this._limit = limit;\n this.checkTrim();\n }\n get(key, touch = 2 /* Touch.AsNew */) {\n return super.get(key, touch);\n }\n peek(key) {\n return super.get(key, 0 /* Touch.None */);\n }\n set(key, value) {\n super.set(key, value, 2 /* Touch.AsNew */);\n this.checkTrim();\n return this;\n }\n checkTrim() {\n if (this.size > this._limit) {\n this.trimOld(Math.round(this._limit * this._ratio));\n }\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/map.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/marked/marked.js": +/*!************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/marked/marked.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 */ Lexer: () => (/* binding */ Lexer),\n/* harmony export */ Parser: () => (/* binding */ Parser),\n/* harmony export */ Renderer: () => (/* binding */ Renderer),\n/* harmony export */ Slugger: () => (/* binding */ Slugger),\n/* harmony export */ TextRenderer: () => (/* binding */ TextRenderer),\n/* harmony export */ Tokenizer: () => (/* binding */ Tokenizer),\n/* harmony export */ getDefaults: () => (/* binding */ getDefaults),\n/* harmony export */ lexer: () => (/* binding */ lexer),\n/* harmony export */ marked: () => (/* binding */ marked),\n/* harmony export */ options: () => (/* binding */ options),\n/* harmony export */ parse: () => (/* binding */ parse),\n/* harmony export */ parseInline: () => (/* binding */ parseInline),\n/* harmony export */ parser: () => (/* binding */ parser),\n/* harmony export */ setOptions: () => (/* binding */ setOptions),\n/* harmony export */ use: () => (/* binding */ use),\n/* harmony export */ walkTokens: () => (/* binding */ walkTokens)\n/* harmony export */ });\n/**\n * marked - a markdown parser\n * Copyright (c) 2011-2022, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n// ESM-uncomment-begin\nlet __marked_exports = {};\n(function() {\n function define(deps, factory) {\n factory(__marked_exports);\n }\n define.amd = true;\n// ESM-uncomment-end\n\n (function (global, factory) {\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n typeof exports === 'object' && \"object\" !== 'undefined' ? factory(exports) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.marked = {}));\n})(this, (function (exports) { 'use strict';\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function getDefaults() {\n return {\n async: false,\n baseUrl: null,\n breaks: false,\n extensions: null,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n }\n exports.defaults = getDefaults();\n function changeDefaults(newDefaults) {\n exports.defaults = newDefaults;\n }\n\n /**\n * Helpers\n */\n var escapeTest = /[&<>\"']/;\n var escapeReplace = /[&<>\"']/g;\n var escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\n var escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n var escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n var getEscapeReplacement = function getEscapeReplacement(ch) {\n return escapeReplacements[ch];\n };\n\n function escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n }\n var unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n /**\n * @param {string} html\n */\n\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, function (_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n\n return '';\n });\n }\n var caret = /(^|[^\\[])\\^/g;\n /**\n * @param {string | RegExp} regex\n * @param {string} opt\n */\n\n function edit(regex, opt) {\n regex = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n var obj = {\n replace: function replace(name, val) {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: function getRegex() {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n }\n var nonWordAndColonTest = /[^\\w:]/g;\n var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n /**\n * @param {boolean} sanitize\n * @param {string} base\n * @param {string} href\n */\n\n function cleanUrl(sanitize, base, href) {\n if (sanitize) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();\n } catch (e) {\n return null;\n }\n\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n\n return href;\n }\n var baseUrls = {};\n var justDomain = /^[^:]+:\\/*[^/]*$/;\n var protocol = /^([^:]+:)[\\s\\S]*$/;\n var domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n /**\n * @param {string} base\n * @param {string} href\n */\n\n function resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n\n base = baseUrls[' ' + base];\n var relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n }\n var noopTest = {\n exec: function noopTest() {}\n };\n function merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n }\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n\n while (--curr >= 0 && str[curr] === '\\\\') {\n escaped = !escaped;\n }\n\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n var i = 0; // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n\n if (!cells[0].trim()) {\n cells.shift();\n }\n\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) {\n cells.push('');\n }\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n\n return cells;\n }\n /**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param {string} str\n * @param {string} c\n * @param {boolean} invert Remove suffix of non-c chars instead. Default falsey.\n */\n\n function rtrim(str, c, invert) {\n var l = str.length;\n\n if (l === 0) {\n return '';\n } // Length of suffix matching the invert condition.\n\n\n var suffLen = 0; // Step left until we fail to match the invert condition.\n\n while (suffLen < l) {\n var currChar = str.charAt(l - suffLen - 1);\n\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.slice(0, l - suffLen);\n }\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n\n var l = str.length;\n var level = 0,\n i = 0;\n\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n\n if (level < 0) {\n return i;\n }\n }\n }\n\n return -1;\n }\n function checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n } // copied from https://stackoverflow.com/a/5450113/806777\n\n /**\n * @param {string} pattern\n * @param {number} count\n */\n\n function repeatString(pattern, count) {\n if (count < 1) {\n return '';\n }\n\n var result = '';\n\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n\n count >>= 1;\n pattern += pattern;\n }\n\n return result + pattern;\n }\n\n function outputLink(cap, link, raw, lexer) {\n var href = link.href;\n var title = link.title ? escape(link.title) : null;\n var text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n var token = {\n type: 'link',\n raw: raw,\n href: href,\n title: title,\n text: text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n\n return {\n type: 'image',\n raw: raw,\n href: href,\n title: title,\n text: escape(text)\n };\n }\n\n function indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split('\\n').map(function (node) {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var indentInNode = matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join('\\n');\n }\n /**\n * Tokenizer\n */\n\n\n var Tokenizer = /*#__PURE__*/function () {\n function Tokenizer(options) {\n this.options = options || exports.defaults;\n }\n\n var _proto = Tokenizer.prototype;\n\n _proto.space = function space(src) {\n var cap = this.rules.block.newline.exec(src);\n\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n };\n\n _proto.code = function code(src) {\n var cap = this.rules.block.code.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic ? rtrim(text, '\\n') : text\n };\n }\n };\n\n _proto.fences = function fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw: raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: text\n };\n }\n };\n\n _proto.heading = function heading(src) {\n var cap = this.rules.block.heading.exec(src);\n\n if (cap) {\n var text = cap[2].trim(); // remove trailing #s\n\n if (/#$/.test(text)) {\n var trimmed = rtrim(text, '#');\n\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: text,\n tokens: this.lexer.inline(text)\n };\n }\n };\n\n _proto.hr = function hr(src) {\n var cap = this.rules.block.hr.exec(src);\n\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n };\n\n _proto.blockquote = function blockquote(src) {\n var cap = this.rules.block.blockquote.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ *>[ \\t]?/gm, '');\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens: this.lexer.blockTokens(text, []),\n text: text\n };\n }\n };\n\n _proto.list = function list(src) {\n var cap = this.rules.block.list.exec(src);\n\n if (cap) {\n var raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly;\n var bull = cap[1].trim();\n var isordered = bull.length > 1;\n var list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? \"\\\\d{1,9}\\\\\" + bull.slice(-1) : \"\\\\\" + bull;\n\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n } // Get next list item\n\n\n var itemRegex = new RegExp(\"^( {0,3}\" + bull + \")((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))\"); // Check if current bullet point can start a new List Item\n\n while (src) {\n endEarly = false;\n\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n\n if (this.rules.block.hr.test(src)) {\n // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n\n raw = cap[0];\n src = src.substring(raw.length);\n line = cap[2].split('\\n', 1)[0];\n nextLine = src.split('\\n', 1)[0];\n\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimLeft();\n } else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n\n blankLine = false;\n\n if (!line && /^ *$/.test(nextLine)) {\n // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n\n if (!endEarly) {\n var nextBulletRegex = new RegExp(\"^ {0,\" + Math.min(3, indent - 1) + \"}(?:[*+-]|\\\\d{1,9}[.)])((?: [^\\\\n]*)?(?:\\\\n|$))\");\n var hrRegex = new RegExp(\"^ {0,\" + Math.min(3, indent - 1) + \"}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)\");\n var fencesBeginRegex = new RegExp(\"^ {0,\" + Math.min(3, indent - 1) + \"}(?:```|~~~)\");\n var headingBeginRegex = new RegExp(\"^ {0,\" + Math.min(3, indent - 1) + \"}#\"); // Check if following lines should be included in List Item\n\n while (src) {\n rawLine = src.split('\\n', 1)[0];\n line = rawLine; // Re-align to follow commonmark nesting rules\n\n if (this.options.pedantic) {\n line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n } // End list item if found code fences\n\n\n if (fencesBeginRegex.test(line)) {\n break;\n } // End list item if found start of new heading\n\n\n if (headingBeginRegex.test(line)) {\n break;\n } // End list item if found start of new bullet\n\n\n if (nextBulletRegex.test(line)) {\n break;\n } // Horizontal rule found\n\n\n if (hrRegex.test(src)) {\n break;\n }\n\n if (line.search(/[^ ]/) >= indent || !line.trim()) {\n // Dedent if possible\n itemContents += '\\n' + line.slice(indent);\n } else if (!blankLine) {\n // Until blank line, item doesn't need indentation\n itemContents += '\\n' + line;\n } else {\n // Otherwise, improper indentation ends this item\n break;\n }\n\n if (!blankLine && !line.trim()) {\n // Check if current line is blank\n blankLine = true;\n }\n\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n }\n }\n\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n } else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n } // Check for task list items\n\n\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents\n });\n list.raw += raw;\n } // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n\n\n list.items[list.items.length - 1].raw = raw.trimRight();\n list.items[list.items.length - 1].text = itemContents.trimRight();\n list.raw = list.raw.trimRight();\n var l = list.items.length; // Item child tokens handled here at end because we needed to have the final item to trim it first\n\n for (i = 0; i < l; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n var spacers = list.items[i].tokens.filter(function (t) {\n return t.type === 'space';\n });\n var hasMultipleLineBreaks = spacers.every(function (t) {\n var chars = t.raw.split('');\n var lineBreaks = 0;\n\n for (var _iterator = _createForOfIteratorHelperLoose(chars), _step; !(_step = _iterator()).done;) {\n var _char = _step.value;\n\n if (_char === '\\n') {\n lineBreaks += 1;\n }\n\n if (lineBreaks > 1) {\n return true;\n }\n }\n\n return false;\n });\n\n if (!list.loose && spacers.length && hasMultipleLineBreaks) {\n // Having a single line break doesn't mean a list is loose. A single line break is terminating the last list item\n list.loose = true;\n list.items[i].loose = true;\n }\n }\n\n return list;\n }\n };\n\n _proto.html = function html(src) {\n var cap = this.rules.block.html.exec(src);\n\n if (cap) {\n var token = {\n type: 'html',\n raw: cap[0],\n pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n };\n\n if (this.options.sanitize) {\n var text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);\n token.type = 'paragraph';\n token.text = text;\n token.tokens = this.lexer.inline(text);\n }\n\n return token;\n }\n };\n\n _proto.def = function def(src) {\n var cap = this.rules.block.def.exec(src);\n\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n var tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n type: 'def',\n tag: tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n };\n\n _proto.table = function table(src) {\n var cap = this.rules.block.table.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells(cap[1]).map(function (c) {\n return {\n text: c\n };\n }),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n rows: cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n var l = item.align.length;\n var i, j, k, row;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.rows.length;\n\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map(function (c) {\n return {\n text: c\n };\n });\n } // parse child tokens inside headers and cells\n // header child tokens\n\n\n l = item.header.length;\n\n for (j = 0; j < l; j++) {\n item.header[j].tokens = this.lexer.inline(item.header[j].text);\n } // cell child tokens\n\n\n l = item.rows.length;\n\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n\n for (k = 0; k < row.length; k++) {\n row[k].tokens = this.lexer.inline(row[k].text);\n }\n }\n\n return item;\n }\n }\n };\n\n _proto.lheading = function lheading(src) {\n var cap = this.rules.block.lheading.exec(src);\n\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n };\n\n _proto.paragraph = function paragraph(src) {\n var cap = this.rules.block.paragraph.exec(src);\n\n if (cap) {\n var text = cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text: text,\n tokens: this.lexer.inline(text)\n };\n }\n };\n\n _proto.text = function text(src) {\n var cap = this.rules.block.text.exec(src);\n\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n };\n\n _proto.escape = function escape$1(src) {\n var cap = this.rules.inline.escape.exec(src);\n\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape(cap[1])\n };\n }\n };\n\n _proto.tag = function tag(src) {\n var cap = this.rules.inline.tag.exec(src);\n\n if (cap) {\n if (!this.lexer.state.inLink && /^/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n } else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize ? 'text' : 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.link = function link(src) {\n var cap = this.rules.inline.link.exec(src);\n\n if (cap) {\n var trimmedUrl = cap[2].trim();\n\n if (!this.options.pedantic && /^$/.test(trimmedUrl)) {\n return;\n } // ending angle bracket cannot be escaped\n\n\n var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n var lastParenIndex = findClosingBracket(cap[2], '()');\n\n if (lastParenIndex > -1) {\n var start = cap[0].indexOf('!') === 0 ? 5 : 4;\n var linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n\n var href = cap[2];\n var title = '';\n\n if (this.options.pedantic) {\n // split pedantic href and title\n var link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n\n if (/^$/.test(trimmedUrl)) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0], this.lexer);\n }\n };\n\n _proto.reflink = function reflink(src, links) {\n var cap;\n\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n var link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n\n if (!link || !link.href) {\n var text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text: text\n };\n }\n\n return outputLink(cap, link, cap[0], this.lexer);\n }\n };\n\n _proto.emStrong = function emStrong(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match) return; // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n\n if (match[3] && prevChar.match(/(?:[0-9A-Za-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xBC-\\xBE\\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\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u0660-\\u0669\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0966-\\u096F\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09F9\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AEF\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F\\u0B71-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0BE6-\\u0BF2\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D58-\\u0D61\\u0D66-\\u0D78\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DE6-\\u0DEF\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F20-\\u0F33\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F-\\u1049\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1090-\\u1099\\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\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B50-\\u1B59\\u1B83-\\u1BA0\\u1BAE-\\u1BE5\\u1C00-\\u1C23\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\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\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2150-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2CFD\\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-\\u312F\\u3131-\\u318E\\u3192-\\u3195\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA830-\\uA835\\uA840-\\uA873\\uA882-\\uA8B3\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA900-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF-\\uA9D9\\uA9E0-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA50-\\uAA59\\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-\\uAB69\\uAB70-\\uABE2\\uABF0-\\uABF9\\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\\uFF10-\\uFF19\\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\\uDD07-\\uDD33\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE1-\\uDEFB\\uDF00-\\uDF23\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC58-\\uDC76\\uDC79-\\uDC9E\\uDCA7-\\uDCAF\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDD1B\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE40-\\uDE48\\uDE60-\\uDE7E\\uDE80-\\uDE9F\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDEEB-\\uDEEF\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF58-\\uDF72\\uDF78-\\uDF91\\uDFA9-\\uDFAF]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDD23\\uDD30-\\uDD39\\uDE60-\\uDE7E\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF27\\uDF30-\\uDF45\\uDF51-\\uDF54\\uDF70-\\uDF81\\uDFB0-\\uDFCB\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC52-\\uDC6F\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD03-\\uDD26\\uDD36-\\uDD3F\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDD0-\\uDDDA\\uDDDC\\uDDE1-\\uDDF4\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDEF0-\\uDEF9\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC50-\\uDC59\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEAA\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF30-\\uDF3B\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCF2\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC50-\\uDC6C\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF2\\uDFB0\\uDFC0-\\uDFD4]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDE70-\\uDEBE\\uDEC0-\\uDEC9\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF5B-\\uDF61\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE96\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD834[\\uDEE0-\\uDEF3\\uDF60-\\uDF78]|\\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]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB\\uDEF0-\\uDEF9]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCCF\\uDD00-\\uDD43\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDC71-\\uDCAB\\uDCAD-\\uDCAF\\uDCB1-\\uDCB4\\uDD01-\\uDD2D\\uDD2F-\\uDD3D\\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]|\\uD83C[\\uDD00-\\uDD0C]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])/)) return;\n var nextChar = match[1] || match[2] || '';\n\n if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {\n var lLength = match[0].length - 1;\n var rDelim,\n rLength,\n delimTotal = lLength,\n midDelimTotal = 0;\n var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0; // Clip maskedSrc to same section of string as src (move to lexer?)\n\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim) continue; // skip single * in __abc*abc__\n\n rLength = rDelim.length;\n\n if (match[3] || match[4]) {\n // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) {\n // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); // Create `em` if smallest delimiter has odd char count. *a***\n\n if (Math.min(lLength, rLength) % 2) {\n var _text = src.slice(1, lLength + match.index + rLength);\n\n return {\n type: 'em',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: _text,\n tokens: this.lexer.inlineTokens(_text)\n };\n } // Create 'strong' if smallest delimiter has even char count. **a***\n\n\n var text = src.slice(2, lLength + match.index + rLength - 1);\n return {\n type: 'strong',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n };\n\n _proto.codespan = function codespan(src) {\n var cap = this.rules.inline.code.exec(src);\n\n if (cap) {\n var text = cap[2].replace(/\\n/g, ' ');\n var hasNonSpaceChars = /[^ ]/.test(text);\n var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n\n text = escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.br = function br(src) {\n var cap = this.rules.inline.br.exec(src);\n\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n };\n\n _proto.del = function del(src) {\n var cap = this.rules.inline.del.exec(src);\n\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n };\n\n _proto.autolink = function autolink(src, mangle) {\n var cap = this.rules.inline.autolink.exec(src);\n\n if (cap) {\n var text, href;\n\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.url = function url(src, mangle) {\n var cap;\n\n if (cap = this.rules.inline.url.exec(src)) {\n var text, href;\n\n if (cap[2] === '@') {\n text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n var prevCapZero;\n\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n\n text = escape(cap[0]);\n\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.inlineText = function inlineText(src, smartypants) {\n var cap = this.rules.inline.text.exec(src);\n\n if (cap) {\n var text;\n\n if (this.lexer.state.inRawBlock) {\n text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0];\n } else {\n text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: text\n };\n }\n };\n\n return Tokenizer;\n }();\n\n /**\n * Block-Level Grammar\n */\n\n var block = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *(?:\\n *)?]+)>?(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n };\n block._label = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\n block._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\n block.def = edit(block.def).replace('label', block._label).replace('title', block._title).getRegex();\n block.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n block.listItemStart = edit(/^( *)(bull) */).replace('bull', block.bullet).getRegex();\n block.list = edit(block.list).replace(/bull/g, block.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block.def.source + ')').getRegex();\n block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';\n block._comment = /|$)/;\n block.html = edit(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n block.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('|table', '').replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n block.blockquote = edit(block.blockquote).replace('paragraph', block.paragraph).getRegex();\n /**\n * Normal Block Grammar\n */\n\n block.normal = merge({}, block);\n /**\n * GFM Block Grammar\n */\n\n block.gfm = merge({}, block.normal, {\n table: '^ *([^\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' {0,3}(?:\\\\| *)?(:?-+:? *(?:\\\\| *:?-+:? *)*)(?:\\\\| *)?' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n\n });\n block.gfm.table = edit(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n block.gfm.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('table', block.gfm.table) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\n block.pedantic = merge({}, block.normal, {\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b').getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest,\n // fences not supported\n paragraph: edit(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()\n });\n /**\n * Inline-Level Grammar\n */\n\n var inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment' + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^',\n // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(ref)\\]/,\n nolink: /^!?\\[(ref)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // () Skip orphan inside strong () Consume to delim (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a\n rDelimAst: /^[^_*]*?\\_\\_[^_*]*?\\*[^_*]*?(?=\\_\\_)|[^*]+(?=[^*])|[punct_](\\*+)(?=[\\s]|$)|[^punct*_\\s](\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|[^punct*_\\s](\\*+)(?=[^punct*_\\s])/,\n rDelimUnd: /^[^_*]*?\\*\\*[^_*]*?\\_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|[punct*](\\_+)(?=[\\s]|$)|[^punct*_\\s](\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/ // ^- Not allowed for _\n\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\?@\\\\[\\\\]`^{|}~';\n inline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, \n\n inline.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\n inline.escapedEmSt = /\\\\\\*|\\\\_/g;\n inline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();\n inline.emStrong.lDelim = edit(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex();\n inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'g').replace(/punct/g, inline._punctuation).getRegex();\n inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'g').replace(/punct/g, inline._punctuation).getRegex();\n inline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\n inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\n inline.autolink = edit(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex();\n inline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n inline.tag = edit(inline.tag).replace('comment', inline._comment).replace('attribute', inline._attribute).getRegex();\n inline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n inline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\n inline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n inline.link = edit(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex();\n inline.reflink = edit(inline.reflink).replace('label', inline._label).replace('ref', block._label).getRegex();\n inline.nolink = edit(inline.nolink).replace('ref', block._label).getRegex();\n inline.reflinkSearch = edit(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex();\n /**\n * Normal Inline Grammar\n */\n\n inline.normal = merge({}, inline);\n /**\n * Pedantic Inline Grammar\n */\n\n inline.pedantic = merge({}, inline.normal, {\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/).replace('label', inline._label).getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace('label', inline._label).getRegex()\n });\n /**\n * GFM Inline Grammar\n */\n\n inline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ 0.5) {\n ch = 'x' + ch.toString(16);\n }\n\n out += '&#' + ch + ';';\n }\n\n return out;\n }\n /**\n * Block Lexer\n */\n\n\n var Lexer = /*#__PURE__*/function () {\n function Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || exports.defaults;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n var rules = {\n block: block.normal,\n inline: inline.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n } else if (this.options.gfm) {\n rules.block = block.gfm;\n\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n } else {\n rules.inline = inline.gfm;\n }\n }\n\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n\n\n /**\n * Static Lex Method\n */\n Lexer.lex = function lex(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n ;\n\n Lexer.lexInline = function lexInline(src, options) {\n var lexer = new Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n ;\n\n var _proto = Lexer.prototype;\n\n _proto.lex = function lex(src) {\n src = src.replace(/\\r\\n|\\r/g, '\\n');\n this.blockTokens(src, this.tokens);\n var next;\n\n while (next = this.inlineQueue.shift()) {\n this.inlineTokens(next.src, next.tokens);\n }\n\n return this.tokens;\n }\n /**\n * Lexing\n */\n ;\n\n _proto.blockTokens = function blockTokens(src, tokens) {\n var _this = this;\n\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (this.options.pedantic) {\n src = src.replace(/\\t/g, ' ').replace(/^ +$/gm, '');\n } else {\n src = src.replace(/^( *)(\\t+)/gm, function (_, leading, tabs) {\n return leading + ' '.repeat(tabs.length);\n });\n }\n\n var token, lastToken, cutSrc, lastParagraphClipped;\n\n while (src) {\n if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function (extTokenizer) {\n if (token = extTokenizer.call({\n lexer: _this\n }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n\n return false;\n })) {\n continue;\n } // newline\n\n\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n } else {\n tokens.push(token);\n }\n\n continue;\n } // code\n\n\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.\n\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // fences\n\n\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // heading\n\n\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // hr\n\n\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // blockquote\n\n\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // list\n\n\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // html\n\n\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // def\n\n\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n\n continue;\n } // table (gfm)\n\n\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // lheading\n\n\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n\n\n cutSrc = src;\n\n if (this.options.extensions && this.options.extensions.startBlock) {\n (function () {\n var startIndex = Infinity;\n var tempSrc = src.slice(1);\n var tempStart = void 0;\n\n _this.options.extensions.startBlock.forEach(function (getStartIndex) {\n tempStart = getStartIndex.call({\n lexer: this\n }, tempSrc);\n\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n })();\n }\n\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n\n lastParagraphClipped = cutSrc.length !== src.length;\n src = src.substring(token.raw.length);\n continue;\n } // text\n\n\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n this.state.top = true;\n return tokens;\n };\n\n _proto.inline = function inline(src, tokens) {\n if (tokens === void 0) {\n tokens = [];\n }\n\n this.inlineQueue.push({\n src: src,\n tokens: tokens\n });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n ;\n\n _proto.inlineTokens = function inlineTokens(src, tokens) {\n var _this2 = this;\n\n if (tokens === void 0) {\n tokens = [];\n }\n\n var token, lastToken, cutSrc; // String with links masked to avoid interference with em and strong\n\n var maskedSrc = src;\n var match;\n var keepPrevChar, prevChar; // Mask out reflinks\n\n if (this.tokens.links) {\n var links = Object.keys(this.tokens.links);\n\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n } // Mask out other blocks\n\n\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n } // Mask out escaped em & strong delimiters\n\n\n while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);\n }\n\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n\n keepPrevChar = false; // extensions\n\n if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(function (extTokenizer) {\n if (token = extTokenizer.call({\n lexer: _this2\n }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n\n return false;\n })) {\n continue;\n } // escape\n\n\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // tag\n\n\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // link\n\n\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // reflink, nolink\n\n\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // em & strong\n\n\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // code\n\n\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // br\n\n\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // del (gfm)\n\n\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // autolink\n\n\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // url (gfm)\n\n\n if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n\n\n cutSrc = src;\n\n if (this.options.extensions && this.options.extensions.startInline) {\n (function () {\n var startIndex = Infinity;\n var tempSrc = src.slice(1);\n var tempStart = void 0;\n\n _this2.options.extensions.startInline.forEach(function (getStartIndex) {\n tempStart = getStartIndex.call({\n lexer: this\n }, tempSrc);\n\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n })();\n }\n\n if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {\n src = src.substring(token.raw.length);\n\n if (token.raw.slice(-1) !== '_') {\n // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _createClass(Lexer, null, [{\n key: \"rules\",\n get: function get() {\n return {\n block: block,\n inline: inline\n };\n }\n }]);\n\n return Lexer;\n }();\n\n /**\n * Renderer\n */\n\n var Renderer = /*#__PURE__*/function () {\n function Renderer(options) {\n this.options = options || exports.defaults;\n }\n\n var _proto = Renderer.prototype;\n\n _proto.code = function code(_code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n\n if (this.options.highlight) {\n var out = this.options.highlight(_code, lang);\n\n if (out != null && out !== _code) {\n escaped = true;\n _code = out;\n }\n }\n\n _code = _code.replace(/\\n$/, '') + '\\n';\n\n if (!lang) {\n return '

' + (escaped ? _code : escape(_code, true)) + '
\\n';\n }\n\n return '
' + (escaped ? _code : escape(_code, true)) + '
\\n';\n }\n /**\n * @param {string} quote\n */\n ;\n\n _proto.blockquote = function blockquote(quote) {\n return \"
\\n\" + quote + \"
\\n\";\n };\n\n _proto.html = function html(_html) {\n return _html;\n }\n /**\n * @param {string} text\n * @param {string} level\n * @param {string} raw\n * @param {any} slugger\n */\n ;\n\n _proto.heading = function heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n var id = this.options.headerPrefix + slugger.slug(raw);\n return \"\" + text + \"\\n\";\n } // ignore IDs\n\n\n return \"\" + text + \"\\n\";\n };\n\n _proto.hr = function hr() {\n return this.options.xhtml ? '
\\n' : '
\\n';\n };\n\n _proto.list = function list(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n }\n /**\n * @param {string} text\n */\n ;\n\n _proto.listitem = function listitem(text) {\n return \"
  • \" + text + \"
  • \\n\";\n };\n\n _proto.checkbox = function checkbox(checked) {\n return ' ';\n }\n /**\n * @param {string} text\n */\n ;\n\n _proto.paragraph = function paragraph(text) {\n return \"

    \" + text + \"

    \\n\";\n }\n /**\n * @param {string} header\n * @param {string} body\n */\n ;\n\n _proto.table = function table(header, body) {\n if (body) body = \"\" + body + \"\";\n return '\\n' + '\\n' + header + '\\n' + body + '
    \\n';\n }\n /**\n * @param {string} content\n */\n ;\n\n _proto.tablerow = function tablerow(content) {\n return \"\\n\" + content + \"\\n\";\n };\n\n _proto.tablecell = function tablecell(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align ? \"<\" + type + \" align=\\\"\" + flags.align + \"\\\">\" : \"<\" + type + \">\";\n return tag + content + (\"\\n\");\n }\n /**\n * span level renderer\n * @param {string} text\n */\n ;\n\n _proto.strong = function strong(text) {\n return \"\" + text + \"\";\n }\n /**\n * @param {string} text\n */\n ;\n\n _proto.em = function em(text) {\n return \"\" + text + \"\";\n }\n /**\n * @param {string} text\n */\n ;\n\n _proto.codespan = function codespan(text) {\n return \"\" + text + \"\";\n };\n\n _proto.br = function br() {\n return this.options.xhtml ? '
    ' : '
    ';\n }\n /**\n * @param {string} text\n */\n ;\n\n _proto.del = function del(text) {\n return \"\" + text + \"\";\n }\n /**\n * @param {string} href\n * @param {string} title\n * @param {string} text\n */\n ;\n\n _proto.link = function link(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '
    ';\n return out;\n }\n /**\n * @param {string} href\n * @param {string} title\n * @param {string} text\n */\n ;\n\n _proto.image = function image(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = \"\\\"\"' : '>';\n return out;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n return Renderer;\n }();\n\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n var TextRenderer = /*#__PURE__*/function () {\n function TextRenderer() {}\n\n var _proto = TextRenderer.prototype;\n\n // no need for block level renderers\n _proto.strong = function strong(text) {\n return text;\n };\n\n _proto.em = function em(text) {\n return text;\n };\n\n _proto.codespan = function codespan(text) {\n return text;\n };\n\n _proto.del = function del(text) {\n return text;\n };\n\n _proto.html = function html(text) {\n return text;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n _proto.link = function link(href, title, text) {\n return '' + text;\n };\n\n _proto.image = function image(href, title, text) {\n return '' + text;\n };\n\n _proto.br = function br() {\n return '';\n };\n\n return TextRenderer;\n }();\n\n /**\n * Slugger generates header id\n */\n var Slugger = /*#__PURE__*/function () {\n function Slugger() {\n this.seen = {};\n }\n /**\n * @param {string} value\n */\n\n\n var _proto = Slugger.prototype;\n\n _proto.serialize = function serialize(value) {\n return value.toLowerCase().trim() // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '') // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '').replace(/\\s/g, '-');\n }\n /**\n * Finds the next safe (unique) slug to use\n * @param {string} originalSlug\n * @param {boolean} isDryRun\n */\n ;\n\n _proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) {\n var slug = originalSlug;\n var occurenceAccumulator = 0;\n\n if (this.seen.hasOwnProperty(slug)) {\n occurenceAccumulator = this.seen[originalSlug];\n\n do {\n occurenceAccumulator++;\n slug = originalSlug + '-' + occurenceAccumulator;\n } while (this.seen.hasOwnProperty(slug));\n }\n\n if (!isDryRun) {\n this.seen[originalSlug] = occurenceAccumulator;\n this.seen[slug] = 0;\n }\n\n return slug;\n }\n /**\n * Convert string to unique id\n * @param {object} [options]\n * @param {boolean} [options.dryrun] Generates the next unique slug without\n * updating the internal accumulator.\n */\n ;\n\n _proto.slug = function slug(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var slug = this.serialize(value);\n return this.getNextSafeSlug(slug, options.dryrun);\n };\n\n return Slugger;\n }();\n\n /**\n * Parsing & Compiling\n */\n\n var Parser = /*#__PURE__*/function () {\n function Parser(options) {\n this.options = options || exports.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer();\n this.slugger = new Slugger();\n }\n /**\n * Static Parse Method\n */\n\n\n Parser.parse = function parse(tokens, options) {\n var parser = new Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n ;\n\n Parser.parseInline = function parseInline(tokens, options) {\n var parser = new Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n ;\n\n var _proto = Parser.prototype;\n\n _proto.parse = function parse(tokens, top) {\n if (top === void 0) {\n top = true;\n }\n\n var out = '',\n i,\n j,\n k,\n l2,\n l3,\n row,\n cell,\n header,\n body,\n token,\n ordered,\n start,\n loose,\n itemBody,\n item,\n checked,\n task,\n checkbox,\n ret;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i]; // Run any renderer extensions\n\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({\n parser: this\n }, token);\n\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'space':\n {\n continue;\n }\n\n case 'hr':\n {\n out += this.renderer.hr();\n continue;\n }\n\n case 'heading':\n {\n out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape(this.parseInline(token.tokens, this.textRenderer)), this.slugger);\n continue;\n }\n\n case 'code':\n {\n out += this.renderer.code(token.text, token.lang, token.escaped);\n continue;\n }\n\n case 'table':\n {\n header = ''; // header\n\n cell = '';\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), {\n header: true,\n align: token.align[j]\n });\n }\n\n header += this.renderer.tablerow(cell);\n body = '';\n l2 = token.rows.length;\n\n for (j = 0; j < l2; j++) {\n row = token.rows[j];\n cell = '';\n l3 = row.length;\n\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k].tokens), {\n header: false,\n align: token.align[k]\n });\n }\n\n body += this.renderer.tablerow(cell);\n }\n\n out += this.renderer.table(header, body);\n continue;\n }\n\n case 'blockquote':\n {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n\n case 'list':\n {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n body = '';\n\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n itemBody = '';\n\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n\n case 'html':\n {\n // TODO parse inline content if parameter markdown=1\n out += this.renderer.html(token.text);\n continue;\n }\n\n case 'paragraph':\n {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n\n case 'text':\n {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n\n while (i + 1 < l && tokens[i + 1].type === 'text') {\n token = tokens[++i];\n body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n ;\n\n _proto.parseInline = function parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n var out = '',\n i,\n token,\n ret;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i]; // Run any renderer extensions\n\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({\n parser: this\n }, token);\n\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'escape':\n {\n out += renderer.text(token.text);\n break;\n }\n\n case 'html':\n {\n out += renderer.html(token.text);\n break;\n }\n\n case 'link':\n {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'image':\n {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n\n case 'strong':\n {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'em':\n {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'codespan':\n {\n out += renderer.codespan(token.text);\n break;\n }\n\n case 'br':\n {\n out += renderer.br();\n break;\n }\n\n case 'del':\n {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'text':\n {\n out += renderer.text(token.text);\n break;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n };\n\n return Parser;\n }();\n\n /**\n * Marked\n */\n\n function marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (typeof opt === 'function') {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n if (callback) {\n var highlight = opt.highlight;\n var tokens;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n var done = function done(err) {\n var out;\n\n if (!err) {\n try {\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n\n opt.highlight = highlight;\n return err ? callback(err) : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n if (!tokens.length) return done();\n var pending = 0;\n marked.walkTokens(tokens, function (token) {\n if (token.type === 'code') {\n pending++;\n setTimeout(function () {\n highlight(token.text, token.lang, function (err, code) {\n if (err) {\n return done(err);\n }\n\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n\n pending--;\n\n if (pending === 0) {\n done();\n }\n });\n }, 0);\n }\n });\n\n if (pending === 0) {\n done();\n }\n\n return;\n }\n\n function onError(e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    ';\n }\n\n throw e;\n }\n\n try {\n var _tokens = Lexer.lex(src, opt);\n\n if (opt.walkTokens) {\n if (opt.async) {\n return Promise.all(marked.walkTokens(_tokens, opt.walkTokens)).then(function () {\n return Parser.parse(_tokens, opt);\n })[\"catch\"](onError);\n }\n\n marked.walkTokens(_tokens, opt.walkTokens);\n }\n\n return Parser.parse(_tokens, opt);\n } catch (e) {\n onError(e);\n }\n }\n /**\n * Options\n */\n\n marked.options = marked.setOptions = function (opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n };\n\n marked.getDefaults = getDefaults;\n marked.defaults = exports.defaults;\n /**\n * Use Extension\n */\n\n marked.use = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var opts = merge.apply(void 0, [{}].concat(args));\n var extensions = marked.defaults.extensions || {\n renderers: {},\n childTokens: {}\n };\n var hasExtensions;\n args.forEach(function (pack) {\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n hasExtensions = true;\n pack.extensions.forEach(function (ext) {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n\n if (ext.renderer) {\n // Renderer extensions\n var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;\n\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var ret = ext.renderer.apply(this, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n\n return ret;\n };\n } else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n\n if (ext.tokenizer) {\n // Tokenizer Extensions\n if (!ext.level || ext.level !== 'block' && ext.level !== 'inline') {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n\n if (extensions[ext.level]) {\n extensions[ext.level].unshift(ext.tokenizer);\n } else {\n extensions[ext.level] = [ext.tokenizer];\n }\n\n if (ext.start) {\n // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n } else {\n extensions.startBlock = [ext.start];\n }\n } else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n } else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n\n if (ext.childTokens) {\n // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n } // ==-- Parse \"overwrite\" extensions --== //\n\n\n if (pack.renderer) {\n (function () {\n var renderer = marked.defaults.renderer || new Renderer();\n\n var _loop = function _loop(prop) {\n var prevRenderer = renderer[prop]; // Replace renderer with func to run extension, but fall back if false\n\n renderer[prop] = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var ret = pack.renderer[prop].apply(renderer, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in pack.renderer) {\n _loop(prop);\n }\n\n opts.renderer = renderer;\n })();\n }\n\n if (pack.tokenizer) {\n (function () {\n var tokenizer = marked.defaults.tokenizer || new Tokenizer();\n\n var _loop2 = function _loop2(prop) {\n var prevTokenizer = tokenizer[prop]; // Replace tokenizer with func to run extension, but fall back if false\n\n tokenizer[prop] = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n var ret = pack.tokenizer[prop].apply(tokenizer, args);\n\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in pack.tokenizer) {\n _loop2(prop);\n }\n\n opts.tokenizer = tokenizer;\n })();\n } // ==-- Parse WalkTokens extensions --== //\n\n\n if (pack.walkTokens) {\n var _walkTokens = marked.defaults.walkTokens;\n\n opts.walkTokens = function (token) {\n var values = [];\n values.push(pack.walkTokens.call(this, token));\n\n if (_walkTokens) {\n values = values.concat(_walkTokens.call(this, token));\n }\n\n return values;\n };\n }\n\n if (hasExtensions) {\n opts.extensions = extensions;\n }\n\n marked.setOptions(opts);\n });\n };\n /**\n * Run callback for every token\n */\n\n\n marked.walkTokens = function (tokens, callback) {\n var values = [];\n\n var _loop3 = function _loop3() {\n var token = _step.value;\n values = values.concat(callback.call(marked, token));\n\n switch (token.type) {\n case 'table':\n {\n for (var _iterator2 = _createForOfIteratorHelperLoose(token.header), _step2; !(_step2 = _iterator2()).done;) {\n var cell = _step2.value;\n values = values.concat(marked.walkTokens(cell.tokens, callback));\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(token.rows), _step3; !(_step3 = _iterator3()).done;) {\n var row = _step3.value;\n\n for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {\n var _cell = _step4.value;\n values = values.concat(marked.walkTokens(_cell.tokens, callback));\n }\n }\n\n break;\n }\n\n case 'list':\n {\n values = values.concat(marked.walkTokens(token.items, callback));\n break;\n }\n\n default:\n {\n if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) {\n // Walk any extensions\n marked.defaults.extensions.childTokens[token.type].forEach(function (childTokens) {\n values = values.concat(marked.walkTokens(token[childTokens], callback));\n });\n } else if (token.tokens) {\n values = values.concat(marked.walkTokens(token.tokens, callback));\n }\n }\n }\n };\n\n for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {\n _loop3();\n }\n\n return values;\n };\n /**\n * Parse Inline\n * @param {string} src\n */\n\n\n marked.parseInline = function (src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n try {\n var tokens = Lexer.lexInline(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n return Parser.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    ';\n }\n\n throw e;\n }\n };\n /**\n * Expose\n */\n\n\n marked.Parser = Parser;\n marked.parser = Parser.parse;\n marked.Renderer = Renderer;\n marked.TextRenderer = TextRenderer;\n marked.Lexer = Lexer;\n marked.lexer = Lexer.lex;\n marked.Tokenizer = Tokenizer;\n marked.Slugger = Slugger;\n marked.parse = marked;\n var options = marked.options;\n var setOptions = marked.setOptions;\n var use = marked.use;\n var walkTokens = marked.walkTokens;\n var parseInline = marked.parseInline;\n var parse = marked;\n var parser = Parser.parse;\n var lexer = Lexer.lex;\n\n exports.Lexer = Lexer;\n exports.Parser = Parser;\n exports.Renderer = Renderer;\n exports.Slugger = Slugger;\n exports.TextRenderer = TextRenderer;\n exports.Tokenizer = Tokenizer;\n exports.getDefaults = getDefaults;\n exports.lexer = lexer;\n exports.marked = marked;\n exports.options = options;\n exports.parse = parse;\n exports.parseInline = parseInline;\n exports.parser = parser;\n exports.setOptions = setOptions;\n exports.use = use;\n exports.walkTokens = walkTokens;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n\n// ESM-uncomment-begin\n})();\nvar Lexer = (__marked_exports.Lexer || exports.Lexer);\nvar Parser = (__marked_exports.Parser || exports.Parser);\nvar Renderer = (__marked_exports.Renderer || exports.Renderer);\nvar Slugger = (__marked_exports.Slugger || exports.Slugger);\nvar TextRenderer = (__marked_exports.TextRenderer || exports.TextRenderer);\nvar Tokenizer = (__marked_exports.Tokenizer || exports.Tokenizer);\nvar getDefaults = (__marked_exports.getDefaults || exports.getDefaults);\nvar lexer = (__marked_exports.lexer || exports.lexer);\nvar marked = (__marked_exports.marked || exports.marked);\nvar options = (__marked_exports.options || exports.options);\nvar parse = (__marked_exports.parse || exports.parse);\nvar parseInline = (__marked_exports.parseInline || exports.parseInline);\nvar parser = (__marked_exports.parser || exports.parser);\nvar setOptions = (__marked_exports.setOptions || exports.setOptions);\nvar use = (__marked_exports.use || exports.use);\nvar walkTokens = (__marked_exports.walkTokens || exports.walkTokens);\n// ESM-uncomment-end\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/marked/marked.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/marshalling.js": +/*!**********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/marshalling.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 */ parse: () => (/* binding */ parse),\n/* harmony export */ revive: () => (/* binding */ revive),\n/* harmony export */ stringify: () => (/* binding */ stringify)\n/* harmony export */ });\n/* harmony import */ var _buffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./buffer.js */ \"./node_modules/monaco-editor/esm/vs/base/common/buffer.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.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\nfunction stringify(obj) {\n return JSON.stringify(obj, replacer);\n}\nfunction parse(text) {\n let data = JSON.parse(text);\n data = revive(data);\n return data;\n}\nfunction replacer(key, value) {\n // URI is done via toJSON-member\n if (value instanceof RegExp) {\n return {\n $mid: 2 /* MarshalledId.Regexp */,\n source: value.source,\n flags: (0,_strings_js__WEBPACK_IMPORTED_MODULE_1__.regExpFlags)(value),\n };\n }\n return value;\n}\nfunction revive(obj, depth = 0) {\n if (!obj || depth > 200) {\n return obj;\n }\n if (typeof obj === 'object') {\n switch (obj.$mid) {\n case 1 /* MarshalledId.Uri */: return _uri_js__WEBPACK_IMPORTED_MODULE_2__.URI.revive(obj);\n case 2 /* MarshalledId.Regexp */: return new RegExp(obj.source, obj.flags);\n case 16 /* MarshalledId.Date */: return new Date(obj.source);\n }\n if (obj instanceof _buffer_js__WEBPACK_IMPORTED_MODULE_0__.VSBuffer\n || obj instanceof Uint8Array) {\n return obj;\n }\n if (Array.isArray(obj)) {\n for (let i = 0; i < obj.length; ++i) {\n obj[i] = revive(obj[i], depth + 1);\n }\n }\n else {\n // walk object\n for (const key in obj) {\n if (Object.hasOwnProperty.call(obj, key)) {\n obj[key] = revive(obj[key], depth + 1);\n }\n }\n }\n }\n return obj;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/marshalling.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/mime.js": +/*!***************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/mime.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 */ Mimes: () => (/* binding */ Mimes)\n/* harmony export */ });\nconst Mimes = Object.freeze({\n text: 'text/plain',\n binary: 'application/octet-stream',\n unknown: 'application/unknown',\n markdown: 'text/markdown',\n latex: 'text/latex',\n uriList: 'text/uri-list',\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/mime.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/navigator.js": +/*!********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/navigator.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 */ ArrayNavigator: () => (/* binding */ ArrayNavigator)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nclass ArrayNavigator {\n constructor(items, start = 0, end = items.length, index = start - 1) {\n this.items = items;\n this.start = start;\n this.end = end;\n this.index = index;\n }\n current() {\n if (this.index === this.start - 1 || this.index === this.end) {\n return null;\n }\n return this.items[this.index];\n }\n next() {\n this.index = Math.min(this.index + 1, this.end);\n return this.current();\n }\n previous() {\n this.index = Math.max(this.index - 1, this.start - 1);\n return this.current();\n }\n first() {\n this.index = this.start;\n return this.current();\n }\n last() {\n this.index = this.end - 1;\n return this.current();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/navigator.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/network.js": +/*!******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/network.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 */ COI: () => (/* binding */ COI),\n/* harmony export */ FileAccess: () => (/* binding */ FileAccess),\n/* harmony export */ RemoteAuthorities: () => (/* binding */ RemoteAuthorities),\n/* harmony export */ Schemas: () => (/* binding */ Schemas),\n/* harmony export */ connectionTokenQueryName: () => (/* binding */ connectionTokenQueryName)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.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\nvar Schemas;\n(function (Schemas) {\n /**\n * A schema that is used for models that exist in memory\n * only and that have no correspondence on a server or such.\n */\n Schemas.inMemory = 'inmemory';\n /**\n * A schema that is used for setting files\n */\n Schemas.vscode = 'vscode';\n /**\n * A schema that is used for internal private files\n */\n Schemas.internal = 'private';\n /**\n * A walk-through document.\n */\n Schemas.walkThrough = 'walkThrough';\n /**\n * An embedded code snippet.\n */\n Schemas.walkThroughSnippet = 'walkThroughSnippet';\n Schemas.http = 'http';\n Schemas.https = 'https';\n Schemas.file = 'file';\n Schemas.mailto = 'mailto';\n Schemas.untitled = 'untitled';\n Schemas.data = 'data';\n Schemas.command = 'command';\n Schemas.vscodeRemote = 'vscode-remote';\n Schemas.vscodeRemoteResource = 'vscode-remote-resource';\n Schemas.vscodeManagedRemoteResource = 'vscode-managed-remote-resource';\n Schemas.vscodeUserData = 'vscode-userdata';\n Schemas.vscodeCustomEditor = 'vscode-custom-editor';\n Schemas.vscodeNotebookCell = 'vscode-notebook-cell';\n Schemas.vscodeNotebookCellMetadata = 'vscode-notebook-cell-metadata';\n Schemas.vscodeNotebookCellOutput = 'vscode-notebook-cell-output';\n Schemas.vscodeInteractiveInput = 'vscode-interactive-input';\n Schemas.vscodeSettings = 'vscode-settings';\n Schemas.vscodeWorkspaceTrust = 'vscode-workspace-trust';\n Schemas.vscodeTerminal = 'vscode-terminal';\n Schemas.vscodeChatSesssion = 'vscode-chat-editor';\n /**\n * Scheme used internally for webviews that aren't linked to a resource (i.e. not custom editors)\n */\n Schemas.webviewPanel = 'webview-panel';\n /**\n * Scheme used for loading the wrapper html and script in webviews.\n */\n Schemas.vscodeWebview = 'vscode-webview';\n /**\n * Scheme used for extension pages\n */\n Schemas.extension = 'extension';\n /**\n * Scheme used as a replacement of `file` scheme to load\n * files with our custom protocol handler (desktop only).\n */\n Schemas.vscodeFileResource = 'vscode-file';\n /**\n * Scheme used for temporary resources\n */\n Schemas.tmp = 'tmp';\n /**\n * Scheme used vs live share\n */\n Schemas.vsls = 'vsls';\n /**\n * Scheme used for the Source Control commit input's text document\n */\n Schemas.vscodeSourceControl = 'vscode-scm';\n})(Schemas || (Schemas = {}));\nconst connectionTokenQueryName = 'tkn';\nclass RemoteAuthoritiesImpl {\n constructor() {\n this._hosts = Object.create(null);\n this._ports = Object.create(null);\n this._connectionTokens = Object.create(null);\n this._preferredWebSchema = 'http';\n this._delegate = null;\n this._remoteResourcesPath = `/${Schemas.vscodeRemoteResource}`;\n }\n setPreferredWebSchema(schema) {\n this._preferredWebSchema = schema;\n }\n rewrite(uri) {\n if (this._delegate) {\n try {\n return this._delegate(uri);\n }\n catch (err) {\n _errors_js__WEBPACK_IMPORTED_MODULE_0__.onUnexpectedError(err);\n return uri;\n }\n }\n const authority = uri.authority;\n let host = this._hosts[authority];\n if (host && host.indexOf(':') !== -1 && host.indexOf('[') === -1) {\n host = `[${host}]`;\n }\n const port = this._ports[authority];\n const connectionToken = this._connectionTokens[authority];\n let query = `path=${encodeURIComponent(uri.path)}`;\n if (typeof connectionToken === 'string') {\n query += `&${connectionTokenQueryName}=${encodeURIComponent(connectionToken)}`;\n }\n return _uri_js__WEBPACK_IMPORTED_MODULE_2__.URI.from({\n scheme: _platform_js__WEBPACK_IMPORTED_MODULE_1__.isWeb ? this._preferredWebSchema : Schemas.vscodeRemoteResource,\n authority: `${host}:${port}`,\n path: this._remoteResourcesPath,\n query\n });\n }\n}\nconst RemoteAuthorities = new RemoteAuthoritiesImpl();\nclass FileAccessImpl {\n /**\n * Returns a URI to use in contexts where the browser is responsible\n * for loading (e.g. fetch()) or when used within the DOM.\n *\n * **Note:** use `dom.ts#asCSSUrl` whenever the URL is to be used in CSS context.\n */\n uriToBrowserUri(uri) {\n // Handle remote URIs via `RemoteAuthorities`\n if (uri.scheme === Schemas.vscodeRemote) {\n return RemoteAuthorities.rewrite(uri);\n }\n // Convert to `vscode-file` resource..\n if (\n // ...only ever for `file` resources\n uri.scheme === Schemas.file &&\n (\n // ...and we run in native environments\n _platform_js__WEBPACK_IMPORTED_MODULE_1__.isNative ||\n // ...or web worker extensions on desktop\n (_platform_js__WEBPACK_IMPORTED_MODULE_1__.isWebWorker && _platform_js__WEBPACK_IMPORTED_MODULE_1__.globals.origin === `${Schemas.vscodeFileResource}://${FileAccessImpl.FALLBACK_AUTHORITY}`))) {\n return uri.with({\n scheme: Schemas.vscodeFileResource,\n // We need to provide an authority here so that it can serve\n // as origin for network and loading matters in chromium.\n // If the URI is not coming with an authority already, we\n // add our own\n authority: uri.authority || FileAccessImpl.FALLBACK_AUTHORITY,\n query: null,\n fragment: null\n });\n }\n return uri;\n }\n}\nFileAccessImpl.FALLBACK_AUTHORITY = 'vscode-app';\nconst FileAccess = new FileAccessImpl();\nvar COI;\n(function (COI) {\n const coiHeaders = new Map([\n ['1', { 'Cross-Origin-Opener-Policy': 'same-origin' }],\n ['2', { 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n ['3', { 'Cross-Origin-Opener-Policy': 'same-origin', 'Cross-Origin-Embedder-Policy': 'require-corp' }],\n ]);\n COI.CoopAndCoep = Object.freeze(coiHeaders.get('3'));\n const coiSearchParamName = 'vscode-coi';\n /**\n * Extract desired headers from `vscode-coi` invocation\n */\n function getHeadersFromQuery(url) {\n let params;\n if (typeof url === 'string') {\n params = new URL(url).searchParams;\n }\n else if (url instanceof URL) {\n params = url.searchParams;\n }\n else if (_uri_js__WEBPACK_IMPORTED_MODULE_2__.URI.isUri(url)) {\n params = new URL(url.toString(true)).searchParams;\n }\n const value = params === null || params === void 0 ? void 0 : params.get(coiSearchParamName);\n if (!value) {\n return undefined;\n }\n return coiHeaders.get(value);\n }\n COI.getHeadersFromQuery = getHeadersFromQuery;\n /**\n * Add the `vscode-coi` query attribute based on wanting `COOP` and `COEP`. Will be a noop when `crossOriginIsolated`\n * isn't enabled the current context\n */\n function addSearchParam(urlOrSearch, coop, coep) {\n if (!globalThis.crossOriginIsolated) {\n // depends on the current context being COI\n return;\n }\n const value = coop && coep ? '3' : coep ? '2' : '1';\n if (urlOrSearch instanceof URLSearchParams) {\n urlOrSearch.set(coiSearchParamName, value);\n }\n else {\n urlOrSearch[coiSearchParamName] = value;\n }\n }\n COI.addSearchParam = addSearchParam;\n})(COI || (COI = {}));\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/network.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/numbers.js": +/*!******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/numbers.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 */ MovingAverage: () => (/* binding */ MovingAverage),\n/* harmony export */ SlidingWindowAverage: () => (/* binding */ SlidingWindowAverage),\n/* harmony export */ clamp: () => (/* binding */ clamp)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nfunction clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\nclass MovingAverage {\n constructor() {\n this._n = 1;\n this._val = 0;\n }\n update(value) {\n this._val = this._val + (value - this._val) / this._n;\n this._n += 1;\n return this._val;\n }\n get value() {\n return this._val;\n }\n}\nclass SlidingWindowAverage {\n constructor(size) {\n this._n = 0;\n this._val = 0;\n this._values = [];\n this._index = 0;\n this._sum = 0;\n this._values = new Array(size);\n this._values.fill(0, 0, size);\n }\n update(value) {\n const oldValue = this._values[this._index];\n this._values[this._index] = value;\n this._index = (this._index + 1) % this._values.length;\n this._sum -= oldValue;\n this._sum += value;\n if (this._n < this._values.length) {\n this._n += 1;\n }\n this._val = this._sum / this._n;\n return this._val;\n }\n get value() {\n return this._val;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/numbers.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/objects.js": +/*!******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/objects.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 */ cloneAndChange: () => (/* binding */ cloneAndChange),\n/* harmony export */ createProxyObject: () => (/* binding */ createProxyObject),\n/* harmony export */ deepClone: () => (/* binding */ deepClone),\n/* harmony export */ deepFreeze: () => (/* binding */ deepFreeze),\n/* harmony export */ equals: () => (/* binding */ equals),\n/* harmony export */ getAllMethodNames: () => (/* binding */ getAllMethodNames),\n/* harmony export */ getAllPropertyNames: () => (/* binding */ getAllPropertyNames),\n/* harmony export */ mixin: () => (/* binding */ mixin)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.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\nfunction deepClone(obj) {\n if (!obj || typeof obj !== 'object') {\n return obj;\n }\n if (obj instanceof RegExp) {\n return obj;\n }\n const result = Array.isArray(obj) ? [] : {};\n Object.entries(obj).forEach(([key, value]) => {\n result[key] = value && typeof value === 'object' ? deepClone(value) : value;\n });\n return result;\n}\nfunction deepFreeze(obj) {\n if (!obj || typeof obj !== 'object') {\n return obj;\n }\n const stack = [obj];\n while (stack.length > 0) {\n const obj = stack.shift();\n Object.freeze(obj);\n for (const key in obj) {\n if (_hasOwnProperty.call(obj, key)) {\n const prop = obj[key];\n if (typeof prop === 'object' && !Object.isFrozen(prop) && !(0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTypedArray)(prop)) {\n stack.push(prop);\n }\n }\n }\n }\n return obj;\n}\nconst _hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction cloneAndChange(obj, changer) {\n return _cloneAndChange(obj, changer, new Set());\n}\nfunction _cloneAndChange(obj, changer, seen) {\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isUndefinedOrNull)(obj)) {\n return obj;\n }\n const changed = changer(obj);\n if (typeof changed !== 'undefined') {\n return changed;\n }\n if (Array.isArray(obj)) {\n const r1 = [];\n for (const e of obj) {\n r1.push(_cloneAndChange(e, changer, seen));\n }\n return r1;\n }\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(obj)) {\n if (seen.has(obj)) {\n throw new Error('Cannot clone recursive data-structure');\n }\n seen.add(obj);\n const r2 = {};\n for (const i2 in obj) {\n if (_hasOwnProperty.call(obj, i2)) {\n r2[i2] = _cloneAndChange(obj[i2], changer, seen);\n }\n }\n seen.delete(obj);\n return r2;\n }\n return obj;\n}\n/**\n * Copies all properties of source into destination. The optional parameter \"overwrite\" allows to control\n * if existing properties on the destination should be overwritten or not. Defaults to true (overwrite).\n */\nfunction mixin(destination, source, overwrite = true) {\n if (!(0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(destination)) {\n return source;\n }\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(source)) {\n Object.keys(source).forEach(key => {\n if (key in destination) {\n if (overwrite) {\n if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(destination[key]) && (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(source[key])) {\n mixin(destination[key], source[key], overwrite);\n }\n else {\n destination[key] = source[key];\n }\n }\n }\n else {\n destination[key] = source[key];\n }\n });\n }\n return destination;\n}\nfunction equals(one, other) {\n if (one === other) {\n return true;\n }\n if (one === null || one === undefined || other === null || other === undefined) {\n return false;\n }\n if (typeof one !== typeof other) {\n return false;\n }\n if (typeof one !== 'object') {\n return false;\n }\n if ((Array.isArray(one)) !== (Array.isArray(other))) {\n return false;\n }\n let i;\n let key;\n if (Array.isArray(one)) {\n if (one.length !== other.length) {\n return false;\n }\n for (i = 0; i < one.length; i++) {\n if (!equals(one[i], other[i])) {\n return false;\n }\n }\n }\n else {\n const oneKeys = [];\n for (key in one) {\n oneKeys.push(key);\n }\n oneKeys.sort();\n const otherKeys = [];\n for (key in other) {\n otherKeys.push(key);\n }\n otherKeys.sort();\n if (!equals(oneKeys, otherKeys)) {\n return false;\n }\n for (i = 0; i < oneKeys.length; i++) {\n if (!equals(one[oneKeys[i]], other[oneKeys[i]])) {\n return false;\n }\n }\n }\n return true;\n}\nfunction getAllPropertyNames(obj) {\n let res = [];\n let proto = Object.getPrototypeOf(obj);\n while (Object.prototype !== proto) {\n res = res.concat(Object.getOwnPropertyNames(proto));\n proto = Object.getPrototypeOf(proto);\n }\n return res;\n}\nfunction getAllMethodNames(obj) {\n const methods = [];\n for (const prop of getAllPropertyNames(obj)) {\n if (typeof obj[prop] === 'function') {\n methods.push(prop);\n }\n }\n return methods;\n}\nfunction createProxyObject(methodNames, invoke) {\n const createProxyMethod = (method) => {\n return function () {\n const args = Array.prototype.slice.call(arguments, 0);\n return invoke(method, args);\n };\n };\n const result = {};\n for (const methodName of methodNames) {\n result[methodName] = createProxyMethod(methodName);\n }\n return result;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/objects.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/observable.js": +/*!*********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/observable.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 */ FromEventObservable: () => (/* reexport safe */ _observableImpl_utils_js__WEBPACK_IMPORTED_MODULE_3__.FromEventObservable),\n/* harmony export */ autorun: () => (/* reexport safe */ _observableImpl_autorun_js__WEBPACK_IMPORTED_MODULE_2__.autorun),\n/* harmony export */ autorunHandleChanges: () => (/* reexport safe */ _observableImpl_autorun_js__WEBPACK_IMPORTED_MODULE_2__.autorunHandleChanges),\n/* harmony export */ autorunWithStore: () => (/* reexport safe */ _observableImpl_autorun_js__WEBPACK_IMPORTED_MODULE_2__.autorunWithStore),\n/* harmony export */ constObservable: () => (/* reexport safe */ _observableImpl_utils_js__WEBPACK_IMPORTED_MODULE_3__.constObservable),\n/* harmony export */ derived: () => (/* reexport safe */ _observableImpl_derived_js__WEBPACK_IMPORTED_MODULE_1__.derived),\n/* harmony export */ keepAlive: () => (/* reexport safe */ _observableImpl_utils_js__WEBPACK_IMPORTED_MODULE_3__.keepAlive),\n/* harmony export */ observableFromEvent: () => (/* reexport safe */ _observableImpl_utils_js__WEBPACK_IMPORTED_MODULE_3__.observableFromEvent),\n/* harmony export */ observableSignal: () => (/* reexport safe */ _observableImpl_utils_js__WEBPACK_IMPORTED_MODULE_3__.observableSignal),\n/* harmony export */ observableSignalFromEvent: () => (/* reexport safe */ _observableImpl_utils_js__WEBPACK_IMPORTED_MODULE_3__.observableSignalFromEvent),\n/* harmony export */ observableValue: () => (/* reexport safe */ _observableImpl_base_js__WEBPACK_IMPORTED_MODULE_0__.observableValue),\n/* harmony export */ transaction: () => (/* reexport safe */ _observableImpl_base_js__WEBPACK_IMPORTED_MODULE_0__.transaction),\n/* harmony export */ waitForState: () => (/* reexport safe */ _observableImpl_utils_js__WEBPACK_IMPORTED_MODULE_3__.waitForState)\n/* harmony export */ });\n/* harmony import */ var _observableImpl_base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./observableImpl/base.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/base.js\");\n/* harmony import */ var _observableImpl_derived_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./observableImpl/derived.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/derived.js\");\n/* harmony import */ var _observableImpl_autorun_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./observableImpl/autorun.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/autorun.js\");\n/* harmony import */ var _observableImpl_utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./observableImpl/utils.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/utils.js\");\n/* harmony import */ var _observableImpl_logging_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./observableImpl/logging.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/logging.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\nconst enableLogging = false;\nif (enableLogging) {\n (0,_observableImpl_logging_js__WEBPACK_IMPORTED_MODULE_4__.setLogger)(new _observableImpl_logging_js__WEBPACK_IMPORTED_MODULE_4__.ConsoleObservableLogger());\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/observable.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/observableImpl/autorun.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/observableImpl/autorun.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 */ AutorunObserver: () => (/* binding */ AutorunObserver),\n/* harmony export */ autorun: () => (/* binding */ autorun),\n/* harmony export */ autorunHandleChanges: () => (/* binding */ autorunHandleChanges),\n/* harmony export */ autorunWithStore: () => (/* binding */ autorunWithStore),\n/* harmony export */ autorunWithStore2: () => (/* binding */ autorunWithStore2)\n/* harmony export */ });\n/* harmony import */ var _assert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../assert.js */ \"./node_modules/monaco-editor/esm/vs/base/common/assert.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./logging.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/logging.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\nfunction autorun(debugName, fn) {\n return new AutorunObserver(debugName, fn, undefined, undefined);\n}\nfunction autorunHandleChanges(debugName, options, fn) {\n return new AutorunObserver(debugName, fn, options.createEmptyChangeSummary, options.handleChange);\n}\n// TODO@hediet rename to autorunWithStore\nfunction autorunWithStore2(debugName, fn) {\n return autorunWithStore(fn, debugName);\n}\n// TODO@hediet deprecate, rename to autorunWithStoreEx\nfunction autorunWithStore(fn, debugName) {\n const store = new _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\n const disposable = autorun(debugName, reader => {\n store.clear();\n fn(reader, store);\n });\n return (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => {\n disposable.dispose();\n store.dispose();\n });\n}\nclass AutorunObserver {\n constructor(debugName, runFn, createChangeSummary, _handleChange) {\n var _a, _b;\n this.debugName = debugName;\n this.runFn = runFn;\n this.createChangeSummary = createChangeSummary;\n this._handleChange = _handleChange;\n this.state = 2 /* AutorunState.stale */;\n this.updateCount = 0;\n this.disposed = false;\n this.dependencies = new Set();\n this.dependenciesToBeRemoved = new Set();\n this.changeSummary = (_a = this.createChangeSummary) === null || _a === void 0 ? void 0 : _a.call(this);\n (_b = (0,_logging_js__WEBPACK_IMPORTED_MODULE_2__.getLogger)()) === null || _b === void 0 ? void 0 : _b.handleAutorunCreated(this);\n this._runIfNeeded();\n }\n dispose() {\n this.disposed = true;\n for (const o of this.dependencies) {\n o.removeObserver(this);\n }\n this.dependencies.clear();\n }\n _runIfNeeded() {\n var _a, _b;\n if (this.state === 3 /* AutorunState.upToDate */) {\n return;\n }\n const emptySet = this.dependenciesToBeRemoved;\n this.dependenciesToBeRemoved = this.dependencies;\n this.dependencies = emptySet;\n this.state = 3 /* AutorunState.upToDate */;\n (_a = (0,_logging_js__WEBPACK_IMPORTED_MODULE_2__.getLogger)()) === null || _a === void 0 ? void 0 : _a.handleAutorunTriggered(this);\n try {\n const changeSummary = this.changeSummary;\n this.changeSummary = (_b = this.createChangeSummary) === null || _b === void 0 ? void 0 : _b.call(this);\n this.runFn(this, changeSummary);\n }\n finally {\n // We don't want our observed observables to think that they are (not even temporarily) not being observed.\n // Thus, we only unsubscribe from observables that are definitely not read anymore.\n for (const o of this.dependenciesToBeRemoved) {\n o.removeObserver(this);\n }\n this.dependenciesToBeRemoved.clear();\n }\n }\n toString() {\n return `Autorun<${this.debugName}>`;\n }\n // IObserver implementation\n beginUpdate() {\n if (this.state === 3 /* AutorunState.upToDate */) {\n this.state = 1 /* AutorunState.dependenciesMightHaveChanged */;\n }\n this.updateCount++;\n }\n endUpdate() {\n if (this.updateCount === 1) {\n do {\n if (this.state === 1 /* AutorunState.dependenciesMightHaveChanged */) {\n this.state = 3 /* AutorunState.upToDate */;\n for (const d of this.dependencies) {\n d.reportChanges();\n if (this.state === 2 /* AutorunState.stale */) {\n // The other dependencies will refresh on demand\n break;\n }\n }\n }\n this._runIfNeeded();\n } while (this.state !== 3 /* AutorunState.upToDate */);\n }\n this.updateCount--;\n (0,_assert_js__WEBPACK_IMPORTED_MODULE_0__.assertFn)(() => this.updateCount >= 0);\n }\n handlePossibleChange(observable) {\n if (this.state === 3 /* AutorunState.upToDate */ && this.dependencies.has(observable) && !this.dependenciesToBeRemoved.has(observable)) {\n this.state = 1 /* AutorunState.dependenciesMightHaveChanged */;\n }\n }\n handleChange(observable, change) {\n if (this.dependencies.has(observable) && !this.dependenciesToBeRemoved.has(observable)) {\n const shouldReact = this._handleChange ? this._handleChange({\n changedObservable: observable,\n change,\n didChange: o => o === observable,\n }, this.changeSummary) : true;\n if (shouldReact) {\n this.state = 2 /* AutorunState.stale */;\n }\n }\n }\n // IReader implementation\n readObservable(observable) {\n // In case the run action disposes the autorun\n if (this.disposed) {\n return observable.get();\n }\n observable.addObserver(this);\n const value = observable.get();\n this.dependencies.add(observable);\n this.dependenciesToBeRemoved.delete(observable);\n return value;\n }\n}\n(function (autorun) {\n autorun.Observer = AutorunObserver;\n})(autorun || (autorun = {}));\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/observableImpl/autorun.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/observableImpl/base.js": +/*!******************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/observableImpl/base.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 */ BaseObservable: () => (/* binding */ BaseObservable),\n/* harmony export */ ConvenientObservable: () => (/* binding */ ConvenientObservable),\n/* harmony export */ DisposableObservableValue: () => (/* binding */ DisposableObservableValue),\n/* harmony export */ ObservableValue: () => (/* binding */ ObservableValue),\n/* harmony export */ TransactionImpl: () => (/* binding */ TransactionImpl),\n/* harmony export */ _setDerived: () => (/* binding */ _setDerived),\n/* harmony export */ disposableObservableValue: () => (/* binding */ disposableObservableValue),\n/* harmony export */ getFunctionName: () => (/* binding */ getFunctionName),\n/* harmony export */ observableValue: () => (/* binding */ observableValue),\n/* harmony export */ subtransaction: () => (/* binding */ subtransaction),\n/* harmony export */ transaction: () => (/* binding */ transaction)\n/* harmony export */ });\n/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logging.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/logging.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\nlet _derived;\n/**\n * @internal\n * This is to allow splitting files.\n*/\nfunction _setDerived(derived) {\n _derived = derived;\n}\nclass ConvenientObservable {\n get TChange() { return null; }\n reportChanges() {\n this.get();\n }\n /** @sealed */\n read(reader) {\n if (reader) {\n return reader.readObservable(this);\n }\n else {\n return this.get();\n }\n }\n /** @sealed */\n map(fn) {\n return _derived(() => {\n const name = getFunctionName(fn);\n return name !== undefined ? name : `${this.debugName} (mapped)`;\n }, (reader) => fn(this.read(reader), reader));\n }\n}\nclass BaseObservable extends ConvenientObservable {\n constructor() {\n super(...arguments);\n this.observers = new Set();\n }\n addObserver(observer) {\n const len = this.observers.size;\n this.observers.add(observer);\n if (len === 0) {\n this.onFirstObserverAdded();\n }\n }\n removeObserver(observer) {\n const deleted = this.observers.delete(observer);\n if (deleted && this.observers.size === 0) {\n this.onLastObserverRemoved();\n }\n }\n onFirstObserverAdded() { }\n onLastObserverRemoved() { }\n}\nfunction transaction(fn, getDebugName) {\n var _a, _b;\n const tx = new TransactionImpl(fn, getDebugName);\n try {\n (_a = (0,_logging_js__WEBPACK_IMPORTED_MODULE_0__.getLogger)()) === null || _a === void 0 ? void 0 : _a.handleBeginTransaction(tx);\n fn(tx);\n }\n finally {\n tx.finish();\n (_b = (0,_logging_js__WEBPACK_IMPORTED_MODULE_0__.getLogger)()) === null || _b === void 0 ? void 0 : _b.handleEndTransaction();\n }\n}\nfunction subtransaction(tx, fn, getDebugName) {\n if (!tx) {\n transaction(fn, getDebugName);\n }\n else {\n fn(tx);\n }\n}\nclass TransactionImpl {\n constructor(fn, _getDebugName) {\n this.fn = fn;\n this._getDebugName = _getDebugName;\n this.updatingObservers = [];\n }\n getDebugName() {\n if (this._getDebugName) {\n return this._getDebugName();\n }\n return getFunctionName(this.fn);\n }\n updateObserver(observer, observable) {\n this.updatingObservers.push({ observer, observable });\n observer.beginUpdate(observable);\n }\n finish() {\n const updatingObservers = this.updatingObservers;\n // Prevent anyone from updating observers from now on.\n this.updatingObservers = null;\n for (const { observer, observable } of updatingObservers) {\n observer.endUpdate(observable);\n }\n }\n}\nfunction getFunctionName(fn) {\n const fnSrc = fn.toString();\n // Pattern: /** @description ... */\n const regexp = /\\/\\*\\*\\s*@description\\s*([^*]*)\\*\\//;\n const match = regexp.exec(fnSrc);\n const result = match ? match[1] : undefined;\n return result === null || result === void 0 ? void 0 : result.trim();\n}\n/**\n * Creates an observable value.\n * Observers get informed when the value changes.\n */\nfunction observableValue(name, initialValue) {\n return new ObservableValue(name, initialValue);\n}\nclass ObservableValue extends BaseObservable {\n constructor(debugName, initialValue) {\n super();\n this.debugName = debugName;\n this._value = initialValue;\n }\n get() {\n return this._value;\n }\n set(value, tx, change) {\n var _a;\n if (this._value === value) {\n return;\n }\n let _tx;\n if (!tx) {\n tx = _tx = new TransactionImpl(() => { }, () => `Setting ${this.debugName}`);\n }\n try {\n const oldValue = this._value;\n this._setValue(value);\n (_a = (0,_logging_js__WEBPACK_IMPORTED_MODULE_0__.getLogger)()) === null || _a === void 0 ? void 0 : _a.handleObservableChanged(this, { oldValue, newValue: value, change, didChange: true });\n for (const observer of this.observers) {\n tx.updateObserver(observer, this);\n observer.handleChange(this, change);\n }\n }\n finally {\n if (_tx) {\n _tx.finish();\n }\n }\n }\n toString() {\n return `${this.debugName}: ${this._value}`;\n }\n _setValue(newValue) {\n this._value = newValue;\n }\n}\nfunction disposableObservableValue(name, initialValue) {\n return new DisposableObservableValue(name, initialValue);\n}\nclass DisposableObservableValue extends ObservableValue {\n _setValue(newValue) {\n if (this._value === newValue) {\n return;\n }\n if (this._value) {\n this._value.dispose();\n }\n this._value = newValue;\n }\n dispose() {\n var _a;\n (_a = this._value) === null || _a === void 0 ? void 0 : _a.dispose();\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/observableImpl/base.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/observableImpl/derived.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/observableImpl/derived.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 */ Derived: () => (/* binding */ Derived),\n/* harmony export */ derived: () => (/* binding */ derived),\n/* harmony export */ derivedHandleChanges: () => (/* binding */ derivedHandleChanges),\n/* harmony export */ derivedWithStore: () => (/* binding */ derivedWithStore)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/base.js\");\n/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logging.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/logging.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\nfunction derived(debugName, computeFn) {\n return new Derived(debugName, computeFn, undefined, undefined, undefined);\n}\nfunction derivedHandleChanges(debugName, options, computeFn) {\n return new Derived(debugName, computeFn, options.createEmptyChangeSummary, options.handleChange, undefined);\n}\nfunction derivedWithStore(name, computeFn) {\n const store = new _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.DisposableStore();\n return new Derived(name, r => {\n store.clear();\n return computeFn(r, store);\n }, undefined, undefined, () => store.dispose());\n}\n(0,_base_js__WEBPACK_IMPORTED_MODULE_2__._setDerived)(derived);\nclass Derived extends _base_js__WEBPACK_IMPORTED_MODULE_2__.BaseObservable {\n get debugName() {\n return typeof this._debugName === 'function' ? this._debugName() : this._debugName;\n }\n constructor(_debugName, computeFn, createChangeSummary, _handleChange, _handleLastObserverRemoved = undefined) {\n var _a, _b;\n super();\n this._debugName = _debugName;\n this.computeFn = computeFn;\n this.createChangeSummary = createChangeSummary;\n this._handleChange = _handleChange;\n this._handleLastObserverRemoved = _handleLastObserverRemoved;\n this.state = 0 /* DerivedState.initial */;\n this.value = undefined;\n this.updateCount = 0;\n this.dependencies = new Set();\n this.dependenciesToBeRemoved = new Set();\n this.changeSummary = undefined;\n this.changeSummary = (_a = this.createChangeSummary) === null || _a === void 0 ? void 0 : _a.call(this);\n (_b = (0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()) === null || _b === void 0 ? void 0 : _b.handleDerivedCreated(this);\n }\n onLastObserverRemoved() {\n var _a;\n /**\n * We are not tracking changes anymore, thus we have to assume\n * that our cache is invalid.\n */\n this.state = 0 /* DerivedState.initial */;\n this.value = undefined;\n for (const d of this.dependencies) {\n d.removeObserver(this);\n }\n this.dependencies.clear();\n (_a = this._handleLastObserverRemoved) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n get() {\n var _a;\n if (this.observers.size === 0) {\n // Without observers, we don't know when to clean up stuff.\n // Thus, we don't cache anything to prevent memory leaks.\n const result = this.computeFn(this, (_a = this.createChangeSummary) === null || _a === void 0 ? void 0 : _a.call(this));\n // Clear new dependencies\n this.onLastObserverRemoved();\n return result;\n }\n else {\n do {\n if (this.state === 1 /* DerivedState.dependenciesMightHaveChanged */) {\n // We might not get a notification for a dependency that changed while it is updating,\n // thus we also have to ask all our depedencies if they changed in this case.\n this.state = 3 /* DerivedState.upToDate */;\n for (const d of this.dependencies) {\n /** might call {@link handleChange} indirectly, which could invalidate us */\n d.reportChanges();\n if (this.state === 2 /* DerivedState.stale */) {\n // The other dependencies will refresh on demand, so early break\n break;\n }\n }\n }\n this._recomputeIfNeeded();\n // In case recomputation changed one of our dependencies, we need to recompute again.\n } while (this.state !== 3 /* DerivedState.upToDate */);\n return this.value;\n }\n }\n _recomputeIfNeeded() {\n var _a, _b;\n if (this.state === 3 /* DerivedState.upToDate */) {\n return;\n }\n const emptySet = this.dependenciesToBeRemoved;\n this.dependenciesToBeRemoved = this.dependencies;\n this.dependencies = emptySet;\n const hadValue = this.state !== 0 /* DerivedState.initial */;\n const oldValue = this.value;\n this.state = 3 /* DerivedState.upToDate */;\n const changeSummary = this.changeSummary;\n this.changeSummary = (_a = this.createChangeSummary) === null || _a === void 0 ? void 0 : _a.call(this);\n try {\n /** might call {@link handleChange} indirectly, which could invalidate us */\n this.value = this.computeFn(this, changeSummary);\n }\n finally {\n // We don't want our observed observables to think that they are (not even temporarily) not being observed.\n // Thus, we only unsubscribe from observables that are definitely not read anymore.\n for (const o of this.dependenciesToBeRemoved) {\n o.removeObserver(this);\n }\n this.dependenciesToBeRemoved.clear();\n }\n const didChange = hadValue && oldValue !== this.value;\n (_b = (0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()) === null || _b === void 0 ? void 0 : _b.handleDerivedRecomputed(this, {\n oldValue,\n newValue: this.value,\n change: undefined,\n didChange\n });\n if (didChange) {\n for (const r of this.observers) {\n r.handleChange(this, undefined);\n }\n }\n }\n toString() {\n return `LazyDerived<${this.debugName}>`;\n }\n // IObserver Implementation\n beginUpdate(_observable) {\n this.updateCount++;\n const propagateBeginUpdate = this.updateCount === 1;\n if (this.state === 3 /* DerivedState.upToDate */) {\n this.state = 1 /* DerivedState.dependenciesMightHaveChanged */;\n // If we propagate begin update, that will already signal a possible change.\n if (!propagateBeginUpdate) {\n for (const r of this.observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n if (propagateBeginUpdate) {\n for (const r of this.observers) {\n r.beginUpdate(this); // This signals a possible change\n }\n }\n }\n endUpdate(_observable) {\n this.updateCount--;\n if (this.updateCount === 0) {\n // End update could change the observer list.\n const observers = [...this.observers];\n for (const r of observers) {\n r.endUpdate(this);\n }\n }\n if (this.updateCount < 0) {\n throw new _errors_js__WEBPACK_IMPORTED_MODULE_0__.BugIndicatingError();\n }\n }\n handlePossibleChange(observable) {\n // In all other states, observers already know that we might have changed.\n if (this.state === 3 /* DerivedState.upToDate */ && this.dependencies.has(observable) && !this.dependenciesToBeRemoved.has(observable)) {\n this.state = 1 /* DerivedState.dependenciesMightHaveChanged */;\n for (const r of this.observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n handleChange(observable, change) {\n if (this.dependencies.has(observable) && !this.dependenciesToBeRemoved.has(observable)) {\n const shouldReact = this._handleChange ? this._handleChange({\n changedObservable: observable,\n change,\n didChange: o => o === observable,\n }, this.changeSummary) : true;\n const wasUpToDate = this.state === 3 /* DerivedState.upToDate */;\n if (shouldReact && (this.state === 1 /* DerivedState.dependenciesMightHaveChanged */ || wasUpToDate)) {\n this.state = 2 /* DerivedState.stale */;\n if (wasUpToDate) {\n for (const r of this.observers) {\n r.handlePossibleChange(this);\n }\n }\n }\n }\n }\n // IReader Implementation\n readObservable(observable) {\n // Subscribe before getting the value to enable caching\n observable.addObserver(this);\n /** This might call {@link handleChange} indirectly, which could invalidate us */\n const value = observable.get();\n // Which is why we only add the observable to the dependencies now.\n this.dependencies.add(observable);\n this.dependenciesToBeRemoved.delete(observable);\n return value;\n }\n addObserver(observer) {\n const shouldCallBeginUpdate = !this.observers.has(observer) && this.updateCount > 0;\n super.addObserver(observer);\n if (shouldCallBeginUpdate) {\n observer.beginUpdate(this);\n }\n }\n removeObserver(observer) {\n const shouldCallEndUpdate = this.observers.has(observer) && this.updateCount > 0;\n super.removeObserver(observer);\n if (shouldCallEndUpdate) {\n // Calling end update after removing the observer makes sure endUpdate cannot be called twice here.\n observer.endUpdate(this);\n }\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/observableImpl/derived.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/observableImpl/logging.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/observableImpl/logging.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 */ ConsoleObservableLogger: () => (/* binding */ ConsoleObservableLogger),\n/* harmony export */ getLogger: () => (/* binding */ getLogger),\n/* harmony export */ setLogger: () => (/* binding */ setLogger)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nlet globalObservableLogger;\nfunction setLogger(logger) {\n globalObservableLogger = logger;\n}\nfunction getLogger() {\n return globalObservableLogger;\n}\nclass ConsoleObservableLogger {\n constructor() {\n this.indentation = 0;\n this.changedObservablesSets = new WeakMap();\n }\n textToConsoleArgs(text) {\n return consoleTextToArgs([\n normalText(repeat('| ', this.indentation)),\n text,\n ]);\n }\n formatInfo(info) {\n return info.didChange\n ? [\n normalText(` `),\n styled(formatValue(info.oldValue, 70), {\n color: 'red',\n strikeThrough: true,\n }),\n normalText(` `),\n styled(formatValue(info.newValue, 60), {\n color: 'green',\n }),\n ]\n : [normalText(` (unchanged)`)];\n }\n handleObservableChanged(observable, info) {\n console.log(...this.textToConsoleArgs([\n formatKind('observable value changed'),\n styled(observable.debugName, { color: 'BlueViolet' }),\n ...this.formatInfo(info),\n ]));\n }\n formatChanges(changes) {\n if (changes.size === 0) {\n return undefined;\n }\n return styled(' (changed deps: ' +\n [...changes].map((o) => o.debugName).join(', ') +\n ')', { color: 'gray' });\n }\n handleDerivedCreated(derived) {\n const existingHandleChange = derived.handleChange;\n this.changedObservablesSets.set(derived, new Set());\n derived.handleChange = (observable, change) => {\n this.changedObservablesSets.get(derived).add(observable);\n return existingHandleChange.apply(derived, [observable, change]);\n };\n }\n handleDerivedRecomputed(derived, info) {\n const changedObservables = this.changedObservablesSets.get(derived);\n console.log(...this.textToConsoleArgs([\n formatKind('derived recomputed'),\n styled(derived.debugName, { color: 'BlueViolet' }),\n ...this.formatInfo(info),\n this.formatChanges(changedObservables)\n ]));\n changedObservables.clear();\n }\n handleFromEventObservableTriggered(observable, info) {\n console.log(...this.textToConsoleArgs([\n formatKind('observable from event triggered'),\n styled(observable.debugName, { color: 'BlueViolet' }),\n ...this.formatInfo(info),\n ]));\n }\n handleAutorunCreated(autorun) {\n const existingHandleChange = autorun.handleChange;\n this.changedObservablesSets.set(autorun, new Set());\n autorun.handleChange = (observable, change) => {\n this.changedObservablesSets.get(autorun).add(observable);\n return existingHandleChange.apply(autorun, [observable, change]);\n };\n }\n handleAutorunTriggered(autorun) {\n const changedObservables = this.changedObservablesSets.get(autorun);\n console.log(...this.textToConsoleArgs([\n formatKind('autorun'),\n styled(autorun.debugName, { color: 'BlueViolet' }),\n this.formatChanges(changedObservables)\n ]));\n changedObservables.clear();\n }\n handleBeginTransaction(transaction) {\n let transactionName = transaction.getDebugName();\n if (transactionName === undefined) {\n transactionName = '';\n }\n console.log(...this.textToConsoleArgs([\n formatKind('transaction'),\n styled(transactionName, { color: 'BlueViolet' }),\n ]));\n this.indentation++;\n }\n handleEndTransaction() {\n this.indentation--;\n }\n}\nfunction consoleTextToArgs(text) {\n const styles = new Array();\n const initial = {};\n const data = initial;\n let firstArg = '';\n function process(t) {\n if ('length' in t) {\n for (const item of t) {\n if (item) {\n process(item);\n }\n }\n }\n else if ('text' in t) {\n firstArg += `%c${t.text}`;\n styles.push(t.style);\n if (t.data) {\n Object.assign(data, t.data);\n }\n }\n else if ('data' in t) {\n Object.assign(data, t.data);\n }\n }\n process(text);\n const result = [firstArg, ...styles];\n if (Object.keys(data).length > 0) {\n result.push(data);\n }\n return result;\n}\nfunction normalText(text) {\n return styled(text, { color: 'black' });\n}\nfunction formatKind(kind) {\n return styled(padStr(`${kind}: `, 10), { color: 'black', bold: true });\n}\nfunction styled(text, options = {\n color: 'black',\n}) {\n function objToCss(styleObj) {\n return Object.entries(styleObj).reduce((styleString, [propName, propValue]) => {\n return `${styleString}${propName}:${propValue};`;\n }, '');\n }\n const style = {\n color: options.color,\n };\n if (options.strikeThrough) {\n style['text-decoration'] = 'line-through';\n }\n if (options.bold) {\n style['font-weight'] = 'bold';\n }\n return {\n text,\n style: objToCss(style),\n };\n}\nfunction formatValue(value, availableLen) {\n switch (typeof value) {\n case 'number':\n return '' + value;\n case 'string':\n if (value.length + 2 <= availableLen) {\n return `\"${value}\"`;\n }\n return `\"${value.substr(0, availableLen - 7)}\"+...`;\n case 'boolean':\n return value ? 'true' : 'false';\n case 'undefined':\n return 'undefined';\n case 'object':\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return formatArray(value, availableLen);\n }\n return formatObject(value, availableLen);\n case 'symbol':\n return value.toString();\n case 'function':\n return `[[Function${value.name ? ' ' + value.name : ''}]]`;\n default:\n return '' + value;\n }\n}\nfunction formatArray(value, availableLen) {\n let result = '[ ';\n let first = true;\n for (const val of value) {\n if (!first) {\n result += ', ';\n }\n if (result.length - 5 > availableLen) {\n result += '...';\n break;\n }\n first = false;\n result += `${formatValue(val, availableLen - result.length)}`;\n }\n result += ' ]';\n return result;\n}\nfunction formatObject(value, availableLen) {\n let result = '{ ';\n let first = true;\n for (const [key, val] of Object.entries(value)) {\n if (!first) {\n result += ', ';\n }\n if (result.length - 5 > availableLen) {\n result += '...';\n break;\n }\n first = false;\n result += `${key}: ${formatValue(val, availableLen - result.length)}`;\n }\n result += ' }';\n return result;\n}\nfunction repeat(str, count) {\n let result = '';\n for (let i = 1; i <= count; i++) {\n result += str;\n }\n return result;\n}\nfunction padStr(str, length) {\n while (str.length < length) {\n str += ' ';\n }\n return str;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/observableImpl/logging.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/observableImpl/utils.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/observableImpl/utils.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 */ FromEventObservable: () => (/* binding */ FromEventObservable),\n/* harmony export */ constObservable: () => (/* binding */ constObservable),\n/* harmony export */ keepAlive: () => (/* binding */ keepAlive),\n/* harmony export */ observableFromEvent: () => (/* binding */ observableFromEvent),\n/* harmony export */ observableSignal: () => (/* binding */ observableSignal),\n/* harmony export */ observableSignalFromEvent: () => (/* binding */ observableSignalFromEvent),\n/* harmony export */ waitForState: () => (/* binding */ waitForState)\n/* harmony export */ });\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _autorun_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./autorun.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/autorun.js\");\n/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/base.js\");\n/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./logging.js */ \"./node_modules/monaco-editor/esm/vs/base/common/observableImpl/logging.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\nfunction constObservable(value) {\n return new ConstObservable(value);\n}\nclass ConstObservable extends _base_js__WEBPACK_IMPORTED_MODULE_2__.ConvenientObservable {\n constructor(value) {\n super();\n this.value = value;\n }\n get debugName() {\n return this.toString();\n }\n get() {\n return this.value;\n }\n addObserver(observer) {\n // NO OP\n }\n removeObserver(observer) {\n // NO OP\n }\n toString() {\n return `Const: ${this.value}`;\n }\n}\nfunction waitForState(observable, predicate) {\n return new Promise(resolve => {\n let didRun = false;\n let shouldDispose = false;\n const d = (0,_autorun_js__WEBPACK_IMPORTED_MODULE_1__.autorun)('waitForState', reader => {\n const currentState = observable.read(reader);\n if (predicate(currentState)) {\n if (!didRun) {\n shouldDispose = true;\n }\n else {\n d.dispose();\n }\n resolve(currentState);\n }\n });\n didRun = true;\n if (shouldDispose) {\n d.dispose();\n }\n });\n}\nfunction observableFromEvent(event, getValue) {\n return new FromEventObservable(event, getValue);\n}\nclass FromEventObservable extends _base_js__WEBPACK_IMPORTED_MODULE_2__.BaseObservable {\n constructor(event, getValue) {\n super();\n this.event = event;\n this.getValue = getValue;\n this.hasValue = false;\n this.handleEvent = (args) => {\n var _a;\n const newValue = this.getValue(args);\n const didChange = !this.hasValue || this.value !== newValue;\n (_a = (0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()) === null || _a === void 0 ? void 0 : _a.handleFromEventObservableTriggered(this, { oldValue: this.value, newValue, change: undefined, didChange });\n if (didChange) {\n this.value = newValue;\n if (this.hasValue) {\n (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.transaction)((tx) => {\n for (const o of this.observers) {\n tx.updateObserver(o, this);\n o.handleChange(this, undefined);\n }\n }, () => {\n const name = this.getDebugName();\n return 'Event fired' + (name ? `: ${name}` : '');\n });\n }\n this.hasValue = true;\n }\n };\n }\n getDebugName() {\n return (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.getFunctionName)(this.getValue);\n }\n get debugName() {\n const name = this.getDebugName();\n return 'From Event' + (name ? `: ${name}` : '');\n }\n onFirstObserverAdded() {\n this.subscription = this.event(this.handleEvent);\n }\n onLastObserverRemoved() {\n this.subscription.dispose();\n this.subscription = undefined;\n this.hasValue = false;\n this.value = undefined;\n }\n get() {\n if (this.subscription) {\n if (!this.hasValue) {\n this.handleEvent(undefined);\n }\n return this.value;\n }\n else {\n // no cache, as there are no subscribers to keep it updated\n return this.getValue(undefined);\n }\n }\n}\n(function (observableFromEvent) {\n observableFromEvent.Observer = FromEventObservable;\n})(observableFromEvent || (observableFromEvent = {}));\nfunction observableSignalFromEvent(debugName, event) {\n return new FromEventObservableSignal(debugName, event);\n}\nclass FromEventObservableSignal extends _base_js__WEBPACK_IMPORTED_MODULE_2__.BaseObservable {\n constructor(debugName, event) {\n super();\n this.debugName = debugName;\n this.event = event;\n this.handleEvent = () => {\n (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.transaction)((tx) => {\n for (const o of this.observers) {\n tx.updateObserver(o, this);\n o.handleChange(this, undefined);\n }\n }, () => this.debugName);\n };\n }\n onFirstObserverAdded() {\n this.subscription = this.event(this.handleEvent);\n }\n onLastObserverRemoved() {\n this.subscription.dispose();\n this.subscription = undefined;\n }\n get() {\n // NO OP\n }\n}\n/**\n * Creates a signal that can be triggered to invalidate observers.\n */\nfunction observableSignal(debugName) {\n return new ObservableSignal(debugName);\n}\nclass ObservableSignal extends _base_js__WEBPACK_IMPORTED_MODULE_2__.BaseObservable {\n constructor(debugName) {\n super();\n this.debugName = debugName;\n }\n trigger(tx, change) {\n if (!tx) {\n (0,_base_js__WEBPACK_IMPORTED_MODULE_2__.transaction)(tx => {\n this.trigger(tx, change);\n }, () => `Trigger signal ${this.debugName}`);\n return;\n }\n for (const o of this.observers) {\n tx.updateObserver(o, this);\n o.handleChange(this, change);\n }\n }\n get() {\n // NO OP\n }\n}\n/**\n * This ensures the observable is being observed.\n * Observed observables (such as {@link derived}s) can maintain a cache, as they receive invalidation events.\n * Unobserved observables are forced to recompute their value from scratch every time they are read.\n *\n * @param observable the observable to keep alive\n * @param forceRecompute if true, the observable will be eagerly recomputed after it changed.\n * Use this if recomputing the observables causes side-effects.\n*/\nfunction keepAlive(observable, forceRecompute) {\n const o = new KeepAliveObserver(forceRecompute !== null && forceRecompute !== void 0 ? forceRecompute : false);\n observable.addObserver(o);\n if (forceRecompute) {\n observable.reportChanges();\n }\n return (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_0__.toDisposable)(() => {\n observable.removeObserver(o);\n });\n}\nclass KeepAliveObserver {\n constructor(forceRecompute) {\n this.forceRecompute = forceRecompute;\n this.counter = 0;\n }\n beginUpdate(observable) {\n this.counter++;\n }\n endUpdate(observable) {\n this.counter--;\n if (this.counter === 0 && this.forceRecompute) {\n observable.reportChanges();\n }\n }\n handlePossibleChange(observable) {\n // NO OP\n }\n handleChange(observable, change) {\n // NO OP\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/observableImpl/utils.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/path.js": +/*!***************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/path.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 */ basename: () => (/* binding */ basename),\n/* harmony export */ dirname: () => (/* binding */ dirname),\n/* harmony export */ extname: () => (/* binding */ extname),\n/* harmony export */ normalize: () => (/* binding */ normalize),\n/* harmony export */ posix: () => (/* binding */ posix),\n/* harmony export */ relative: () => (/* binding */ relative),\n/* harmony export */ resolve: () => (/* binding */ resolve),\n/* harmony export */ sep: () => (/* binding */ sep),\n/* harmony export */ win32: () => (/* binding */ win32)\n/* harmony export */ });\n/* harmony import */ var _process_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./process.js */ \"./node_modules/monaco-editor/esm/vs/base/common/process.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// NOTE: VSCode's copy of nodejs path library to be usable in common (non-node) namespace\n// Copied from: https://github.com/nodejs/node/blob/v16.14.2/lib/path.js\n/**\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nconst CHAR_UPPERCASE_A = 65; /* A */\nconst CHAR_LOWERCASE_A = 97; /* a */\nconst CHAR_UPPERCASE_Z = 90; /* Z */\nconst CHAR_LOWERCASE_Z = 122; /* z */\nconst CHAR_DOT = 46; /* . */\nconst CHAR_FORWARD_SLASH = 47; /* / */\nconst CHAR_BACKWARD_SLASH = 92; /* \\ */\nconst CHAR_COLON = 58; /* : */\nconst CHAR_QUESTION_MARK = 63; /* ? */\nclass ErrorInvalidArgType extends Error {\n constructor(name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n let determiner;\n if (typeof expected === 'string' && expected.indexOf('not ') === 0) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n }\n else {\n determiner = 'must be';\n }\n const type = name.indexOf('.') !== -1 ? 'property' : 'argument';\n let msg = `The \"${name}\" ${type} ${determiner} of type ${expected}`;\n msg += `. Received type ${typeof actual}`;\n super(msg);\n this.code = 'ERR_INVALID_ARG_TYPE';\n }\n}\nfunction validateObject(pathObject, name) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new ErrorInvalidArgType(name, 'Object', pathObject);\n }\n}\nfunction validateString(value, name) {\n if (typeof value !== 'string') {\n throw new ErrorInvalidArgType(name, 'string', value);\n }\n}\nconst platformIsWin32 = (_process_js__WEBPACK_IMPORTED_MODULE_0__.platform === 'win32');\nfunction isPathSeparator(code) {\n return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;\n}\nfunction isPosixPathSeparator(code) {\n return code === CHAR_FORWARD_SLASH;\n}\nfunction isWindowsDeviceRoot(code) {\n return (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z) ||\n (code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z);\n}\n// Resolves . and .. elements in a path with directory names\nfunction normalizeString(path, allowAboveRoot, separator, isPathSeparator) {\n let res = '';\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let code = 0;\n for (let i = 0; i <= path.length; ++i) {\n if (i < path.length) {\n code = path.charCodeAt(i);\n }\n else if (isPathSeparator(code)) {\n break;\n }\n else {\n code = CHAR_FORWARD_SLASH;\n }\n if (isPathSeparator(code)) {\n if (lastSlash === i - 1 || dots === 1) {\n // NOOP\n }\n else if (dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 ||\n res.charCodeAt(res.length - 1) !== CHAR_DOT ||\n res.charCodeAt(res.length - 2) !== CHAR_DOT) {\n if (res.length > 2) {\n const lastSlashIndex = res.lastIndexOf(separator);\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n }\n else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf(separator);\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n else if (res.length !== 0) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n res += res.length > 0 ? `${separator}..` : '..';\n lastSegmentLength = 2;\n }\n }\n else {\n if (res.length > 0) {\n res += `${separator}${path.slice(lastSlash + 1, i)}`;\n }\n else {\n res = path.slice(lastSlash + 1, i);\n }\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n }\n else if (code === CHAR_DOT && dots !== -1) {\n ++dots;\n }\n else {\n dots = -1;\n }\n }\n return res;\n}\nfunction _format(sep, pathObject) {\n validateObject(pathObject, 'pathObject');\n const dir = pathObject.dir || pathObject.root;\n const base = pathObject.base ||\n `${pathObject.name || ''}${pathObject.ext || ''}`;\n if (!dir) {\n return base;\n }\n return dir === pathObject.root ? `${dir}${base}` : `${dir}${sep}${base}`;\n}\nconst win32 = {\n // path.resolve([from ...], to)\n resolve(...pathSegments) {\n let resolvedDevice = '';\n let resolvedTail = '';\n let resolvedAbsolute = false;\n for (let i = pathSegments.length - 1; i >= -1; i--) {\n let path;\n if (i >= 0) {\n path = pathSegments[i];\n validateString(path, 'path');\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n }\n else if (resolvedDevice.length === 0) {\n path = _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd();\n }\n else {\n // Windows has the concept of drive-specific current working\n // directories. If we've resolved a drive letter but not yet an\n // absolute path, get cwd for that drive, or the process cwd if\n // the drive cwd is not available. We're sure the device is not\n // a UNC path at this points, because UNC paths are always absolute.\n path = _process_js__WEBPACK_IMPORTED_MODULE_0__.env[`=${resolvedDevice}`] || _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd();\n // Verify that a cwd was found and that it actually points\n // to our drive. If not, default to the drive's root.\n if (path === undefined ||\n (path.slice(0, 2).toLowerCase() !== resolvedDevice.toLowerCase() &&\n path.charCodeAt(2) === CHAR_BACKWARD_SLASH)) {\n path = `${resolvedDevice}\\\\`;\n }\n }\n const len = path.length;\n let rootEnd = 0;\n let device = '';\n let isAbsolute = false;\n const code = path.charCodeAt(0);\n // Try to match a root\n if (len === 1) {\n if (isPathSeparator(code)) {\n // `path` contains just a path separator\n rootEnd = 1;\n isAbsolute = true;\n }\n }\n else if (isPathSeparator(code)) {\n // Possible UNC root\n // If we started with a separator, we know we at least have an\n // absolute path of some kind (UNC or otherwise)\n isAbsolute = true;\n if (isPathSeparator(path.charCodeAt(1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n const firstPart = path.slice(last, j);\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len && isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j === len || j !== last) {\n // We matched a UNC root\n device = `\\\\\\\\${firstPart}\\\\${path.slice(last, j)}`;\n rootEnd = j;\n }\n }\n }\n }\n else {\n rootEnd = 1;\n }\n }\n else if (isWindowsDeviceRoot(code) &&\n path.charCodeAt(1) === CHAR_COLON) {\n // Possible device root\n device = path.slice(0, 2);\n rootEnd = 2;\n if (len > 2 && isPathSeparator(path.charCodeAt(2))) {\n // Treat separator following drive name as an absolute path\n // indicator\n isAbsolute = true;\n rootEnd = 3;\n }\n }\n if (device.length > 0) {\n if (resolvedDevice.length > 0) {\n if (device.toLowerCase() !== resolvedDevice.toLowerCase()) {\n // This path points to another device so it is not applicable\n continue;\n }\n }\n else {\n resolvedDevice = device;\n }\n }\n if (resolvedAbsolute) {\n if (resolvedDevice.length > 0) {\n break;\n }\n }\n else {\n resolvedTail = `${path.slice(rootEnd)}\\\\${resolvedTail}`;\n resolvedAbsolute = isAbsolute;\n if (isAbsolute && resolvedDevice.length > 0) {\n break;\n }\n }\n }\n // At this point the path should be resolved to a full absolute path,\n // but handle relative paths to be safe (might happen when process.cwd()\n // fails)\n // Normalize the tail path\n resolvedTail = normalizeString(resolvedTail, !resolvedAbsolute, '\\\\', isPathSeparator);\n return resolvedAbsolute ?\n `${resolvedDevice}\\\\${resolvedTail}` :\n `${resolvedDevice}${resolvedTail}` || '.';\n },\n normalize(path) {\n validateString(path, 'path');\n const len = path.length;\n if (len === 0) {\n return '.';\n }\n let rootEnd = 0;\n let device;\n let isAbsolute = false;\n const code = path.charCodeAt(0);\n // Try to match a root\n if (len === 1) {\n // `path` contains just a single char, exit early to avoid\n // unnecessary work\n return isPosixPathSeparator(code) ? '\\\\' : path;\n }\n if (isPathSeparator(code)) {\n // Possible UNC root\n // If we started with a separator, we know we at least have an absolute\n // path of some kind (UNC or otherwise)\n isAbsolute = true;\n if (isPathSeparator(path.charCodeAt(1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n const firstPart = path.slice(last, j);\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len && isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n // Return the normalized version of the UNC root since there\n // is nothing left to process\n return `\\\\\\\\${firstPart}\\\\${path.slice(last)}\\\\`;\n }\n if (j !== last) {\n // We matched a UNC root with leftovers\n device = `\\\\\\\\${firstPart}\\\\${path.slice(last, j)}`;\n rootEnd = j;\n }\n }\n }\n }\n else {\n rootEnd = 1;\n }\n }\n else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {\n // Possible device root\n device = path.slice(0, 2);\n rootEnd = 2;\n if (len > 2 && isPathSeparator(path.charCodeAt(2))) {\n // Treat separator following drive name as an absolute path\n // indicator\n isAbsolute = true;\n rootEnd = 3;\n }\n }\n let tail = rootEnd < len ?\n normalizeString(path.slice(rootEnd), !isAbsolute, '\\\\', isPathSeparator) :\n '';\n if (tail.length === 0 && !isAbsolute) {\n tail = '.';\n }\n if (tail.length > 0 && isPathSeparator(path.charCodeAt(len - 1))) {\n tail += '\\\\';\n }\n if (device === undefined) {\n return isAbsolute ? `\\\\${tail}` : tail;\n }\n return isAbsolute ? `${device}\\\\${tail}` : `${device}${tail}`;\n },\n isAbsolute(path) {\n validateString(path, 'path');\n const len = path.length;\n if (len === 0) {\n return false;\n }\n const code = path.charCodeAt(0);\n return isPathSeparator(code) ||\n // Possible device root\n (len > 2 &&\n isWindowsDeviceRoot(code) &&\n path.charCodeAt(1) === CHAR_COLON &&\n isPathSeparator(path.charCodeAt(2)));\n },\n join(...paths) {\n if (paths.length === 0) {\n return '.';\n }\n let joined;\n let firstPart;\n for (let i = 0; i < paths.length; ++i) {\n const arg = paths[i];\n validateString(arg, 'path');\n if (arg.length > 0) {\n if (joined === undefined) {\n joined = firstPart = arg;\n }\n else {\n joined += `\\\\${arg}`;\n }\n }\n }\n if (joined === undefined) {\n return '.';\n }\n // Make sure that the joined path doesn't start with two slashes, because\n // normalize() will mistake it for a UNC path then.\n //\n // This step is skipped when it is very clear that the user actually\n // intended to point at a UNC path. This is assumed when the first\n // non-empty string arguments starts with exactly two slashes followed by\n // at least one more non-slash character.\n //\n // Note that for normalize() to treat a path as a UNC path it needs to\n // have at least 2 components, so we don't filter for that here.\n // This means that the user can use join to construct UNC paths from\n // a server name and a share name; for example:\n // path.join('//server', 'share') -> '\\\\\\\\server\\\\share\\\\')\n let needsReplace = true;\n let slashCount = 0;\n if (typeof firstPart === 'string' && isPathSeparator(firstPart.charCodeAt(0))) {\n ++slashCount;\n const firstLen = firstPart.length;\n if (firstLen > 1 && isPathSeparator(firstPart.charCodeAt(1))) {\n ++slashCount;\n if (firstLen > 2) {\n if (isPathSeparator(firstPart.charCodeAt(2))) {\n ++slashCount;\n }\n else {\n // We matched a UNC path in the first part\n needsReplace = false;\n }\n }\n }\n }\n if (needsReplace) {\n // Find any more consecutive slashes we need to replace\n while (slashCount < joined.length &&\n isPathSeparator(joined.charCodeAt(slashCount))) {\n slashCount++;\n }\n // Replace the slashes if needed\n if (slashCount >= 2) {\n joined = `\\\\${joined.slice(slashCount)}`;\n }\n }\n return win32.normalize(joined);\n },\n // It will solve the relative path from `from` to `to`, for instance:\n // from = 'C:\\\\orandea\\\\test\\\\aaa'\n // to = 'C:\\\\orandea\\\\impl\\\\bbb'\n // The output of the function should be: '..\\\\..\\\\impl\\\\bbb'\n relative(from, to) {\n validateString(from, 'from');\n validateString(to, 'to');\n if (from === to) {\n return '';\n }\n const fromOrig = win32.resolve(from);\n const toOrig = win32.resolve(to);\n if (fromOrig === toOrig) {\n return '';\n }\n from = fromOrig.toLowerCase();\n to = toOrig.toLowerCase();\n if (from === to) {\n return '';\n }\n // Trim any leading backslashes\n let fromStart = 0;\n while (fromStart < from.length &&\n from.charCodeAt(fromStart) === CHAR_BACKWARD_SLASH) {\n fromStart++;\n }\n // Trim trailing backslashes (applicable to UNC paths only)\n let fromEnd = from.length;\n while (fromEnd - 1 > fromStart &&\n from.charCodeAt(fromEnd - 1) === CHAR_BACKWARD_SLASH) {\n fromEnd--;\n }\n const fromLen = fromEnd - fromStart;\n // Trim any leading backslashes\n let toStart = 0;\n while (toStart < to.length &&\n to.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {\n toStart++;\n }\n // Trim trailing backslashes (applicable to UNC paths only)\n let toEnd = to.length;\n while (toEnd - 1 > toStart &&\n to.charCodeAt(toEnd - 1) === CHAR_BACKWARD_SLASH) {\n toEnd--;\n }\n const toLen = toEnd - toStart;\n // Compare paths to find the longest common path from root\n const length = fromLen < toLen ? fromLen : toLen;\n let lastCommonSep = -1;\n let i = 0;\n for (; i < length; i++) {\n const fromCode = from.charCodeAt(fromStart + i);\n if (fromCode !== to.charCodeAt(toStart + i)) {\n break;\n }\n else if (fromCode === CHAR_BACKWARD_SLASH) {\n lastCommonSep = i;\n }\n }\n // We found a mismatch before the first common path separator was seen, so\n // return the original `to`.\n if (i !== length) {\n if (lastCommonSep === -1) {\n return toOrig;\n }\n }\n else {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo\\\\bar\\\\baz'\n return toOrig.slice(toStart + i + 1);\n }\n if (i === 2) {\n // We get here if `from` is the device root.\n // For example: from='C:\\\\'; to='C:\\\\foo'\n return toOrig.slice(toStart + i);\n }\n }\n if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\foo'\n lastCommonSep = i;\n }\n else if (i === 2) {\n // We get here if `to` is the device root.\n // For example: from='C:\\\\foo\\\\bar'; to='C:\\\\'\n lastCommonSep = 3;\n }\n }\n if (lastCommonSep === -1) {\n lastCommonSep = 0;\n }\n }\n let out = '';\n // Generate the relative path based on the path difference between `to` and\n // `from`\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) {\n out += out.length === 0 ? '..' : '\\\\..';\n }\n }\n toStart += lastCommonSep;\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts\n if (out.length > 0) {\n return `${out}${toOrig.slice(toStart, toEnd)}`;\n }\n if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) {\n ++toStart;\n }\n return toOrig.slice(toStart, toEnd);\n },\n toNamespacedPath(path) {\n // Note: this will *probably* throw somewhere.\n if (typeof path !== 'string' || path.length === 0) {\n return path;\n }\n const resolvedPath = win32.resolve(path);\n if (resolvedPath.length <= 2) {\n return path;\n }\n if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) {\n // Possible UNC root\n if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) {\n const code = resolvedPath.charCodeAt(2);\n if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) {\n // Matched non-long UNC root, convert the path to a long UNC path\n return `\\\\\\\\?\\\\UNC\\\\${resolvedPath.slice(2)}`;\n }\n }\n }\n else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0)) &&\n resolvedPath.charCodeAt(1) === CHAR_COLON &&\n resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH) {\n // Matched device root, convert the path to a long UNC path\n return `\\\\\\\\?\\\\${resolvedPath}`;\n }\n return path;\n },\n dirname(path) {\n validateString(path, 'path');\n const len = path.length;\n if (len === 0) {\n return '.';\n }\n let rootEnd = -1;\n let offset = 0;\n const code = path.charCodeAt(0);\n if (len === 1) {\n // `path` contains just a path separator, exit early to avoid\n // unnecessary work or a dot.\n return isPathSeparator(code) ? path : '.';\n }\n // Try to match a root\n if (isPathSeparator(code)) {\n // Possible UNC root\n rootEnd = offset = 1;\n if (isPathSeparator(path.charCodeAt(1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len && isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n return path;\n }\n if (j !== last) {\n // We matched a UNC root with leftovers\n // Offset by 1 to include the separator after the UNC root to\n // treat it as a \"normal root\" on top of a (UNC) root\n rootEnd = offset = j + 1;\n }\n }\n }\n }\n // Possible device root\n }\n else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {\n rootEnd = len > 2 && isPathSeparator(path.charCodeAt(2)) ? 3 : 2;\n offset = rootEnd;\n }\n let end = -1;\n let matchedSlash = true;\n for (let i = len - 1; i >= offset; --i) {\n if (isPathSeparator(path.charCodeAt(i))) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n }\n else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n if (end === -1) {\n if (rootEnd === -1) {\n return '.';\n }\n end = rootEnd;\n }\n return path.slice(0, end);\n },\n basename(path, ext) {\n if (ext !== undefined) {\n validateString(ext, 'ext');\n }\n validateString(path, 'path');\n let start = 0;\n let end = -1;\n let matchedSlash = true;\n let i;\n // Check for a drive letter prefix so as not to mistake the following\n // path separator as an extra separator at the end of the path that can be\n // disregarded\n if (path.length >= 2 &&\n isWindowsDeviceRoot(path.charCodeAt(0)) &&\n path.charCodeAt(1) === CHAR_COLON) {\n start = 2;\n }\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext === path) {\n return '';\n }\n let extIdx = ext.length - 1;\n let firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= start; --i) {\n const code = path.charCodeAt(i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n }\n else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n }\n else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n if (start === end) {\n end = firstNonSlashEnd;\n }\n else if (end === -1) {\n end = path.length;\n }\n return path.slice(start, end);\n }\n for (i = path.length - 1; i >= start; --i) {\n if (isPathSeparator(path.charCodeAt(i))) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n }\n else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n if (end === -1) {\n return '';\n }\n return path.slice(start, end);\n },\n extname(path) {\n validateString(path, 'path');\n let start = 0;\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n // Check for a drive letter prefix so as not to mistake the following\n // path separator as an extra separator at the end of the path that can be\n // disregarded\n if (path.length >= 2 &&\n path.charCodeAt(1) === CHAR_COLON &&\n isWindowsDeviceRoot(path.charCodeAt(0))) {\n start = startPart = 2;\n }\n for (let i = path.length - 1; i >= start; --i) {\n const code = path.charCodeAt(i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) {\n startDot = i;\n }\n else if (preDotState !== 1) {\n preDotState = 1;\n }\n }\n else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n return '';\n }\n return path.slice(startDot, end);\n },\n format: _format.bind(null, '\\\\'),\n parse(path) {\n validateString(path, 'path');\n const ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0) {\n return ret;\n }\n const len = path.length;\n let rootEnd = 0;\n let code = path.charCodeAt(0);\n if (len === 1) {\n if (isPathSeparator(code)) {\n // `path` contains just a path separator, exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n ret.base = ret.name = path;\n return ret;\n }\n // Try to match a root\n if (isPathSeparator(code)) {\n // Possible UNC root\n rootEnd = 1;\n if (isPathSeparator(path.charCodeAt(1))) {\n // Matched double path separator at beginning\n let j = 2;\n let last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more path separators\n while (j < len && isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j < len && j !== last) {\n // Matched!\n last = j;\n // Match 1 or more non-path separators\n while (j < len && !isPathSeparator(path.charCodeAt(j))) {\n j++;\n }\n if (j === len) {\n // We matched a UNC root only\n rootEnd = j;\n }\n else if (j !== last) {\n // We matched a UNC root with leftovers\n rootEnd = j + 1;\n }\n }\n }\n }\n }\n else if (isWindowsDeviceRoot(code) && path.charCodeAt(1) === CHAR_COLON) {\n // Possible device root\n if (len <= 2) {\n // `path` contains just a drive root, exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n rootEnd = 2;\n if (isPathSeparator(path.charCodeAt(2))) {\n if (len === 3) {\n // `path` contains just a drive root, exit early to avoid\n // unnecessary work\n ret.root = ret.dir = path;\n return ret;\n }\n rootEnd = 3;\n }\n }\n if (rootEnd > 0) {\n ret.root = path.slice(0, rootEnd);\n }\n let startDot = -1;\n let startPart = rootEnd;\n let end = -1;\n let matchedSlash = true;\n let i = path.length - 1;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n // Get non-dir info\n for (; i >= rootEnd; --i) {\n code = path.charCodeAt(i);\n if (isPathSeparator(code)) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) {\n startDot = i;\n }\n else if (preDotState !== 1) {\n preDotState = 1;\n }\n }\n else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n if (end !== -1) {\n if (startDot === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n ret.base = ret.name = path.slice(startPart, end);\n }\n else {\n ret.name = path.slice(startPart, startDot);\n ret.base = path.slice(startPart, end);\n ret.ext = path.slice(startDot, end);\n }\n }\n // If the directory is the root, use the entire root as the `dir` including\n // the trailing slash if any (`C:\\abc` -> `C:\\`). Otherwise, strip out the\n // trailing slash (`C:\\abc\\def` -> `C:\\abc`).\n if (startPart > 0 && startPart !== rootEnd) {\n ret.dir = path.slice(0, startPart - 1);\n }\n else {\n ret.dir = ret.root;\n }\n return ret;\n },\n sep: '\\\\',\n delimiter: ';',\n win32: null,\n posix: null\n};\nconst posixCwd = (() => {\n if (platformIsWin32) {\n // Converts Windows' backslash path separators to POSIX forward slashes\n // and truncates any drive indicator\n const regexp = /\\\\/g;\n return () => {\n const cwd = _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd().replace(regexp, '/');\n return cwd.slice(cwd.indexOf('/'));\n };\n }\n // We're already on POSIX, no need for any transformations\n return () => _process_js__WEBPACK_IMPORTED_MODULE_0__.cwd();\n})();\nconst posix = {\n // path.resolve([from ...], to)\n resolve(...pathSegments) {\n let resolvedPath = '';\n let resolvedAbsolute = false;\n for (let i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n const path = i >= 0 ? pathSegments[i] : posixCwd();\n validateString(path, 'path');\n // Skip empty entries\n if (path.length === 0) {\n continue;\n }\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\n }\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n // Normalize the path\n resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute, '/', isPosixPathSeparator);\n if (resolvedAbsolute) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : '.';\n },\n normalize(path) {\n validateString(path, 'path');\n if (path.length === 0) {\n return '.';\n }\n const isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\n const trailingSeparator = path.charCodeAt(path.length - 1) === CHAR_FORWARD_SLASH;\n // Normalize the path\n path = normalizeString(path, !isAbsolute, '/', isPosixPathSeparator);\n if (path.length === 0) {\n if (isAbsolute) {\n return '/';\n }\n return trailingSeparator ? './' : '.';\n }\n if (trailingSeparator) {\n path += '/';\n }\n return isAbsolute ? `/${path}` : path;\n },\n isAbsolute(path) {\n validateString(path, 'path');\n return path.length > 0 && path.charCodeAt(0) === CHAR_FORWARD_SLASH;\n },\n join(...paths) {\n if (paths.length === 0) {\n return '.';\n }\n let joined;\n for (let i = 0; i < paths.length; ++i) {\n const arg = paths[i];\n validateString(arg, 'path');\n if (arg.length > 0) {\n if (joined === undefined) {\n joined = arg;\n }\n else {\n joined += `/${arg}`;\n }\n }\n }\n if (joined === undefined) {\n return '.';\n }\n return posix.normalize(joined);\n },\n relative(from, to) {\n validateString(from, 'from');\n validateString(to, 'to');\n if (from === to) {\n return '';\n }\n // Trim leading forward slashes.\n from = posix.resolve(from);\n to = posix.resolve(to);\n if (from === to) {\n return '';\n }\n const fromStart = 1;\n const fromEnd = from.length;\n const fromLen = fromEnd - fromStart;\n const toStart = 1;\n const toLen = to.length - toStart;\n // Compare paths to find the longest common path from root\n const length = (fromLen < toLen ? fromLen : toLen);\n let lastCommonSep = -1;\n let i = 0;\n for (; i < length; i++) {\n const fromCode = from.charCodeAt(fromStart + i);\n if (fromCode !== to.charCodeAt(toStart + i)) {\n break;\n }\n else if (fromCode === CHAR_FORWARD_SLASH) {\n lastCommonSep = i;\n }\n }\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === CHAR_FORWARD_SLASH) {\n // We get here if `from` is the exact base path for `to`.\n // For example: from='/foo/bar'; to='/foo/bar/baz'\n return to.slice(toStart + i + 1);\n }\n if (i === 0) {\n // We get here if `from` is the root\n // For example: from='/'; to='/foo'\n return to.slice(toStart + i);\n }\n }\n else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === CHAR_FORWARD_SLASH) {\n // We get here if `to` is the exact base path for `from`.\n // For example: from='/foo/bar/baz'; to='/foo/bar'\n lastCommonSep = i;\n }\n else if (i === 0) {\n // We get here if `to` is the root.\n // For example: from='/foo/bar'; to='/'\n lastCommonSep = 0;\n }\n }\n }\n let out = '';\n // Generate the relative path based on the path difference between `to`\n // and `from`.\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === CHAR_FORWARD_SLASH) {\n out += out.length === 0 ? '..' : '/..';\n }\n }\n // Lastly, append the rest of the destination (`to`) path that comes after\n // the common path parts.\n return `${out}${to.slice(toStart + lastCommonSep)}`;\n },\n toNamespacedPath(path) {\n // Non-op on posix systems\n return path;\n },\n dirname(path) {\n validateString(path, 'path');\n if (path.length === 0) {\n return '.';\n }\n const hasRoot = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\n let end = -1;\n let matchedSlash = true;\n for (let i = path.length - 1; i >= 1; --i) {\n if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n }\n else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n if (end === -1) {\n return hasRoot ? '/' : '.';\n }\n if (hasRoot && end === 1) {\n return '//';\n }\n return path.slice(0, end);\n },\n basename(path, ext) {\n if (ext !== undefined) {\n validateString(ext, 'ext');\n }\n validateString(path, 'path');\n let start = 0;\n let end = -1;\n let matchedSlash = true;\n let i;\n if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {\n if (ext === path) {\n return '';\n }\n let extIdx = ext.length - 1;\n let firstNonSlashEnd = -1;\n for (i = path.length - 1; i >= 0; --i) {\n const code = path.charCodeAt(i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n }\n else {\n if (firstNonSlashEnd === -1) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n // Try to match the explicit extension\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = i;\n }\n }\n else {\n // Extension does not match, so our result is the entire path\n // component\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n if (start === end) {\n end = firstNonSlashEnd;\n }\n else if (end === -1) {\n end = path.length;\n }\n return path.slice(start, end);\n }\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n }\n else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n if (end === -1) {\n return '';\n }\n return path.slice(start, end);\n },\n extname(path) {\n validateString(path, 'path');\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n for (let i = path.length - 1; i >= 0; --i) {\n const code = path.charCodeAt(i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) {\n startDot = i;\n }\n else if (preDotState !== 1) {\n preDotState = 1;\n }\n }\n else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n if (startDot === -1 ||\n end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n return '';\n }\n return path.slice(startDot, end);\n },\n format: _format.bind(null, '/'),\n parse(path) {\n validateString(path, 'path');\n const ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (path.length === 0) {\n return ret;\n }\n const isAbsolute = path.charCodeAt(0) === CHAR_FORWARD_SLASH;\n let start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n }\n else {\n start = 0;\n }\n let startDot = -1;\n let startPart = 0;\n let end = -1;\n let matchedSlash = true;\n let i = path.length - 1;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n let preDotState = 0;\n // Get non-dir info\n for (; i >= start; --i) {\n const code = path.charCodeAt(i);\n if (code === CHAR_FORWARD_SLASH) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === CHAR_DOT) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1) {\n startDot = i;\n }\n else if (preDotState !== 1) {\n preDotState = 1;\n }\n }\n else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n if (end !== -1) {\n const start = startPart === 0 && isAbsolute ? 1 : startPart;\n if (startDot === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n (preDotState === 1 &&\n startDot === end - 1 &&\n startDot === startPart + 1)) {\n ret.base = ret.name = path.slice(start, end);\n }\n else {\n ret.name = path.slice(start, startDot);\n ret.base = path.slice(start, end);\n ret.ext = path.slice(startDot, end);\n }\n }\n if (startPart > 0) {\n ret.dir = path.slice(0, startPart - 1);\n }\n else if (isAbsolute) {\n ret.dir = '/';\n }\n return ret;\n },\n sep: '/',\n delimiter: ':',\n win32: null,\n posix: null\n};\nposix.win32 = win32.win32 = win32;\nposix.posix = win32.posix = posix;\nconst normalize = (platformIsWin32 ? win32.normalize : posix.normalize);\nconst resolve = (platformIsWin32 ? win32.resolve : posix.resolve);\nconst relative = (platformIsWin32 ? win32.relative : posix.relative);\nconst dirname = (platformIsWin32 ? win32.dirname : posix.dirname);\nconst basename = (platformIsWin32 ? win32.basename : posix.basename);\nconst extname = (platformIsWin32 ? win32.extname : posix.extname);\nconst sep = (platformIsWin32 ? win32.sep : posix.sep);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/path.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/platform.js": +/*!*******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/platform.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 */ LANGUAGE_DEFAULT: () => (/* binding */ LANGUAGE_DEFAULT),\n/* harmony export */ OS: () => (/* binding */ OS),\n/* harmony export */ globals: () => (/* binding */ globals),\n/* harmony export */ isAndroid: () => (/* binding */ isAndroid),\n/* harmony export */ isChrome: () => (/* binding */ isChrome),\n/* harmony export */ isEdge: () => (/* binding */ isEdge),\n/* harmony export */ isFirefox: () => (/* binding */ isFirefox),\n/* harmony export */ isIOS: () => (/* binding */ isIOS),\n/* harmony export */ isLinux: () => (/* binding */ isLinux),\n/* harmony export */ isLittleEndian: () => (/* binding */ isLittleEndian),\n/* harmony export */ isMacintosh: () => (/* binding */ isMacintosh),\n/* harmony export */ isMobile: () => (/* binding */ isMobile),\n/* harmony export */ isNative: () => (/* binding */ isNative),\n/* harmony export */ isSafari: () => (/* binding */ isSafari),\n/* harmony export */ isWeb: () => (/* binding */ isWeb),\n/* harmony export */ isWebWorker: () => (/* binding */ isWebWorker),\n/* harmony export */ isWindows: () => (/* binding */ isWindows),\n/* harmony export */ language: () => (/* binding */ language),\n/* harmony export */ setTimeout0: () => (/* binding */ setTimeout0),\n/* harmony export */ setTimeout0IsFaster: () => (/* binding */ setTimeout0IsFaster),\n/* harmony export */ userAgent: () => (/* binding */ userAgent)\n/* harmony export */ });\n/* harmony import */ var _nls_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../nls.js */ \"./node_modules/monaco-editor/esm/vs/nls.js\");\nvar _a;\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\nconst LANGUAGE_DEFAULT = 'en';\nlet _isWindows = false;\nlet _isMacintosh = false;\nlet _isLinux = false;\nlet _isLinuxSnap = false;\nlet _isNative = false;\nlet _isWeb = false;\nlet _isElectron = false;\nlet _isIOS = false;\nlet _isCI = false;\nlet _isMobile = false;\nlet _locale = undefined;\nlet _language = LANGUAGE_DEFAULT;\nlet _platformLocale = LANGUAGE_DEFAULT;\nlet _translationsConfigFile = undefined;\nlet _userAgent = undefined;\n/**\n * @deprecated use `globalThis` instead\n */\nconst globals = (typeof self === 'object' ? self : typeof __webpack_require__.g === 'object' ? __webpack_require__.g : {});\nlet nodeProcess = undefined;\nif (typeof globals.vscode !== 'undefined' && typeof globals.vscode.process !== 'undefined') {\n // Native environment (sandboxed)\n nodeProcess = globals.vscode.process;\n}\nelse if (typeof process !== 'undefined') {\n // Native environment (non-sandboxed)\n nodeProcess = process;\n}\nconst isElectronProcess = typeof ((_a = nodeProcess === null || nodeProcess === void 0 ? void 0 : nodeProcess.versions) === null || _a === void 0 ? void 0 : _a.electron) === 'string';\nconst isElectronRenderer = isElectronProcess && (nodeProcess === null || nodeProcess === void 0 ? void 0 : nodeProcess.type) === 'renderer';\n// Web environment\nif (typeof navigator === 'object' && !isElectronRenderer) {\n _userAgent = navigator.userAgent;\n _isWindows = _userAgent.indexOf('Windows') >= 0;\n _isMacintosh = _userAgent.indexOf('Macintosh') >= 0;\n _isIOS = (_userAgent.indexOf('Macintosh') >= 0 || _userAgent.indexOf('iPad') >= 0 || _userAgent.indexOf('iPhone') >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0;\n _isLinux = _userAgent.indexOf('Linux') >= 0;\n _isMobile = (_userAgent === null || _userAgent === void 0 ? void 0 : _userAgent.indexOf('Mobi')) >= 0;\n _isWeb = true;\n const configuredLocale = _nls_js__WEBPACK_IMPORTED_MODULE_0__.getConfiguredDefaultLocale(\n // This call _must_ be done in the file that calls `nls.getConfiguredDefaultLocale`\n // to ensure that the NLS AMD Loader plugin has been loaded and configured.\n // This is because the loader plugin decides what the default locale is based on\n // how it's able to resolve the strings.\n _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize({ key: 'ensureLoaderPluginIsLoaded', comment: ['{Locked}'] }, '_'));\n _locale = configuredLocale || LANGUAGE_DEFAULT;\n _language = _locale;\n _platformLocale = navigator.language;\n}\n// Native environment\nelse if (typeof nodeProcess === 'object') {\n _isWindows = (nodeProcess.platform === 'win32');\n _isMacintosh = (nodeProcess.platform === 'darwin');\n _isLinux = (nodeProcess.platform === 'linux');\n _isLinuxSnap = _isLinux && !!nodeProcess.env['SNAP'] && !!nodeProcess.env['SNAP_REVISION'];\n _isElectron = isElectronProcess;\n _isCI = !!nodeProcess.env['CI'] || !!nodeProcess.env['BUILD_ARTIFACTSTAGINGDIRECTORY'];\n _locale = LANGUAGE_DEFAULT;\n _language = LANGUAGE_DEFAULT;\n const rawNlsConfig = nodeProcess.env['VSCODE_NLS_CONFIG'];\n if (rawNlsConfig) {\n try {\n const nlsConfig = JSON.parse(rawNlsConfig);\n const resolved = nlsConfig.availableLanguages['*'];\n _locale = nlsConfig.locale;\n _platformLocale = nlsConfig.osLocale;\n // VSCode's default language is 'en'\n _language = resolved ? resolved : LANGUAGE_DEFAULT;\n _translationsConfigFile = nlsConfig._translationsConfigFile;\n }\n catch (e) {\n }\n }\n _isNative = true;\n}\n// Unknown environment\nelse {\n console.error('Unable to resolve platform.');\n}\nlet _platform = 0 /* Platform.Web */;\nif (_isMacintosh) {\n _platform = 1 /* Platform.Mac */;\n}\nelse if (_isWindows) {\n _platform = 3 /* Platform.Windows */;\n}\nelse if (_isLinux) {\n _platform = 2 /* Platform.Linux */;\n}\nconst isWindows = _isWindows;\nconst isMacintosh = _isMacintosh;\nconst isLinux = _isLinux;\nconst isNative = _isNative;\nconst isWeb = _isWeb;\nconst isWebWorker = (_isWeb && typeof globals.importScripts === 'function');\nconst isIOS = _isIOS;\nconst isMobile = _isMobile;\nconst userAgent = _userAgent;\n/**\n * The language used for the user interface. The format of\n * the string is all lower case (e.g. zh-tw for Traditional\n * Chinese)\n */\nconst language = _language;\nconst setTimeout0IsFaster = (typeof globals.postMessage === 'function' && !globals.importScripts);\n/**\n * See https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#:~:text=than%204%2C%20then-,set%20timeout%20to%204,-.\n *\n * Works similarly to `setTimeout(0)` but doesn't suffer from the 4ms artificial delay\n * that browsers set when the nesting level is > 5.\n */\nconst setTimeout0 = (() => {\n if (setTimeout0IsFaster) {\n const pending = [];\n globals.addEventListener('message', (e) => {\n if (e.data && e.data.vscodeScheduleAsyncWork) {\n for (let i = 0, len = pending.length; i < len; i++) {\n const candidate = pending[i];\n if (candidate.id === e.data.vscodeScheduleAsyncWork) {\n pending.splice(i, 1);\n candidate.callback();\n return;\n }\n }\n }\n });\n let lastId = 0;\n return (callback) => {\n const myId = ++lastId;\n pending.push({\n id: myId,\n callback: callback\n });\n globals.postMessage({ vscodeScheduleAsyncWork: myId }, '*');\n };\n }\n return (callback) => setTimeout(callback);\n})();\nconst OS = (_isMacintosh || _isIOS ? 2 /* OperatingSystem.Macintosh */ : (_isWindows ? 1 /* OperatingSystem.Windows */ : 3 /* OperatingSystem.Linux */));\nlet _isLittleEndian = true;\nlet _isLittleEndianComputed = false;\nfunction isLittleEndian() {\n if (!_isLittleEndianComputed) {\n _isLittleEndianComputed = true;\n const test = new Uint8Array(2);\n test[0] = 1;\n test[1] = 2;\n const view = new Uint16Array(test.buffer);\n _isLittleEndian = (view[0] === (2 << 8) + 1);\n }\n return _isLittleEndian;\n}\nconst isChrome = !!(userAgent && userAgent.indexOf('Chrome') >= 0);\nconst isFirefox = !!(userAgent && userAgent.indexOf('Firefox') >= 0);\nconst isSafari = !!(!isChrome && (userAgent && userAgent.indexOf('Safari') >= 0));\nconst isEdge = !!(userAgent && userAgent.indexOf('Edg/') >= 0);\nconst isAndroid = !!(userAgent && userAgent.indexOf('Android') >= 0);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/platform.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/process.js": +/*!******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/process.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 */ cwd: () => (/* binding */ cwd),\n/* harmony export */ env: () => (/* binding */ env),\n/* harmony export */ platform: () => (/* binding */ platform)\n/* harmony export */ });\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./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\nlet safeProcess;\n// Native sandbox environment\nif (typeof _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.vscode !== 'undefined' && typeof _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.vscode.process !== 'undefined') {\n const sandboxProcess = _platform_js__WEBPACK_IMPORTED_MODULE_0__.globals.vscode.process;\n safeProcess = {\n get platform() { return sandboxProcess.platform; },\n get arch() { return sandboxProcess.arch; },\n get env() { return sandboxProcess.env; },\n cwd() { return sandboxProcess.cwd(); }\n };\n}\n// Native node.js environment\nelse if (typeof process !== 'undefined') {\n safeProcess = {\n get platform() { return process.platform; },\n get arch() { return process.arch; },\n get env() { return process.env; },\n cwd() { return process.env['VSCODE_CWD'] || process.cwd(); }\n };\n}\n// Web environment\nelse {\n safeProcess = {\n // Supported\n get platform() { return _platform_js__WEBPACK_IMPORTED_MODULE_0__.isWindows ? 'win32' : _platform_js__WEBPACK_IMPORTED_MODULE_0__.isMacintosh ? 'darwin' : 'linux'; },\n get arch() { return undefined; /* arch is undefined in web */ },\n // Unsupported\n get env() { return {}; },\n cwd() { return '/'; }\n };\n}\n/**\n * Provides safe access to the `cwd` property in node.js, sandboxed or web\n * environments.\n *\n * Note: in web, this property is hardcoded to be `/`.\n *\n * @skipMangle\n */\nconst cwd = safeProcess.cwd;\n/**\n * Provides safe access to the `env` property in node.js, sandboxed or web\n * environments.\n *\n * Note: in web, this property is hardcoded to be `{}`.\n */\nconst env = safeProcess.env;\n/**\n * Provides safe access to the `platform` property in node.js, sandboxed or web\n * environments.\n */\nconst platform = safeProcess.platform;\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/process.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/range.js": +/*!****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/range.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 */ Range: () => (/* binding */ Range)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nvar Range;\n(function (Range) {\n /**\n * Returns the intersection between two ranges as a range itself.\n * Returns `{ start: 0, end: 0 }` if the intersection is empty.\n */\n function intersect(one, other) {\n if (one.start >= other.end || other.start >= one.end) {\n return { start: 0, end: 0 };\n }\n const start = Math.max(one.start, other.start);\n const end = Math.min(one.end, other.end);\n if (end - start <= 0) {\n return { start: 0, end: 0 };\n }\n return { start, end };\n }\n Range.intersect = intersect;\n function isEmpty(range) {\n return range.end - range.start <= 0;\n }\n Range.isEmpty = isEmpty;\n function intersects(one, other) {\n return !isEmpty(intersect(one, other));\n }\n Range.intersects = intersects;\n function relativeComplement(one, other) {\n const result = [];\n const first = { start: one.start, end: Math.min(other.start, one.end) };\n const second = { start: Math.max(other.end, one.start), end: one.end };\n if (!isEmpty(first)) {\n result.push(first);\n }\n if (!isEmpty(second)) {\n result.push(second);\n }\n return result;\n }\n Range.relativeComplement = relativeComplement;\n})(Range || (Range = {}));\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/range.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/resources.js": +/*!********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/resources.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 */ DataUri: () => (/* binding */ DataUri),\n/* harmony export */ ExtUri: () => (/* binding */ ExtUri),\n/* harmony export */ addTrailingPathSeparator: () => (/* binding */ addTrailingPathSeparator),\n/* harmony export */ basename: () => (/* binding */ basename),\n/* harmony export */ basenameOrAuthority: () => (/* binding */ basenameOrAuthority),\n/* harmony export */ dirname: () => (/* binding */ dirname),\n/* harmony export */ extUri: () => (/* binding */ extUri),\n/* harmony export */ extUriBiasedIgnorePathCase: () => (/* binding */ extUriBiasedIgnorePathCase),\n/* harmony export */ extUriIgnorePathCase: () => (/* binding */ extUriIgnorePathCase),\n/* harmony export */ extname: () => (/* binding */ extname),\n/* harmony export */ getComparisonKey: () => (/* binding */ getComparisonKey),\n/* harmony export */ hasTrailingPathSeparator: () => (/* binding */ hasTrailingPathSeparator),\n/* harmony export */ isAbsolutePath: () => (/* binding */ isAbsolutePath),\n/* harmony export */ isEqual: () => (/* binding */ isEqual),\n/* harmony export */ isEqualAuthority: () => (/* binding */ isEqualAuthority),\n/* harmony export */ isEqualOrParent: () => (/* binding */ isEqualOrParent),\n/* harmony export */ joinPath: () => (/* binding */ joinPath),\n/* harmony export */ normalizePath: () => (/* binding */ normalizePath),\n/* harmony export */ originalFSPath: () => (/* binding */ originalFSPath),\n/* harmony export */ relativePath: () => (/* binding */ relativePath),\n/* harmony export */ removeTrailingPathSeparator: () => (/* binding */ removeTrailingPathSeparator),\n/* harmony export */ resolvePath: () => (/* binding */ resolvePath)\n/* harmony export */ });\n/* harmony import */ var _extpath_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./extpath.js */ \"./node_modules/monaco-editor/esm/vs/base/common/extpath.js\");\n/* harmony import */ var _network_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./network.js */ \"./node_modules/monaco-editor/esm/vs/base/common/network.js\");\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n/* harmony import */ var _uri_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./uri.js */ \"./node_modules/monaco-editor/esm/vs/base/common/uri.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\nfunction originalFSPath(uri) {\n return (0,_uri_js__WEBPACK_IMPORTED_MODULE_5__.uriToFsPath)(uri, true);\n}\nclass ExtUri {\n constructor(_ignorePathCasing) {\n this._ignorePathCasing = _ignorePathCasing;\n }\n compare(uri1, uri2, ignoreFragment = false) {\n if (uri1 === uri2) {\n return 0;\n }\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_4__.compare)(this.getComparisonKey(uri1, ignoreFragment), this.getComparisonKey(uri2, ignoreFragment));\n }\n isEqual(uri1, uri2, ignoreFragment = false) {\n if (uri1 === uri2) {\n return true;\n }\n if (!uri1 || !uri2) {\n return false;\n }\n return this.getComparisonKey(uri1, ignoreFragment) === this.getComparisonKey(uri2, ignoreFragment);\n }\n getComparisonKey(uri, ignoreFragment = false) {\n return uri.with({\n path: this._ignorePathCasing(uri) ? uri.path.toLowerCase() : undefined,\n fragment: ignoreFragment ? null : undefined\n }).toString();\n }\n isEqualOrParent(base, parentCandidate, ignoreFragment = false) {\n if (base.scheme === parentCandidate.scheme) {\n if (base.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n return _extpath_js__WEBPACK_IMPORTED_MODULE_0__.isEqualOrParent(originalFSPath(base), originalFSPath(parentCandidate), this._ignorePathCasing(base)) && base.query === parentCandidate.query && (ignoreFragment || base.fragment === parentCandidate.fragment);\n }\n if (isEqualAuthority(base.authority, parentCandidate.authority)) {\n return _extpath_js__WEBPACK_IMPORTED_MODULE_0__.isEqualOrParent(base.path, parentCandidate.path, this._ignorePathCasing(base), '/') && base.query === parentCandidate.query && (ignoreFragment || base.fragment === parentCandidate.fragment);\n }\n }\n return false;\n }\n // --- path math\n joinPath(resource, ...pathFragment) {\n return _uri_js__WEBPACK_IMPORTED_MODULE_5__.URI.joinPath(resource, ...pathFragment);\n }\n basenameOrAuthority(resource) {\n return basename(resource) || resource.authority;\n }\n basename(resource) {\n return _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.basename(resource.path);\n }\n extname(resource) {\n return _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.extname(resource.path);\n }\n dirname(resource) {\n if (resource.path.length === 0) {\n return resource;\n }\n let dirname;\n if (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n dirname = _uri_js__WEBPACK_IMPORTED_MODULE_5__.URI.file(_path_js__WEBPACK_IMPORTED_MODULE_2__.dirname(originalFSPath(resource))).path;\n }\n else {\n dirname = _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.dirname(resource.path);\n if (resource.authority && dirname.length && dirname.charCodeAt(0) !== 47 /* CharCode.Slash */) {\n console.error(`dirname(\"${resource.toString})) resulted in a relative path`);\n dirname = '/'; // If a URI contains an authority component, then the path component must either be empty or begin with a CharCode.Slash (\"/\") character\n }\n }\n return resource.with({\n path: dirname\n });\n }\n normalizePath(resource) {\n if (!resource.path.length) {\n return resource;\n }\n let normalizedPath;\n if (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n normalizedPath = _uri_js__WEBPACK_IMPORTED_MODULE_5__.URI.file(_path_js__WEBPACK_IMPORTED_MODULE_2__.normalize(originalFSPath(resource))).path;\n }\n else {\n normalizedPath = _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.normalize(resource.path);\n }\n return resource.with({\n path: normalizedPath\n });\n }\n relativePath(from, to) {\n if (from.scheme !== to.scheme || !isEqualAuthority(from.authority, to.authority)) {\n return undefined;\n }\n if (from.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n const relativePath = _path_js__WEBPACK_IMPORTED_MODULE_2__.relative(originalFSPath(from), originalFSPath(to));\n return _platform_js__WEBPACK_IMPORTED_MODULE_3__.isWindows ? _extpath_js__WEBPACK_IMPORTED_MODULE_0__.toSlashes(relativePath) : relativePath;\n }\n let fromPath = from.path || '/';\n const toPath = to.path || '/';\n if (this._ignorePathCasing(from)) {\n // make casing of fromPath match toPath\n let i = 0;\n for (const len = Math.min(fromPath.length, toPath.length); i < len; i++) {\n if (fromPath.charCodeAt(i) !== toPath.charCodeAt(i)) {\n if (fromPath.charAt(i).toLowerCase() !== toPath.charAt(i).toLowerCase()) {\n break;\n }\n }\n }\n fromPath = toPath.substr(0, i) + fromPath.substr(i);\n }\n return _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.relative(fromPath, toPath);\n }\n resolvePath(base, path) {\n if (base.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n const newURI = _uri_js__WEBPACK_IMPORTED_MODULE_5__.URI.file(_path_js__WEBPACK_IMPORTED_MODULE_2__.resolve(originalFSPath(base), path));\n return base.with({\n authority: newURI.authority,\n path: newURI.path\n });\n }\n path = _extpath_js__WEBPACK_IMPORTED_MODULE_0__.toPosixPath(path); // we allow path to be a windows path\n return base.with({\n path: _path_js__WEBPACK_IMPORTED_MODULE_2__.posix.resolve(base.path, path)\n });\n }\n // --- misc\n isAbsolutePath(resource) {\n return !!resource.path && resource.path[0] === '/';\n }\n isEqualAuthority(a1, a2) {\n return a1 === a2 || (a1 !== undefined && a2 !== undefined && (0,_strings_js__WEBPACK_IMPORTED_MODULE_4__.equalsIgnoreCase)(a1, a2));\n }\n hasTrailingPathSeparator(resource, sep = _path_js__WEBPACK_IMPORTED_MODULE_2__.sep) {\n if (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n const fsp = originalFSPath(resource);\n return fsp.length > _extpath_js__WEBPACK_IMPORTED_MODULE_0__.getRoot(fsp).length && fsp[fsp.length - 1] === sep;\n }\n else {\n const p = resource.path;\n return (p.length > 1 && p.charCodeAt(p.length - 1) === 47 /* CharCode.Slash */) && !(/^[a-zA-Z]:(\\/$|\\\\$)/.test(resource.fsPath)); // ignore the slash at offset 0\n }\n }\n removeTrailingPathSeparator(resource, sep = _path_js__WEBPACK_IMPORTED_MODULE_2__.sep) {\n // Make sure that the path isn't a drive letter. A trailing separator there is not removable.\n if (hasTrailingPathSeparator(resource, sep)) {\n return resource.with({ path: resource.path.substr(0, resource.path.length - 1) });\n }\n return resource;\n }\n addTrailingPathSeparator(resource, sep = _path_js__WEBPACK_IMPORTED_MODULE_2__.sep) {\n let isRootSep = false;\n if (resource.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file) {\n const fsp = originalFSPath(resource);\n isRootSep = ((fsp !== undefined) && (fsp.length === _extpath_js__WEBPACK_IMPORTED_MODULE_0__.getRoot(fsp).length) && (fsp[fsp.length - 1] === sep));\n }\n else {\n sep = '/';\n const p = resource.path;\n isRootSep = p.length === 1 && p.charCodeAt(p.length - 1) === 47 /* CharCode.Slash */;\n }\n if (!isRootSep && !hasTrailingPathSeparator(resource, sep)) {\n return resource.with({ path: resource.path + '/' });\n }\n return resource;\n }\n}\n/**\n * Unbiased utility that takes uris \"as they are\". This means it can be interchanged with\n * uri#toString() usages. The following is true\n * ```\n * assertEqual(aUri.toString() === bUri.toString(), exturi.isEqual(aUri, bUri))\n * ```\n */\nconst extUri = new ExtUri(() => false);\n/**\n * BIASED utility that _mostly_ ignored the case of urs paths. ONLY use this util if you\n * understand what you are doing.\n *\n * This utility is INCOMPATIBLE with `uri.toString()`-usages and both CANNOT be used interchanged.\n *\n * When dealing with uris from files or documents, `extUri` (the unbiased friend)is sufficient\n * because those uris come from a \"trustworthy source\". When creating unknown uris it's always\n * better to use `IUriIdentityService` which exposes an `IExtUri`-instance which knows when path\n * casing matters.\n */\nconst extUriBiasedIgnorePathCase = new ExtUri(uri => {\n // A file scheme resource is in the same platform as code, so ignore case for non linux platforms\n // Resource can be from another platform. Lowering the case as an hack. Should come from File system provider\n return uri.scheme === _network_js__WEBPACK_IMPORTED_MODULE_1__.Schemas.file ? !_platform_js__WEBPACK_IMPORTED_MODULE_3__.isLinux : true;\n});\n/**\n * BIASED utility that always ignores the casing of uris paths. ONLY use this util if you\n * understand what you are doing.\n *\n * This utility is INCOMPATIBLE with `uri.toString()`-usages and both CANNOT be used interchanged.\n *\n * When dealing with uris from files or documents, `extUri` (the unbiased friend)is sufficient\n * because those uris come from a \"trustworthy source\". When creating unknown uris it's always\n * better to use `IUriIdentityService` which exposes an `IExtUri`-instance which knows when path\n * casing matters.\n */\nconst extUriIgnorePathCase = new ExtUri(_ => true);\nconst isEqual = extUri.isEqual.bind(extUri);\nconst isEqualOrParent = extUri.isEqualOrParent.bind(extUri);\nconst getComparisonKey = extUri.getComparisonKey.bind(extUri);\nconst basenameOrAuthority = extUri.basenameOrAuthority.bind(extUri);\nconst basename = extUri.basename.bind(extUri);\nconst extname = extUri.extname.bind(extUri);\nconst dirname = extUri.dirname.bind(extUri);\nconst joinPath = extUri.joinPath.bind(extUri);\nconst normalizePath = extUri.normalizePath.bind(extUri);\nconst relativePath = extUri.relativePath.bind(extUri);\nconst resolvePath = extUri.resolvePath.bind(extUri);\nconst isAbsolutePath = extUri.isAbsolutePath.bind(extUri);\nconst isEqualAuthority = extUri.isEqualAuthority.bind(extUri);\nconst hasTrailingPathSeparator = extUri.hasTrailingPathSeparator.bind(extUri);\nconst removeTrailingPathSeparator = extUri.removeTrailingPathSeparator.bind(extUri);\nconst addTrailingPathSeparator = extUri.addTrailingPathSeparator.bind(extUri);\n/**\n * Data URI related helpers.\n */\nvar DataUri;\n(function (DataUri) {\n DataUri.META_DATA_LABEL = 'label';\n DataUri.META_DATA_DESCRIPTION = 'description';\n DataUri.META_DATA_SIZE = 'size';\n DataUri.META_DATA_MIME = 'mime';\n function parseMetaData(dataUri) {\n const metadata = new Map();\n // Given a URI of: data:image/png;size:2313;label:SomeLabel;description:SomeDescription;base64,77+9UE5...\n // the metadata is: size:2313;label:SomeLabel;description:SomeDescription\n const meta = dataUri.path.substring(dataUri.path.indexOf(';') + 1, dataUri.path.lastIndexOf(';'));\n meta.split(';').forEach(property => {\n const [key, value] = property.split(':');\n if (key && value) {\n metadata.set(key, value);\n }\n });\n // Given a URI of: data:image/png;size:2313;label:SomeLabel;description:SomeDescription;base64,77+9UE5...\n // the mime is: image/png\n const mime = dataUri.path.substring(0, dataUri.path.indexOf(';'));\n if (mime) {\n metadata.set(DataUri.META_DATA_MIME, mime);\n }\n return metadata;\n }\n DataUri.parseMetaData = parseMetaData;\n})(DataUri || (DataUri = {}));\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/resources.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/scrollable.js": +/*!*********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/scrollable.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 */ ScrollState: () => (/* binding */ ScrollState),\n/* harmony export */ Scrollable: () => (/* binding */ Scrollable),\n/* harmony export */ SmoothScrollingOperation: () => (/* binding */ SmoothScrollingOperation),\n/* harmony export */ SmoothScrollingUpdate: () => (/* binding */ SmoothScrollingUpdate)\n/* harmony export */ });\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./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\nclass ScrollState {\n constructor(_forceIntegerValues, width, scrollWidth, scrollLeft, height, scrollHeight, scrollTop) {\n this._forceIntegerValues = _forceIntegerValues;\n this._scrollStateBrand = undefined;\n if (this._forceIntegerValues) {\n width = width | 0;\n scrollWidth = scrollWidth | 0;\n scrollLeft = scrollLeft | 0;\n height = height | 0;\n scrollHeight = scrollHeight | 0;\n scrollTop = scrollTop | 0;\n }\n this.rawScrollLeft = scrollLeft; // before validation\n this.rawScrollTop = scrollTop; // before validation\n if (width < 0) {\n width = 0;\n }\n if (scrollLeft + width > scrollWidth) {\n scrollLeft = scrollWidth - width;\n }\n if (scrollLeft < 0) {\n scrollLeft = 0;\n }\n if (height < 0) {\n height = 0;\n }\n if (scrollTop + height > scrollHeight) {\n scrollTop = scrollHeight - height;\n }\n if (scrollTop < 0) {\n scrollTop = 0;\n }\n this.width = width;\n this.scrollWidth = scrollWidth;\n this.scrollLeft = scrollLeft;\n this.height = height;\n this.scrollHeight = scrollHeight;\n this.scrollTop = scrollTop;\n }\n equals(other) {\n return (this.rawScrollLeft === other.rawScrollLeft\n && this.rawScrollTop === other.rawScrollTop\n && this.width === other.width\n && this.scrollWidth === other.scrollWidth\n && this.scrollLeft === other.scrollLeft\n && this.height === other.height\n && this.scrollHeight === other.scrollHeight\n && this.scrollTop === other.scrollTop);\n }\n withScrollDimensions(update, useRawScrollPositions) {\n return new ScrollState(this._forceIntegerValues, (typeof update.width !== 'undefined' ? update.width : this.width), (typeof update.scrollWidth !== 'undefined' ? update.scrollWidth : this.scrollWidth), useRawScrollPositions ? this.rawScrollLeft : this.scrollLeft, (typeof update.height !== 'undefined' ? update.height : this.height), (typeof update.scrollHeight !== 'undefined' ? update.scrollHeight : this.scrollHeight), useRawScrollPositions ? this.rawScrollTop : this.scrollTop);\n }\n withScrollPosition(update) {\n return new ScrollState(this._forceIntegerValues, this.width, this.scrollWidth, (typeof update.scrollLeft !== 'undefined' ? update.scrollLeft : this.rawScrollLeft), this.height, this.scrollHeight, (typeof update.scrollTop !== 'undefined' ? update.scrollTop : this.rawScrollTop));\n }\n createScrollEvent(previous, inSmoothScrolling) {\n const widthChanged = (this.width !== previous.width);\n const scrollWidthChanged = (this.scrollWidth !== previous.scrollWidth);\n const scrollLeftChanged = (this.scrollLeft !== previous.scrollLeft);\n const heightChanged = (this.height !== previous.height);\n const scrollHeightChanged = (this.scrollHeight !== previous.scrollHeight);\n const scrollTopChanged = (this.scrollTop !== previous.scrollTop);\n return {\n inSmoothScrolling: inSmoothScrolling,\n oldWidth: previous.width,\n oldScrollWidth: previous.scrollWidth,\n oldScrollLeft: previous.scrollLeft,\n width: this.width,\n scrollWidth: this.scrollWidth,\n scrollLeft: this.scrollLeft,\n oldHeight: previous.height,\n oldScrollHeight: previous.scrollHeight,\n oldScrollTop: previous.scrollTop,\n height: this.height,\n scrollHeight: this.scrollHeight,\n scrollTop: this.scrollTop,\n widthChanged: widthChanged,\n scrollWidthChanged: scrollWidthChanged,\n scrollLeftChanged: scrollLeftChanged,\n heightChanged: heightChanged,\n scrollHeightChanged: scrollHeightChanged,\n scrollTopChanged: scrollTopChanged,\n };\n }\n}\nclass Scrollable extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {\n constructor(options) {\n super();\n this._scrollableBrand = undefined;\n this._onScroll = this._register(new _event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter());\n this.onScroll = this._onScroll.event;\n this._smoothScrollDuration = options.smoothScrollDuration;\n this._scheduleAtNextAnimationFrame = options.scheduleAtNextAnimationFrame;\n this._state = new ScrollState(options.forceIntegerValues, 0, 0, 0, 0, 0, 0);\n this._smoothScrolling = null;\n }\n dispose() {\n if (this._smoothScrolling) {\n this._smoothScrolling.dispose();\n this._smoothScrolling = null;\n }\n super.dispose();\n }\n setSmoothScrollDuration(smoothScrollDuration) {\n this._smoothScrollDuration = smoothScrollDuration;\n }\n validateScrollPosition(scrollPosition) {\n return this._state.withScrollPosition(scrollPosition);\n }\n getScrollDimensions() {\n return this._state;\n }\n setScrollDimensions(dimensions, useRawScrollPositions) {\n var _a;\n const newState = this._state.withScrollDimensions(dimensions, useRawScrollPositions);\n this._setState(newState, Boolean(this._smoothScrolling));\n // Validate outstanding animated scroll position target\n (_a = this._smoothScrolling) === null || _a === void 0 ? void 0 : _a.acceptScrollDimensions(this._state);\n }\n /**\n * Returns the final scroll position that the instance will have once the smooth scroll animation concludes.\n * If no scroll animation is occurring, it will return the current scroll position instead.\n */\n getFutureScrollPosition() {\n if (this._smoothScrolling) {\n return this._smoothScrolling.to;\n }\n return this._state;\n }\n /**\n * Returns the current scroll position.\n * Note: This result might be an intermediate scroll position, as there might be an ongoing smooth scroll animation.\n */\n getCurrentScrollPosition() {\n return this._state;\n }\n setScrollPositionNow(update) {\n // no smooth scrolling requested\n const newState = this._state.withScrollPosition(update);\n // Terminate any outstanding smooth scrolling\n if (this._smoothScrolling) {\n this._smoothScrolling.dispose();\n this._smoothScrolling = null;\n }\n this._setState(newState, false);\n }\n setScrollPositionSmooth(update, reuseAnimation) {\n if (this._smoothScrollDuration === 0) {\n // Smooth scrolling not supported.\n return this.setScrollPositionNow(update);\n }\n if (this._smoothScrolling) {\n // Combine our pending scrollLeft/scrollTop with incoming scrollLeft/scrollTop\n update = {\n scrollLeft: (typeof update.scrollLeft === 'undefined' ? this._smoothScrolling.to.scrollLeft : update.scrollLeft),\n scrollTop: (typeof update.scrollTop === 'undefined' ? this._smoothScrolling.to.scrollTop : update.scrollTop)\n };\n // Validate `update`\n const validTarget = this._state.withScrollPosition(update);\n if (this._smoothScrolling.to.scrollLeft === validTarget.scrollLeft && this._smoothScrolling.to.scrollTop === validTarget.scrollTop) {\n // No need to interrupt or extend the current animation since we're going to the same place\n return;\n }\n let newSmoothScrolling;\n if (reuseAnimation) {\n newSmoothScrolling = new SmoothScrollingOperation(this._smoothScrolling.from, validTarget, this._smoothScrolling.startTime, this._smoothScrolling.duration);\n }\n else {\n newSmoothScrolling = this._smoothScrolling.combine(this._state, validTarget, this._smoothScrollDuration);\n }\n this._smoothScrolling.dispose();\n this._smoothScrolling = newSmoothScrolling;\n }\n else {\n // Validate `update`\n const validTarget = this._state.withScrollPosition(update);\n this._smoothScrolling = SmoothScrollingOperation.start(this._state, validTarget, this._smoothScrollDuration);\n }\n // Begin smooth scrolling animation\n this._smoothScrolling.animationFrameDisposable = this._scheduleAtNextAnimationFrame(() => {\n if (!this._smoothScrolling) {\n return;\n }\n this._smoothScrolling.animationFrameDisposable = null;\n this._performSmoothScrolling();\n });\n }\n hasPendingScrollAnimation() {\n return Boolean(this._smoothScrolling);\n }\n _performSmoothScrolling() {\n if (!this._smoothScrolling) {\n return;\n }\n const update = this._smoothScrolling.tick();\n const newState = this._state.withScrollPosition(update);\n this._setState(newState, true);\n if (!this._smoothScrolling) {\n // Looks like someone canceled the smooth scrolling\n // from the scroll event handler\n return;\n }\n if (update.isDone) {\n this._smoothScrolling.dispose();\n this._smoothScrolling = null;\n return;\n }\n // Continue smooth scrolling animation\n this._smoothScrolling.animationFrameDisposable = this._scheduleAtNextAnimationFrame(() => {\n if (!this._smoothScrolling) {\n return;\n }\n this._smoothScrolling.animationFrameDisposable = null;\n this._performSmoothScrolling();\n });\n }\n _setState(newState, inSmoothScrolling) {\n const oldState = this._state;\n if (oldState.equals(newState)) {\n // no change\n return;\n }\n this._state = newState;\n this._onScroll.fire(this._state.createScrollEvent(oldState, inSmoothScrolling));\n }\n}\nclass SmoothScrollingUpdate {\n constructor(scrollLeft, scrollTop, isDone) {\n this.scrollLeft = scrollLeft;\n this.scrollTop = scrollTop;\n this.isDone = isDone;\n }\n}\nfunction createEaseOutCubic(from, to) {\n const delta = to - from;\n return function (completion) {\n return from + delta * easeOutCubic(completion);\n };\n}\nfunction createComposed(a, b, cut) {\n return function (completion) {\n if (completion < cut) {\n return a(completion / cut);\n }\n return b((completion - cut) / (1 - cut));\n };\n}\nclass SmoothScrollingOperation {\n constructor(from, to, startTime, duration) {\n this.from = from;\n this.to = to;\n this.duration = duration;\n this.startTime = startTime;\n this.animationFrameDisposable = null;\n this._initAnimations();\n }\n _initAnimations() {\n this.scrollLeft = this._initAnimation(this.from.scrollLeft, this.to.scrollLeft, this.to.width);\n this.scrollTop = this._initAnimation(this.from.scrollTop, this.to.scrollTop, this.to.height);\n }\n _initAnimation(from, to, viewportSize) {\n const delta = Math.abs(from - to);\n if (delta > 2.5 * viewportSize) {\n let stop1, stop2;\n if (from < to) {\n // scroll to 75% of the viewportSize\n stop1 = from + 0.75 * viewportSize;\n stop2 = to - 0.75 * viewportSize;\n }\n else {\n stop1 = from - 0.75 * viewportSize;\n stop2 = to + 0.75 * viewportSize;\n }\n return createComposed(createEaseOutCubic(from, stop1), createEaseOutCubic(stop2, to), 0.33);\n }\n return createEaseOutCubic(from, to);\n }\n dispose() {\n if (this.animationFrameDisposable !== null) {\n this.animationFrameDisposable.dispose();\n this.animationFrameDisposable = null;\n }\n }\n acceptScrollDimensions(state) {\n this.to = state.withScrollPosition(this.to);\n this._initAnimations();\n }\n tick() {\n return this._tick(Date.now());\n }\n _tick(now) {\n const completion = (now - this.startTime) / this.duration;\n if (completion < 1) {\n const newScrollLeft = this.scrollLeft(completion);\n const newScrollTop = this.scrollTop(completion);\n return new SmoothScrollingUpdate(newScrollLeft, newScrollTop, false);\n }\n return new SmoothScrollingUpdate(this.to.scrollLeft, this.to.scrollTop, true);\n }\n combine(from, to, duration) {\n return SmoothScrollingOperation.start(from, to, duration);\n }\n static start(from, to, duration) {\n // +10 / -10 : pretend the animation already started for a quicker response to a scroll request\n duration = duration + 10;\n const startTime = Date.now() - 10;\n return new SmoothScrollingOperation(from, to, startTime, duration);\n }\n}\nfunction easeInCubic(t) {\n return Math.pow(t, 3);\n}\nfunction easeOutCubic(t) {\n return 1 - easeInCubic(1 - t);\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/scrollable.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/search.js": +/*!*****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/search.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 */ buildReplaceStringWithCasePreserved: () => (/* binding */ buildReplaceStringWithCasePreserved)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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\nfunction buildReplaceStringWithCasePreserved(matches, pattern) {\n if (matches && (matches[0] !== '')) {\n const containsHyphens = validateSpecificSpecialCharacter(matches, pattern, '-');\n const containsUnderscores = validateSpecificSpecialCharacter(matches, pattern, '_');\n if (containsHyphens && !containsUnderscores) {\n return buildReplaceStringForSpecificSpecialCharacter(matches, pattern, '-');\n }\n else if (!containsHyphens && containsUnderscores) {\n return buildReplaceStringForSpecificSpecialCharacter(matches, pattern, '_');\n }\n if (matches[0].toUpperCase() === matches[0]) {\n return pattern.toUpperCase();\n }\n else if (matches[0].toLowerCase() === matches[0]) {\n return pattern.toLowerCase();\n }\n else if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.containsUppercaseCharacter(matches[0][0]) && pattern.length > 0) {\n return pattern[0].toUpperCase() + pattern.substr(1);\n }\n else if (matches[0][0].toUpperCase() !== matches[0][0] && pattern.length > 0) {\n return pattern[0].toLowerCase() + pattern.substr(1);\n }\n else {\n // we don't understand its pattern yet.\n return pattern;\n }\n }\n else {\n return pattern;\n }\n}\nfunction validateSpecificSpecialCharacter(matches, pattern, specialCharacter) {\n const doesContainSpecialCharacter = matches[0].indexOf(specialCharacter) !== -1 && pattern.indexOf(specialCharacter) !== -1;\n return doesContainSpecialCharacter && matches[0].split(specialCharacter).length === pattern.split(specialCharacter).length;\n}\nfunction buildReplaceStringForSpecificSpecialCharacter(matches, pattern, specialCharacter) {\n const splitPatternAtSpecialCharacter = pattern.split(specialCharacter);\n const splitMatchAtSpecialCharacter = matches[0].split(specialCharacter);\n let replaceString = '';\n splitPatternAtSpecialCharacter.forEach((splitValue, index) => {\n replaceString += buildReplaceStringWithCasePreserved([splitMatchAtSpecialCharacter[index]], splitValue) + specialCharacter;\n });\n return replaceString.slice(0, -1);\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/search.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/severity.js": +/*!*******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/severity.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 */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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\nvar Severity;\n(function (Severity) {\n Severity[Severity[\"Ignore\"] = 0] = \"Ignore\";\n Severity[Severity[\"Info\"] = 1] = \"Info\";\n Severity[Severity[\"Warning\"] = 2] = \"Warning\";\n Severity[Severity[\"Error\"] = 3] = \"Error\";\n})(Severity || (Severity = {}));\n(function (Severity) {\n const _error = 'error';\n const _warning = 'warning';\n const _warn = 'warn';\n const _info = 'info';\n const _ignore = 'ignore';\n /**\n * Parses 'error', 'warning', 'warn', 'info' in call casings\n * and falls back to ignore.\n */\n function fromValue(value) {\n if (!value) {\n return Severity.Ignore;\n }\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_error, value)) {\n return Severity.Error;\n }\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_warning, value) || _strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_warn, value)) {\n return Severity.Warning;\n }\n if (_strings_js__WEBPACK_IMPORTED_MODULE_0__.equalsIgnoreCase(_info, value)) {\n return Severity.Info;\n }\n return Severity.Ignore;\n }\n Severity.fromValue = fromValue;\n function toString(severity) {\n switch (severity) {\n case Severity.Error: return _error;\n case Severity.Warning: return _warning;\n case Severity.Info: return _info;\n default: return _ignore;\n }\n }\n Severity.toString = toString;\n})(Severity || (Severity = {}));\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Severity);\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/severity.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js": +/*!********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/stopwatch.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 */ StopWatch: () => (/* binding */ StopWatch)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nconst hasPerformanceNow = (globalThis.performance && typeof globalThis.performance.now === 'function');\nclass StopWatch {\n static create(highResolution) {\n return new StopWatch(highResolution);\n }\n constructor(highResolution) {\n this._now = hasPerformanceNow && highResolution === false ? Date.now : globalThis.performance.now.bind(globalThis.performance);\n this._startTime = this._now();\n this._stopTime = -1;\n }\n stop() {\n this._stopTime = this._now();\n }\n elapsed() {\n if (this._stopTime !== -1) {\n return this._stopTime - this._startTime;\n }\n return this._now() - this._startTime;\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/stopwatch.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/strings.js": +/*!******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/strings.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 */ AmbiguousCharacters: () => (/* binding */ AmbiguousCharacters),\n/* harmony export */ CodePointIterator: () => (/* binding */ CodePointIterator),\n/* harmony export */ GraphemeIterator: () => (/* binding */ GraphemeIterator),\n/* harmony export */ InvisibleCharacters: () => (/* binding */ InvisibleCharacters),\n/* harmony export */ UNUSUAL_LINE_TERMINATORS: () => (/* binding */ UNUSUAL_LINE_TERMINATORS),\n/* harmony export */ UTF8_BOM_CHARACTER: () => (/* binding */ UTF8_BOM_CHARACTER),\n/* harmony export */ commonPrefixLength: () => (/* binding */ commonPrefixLength),\n/* harmony export */ commonSuffixLength: () => (/* binding */ commonSuffixLength),\n/* harmony export */ compare: () => (/* binding */ compare),\n/* harmony export */ compareIgnoreCase: () => (/* binding */ compareIgnoreCase),\n/* harmony export */ compareSubstring: () => (/* binding */ compareSubstring),\n/* harmony export */ compareSubstringIgnoreCase: () => (/* binding */ compareSubstringIgnoreCase),\n/* harmony export */ computeCodePoint: () => (/* binding */ computeCodePoint),\n/* harmony export */ containsRTL: () => (/* binding */ containsRTL),\n/* harmony export */ containsUnusualLineTerminators: () => (/* binding */ containsUnusualLineTerminators),\n/* harmony export */ containsUppercaseCharacter: () => (/* binding */ containsUppercaseCharacter),\n/* harmony export */ convertSimple2RegExpPattern: () => (/* binding */ convertSimple2RegExpPattern),\n/* harmony export */ createRegExp: () => (/* binding */ createRegExp),\n/* harmony export */ equalsIgnoreCase: () => (/* binding */ equalsIgnoreCase),\n/* harmony export */ escape: () => (/* binding */ escape),\n/* harmony export */ escapeRegExpCharacters: () => (/* binding */ escapeRegExpCharacters),\n/* harmony export */ firstNonWhitespaceIndex: () => (/* binding */ firstNonWhitespaceIndex),\n/* harmony export */ format: () => (/* binding */ format),\n/* harmony export */ getCharContainingOffset: () => (/* binding */ getCharContainingOffset),\n/* harmony export */ getLeadingWhitespace: () => (/* binding */ getLeadingWhitespace),\n/* harmony export */ getLeftDeleteOffset: () => (/* binding */ getLeftDeleteOffset),\n/* harmony export */ getNextCodePoint: () => (/* binding */ getNextCodePoint),\n/* harmony export */ isAsciiDigit: () => (/* binding */ isAsciiDigit),\n/* harmony export */ isBasicASCII: () => (/* binding */ isBasicASCII),\n/* harmony export */ isEmojiImprecise: () => (/* binding */ isEmojiImprecise),\n/* harmony export */ isFalsyOrWhitespace: () => (/* binding */ isFalsyOrWhitespace),\n/* harmony export */ isFullWidthCharacter: () => (/* binding */ isFullWidthCharacter),\n/* harmony export */ isHighSurrogate: () => (/* binding */ isHighSurrogate),\n/* harmony export */ isLowSurrogate: () => (/* binding */ isLowSurrogate),\n/* harmony export */ isLowerAsciiLetter: () => (/* binding */ isLowerAsciiLetter),\n/* harmony export */ isUpperAsciiLetter: () => (/* binding */ isUpperAsciiLetter),\n/* harmony export */ lastNonWhitespaceIndex: () => (/* binding */ lastNonWhitespaceIndex),\n/* harmony export */ ltrim: () => (/* binding */ ltrim),\n/* harmony export */ nextCharLength: () => (/* binding */ nextCharLength),\n/* harmony export */ noBreakWhitespace: () => (/* binding */ noBreakWhitespace),\n/* harmony export */ prevCharLength: () => (/* binding */ prevCharLength),\n/* harmony export */ regExpFlags: () => (/* binding */ regExpFlags),\n/* harmony export */ regExpLeadsToEndlessLoop: () => (/* binding */ regExpLeadsToEndlessLoop),\n/* harmony export */ rtrim: () => (/* binding */ rtrim),\n/* harmony export */ singleLetterHash: () => (/* binding */ singleLetterHash),\n/* harmony export */ splitLines: () => (/* binding */ splitLines),\n/* harmony export */ startsWithIgnoreCase: () => (/* binding */ startsWithIgnoreCase),\n/* harmony export */ startsWithUTF8BOM: () => (/* binding */ startsWithUTF8BOM),\n/* harmony export */ stripWildcards: () => (/* binding */ stripWildcards),\n/* harmony export */ trim: () => (/* binding */ trim)\n/* harmony export */ });\n/* harmony import */ var _cache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cache.js */ \"./node_modules/monaco-editor/esm/vs/base/common/cache.js\");\n/* harmony import */ var _lazy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lazy.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lazy.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 *--------------------------------------------------------------------------------------------*/\nvar _a;\n\n\nfunction isFalsyOrWhitespace(str) {\n if (!str || typeof str !== 'string') {\n return true;\n }\n return str.trim().length === 0;\n}\nconst _formatRegexp = /{(\\d+)}/g;\n/**\n * Helper to produce a string with a variable number of arguments. Insert variable segments\n * into the string using the {n} notation where N is the index of the argument following the string.\n * @param value string to which formatting is applied\n * @param args replacements for {n}-entries\n */\nfunction format(value, ...args) {\n if (args.length === 0) {\n return value;\n }\n return value.replace(_formatRegexp, function (match, group) {\n const idx = parseInt(group, 10);\n return isNaN(idx) || idx < 0 || idx >= args.length ?\n match :\n args[idx];\n });\n}\n/**\n * Converts HTML characters inside the string to use entities instead. Makes the string safe from\n * being used e.g. in HTMLElement.innerHTML.\n */\nfunction escape(html) {\n return html.replace(/[<>&]/g, function (match) {\n switch (match) {\n case '<': return '<';\n case '>': return '>';\n case '&': return '&';\n default: return match;\n }\n });\n}\n/**\n * Escapes regular expression characters in a given string\n */\nfunction escapeRegExpCharacters(value) {\n return value.replace(/[\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\[\\]\\(\\)]/g, '\\\\$&');\n}\n/**\n * Removes all occurrences of needle from the beginning and end of haystack.\n * @param haystack string to trim\n * @param needle the thing to trim (default is a blank)\n */\nfunction trim(haystack, needle = ' ') {\n const trimmed = ltrim(haystack, needle);\n return rtrim(trimmed, needle);\n}\n/**\n * Removes all occurrences of needle from the beginning of haystack.\n * @param haystack string to trim\n * @param needle the thing to trim\n */\nfunction ltrim(haystack, needle) {\n if (!haystack || !needle) {\n return haystack;\n }\n const needleLen = needle.length;\n if (needleLen === 0 || haystack.length === 0) {\n return haystack;\n }\n let offset = 0;\n while (haystack.indexOf(needle, offset) === offset) {\n offset = offset + needleLen;\n }\n return haystack.substring(offset);\n}\n/**\n * Removes all occurrences of needle from the end of haystack.\n * @param haystack string to trim\n * @param needle the thing to trim\n */\nfunction rtrim(haystack, needle) {\n if (!haystack || !needle) {\n return haystack;\n }\n const needleLen = needle.length, haystackLen = haystack.length;\n if (needleLen === 0 || haystackLen === 0) {\n return haystack;\n }\n let offset = haystackLen, idx = -1;\n while (true) {\n idx = haystack.lastIndexOf(needle, offset - 1);\n if (idx === -1 || idx + needleLen !== offset) {\n break;\n }\n if (idx === 0) {\n return '';\n }\n offset = idx;\n }\n return haystack.substring(0, offset);\n}\nfunction convertSimple2RegExpPattern(pattern) {\n return pattern.replace(/[\\-\\\\\\{\\}\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, '\\\\$&').replace(/[\\*]/g, '.*');\n}\nfunction stripWildcards(pattern) {\n return pattern.replace(/\\*/g, '');\n}\nfunction createRegExp(searchString, isRegex, options = {}) {\n if (!searchString) {\n throw new Error('Cannot create regex from empty string');\n }\n if (!isRegex) {\n searchString = escapeRegExpCharacters(searchString);\n }\n if (options.wholeWord) {\n if (!/\\B/.test(searchString.charAt(0))) {\n searchString = '\\\\b' + searchString;\n }\n if (!/\\B/.test(searchString.charAt(searchString.length - 1))) {\n searchString = searchString + '\\\\b';\n }\n }\n let modifiers = '';\n if (options.global) {\n modifiers += 'g';\n }\n if (!options.matchCase) {\n modifiers += 'i';\n }\n if (options.multiline) {\n modifiers += 'm';\n }\n if (options.unicode) {\n modifiers += 'u';\n }\n return new RegExp(searchString, modifiers);\n}\nfunction regExpLeadsToEndlessLoop(regexp) {\n // Exit early if it's one of these special cases which are meant to match\n // against an empty string\n if (regexp.source === '^' || regexp.source === '^$' || regexp.source === '$' || regexp.source === '^\\\\s*$') {\n return false;\n }\n // We check against an empty string. If the regular expression doesn't advance\n // (e.g. ends in an endless loop) it will match an empty string.\n const match = regexp.exec('');\n return !!(match && regexp.lastIndex === 0);\n}\nfunction regExpFlags(regexp) {\n return (regexp.global ? 'g' : '')\n + (regexp.ignoreCase ? 'i' : '')\n + (regexp.multiline ? 'm' : '')\n + (regexp /* standalone editor compilation */.unicode ? 'u' : '');\n}\nfunction splitLines(str) {\n return str.split(/\\r\\n|\\r|\\n/);\n}\n/**\n * Returns first index of the string that is not whitespace.\n * If string is empty or contains only whitespaces, returns -1\n */\nfunction firstNonWhitespaceIndex(str) {\n for (let i = 0, len = str.length; i < len; i++) {\n const chCode = str.charCodeAt(i);\n if (chCode !== 32 /* CharCode.Space */ && chCode !== 9 /* CharCode.Tab */) {\n return i;\n }\n }\n return -1;\n}\n/**\n * Returns the leading whitespace of the string.\n * If the string contains only whitespaces, returns entire string\n */\nfunction getLeadingWhitespace(str, start = 0, end = str.length) {\n for (let i = start; i < end; i++) {\n const chCode = str.charCodeAt(i);\n if (chCode !== 32 /* CharCode.Space */ && chCode !== 9 /* CharCode.Tab */) {\n return str.substring(start, i);\n }\n }\n return str.substring(start, end);\n}\n/**\n * Returns last index of the string that is not whitespace.\n * If string is empty or contains only whitespaces, returns -1\n */\nfunction lastNonWhitespaceIndex(str, startIndex = str.length - 1) {\n for (let i = startIndex; i >= 0; i--) {\n const chCode = str.charCodeAt(i);\n if (chCode !== 32 /* CharCode.Space */ && chCode !== 9 /* CharCode.Tab */) {\n return i;\n }\n }\n return -1;\n}\nfunction compare(a, b) {\n if (a < b) {\n return -1;\n }\n else if (a > b) {\n return 1;\n }\n else {\n return 0;\n }\n}\nfunction compareSubstring(a, b, aStart = 0, aEnd = a.length, bStart = 0, bEnd = b.length) {\n for (; aStart < aEnd && bStart < bEnd; aStart++, bStart++) {\n const codeA = a.charCodeAt(aStart);\n const codeB = b.charCodeAt(bStart);\n if (codeA < codeB) {\n return -1;\n }\n else if (codeA > codeB) {\n return 1;\n }\n }\n const aLen = aEnd - aStart;\n const bLen = bEnd - bStart;\n if (aLen < bLen) {\n return -1;\n }\n else if (aLen > bLen) {\n return 1;\n }\n return 0;\n}\nfunction compareIgnoreCase(a, b) {\n return compareSubstringIgnoreCase(a, b, 0, a.length, 0, b.length);\n}\nfunction compareSubstringIgnoreCase(a, b, aStart = 0, aEnd = a.length, bStart = 0, bEnd = b.length) {\n for (; aStart < aEnd && bStart < bEnd; aStart++, bStart++) {\n let codeA = a.charCodeAt(aStart);\n let codeB = b.charCodeAt(bStart);\n if (codeA === codeB) {\n // equal\n continue;\n }\n if (codeA >= 128 || codeB >= 128) {\n // not ASCII letters -> fallback to lower-casing strings\n return compareSubstring(a.toLowerCase(), b.toLowerCase(), aStart, aEnd, bStart, bEnd);\n }\n // mapper lower-case ascii letter onto upper-case varinats\n // [97-122] (lower ascii) --> [65-90] (upper ascii)\n if (isLowerAsciiLetter(codeA)) {\n codeA -= 32;\n }\n if (isLowerAsciiLetter(codeB)) {\n codeB -= 32;\n }\n // compare both code points\n const diff = codeA - codeB;\n if (diff === 0) {\n continue;\n }\n return diff;\n }\n const aLen = aEnd - aStart;\n const bLen = bEnd - bStart;\n if (aLen < bLen) {\n return -1;\n }\n else if (aLen > bLen) {\n return 1;\n }\n return 0;\n}\nfunction isAsciiDigit(code) {\n return code >= 48 /* CharCode.Digit0 */ && code <= 57 /* CharCode.Digit9 */;\n}\nfunction isLowerAsciiLetter(code) {\n return code >= 97 /* CharCode.a */ && code <= 122 /* CharCode.z */;\n}\nfunction isUpperAsciiLetter(code) {\n return code >= 65 /* CharCode.A */ && code <= 90 /* CharCode.Z */;\n}\nfunction equalsIgnoreCase(a, b) {\n return a.length === b.length && compareSubstringIgnoreCase(a, b) === 0;\n}\nfunction startsWithIgnoreCase(str, candidate) {\n const candidateLength = candidate.length;\n if (candidate.length > str.length) {\n return false;\n }\n return compareSubstringIgnoreCase(str, candidate, 0, candidateLength) === 0;\n}\n/**\n * @returns the length of the common prefix of the two strings.\n */\nfunction commonPrefixLength(a, b) {\n const len = Math.min(a.length, b.length);\n let i;\n for (i = 0; i < len; i++) {\n if (a.charCodeAt(i) !== b.charCodeAt(i)) {\n return i;\n }\n }\n return len;\n}\n/**\n * @returns the length of the common suffix of the two strings.\n */\nfunction commonSuffixLength(a, b) {\n const len = Math.min(a.length, b.length);\n let i;\n const aLastIndex = a.length - 1;\n const bLastIndex = b.length - 1;\n for (i = 0; i < len; i++) {\n if (a.charCodeAt(aLastIndex - i) !== b.charCodeAt(bLastIndex - i)) {\n return i;\n }\n }\n return len;\n}\n/**\n * See http://en.wikipedia.org/wiki/Surrogate_pair\n */\nfunction isHighSurrogate(charCode) {\n return (0xD800 <= charCode && charCode <= 0xDBFF);\n}\n/**\n * See http://en.wikipedia.org/wiki/Surrogate_pair\n */\nfunction isLowSurrogate(charCode) {\n return (0xDC00 <= charCode && charCode <= 0xDFFF);\n}\n/**\n * See http://en.wikipedia.org/wiki/Surrogate_pair\n */\nfunction computeCodePoint(highSurrogate, lowSurrogate) {\n return ((highSurrogate - 0xD800) << 10) + (lowSurrogate - 0xDC00) + 0x10000;\n}\n/**\n * get the code point that begins at offset `offset`\n */\nfunction getNextCodePoint(str, len, offset) {\n const charCode = str.charCodeAt(offset);\n if (isHighSurrogate(charCode) && offset + 1 < len) {\n const nextCharCode = str.charCodeAt(offset + 1);\n if (isLowSurrogate(nextCharCode)) {\n return computeCodePoint(charCode, nextCharCode);\n }\n }\n return charCode;\n}\n/**\n * get the code point that ends right before offset `offset`\n */\nfunction getPrevCodePoint(str, offset) {\n const charCode = str.charCodeAt(offset - 1);\n if (isLowSurrogate(charCode) && offset > 1) {\n const prevCharCode = str.charCodeAt(offset - 2);\n if (isHighSurrogate(prevCharCode)) {\n return computeCodePoint(prevCharCode, charCode);\n }\n }\n return charCode;\n}\nclass CodePointIterator {\n get offset() {\n return this._offset;\n }\n constructor(str, offset = 0) {\n this._str = str;\n this._len = str.length;\n this._offset = offset;\n }\n setOffset(offset) {\n this._offset = offset;\n }\n prevCodePoint() {\n const codePoint = getPrevCodePoint(this._str, this._offset);\n this._offset -= (codePoint >= 65536 /* Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\n return codePoint;\n }\n nextCodePoint() {\n const codePoint = getNextCodePoint(this._str, this._len, this._offset);\n this._offset += (codePoint >= 65536 /* Constants.UNICODE_SUPPLEMENTARY_PLANE_BEGIN */ ? 2 : 1);\n return codePoint;\n }\n eol() {\n return (this._offset >= this._len);\n }\n}\nclass GraphemeIterator {\n get offset() {\n return this._iterator.offset;\n }\n constructor(str, offset = 0) {\n this._iterator = new CodePointIterator(str, offset);\n }\n nextGraphemeLength() {\n const graphemeBreakTree = GraphemeBreakTree.getInstance();\n const iterator = this._iterator;\n const initialOffset = iterator.offset;\n let graphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.nextCodePoint());\n while (!iterator.eol()) {\n const offset = iterator.offset;\n const nextGraphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.nextCodePoint());\n if (breakBetweenGraphemeBreakType(graphemeBreakType, nextGraphemeBreakType)) {\n // move iterator back\n iterator.setOffset(offset);\n break;\n }\n graphemeBreakType = nextGraphemeBreakType;\n }\n return (iterator.offset - initialOffset);\n }\n prevGraphemeLength() {\n const graphemeBreakTree = GraphemeBreakTree.getInstance();\n const iterator = this._iterator;\n const initialOffset = iterator.offset;\n let graphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.prevCodePoint());\n while (iterator.offset > 0) {\n const offset = iterator.offset;\n const prevGraphemeBreakType = graphemeBreakTree.getGraphemeBreakType(iterator.prevCodePoint());\n if (breakBetweenGraphemeBreakType(prevGraphemeBreakType, graphemeBreakType)) {\n // move iterator back\n iterator.setOffset(offset);\n break;\n }\n graphemeBreakType = prevGraphemeBreakType;\n }\n return (initialOffset - iterator.offset);\n }\n eol() {\n return this._iterator.eol();\n }\n}\nfunction nextCharLength(str, initialOffset) {\n const iterator = new GraphemeIterator(str, initialOffset);\n return iterator.nextGraphemeLength();\n}\nfunction prevCharLength(str, initialOffset) {\n const iterator = new GraphemeIterator(str, initialOffset);\n return iterator.prevGraphemeLength();\n}\nfunction getCharContainingOffset(str, offset) {\n if (offset > 0 && isLowSurrogate(str.charCodeAt(offset))) {\n offset--;\n }\n const endOffset = offset + nextCharLength(str, offset);\n const startOffset = endOffset - prevCharLength(str, endOffset);\n return [startOffset, endOffset];\n}\nlet CONTAINS_RTL = undefined;\nfunction makeContainsRtl() {\n // Generated using https://github.com/alexdima/unicode-utils/blob/main/rtl-test.js\n return /(?:[\\u05BE\\u05C0\\u05C3\\u05C6\\u05D0-\\u05F4\\u0608\\u060B\\u060D\\u061B-\\u064A\\u066D-\\u066F\\u0671-\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1-\\u07EA\\u07F4\\u07F5\\u07FA\\u07FE-\\u0815\\u081A\\u0824\\u0828\\u0830-\\u0858\\u085E-\\u088E\\u08A0-\\u08C9\\u200F\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFD3D\\uFD50-\\uFDC7\\uFDF0-\\uFDFC\\uFE70-\\uFEFC]|\\uD802[\\uDC00-\\uDD1B\\uDD20-\\uDE00\\uDE10-\\uDE35\\uDE40-\\uDEE4\\uDEEB-\\uDF35\\uDF40-\\uDFFF]|\\uD803[\\uDC00-\\uDD23\\uDE80-\\uDEA9\\uDEAD-\\uDF45\\uDF51-\\uDF81\\uDF86-\\uDFF6]|\\uD83A[\\uDC00-\\uDCCF\\uDD00-\\uDD43\\uDD4B-\\uDFFF]|\\uD83B[\\uDC00-\\uDEBB])/;\n}\n/**\n * Returns true if `str` contains any Unicode character that is classified as \"R\" or \"AL\".\n */\nfunction containsRTL(str) {\n if (!CONTAINS_RTL) {\n CONTAINS_RTL = makeContainsRtl();\n }\n return CONTAINS_RTL.test(str);\n}\nconst IS_BASIC_ASCII = /^[\\t\\n\\r\\x20-\\x7E]*$/;\n/**\n * Returns true if `str` contains only basic ASCII characters in the range 32 - 126 (including 32 and 126) or \\n, \\r, \\t\n */\nfunction isBasicASCII(str) {\n return IS_BASIC_ASCII.test(str);\n}\nconst UNUSUAL_LINE_TERMINATORS = /[\\u2028\\u2029]/; // LINE SEPARATOR (LS) or PARAGRAPH SEPARATOR (PS)\n/**\n * Returns true if `str` contains unusual line terminators, like LS or PS\n */\nfunction containsUnusualLineTerminators(str) {\n return UNUSUAL_LINE_TERMINATORS.test(str);\n}\nfunction isFullWidthCharacter(charCode) {\n // Do a cheap trick to better support wrapping of wide characters, treat them as 2 columns\n // http://jrgraphix.net/research/unicode_blocks.php\n // 2E80 - 2EFF CJK Radicals Supplement\n // 2F00 - 2FDF Kangxi Radicals\n // 2FF0 - 2FFF Ideographic Description Characters\n // 3000 - 303F CJK Symbols and Punctuation\n // 3040 - 309F Hiragana\n // 30A0 - 30FF Katakana\n // 3100 - 312F Bopomofo\n // 3130 - 318F Hangul Compatibility Jamo\n // 3190 - 319F Kanbun\n // 31A0 - 31BF Bopomofo Extended\n // 31F0 - 31FF Katakana Phonetic Extensions\n // 3200 - 32FF Enclosed CJK Letters and Months\n // 3300 - 33FF CJK Compatibility\n // 3400 - 4DBF CJK Unified Ideographs Extension A\n // 4DC0 - 4DFF Yijing Hexagram Symbols\n // 4E00 - 9FFF CJK Unified Ideographs\n // A000 - A48F Yi Syllables\n // A490 - A4CF Yi Radicals\n // AC00 - D7AF Hangul Syllables\n // [IGNORE] D800 - DB7F High Surrogates\n // [IGNORE] DB80 - DBFF High Private Use Surrogates\n // [IGNORE] DC00 - DFFF Low Surrogates\n // [IGNORE] E000 - F8FF Private Use Area\n // F900 - FAFF CJK Compatibility Ideographs\n // [IGNORE] FB00 - FB4F Alphabetic Presentation Forms\n // [IGNORE] FB50 - FDFF Arabic Presentation Forms-A\n // [IGNORE] FE00 - FE0F Variation Selectors\n // [IGNORE] FE20 - FE2F Combining Half Marks\n // [IGNORE] FE30 - FE4F CJK Compatibility Forms\n // [IGNORE] FE50 - FE6F Small Form Variants\n // [IGNORE] FE70 - FEFF Arabic Presentation Forms-B\n // FF00 - FFEF Halfwidth and Fullwidth Forms\n // [https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms]\n // of which FF01 - FF5E fullwidth ASCII of 21 to 7E\n // [IGNORE] and FF65 - FFDC halfwidth of Katakana and Hangul\n // [IGNORE] FFF0 - FFFF Specials\n return ((charCode >= 0x2E80 && charCode <= 0xD7AF)\n || (charCode >= 0xF900 && charCode <= 0xFAFF)\n || (charCode >= 0xFF01 && charCode <= 0xFF5E));\n}\n/**\n * A fast function (therefore imprecise) to check if code points are emojis.\n * Generated using https://github.com/alexdima/unicode-utils/blob/main/emoji-test.js\n */\nfunction isEmojiImprecise(x) {\n return ((x >= 0x1F1E6 && x <= 0x1F1FF) || (x === 8986) || (x === 8987) || (x === 9200)\n || (x === 9203) || (x >= 9728 && x <= 10175) || (x === 11088) || (x === 11093)\n || (x >= 127744 && x <= 128591) || (x >= 128640 && x <= 128764)\n || (x >= 128992 && x <= 129008) || (x >= 129280 && x <= 129535)\n || (x >= 129648 && x <= 129782));\n}\n// -- UTF-8 BOM\nconst UTF8_BOM_CHARACTER = String.fromCharCode(65279 /* CharCode.UTF8_BOM */);\nfunction startsWithUTF8BOM(str) {\n return !!(str && str.length > 0 && str.charCodeAt(0) === 65279 /* CharCode.UTF8_BOM */);\n}\nfunction containsUppercaseCharacter(target, ignoreEscapedChars = false) {\n if (!target) {\n return false;\n }\n if (ignoreEscapedChars) {\n target = target.replace(/\\\\./g, '');\n }\n return target.toLowerCase() !== target;\n}\n/**\n * Produces 'a'-'z', followed by 'A'-'Z'... followed by 'a'-'z', etc.\n */\nfunction singleLetterHash(n) {\n const LETTERS_CNT = (90 /* CharCode.Z */ - 65 /* CharCode.A */ + 1);\n n = n % (2 * LETTERS_CNT);\n if (n < LETTERS_CNT) {\n return String.fromCharCode(97 /* CharCode.a */ + n);\n }\n return String.fromCharCode(65 /* CharCode.A */ + n - LETTERS_CNT);\n}\nfunction breakBetweenGraphemeBreakType(breakTypeA, breakTypeB) {\n // http://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundary_Rules\n // !!! Let's make the common case a bit faster\n if (breakTypeA === 0 /* GraphemeBreakType.Other */) {\n // see https://www.unicode.org/Public/13.0.0/ucd/auxiliary/GraphemeBreakTest-13.0.0d10.html#table\n return (breakTypeB !== 5 /* GraphemeBreakType.Extend */ && breakTypeB !== 7 /* GraphemeBreakType.SpacingMark */);\n }\n // Do not break between a CR and LF. Otherwise, break before and after controls.\n // GB3 CR × LF\n // GB4 (Control | CR | LF) ÷\n // GB5 ÷ (Control | CR | LF)\n if (breakTypeA === 2 /* GraphemeBreakType.CR */) {\n if (breakTypeB === 3 /* GraphemeBreakType.LF */) {\n return false; // GB3\n }\n }\n if (breakTypeA === 4 /* GraphemeBreakType.Control */ || breakTypeA === 2 /* GraphemeBreakType.CR */ || breakTypeA === 3 /* GraphemeBreakType.LF */) {\n return true; // GB4\n }\n if (breakTypeB === 4 /* GraphemeBreakType.Control */ || breakTypeB === 2 /* GraphemeBreakType.CR */ || breakTypeB === 3 /* GraphemeBreakType.LF */) {\n return true; // GB5\n }\n // Do not break Hangul syllable sequences.\n // GB6 L × (L | V | LV | LVT)\n // GB7 (LV | V) × (V | T)\n // GB8 (LVT | T) × T\n if (breakTypeA === 8 /* GraphemeBreakType.L */) {\n if (breakTypeB === 8 /* GraphemeBreakType.L */ || breakTypeB === 9 /* GraphemeBreakType.V */ || breakTypeB === 11 /* GraphemeBreakType.LV */ || breakTypeB === 12 /* GraphemeBreakType.LVT */) {\n return false; // GB6\n }\n }\n if (breakTypeA === 11 /* GraphemeBreakType.LV */ || breakTypeA === 9 /* GraphemeBreakType.V */) {\n if (breakTypeB === 9 /* GraphemeBreakType.V */ || breakTypeB === 10 /* GraphemeBreakType.T */) {\n return false; // GB7\n }\n }\n if (breakTypeA === 12 /* GraphemeBreakType.LVT */ || breakTypeA === 10 /* GraphemeBreakType.T */) {\n if (breakTypeB === 10 /* GraphemeBreakType.T */) {\n return false; // GB8\n }\n }\n // Do not break before extending characters or ZWJ.\n // GB9 × (Extend | ZWJ)\n if (breakTypeB === 5 /* GraphemeBreakType.Extend */ || breakTypeB === 13 /* GraphemeBreakType.ZWJ */) {\n return false; // GB9\n }\n // The GB9a and GB9b rules only apply to extended grapheme clusters:\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a × SpacingMark\n // GB9b Prepend ×\n if (breakTypeB === 7 /* GraphemeBreakType.SpacingMark */) {\n return false; // GB9a\n }\n if (breakTypeA === 1 /* GraphemeBreakType.Prepend */) {\n return false; // GB9b\n }\n // Do not break within emoji modifier sequences or emoji zwj sequences.\n // GB11 \\p{Extended_Pictographic} Extend* ZWJ × \\p{Extended_Pictographic}\n if (breakTypeA === 13 /* GraphemeBreakType.ZWJ */ && breakTypeB === 14 /* GraphemeBreakType.Extended_Pictographic */) {\n // Note: we are not implementing the rule entirely here to avoid introducing states\n return false; // GB11\n }\n // GB12 sot (RI RI)* RI × RI\n // GB13 [^RI] (RI RI)* RI × RI\n if (breakTypeA === 6 /* GraphemeBreakType.Regional_Indicator */ && breakTypeB === 6 /* GraphemeBreakType.Regional_Indicator */) {\n // Note: we are not implementing the rule entirely here to avoid introducing states\n return false; // GB12 & GB13\n }\n // GB999 Any ÷ Any\n return true;\n}\nclass GraphemeBreakTree {\n static getInstance() {\n if (!GraphemeBreakTree._INSTANCE) {\n GraphemeBreakTree._INSTANCE = new GraphemeBreakTree();\n }\n return GraphemeBreakTree._INSTANCE;\n }\n constructor() {\n this._data = getGraphemeBreakRawData();\n }\n getGraphemeBreakType(codePoint) {\n // !!! Let's make 7bit ASCII a bit faster: 0..31\n if (codePoint < 32) {\n if (codePoint === 10 /* CharCode.LineFeed */) {\n return 3 /* GraphemeBreakType.LF */;\n }\n if (codePoint === 13 /* CharCode.CarriageReturn */) {\n return 2 /* GraphemeBreakType.CR */;\n }\n return 4 /* GraphemeBreakType.Control */;\n }\n // !!! Let's make 7bit ASCII a bit faster: 32..126\n if (codePoint < 127) {\n return 0 /* GraphemeBreakType.Other */;\n }\n const data = this._data;\n const nodeCount = data.length / 3;\n let nodeIndex = 1;\n while (nodeIndex <= nodeCount) {\n if (codePoint < data[3 * nodeIndex]) {\n // go left\n nodeIndex = 2 * nodeIndex;\n }\n else if (codePoint > data[3 * nodeIndex + 1]) {\n // go right\n nodeIndex = 2 * nodeIndex + 1;\n }\n else {\n // hit\n return data[3 * nodeIndex + 2];\n }\n }\n return 0 /* GraphemeBreakType.Other */;\n }\n}\nGraphemeBreakTree._INSTANCE = null;\nfunction getGraphemeBreakRawData() {\n // generated using https://github.com/alexdima/unicode-utils/blob/main/grapheme-break.js\n return JSON.parse('[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]');\n}\n//#endregion\n/**\n * Computes the offset after performing a left delete on the given string,\n * while considering unicode grapheme/emoji rules.\n*/\nfunction getLeftDeleteOffset(offset, str) {\n if (offset === 0) {\n return 0;\n }\n // Try to delete emoji part.\n const emojiOffset = getOffsetBeforeLastEmojiComponent(offset, str);\n if (emojiOffset !== undefined) {\n return emojiOffset;\n }\n // Otherwise, just skip a single code point.\n const iterator = new CodePointIterator(str, offset);\n iterator.prevCodePoint();\n return iterator.offset;\n}\nfunction getOffsetBeforeLastEmojiComponent(initialOffset, str) {\n // See https://www.unicode.org/reports/tr51/tr51-14.html#EBNF_and_Regex for the\n // structure of emojis.\n const iterator = new CodePointIterator(str, initialOffset);\n let codePoint = iterator.prevCodePoint();\n // Skip modifiers\n while ((isEmojiModifier(codePoint) || codePoint === 65039 /* CodePoint.emojiVariantSelector */ || codePoint === 8419 /* CodePoint.enclosingKeyCap */)) {\n if (iterator.offset === 0) {\n // Cannot skip modifier, no preceding emoji base.\n return undefined;\n }\n codePoint = iterator.prevCodePoint();\n }\n // Expect base emoji\n if (!isEmojiImprecise(codePoint)) {\n // Unexpected code point, not a valid emoji.\n return undefined;\n }\n let resultOffset = iterator.offset;\n if (resultOffset > 0) {\n // Skip optional ZWJ code points that combine multiple emojis.\n // In theory, we should check if that ZWJ actually combines multiple emojis\n // to prevent deleting ZWJs in situations we didn't account for.\n const optionalZwjCodePoint = iterator.prevCodePoint();\n if (optionalZwjCodePoint === 8205 /* CodePoint.zwj */) {\n resultOffset = iterator.offset;\n }\n }\n return resultOffset;\n}\nfunction isEmojiModifier(codePoint) {\n return 0x1F3FB <= codePoint && codePoint <= 0x1F3FF;\n}\nconst noBreakWhitespace = '\\xa0';\nclass AmbiguousCharacters {\n static getInstance(locales) {\n return AmbiguousCharacters.cache.get(Array.from(locales));\n }\n static getLocales() {\n return AmbiguousCharacters._locales.value;\n }\n constructor(confusableDictionary) {\n this.confusableDictionary = confusableDictionary;\n }\n isAmbiguous(codePoint) {\n return this.confusableDictionary.has(codePoint);\n }\n /**\n * Returns the non basic ASCII code point that the given code point can be confused,\n * or undefined if such code point does note exist.\n */\n getPrimaryConfusable(codePoint) {\n return this.confusableDictionary.get(codePoint);\n }\n getConfusableCodePoints() {\n return new Set(this.confusableDictionary.keys());\n }\n}\n_a = AmbiguousCharacters;\nAmbiguousCharacters.ambiguousCharacterData = new _lazy_js__WEBPACK_IMPORTED_MODULE_1__.Lazy(() => {\n // Generated using https://github.com/hediet/vscode-unicode-data\n // Stored as key1, value1, key2, value2, ...\n return JSON.parse('{\\\"_common\\\":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],\\\"_default\\\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"cs\\\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"de\\\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"es\\\":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"fr\\\":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"it\\\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"ja\\\":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],\\\"ko\\\":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"pl\\\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"pt-BR\\\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"qps-ploc\\\":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"ru\\\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"tr\\\":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\\\"zh-hans\\\":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],\\\"zh-hant\\\":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}');\n});\nAmbiguousCharacters.cache = new _cache_js__WEBPACK_IMPORTED_MODULE_0__.LRUCachedFunction((locales) => {\n function arrayToMap(arr) {\n const result = new Map();\n for (let i = 0; i < arr.length; i += 2) {\n result.set(arr[i], arr[i + 1]);\n }\n return result;\n }\n function mergeMaps(map1, map2) {\n const result = new Map(map1);\n for (const [key, value] of map2) {\n result.set(key, value);\n }\n return result;\n }\n function intersectMaps(map1, map2) {\n if (!map1) {\n return map2;\n }\n const result = new Map();\n for (const [key, value] of map1) {\n if (map2.has(key)) {\n result.set(key, value);\n }\n }\n return result;\n }\n const data = _a.ambiguousCharacterData.value;\n let filteredLocales = locales.filter((l) => !l.startsWith('_') && l in data);\n if (filteredLocales.length === 0) {\n filteredLocales = ['_default'];\n }\n let languageSpecificMap = undefined;\n for (const locale of filteredLocales) {\n const map = arrayToMap(data[locale]);\n languageSpecificMap = intersectMaps(languageSpecificMap, map);\n }\n const commonMap = arrayToMap(data['_common']);\n const map = mergeMaps(commonMap, languageSpecificMap);\n return new AmbiguousCharacters(map);\n});\nAmbiguousCharacters._locales = new _lazy_js__WEBPACK_IMPORTED_MODULE_1__.Lazy(() => Object.keys(AmbiguousCharacters.ambiguousCharacterData.value).filter((k) => !k.startsWith('_')));\nclass InvisibleCharacters {\n static getRawData() {\n // Generated using https://github.com/hediet/vscode-unicode-data\n return JSON.parse('[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]');\n }\n static getData() {\n if (!this._data) {\n this._data = new Set(InvisibleCharacters.getRawData());\n }\n return this._data;\n }\n static isInvisibleCharacter(codePoint) {\n return InvisibleCharacters.getData().has(codePoint);\n }\n static get codePoints() {\n return InvisibleCharacters.getData();\n }\n}\nInvisibleCharacters._data = undefined;\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/strings.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/symbols.js": +/*!******************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/symbols.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 */ MicrotaskDelay: () => (/* binding */ MicrotaskDelay)\n/* harmony export */ });\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 * Can be passed into the Delayed to defer using a microtask\n * */\nconst MicrotaskDelay = Symbol('MicrotaskDelay');\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/symbols.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/ternarySearchTree.js": +/*!****************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/ternarySearchTree.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 */ ConfigKeysIterator: () => (/* binding */ ConfigKeysIterator),\n/* harmony export */ PathIterator: () => (/* binding */ PathIterator),\n/* harmony export */ StringIterator: () => (/* binding */ StringIterator),\n/* harmony export */ TernarySearchTree: () => (/* binding */ TernarySearchTree),\n/* harmony export */ UriIterator: () => (/* binding */ UriIterator)\n/* harmony export */ });\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.js\");\n\nclass StringIterator {\n constructor() {\n this._value = '';\n this._pos = 0;\n }\n reset(key) {\n this._value = key;\n this._pos = 0;\n return this;\n }\n next() {\n this._pos += 1;\n return this;\n }\n hasNext() {\n return this._pos < this._value.length - 1;\n }\n cmp(a) {\n const aCode = a.charCodeAt(0);\n const thisCode = this._value.charCodeAt(this._pos);\n return aCode - thisCode;\n }\n value() {\n return this._value[this._pos];\n }\n}\nclass ConfigKeysIterator {\n constructor(_caseSensitive = true) {\n this._caseSensitive = _caseSensitive;\n }\n reset(key) {\n this._value = key;\n this._from = 0;\n this._to = 0;\n return this.next();\n }\n hasNext() {\n return this._to < this._value.length;\n }\n next() {\n // this._data = key.split(/[\\\\/]/).filter(s => !!s);\n this._from = this._to;\n let justSeps = true;\n for (; this._to < this._value.length; this._to++) {\n const ch = this._value.charCodeAt(this._to);\n if (ch === 46 /* CharCode.Period */) {\n if (justSeps) {\n this._from++;\n }\n else {\n break;\n }\n }\n else {\n justSeps = false;\n }\n }\n return this;\n }\n cmp(a) {\n return this._caseSensitive\n ? (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareSubstring)(a, this._value, 0, a.length, this._from, this._to)\n : (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareSubstringIgnoreCase)(a, this._value, 0, a.length, this._from, this._to);\n }\n value() {\n return this._value.substring(this._from, this._to);\n }\n}\nclass PathIterator {\n constructor(_splitOnBackslash = true, _caseSensitive = true) {\n this._splitOnBackslash = _splitOnBackslash;\n this._caseSensitive = _caseSensitive;\n }\n reset(key) {\n this._from = 0;\n this._to = 0;\n this._value = key;\n this._valueLen = key.length;\n for (let pos = key.length - 1; pos >= 0; pos--, this._valueLen--) {\n const ch = this._value.charCodeAt(pos);\n if (!(ch === 47 /* CharCode.Slash */ || this._splitOnBackslash && ch === 92 /* CharCode.Backslash */)) {\n break;\n }\n }\n return this.next();\n }\n hasNext() {\n return this._to < this._valueLen;\n }\n next() {\n // this._data = key.split(/[\\\\/]/).filter(s => !!s);\n this._from = this._to;\n let justSeps = true;\n for (; this._to < this._valueLen; this._to++) {\n const ch = this._value.charCodeAt(this._to);\n if (ch === 47 /* CharCode.Slash */ || this._splitOnBackslash && ch === 92 /* CharCode.Backslash */) {\n if (justSeps) {\n this._from++;\n }\n else {\n break;\n }\n }\n else {\n justSeps = false;\n }\n }\n return this;\n }\n cmp(a) {\n return this._caseSensitive\n ? (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareSubstring)(a, this._value, 0, a.length, this._from, this._to)\n : (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareSubstringIgnoreCase)(a, this._value, 0, a.length, this._from, this._to);\n }\n value() {\n return this._value.substring(this._from, this._to);\n }\n}\nclass UriIterator {\n constructor(_ignorePathCasing, _ignoreQueryAndFragment) {\n this._ignorePathCasing = _ignorePathCasing;\n this._ignoreQueryAndFragment = _ignoreQueryAndFragment;\n this._states = [];\n this._stateIdx = 0;\n }\n reset(key) {\n this._value = key;\n this._states = [];\n if (this._value.scheme) {\n this._states.push(1 /* UriIteratorState.Scheme */);\n }\n if (this._value.authority) {\n this._states.push(2 /* UriIteratorState.Authority */);\n }\n if (this._value.path) {\n this._pathIterator = new PathIterator(false, !this._ignorePathCasing(key));\n this._pathIterator.reset(key.path);\n if (this._pathIterator.value()) {\n this._states.push(3 /* UriIteratorState.Path */);\n }\n }\n if (!this._ignoreQueryAndFragment(key)) {\n if (this._value.query) {\n this._states.push(4 /* UriIteratorState.Query */);\n }\n if (this._value.fragment) {\n this._states.push(5 /* UriIteratorState.Fragment */);\n }\n }\n this._stateIdx = 0;\n return this;\n }\n next() {\n if (this._states[this._stateIdx] === 3 /* UriIteratorState.Path */ && this._pathIterator.hasNext()) {\n this._pathIterator.next();\n }\n else {\n this._stateIdx += 1;\n }\n return this;\n }\n hasNext() {\n return (this._states[this._stateIdx] === 3 /* UriIteratorState.Path */ && this._pathIterator.hasNext())\n || this._stateIdx < this._states.length - 1;\n }\n cmp(a) {\n if (this._states[this._stateIdx] === 1 /* UriIteratorState.Scheme */) {\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareIgnoreCase)(a, this._value.scheme);\n }\n else if (this._states[this._stateIdx] === 2 /* UriIteratorState.Authority */) {\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compareIgnoreCase)(a, this._value.authority);\n }\n else if (this._states[this._stateIdx] === 3 /* UriIteratorState.Path */) {\n return this._pathIterator.cmp(a);\n }\n else if (this._states[this._stateIdx] === 4 /* UriIteratorState.Query */) {\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compare)(a, this._value.query);\n }\n else if (this._states[this._stateIdx] === 5 /* UriIteratorState.Fragment */) {\n return (0,_strings_js__WEBPACK_IMPORTED_MODULE_0__.compare)(a, this._value.fragment);\n }\n throw new Error();\n }\n value() {\n if (this._states[this._stateIdx] === 1 /* UriIteratorState.Scheme */) {\n return this._value.scheme;\n }\n else if (this._states[this._stateIdx] === 2 /* UriIteratorState.Authority */) {\n return this._value.authority;\n }\n else if (this._states[this._stateIdx] === 3 /* UriIteratorState.Path */) {\n return this._pathIterator.value();\n }\n else if (this._states[this._stateIdx] === 4 /* UriIteratorState.Query */) {\n return this._value.query;\n }\n else if (this._states[this._stateIdx] === 5 /* UriIteratorState.Fragment */) {\n return this._value.fragment;\n }\n throw new Error();\n }\n}\nclass TernarySearchTreeNode {\n constructor() {\n this.height = 1;\n }\n rotateLeft() {\n const tmp = this.right;\n this.right = tmp.left;\n tmp.left = this;\n this.updateHeight();\n tmp.updateHeight();\n return tmp;\n }\n rotateRight() {\n const tmp = this.left;\n this.left = tmp.right;\n tmp.right = this;\n this.updateHeight();\n tmp.updateHeight();\n return tmp;\n }\n updateHeight() {\n this.height = 1 + Math.max(this.heightLeft, this.heightRight);\n }\n balanceFactor() {\n return this.heightRight - this.heightLeft;\n }\n get heightLeft() {\n var _a, _b;\n return (_b = (_a = this.left) === null || _a === void 0 ? void 0 : _a.height) !== null && _b !== void 0 ? _b : 0;\n }\n get heightRight() {\n var _a, _b;\n return (_b = (_a = this.right) === null || _a === void 0 ? void 0 : _a.height) !== null && _b !== void 0 ? _b : 0;\n }\n}\nclass TernarySearchTree {\n static forUris(ignorePathCasing = () => false, ignoreQueryAndFragment = () => false) {\n return new TernarySearchTree(new UriIterator(ignorePathCasing, ignoreQueryAndFragment));\n }\n static forStrings() {\n return new TernarySearchTree(new StringIterator());\n }\n static forConfigKeys() {\n return new TernarySearchTree(new ConfigKeysIterator());\n }\n constructor(segments) {\n this._iter = segments;\n }\n clear() {\n this._root = undefined;\n }\n set(key, element) {\n const iter = this._iter.reset(key);\n let node;\n if (!this._root) {\n this._root = new TernarySearchTreeNode();\n this._root.segment = iter.value();\n }\n const stack = [];\n // find insert_node\n node = this._root;\n while (true) {\n const val = iter.cmp(node.segment);\n if (val > 0) {\n // left\n if (!node.left) {\n node.left = new TernarySearchTreeNode();\n node.left.segment = iter.value();\n }\n stack.push([-1 /* Dir.Left */, node]);\n node = node.left;\n }\n else if (val < 0) {\n // right\n if (!node.right) {\n node.right = new TernarySearchTreeNode();\n node.right.segment = iter.value();\n }\n stack.push([1 /* Dir.Right */, node]);\n node = node.right;\n }\n else if (iter.hasNext()) {\n // mid\n iter.next();\n if (!node.mid) {\n node.mid = new TernarySearchTreeNode();\n node.mid.segment = iter.value();\n }\n stack.push([0 /* Dir.Mid */, node]);\n node = node.mid;\n }\n else {\n break;\n }\n }\n // set value\n const oldElement = node.value;\n node.value = element;\n node.key = key;\n // balance\n for (let i = stack.length - 1; i >= 0; i--) {\n const node = stack[i][1];\n node.updateHeight();\n const bf = node.balanceFactor();\n if (bf < -1 || bf > 1) {\n // needs rotate\n const d1 = stack[i][0];\n const d2 = stack[i + 1][0];\n if (d1 === 1 /* Dir.Right */ && d2 === 1 /* Dir.Right */) {\n //right, right -> rotate left\n stack[i][1] = node.rotateLeft();\n }\n else if (d1 === -1 /* Dir.Left */ && d2 === -1 /* Dir.Left */) {\n // left, left -> rotate right\n stack[i][1] = node.rotateRight();\n }\n else if (d1 === 1 /* Dir.Right */ && d2 === -1 /* Dir.Left */) {\n // right, left -> double rotate right, left\n node.right = stack[i + 1][1] = stack[i + 1][1].rotateRight();\n stack[i][1] = node.rotateLeft();\n }\n else if (d1 === -1 /* Dir.Left */ && d2 === 1 /* Dir.Right */) {\n // left, right -> double rotate left, right\n node.left = stack[i + 1][1] = stack[i + 1][1].rotateLeft();\n stack[i][1] = node.rotateRight();\n }\n else {\n throw new Error();\n }\n // patch path to parent\n if (i > 0) {\n switch (stack[i - 1][0]) {\n case -1 /* Dir.Left */:\n stack[i - 1][1].left = stack[i][1];\n break;\n case 1 /* Dir.Right */:\n stack[i - 1][1].right = stack[i][1];\n break;\n case 0 /* Dir.Mid */:\n stack[i - 1][1].mid = stack[i][1];\n break;\n }\n }\n else {\n this._root = stack[0][1];\n }\n }\n }\n return oldElement;\n }\n get(key) {\n var _a;\n return (_a = this._getNode(key)) === null || _a === void 0 ? void 0 : _a.value;\n }\n _getNode(key) {\n const iter = this._iter.reset(key);\n let node = this._root;\n while (node) {\n const val = iter.cmp(node.segment);\n if (val > 0) {\n // left\n node = node.left;\n }\n else if (val < 0) {\n // right\n node = node.right;\n }\n else if (iter.hasNext()) {\n // mid\n iter.next();\n node = node.mid;\n }\n else {\n break;\n }\n }\n return node;\n }\n has(key) {\n const node = this._getNode(key);\n return !((node === null || node === void 0 ? void 0 : node.value) === undefined && (node === null || node === void 0 ? void 0 : node.mid) === undefined);\n }\n delete(key) {\n return this._delete(key, false);\n }\n deleteSuperstr(key) {\n return this._delete(key, true);\n }\n _delete(key, superStr) {\n var _a;\n const iter = this._iter.reset(key);\n const stack = [];\n let node = this._root;\n // find node\n while (node) {\n const val = iter.cmp(node.segment);\n if (val > 0) {\n // left\n stack.push([-1 /* Dir.Left */, node]);\n node = node.left;\n }\n else if (val < 0) {\n // right\n stack.push([1 /* Dir.Right */, node]);\n node = node.right;\n }\n else if (iter.hasNext()) {\n // mid\n iter.next();\n stack.push([0 /* Dir.Mid */, node]);\n node = node.mid;\n }\n else {\n break;\n }\n }\n if (!node) {\n // node not found\n return;\n }\n if (superStr) {\n // removing children, reset height\n node.left = undefined;\n node.mid = undefined;\n node.right = undefined;\n node.height = 1;\n }\n else {\n // removing element\n node.key = undefined;\n node.value = undefined;\n }\n // BST node removal\n if (!node.mid && !node.value) {\n if (node.left && node.right) {\n // full node\n // replace deleted-node with the min-node of the right branch.\n // If there is no true min-node leave things as they are\n const min = this._min(node.right);\n if (min.key) {\n const { key, value, segment } = min;\n this._delete(min.key, false);\n node.key = key;\n node.value = value;\n node.segment = segment;\n }\n }\n else {\n // empty or half empty\n const newChild = (_a = node.left) !== null && _a !== void 0 ? _a : node.right;\n if (stack.length > 0) {\n const [dir, parent] = stack[stack.length - 1];\n switch (dir) {\n case -1 /* Dir.Left */:\n parent.left = newChild;\n break;\n case 0 /* Dir.Mid */:\n parent.mid = newChild;\n break;\n case 1 /* Dir.Right */:\n parent.right = newChild;\n break;\n }\n }\n else {\n this._root = newChild;\n }\n }\n }\n // AVL balance\n for (let i = stack.length - 1; i >= 0; i--) {\n const node = stack[i][1];\n node.updateHeight();\n const bf = node.balanceFactor();\n if (bf > 1) {\n // right heavy\n if (node.right.balanceFactor() >= 0) {\n // right, right -> rotate left\n stack[i][1] = node.rotateLeft();\n }\n else {\n // right, left -> double rotate\n node.right = node.right.rotateRight();\n stack[i][1] = node.rotateLeft();\n }\n }\n else if (bf < -1) {\n // left heavy\n if (node.left.balanceFactor() <= 0) {\n // left, left -> rotate right\n stack[i][1] = node.rotateRight();\n }\n else {\n // left, right -> double rotate\n node.left = node.left.rotateLeft();\n stack[i][1] = node.rotateRight();\n }\n }\n // patch path to parent\n if (i > 0) {\n switch (stack[i - 1][0]) {\n case -1 /* Dir.Left */:\n stack[i - 1][1].left = stack[i][1];\n break;\n case 1 /* Dir.Right */:\n stack[i - 1][1].right = stack[i][1];\n break;\n case 0 /* Dir.Mid */:\n stack[i - 1][1].mid = stack[i][1];\n break;\n }\n }\n else {\n this._root = stack[0][1];\n }\n }\n }\n _min(node) {\n while (node.left) {\n node = node.left;\n }\n return node;\n }\n findSubstr(key) {\n const iter = this._iter.reset(key);\n let node = this._root;\n let candidate = undefined;\n while (node) {\n const val = iter.cmp(node.segment);\n if (val > 0) {\n // left\n node = node.left;\n }\n else if (val < 0) {\n // right\n node = node.right;\n }\n else if (iter.hasNext()) {\n // mid\n iter.next();\n candidate = node.value || candidate;\n node = node.mid;\n }\n else {\n break;\n }\n }\n return node && node.value || candidate;\n }\n findSuperstr(key) {\n return this._findSuperstrOrElement(key, false);\n }\n _findSuperstrOrElement(key, allowValue) {\n const iter = this._iter.reset(key);\n let node = this._root;\n while (node) {\n const val = iter.cmp(node.segment);\n if (val > 0) {\n // left\n node = node.left;\n }\n else if (val < 0) {\n // right\n node = node.right;\n }\n else if (iter.hasNext()) {\n // mid\n iter.next();\n node = node.mid;\n }\n else {\n // collect\n if (!node.mid) {\n if (allowValue) {\n return node.value;\n }\n else {\n return undefined;\n }\n }\n else {\n return this._entries(node.mid);\n }\n }\n }\n return undefined;\n }\n forEach(callback) {\n for (const [key, value] of this) {\n callback(value, key);\n }\n }\n *[Symbol.iterator]() {\n yield* this._entries(this._root);\n }\n _entries(node) {\n const result = [];\n this._dfsEntries(node, result);\n return result[Symbol.iterator]();\n }\n _dfsEntries(node, bucket) {\n // DFS\n if (!node) {\n return;\n }\n if (node.left) {\n this._dfsEntries(node.left, bucket);\n }\n if (node.value) {\n bucket.push([node.key, node.value]);\n }\n if (node.mid) {\n this._dfsEntries(node.mid, bucket);\n }\n if (node.right) {\n this._dfsEntries(node.right, bucket);\n }\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/ternarySearchTree.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/themables.js": +/*!********************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/themables.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 */ ThemeColor: () => (/* binding */ ThemeColor),\n/* harmony export */ ThemeIcon: () => (/* binding */ ThemeIcon)\n/* harmony export */ });\n/* harmony import */ var _codicons_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./codicons.js */ \"./node_modules/monaco-editor/esm/vs/base/common/codicons.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\nvar ThemeColor;\n(function (ThemeColor) {\n function isThemeColor(obj) {\n return obj && typeof obj === 'object' && typeof obj.id === 'string';\n }\n ThemeColor.isThemeColor = isThemeColor;\n})(ThemeColor || (ThemeColor = {}));\nvar ThemeIcon;\n(function (ThemeIcon) {\n ThemeIcon.iconNameSegment = '[A-Za-z0-9]+';\n ThemeIcon.iconNameExpression = '[A-Za-z0-9-]+';\n ThemeIcon.iconModifierExpression = '~[A-Za-z]+';\n ThemeIcon.iconNameCharacter = '[A-Za-z0-9~-]';\n const ThemeIconIdRegex = new RegExp(`^(${ThemeIcon.iconNameExpression})(${ThemeIcon.iconModifierExpression})?$`);\n function asClassNameArray(icon) {\n const match = ThemeIconIdRegex.exec(icon.id);\n if (!match) {\n return asClassNameArray(_codicons_js__WEBPACK_IMPORTED_MODULE_0__.Codicon.error);\n }\n const [, id, modifier] = match;\n const classNames = ['codicon', 'codicon-' + id];\n if (modifier) {\n classNames.push('codicon-modifier-' + modifier.substring(1));\n }\n return classNames;\n }\n ThemeIcon.asClassNameArray = asClassNameArray;\n function asClassName(icon) {\n return asClassNameArray(icon).join(' ');\n }\n ThemeIcon.asClassName = asClassName;\n function asCSSSelector(icon) {\n return '.' + asClassNameArray(icon).join('.');\n }\n ThemeIcon.asCSSSelector = asCSSSelector;\n function isThemeIcon(obj) {\n return obj && typeof obj === 'object' && typeof obj.id === 'string' && (typeof obj.color === 'undefined' || ThemeColor.isThemeColor(obj.color));\n }\n ThemeIcon.isThemeIcon = isThemeIcon;\n const _regexFromString = new RegExp(`^\\\\$\\\\((${ThemeIcon.iconNameExpression}(?:${ThemeIcon.iconModifierExpression})?)\\\\)$`);\n function fromString(str) {\n const match = _regexFromString.exec(str);\n if (!match) {\n return undefined;\n }\n const [, name] = match;\n return { id: name };\n }\n ThemeIcon.fromString = fromString;\n function fromId(id) {\n return { id };\n }\n ThemeIcon.fromId = fromId;\n function modify(icon, modifier) {\n let id = icon.id;\n const tildeIndex = id.lastIndexOf('~');\n if (tildeIndex !== -1) {\n id = id.substring(0, tildeIndex);\n }\n if (modifier) {\n id = `${id}~${modifier}`;\n }\n return { id };\n }\n ThemeIcon.modify = modify;\n function getModifier(icon) {\n const tildeIndex = icon.id.lastIndexOf('~');\n if (tildeIndex !== -1) {\n return icon.id.substring(tildeIndex + 1);\n }\n return undefined;\n }\n ThemeIcon.getModifier = getModifier;\n function isEqual(ti1, ti2) {\n var _a, _b;\n return ti1.id === ti2.id && ((_a = ti1.color) === null || _a === void 0 ? void 0 : _a.id) === ((_b = ti2.color) === null || _b === void 0 ? void 0 : _b.id);\n }\n ThemeIcon.isEqual = isEqual;\n})(ThemeIcon || (ThemeIcon = {}));\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/themables.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/types.js": +/*!****************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/types.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 */ assertIsDefined: () => (/* binding */ assertIsDefined),\n/* harmony export */ assertType: () => (/* binding */ assertType),\n/* harmony export */ isBoolean: () => (/* binding */ isBoolean),\n/* harmony export */ isDefined: () => (/* binding */ isDefined),\n/* harmony export */ isFunction: () => (/* binding */ isFunction),\n/* harmony export */ isIterable: () => (/* binding */ isIterable),\n/* harmony export */ isNumber: () => (/* binding */ isNumber),\n/* harmony export */ isObject: () => (/* binding */ isObject),\n/* harmony export */ isString: () => (/* binding */ isString),\n/* harmony export */ isTypedArray: () => (/* binding */ isTypedArray),\n/* harmony export */ isUndefined: () => (/* binding */ isUndefined),\n/* harmony export */ isUndefinedOrNull: () => (/* binding */ isUndefinedOrNull),\n/* harmony export */ validateConstraint: () => (/* binding */ validateConstraint),\n/* harmony export */ validateConstraints: () => (/* binding */ validateConstraints),\n/* harmony export */ withNullAsUndefined: () => (/* binding */ withNullAsUndefined),\n/* harmony export */ withUndefinedAsNull: () => (/* binding */ withUndefinedAsNull)\n/* harmony export */ });\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 * @returns whether the provided parameter is a JavaScript String or not.\n */\nfunction isString(str) {\n return (typeof str === 'string');\n}\n/**\n * @returns whether the provided parameter is of type `object` but **not**\n *\t`null`, an `array`, a `regexp`, nor a `date`.\n */\nfunction isObject(obj) {\n // The method can't do a type cast since there are type (like strings) which\n // are subclasses of any put not positvely matched by the function. Hence type\n // narrowing results in wrong results.\n return typeof obj === 'object'\n && obj !== null\n && !Array.isArray(obj)\n && !(obj instanceof RegExp)\n && !(obj instanceof Date);\n}\n/**\n * @returns whether the provided parameter is of type `Buffer` or Uint8Array dervived type\n */\nfunction isTypedArray(obj) {\n const TypedArray = Object.getPrototypeOf(Uint8Array);\n return typeof obj === 'object'\n && obj instanceof TypedArray;\n}\n/**\n * In **contrast** to just checking `typeof` this will return `false` for `NaN`.\n * @returns whether the provided parameter is a JavaScript Number or not.\n */\nfunction isNumber(obj) {\n return (typeof obj === 'number' && !isNaN(obj));\n}\n/**\n * @returns whether the provided parameter is an Iterable, casting to the given generic\n */\nfunction isIterable(obj) {\n return !!obj && typeof obj[Symbol.iterator] === 'function';\n}\n/**\n * @returns whether the provided parameter is a JavaScript Boolean or not.\n */\nfunction isBoolean(obj) {\n return (obj === true || obj === false);\n}\n/**\n * @returns whether the provided parameter is undefined.\n */\nfunction isUndefined(obj) {\n return (typeof obj === 'undefined');\n}\n/**\n * @returns whether the provided parameter is defined.\n */\nfunction isDefined(arg) {\n return !isUndefinedOrNull(arg);\n}\n/**\n * @returns whether the provided parameter is undefined or null.\n */\nfunction isUndefinedOrNull(obj) {\n return (isUndefined(obj) || obj === null);\n}\nfunction assertType(condition, type) {\n if (!condition) {\n throw new Error(type ? `Unexpected type, expected '${type}'` : 'Unexpected type');\n }\n}\n/**\n * Asserts that the argument passed in is neither undefined nor null.\n */\nfunction assertIsDefined(arg) {\n if (isUndefinedOrNull(arg)) {\n throw new Error('Assertion Failed: argument is undefined or null');\n }\n return arg;\n}\n/**\n * @returns whether the provided parameter is a JavaScript Function or not.\n */\nfunction isFunction(obj) {\n return (typeof obj === 'function');\n}\nfunction validateConstraints(args, constraints) {\n const len = Math.min(args.length, constraints.length);\n for (let i = 0; i < len; i++) {\n validateConstraint(args[i], constraints[i]);\n }\n}\nfunction validateConstraint(arg, constraint) {\n if (isString(constraint)) {\n if (typeof arg !== constraint) {\n throw new Error(`argument does not match constraint: typeof ${constraint}`);\n }\n }\n else if (isFunction(constraint)) {\n try {\n if (arg instanceof constraint) {\n return;\n }\n }\n catch (_a) {\n // ignore\n }\n if (!isUndefinedOrNull(arg) && arg.constructor === constraint) {\n return;\n }\n if (constraint.length === 1 && constraint.call(undefined, arg) === true) {\n return;\n }\n throw new Error(`argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true`);\n }\n}\n/**\n * Converts null to undefined, passes all other values through.\n */\nfunction withNullAsUndefined(x) {\n return x === null ? undefined : x;\n}\n/**\n * Converts undefined to null, passes all other values through.\n */\nfunction withUndefinedAsNull(x) {\n return typeof x === 'undefined' ? null : x;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/types.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/uint.js": +/*!***************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/uint.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 */ toUint32: () => (/* binding */ toUint32),\n/* harmony export */ toUint8: () => (/* binding */ toUint8)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nfunction toUint8(v) {\n if (v < 0) {\n return 0;\n }\n if (v > 255 /* Constants.MAX_UINT_8 */) {\n return 255 /* Constants.MAX_UINT_8 */;\n }\n return v | 0;\n}\nfunction toUint32(v) {\n if (v < 0) {\n return 0;\n }\n if (v > 4294967295 /* Constants.MAX_UINT_32 */) {\n return 4294967295 /* Constants.MAX_UINT_32 */;\n }\n return v | 0;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/uint.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/uri.js": +/*!**************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/uri.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 */ URI: () => (/* binding */ URI),\n/* harmony export */ uriToFsPath: () => (/* binding */ uriToFsPath)\n/* harmony export */ });\n/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./path.js */ \"./node_modules/monaco-editor/esm/vs/base/common/path.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./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\nconst _schemePattern = /^\\w[\\w\\d+.-]*$/;\nconst _singleSlashStart = /^\\//;\nconst _doubleSlashStart = /^\\/\\//;\nfunction _validateUri(ret, _strict) {\n // scheme, must be set\n if (!ret.scheme && _strict) {\n throw new Error(`[UriError]: Scheme is missing: {scheme: \"\", authority: \"${ret.authority}\", path: \"${ret.path}\", query: \"${ret.query}\", fragment: \"${ret.fragment}\"}`);\n }\n // scheme, https://tools.ietf.org/html/rfc3986#section-3.1\n // ALPHA *( ALPHA / DIGIT / \"+\" / \"-\" / \".\" )\n if (ret.scheme && !_schemePattern.test(ret.scheme)) {\n throw new Error('[UriError]: Scheme contains illegal characters.');\n }\n // path, http://tools.ietf.org/html/rfc3986#section-3.3\n // If a URI contains an authority component, then the path component\n // must either be empty or begin with a slash (\"/\") character. If a URI\n // does not contain an authority component, then the path cannot begin\n // with two slash characters (\"//\").\n if (ret.path) {\n if (ret.authority) {\n if (!_singleSlashStart.test(ret.path)) {\n throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character');\n }\n }\n else {\n if (_doubleSlashStart.test(ret.path)) {\n throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")');\n }\n }\n }\n}\n// for a while we allowed uris *without* schemes and this is the migration\n// for them, e.g. an uri without scheme and without strict-mode warns and falls\n// back to the file-scheme. that should cause the least carnage and still be a\n// clear warning\nfunction _schemeFix(scheme, _strict) {\n if (!scheme && !_strict) {\n return 'file';\n }\n return scheme;\n}\n// implements a bit of https://tools.ietf.org/html/rfc3986#section-5\nfunction _referenceResolution(scheme, path) {\n // the slash-character is our 'default base' as we don't\n // support constructing URIs relative to other URIs. This\n // also means that we alter and potentially break paths.\n // see https://tools.ietf.org/html/rfc3986#section-5.1.4\n switch (scheme) {\n case 'https':\n case 'http':\n case 'file':\n if (!path) {\n path = _slash;\n }\n else if (path[0] !== _slash) {\n path = _slash + path;\n }\n break;\n }\n return path;\n}\nconst _empty = '';\nconst _slash = '/';\nconst _regexp = /^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;\n/**\n * Uniform Resource Identifier (URI) http://tools.ietf.org/html/rfc3986.\n * This class is a simple parser which creates the basic component parts\n * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation\n * and encoding.\n *\n * ```txt\n * foo://example.com:8042/over/there?name=ferret#nose\n * \\_/ \\______________/\\_________/ \\_________/ \\__/\n * | | | | |\n * scheme authority path query fragment\n * | _____________________|__\n * / \\ / \\\n * urn:example:animal:ferret:nose\n * ```\n */\nclass URI {\n static isUri(thing) {\n if (thing instanceof URI) {\n return true;\n }\n if (!thing) {\n return false;\n }\n return typeof thing.authority === 'string'\n && typeof thing.fragment === 'string'\n && typeof thing.path === 'string'\n && typeof thing.query === 'string'\n && typeof thing.scheme === 'string'\n && typeof thing.fsPath === 'string'\n && typeof thing.with === 'function'\n && typeof thing.toString === 'function';\n }\n /**\n * @internal\n */\n constructor(schemeOrData, authority, path, query, fragment, _strict = false) {\n if (typeof schemeOrData === 'object') {\n this.scheme = schemeOrData.scheme || _empty;\n this.authority = schemeOrData.authority || _empty;\n this.path = schemeOrData.path || _empty;\n this.query = schemeOrData.query || _empty;\n this.fragment = schemeOrData.fragment || _empty;\n // no validation because it's this URI\n // that creates uri components.\n // _validateUri(this);\n }\n else {\n this.scheme = _schemeFix(schemeOrData, _strict);\n this.authority = authority || _empty;\n this.path = _referenceResolution(this.scheme, path || _empty);\n this.query = query || _empty;\n this.fragment = fragment || _empty;\n _validateUri(this, _strict);\n }\n }\n // ---- filesystem path -----------------------\n /**\n * Returns a string representing the corresponding file system path of this URI.\n * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the\n * platform specific path separator.\n *\n * * Will *not* validate the path for invalid characters and semantics.\n * * Will *not* look at the scheme of this URI.\n * * The result shall *not* be used for display purposes but for accessing a file on disk.\n *\n *\n * The *difference* to `URI#path` is the use of the platform specific separator and the handling\n * of UNC paths. See the below sample of a file-uri with an authority (UNC path).\n *\n * ```ts\n const u = URI.parse('file://server/c$/folder/file.txt')\n u.authority === 'server'\n u.path === '/shares/c$/file.txt'\n u.fsPath === '\\\\server\\c$\\folder\\file.txt'\n ```\n *\n * Using `URI#path` to read a file (using fs-apis) would not be enough because parts of the path,\n * namely the server name, would be missing. Therefore `URI#fsPath` exists - it's sugar to ease working\n * with URIs that represent files on disk (`file` scheme).\n */\n get fsPath() {\n // if (this.scheme !== 'file') {\n // \tconsole.warn(`[UriError] calling fsPath with scheme ${this.scheme}`);\n // }\n return uriToFsPath(this, false);\n }\n // ---- modify to new -------------------------\n with(change) {\n if (!change) {\n return this;\n }\n let { scheme, authority, path, query, fragment } = change;\n if (scheme === undefined) {\n scheme = this.scheme;\n }\n else if (scheme === null) {\n scheme = _empty;\n }\n if (authority === undefined) {\n authority = this.authority;\n }\n else if (authority === null) {\n authority = _empty;\n }\n if (path === undefined) {\n path = this.path;\n }\n else if (path === null) {\n path = _empty;\n }\n if (query === undefined) {\n query = this.query;\n }\n else if (query === null) {\n query = _empty;\n }\n if (fragment === undefined) {\n fragment = this.fragment;\n }\n else if (fragment === null) {\n fragment = _empty;\n }\n if (scheme === this.scheme\n && authority === this.authority\n && path === this.path\n && query === this.query\n && fragment === this.fragment) {\n return this;\n }\n return new Uri(scheme, authority, path, query, fragment);\n }\n // ---- parse & validate ------------------------\n /**\n * Creates a new URI from a string, e.g. `http://www.example.com/some/path`,\n * `file:///usr/home`, or `scheme:with/path`.\n *\n * @param value A string which represents an URI (see `URI#toString`).\n */\n static parse(value, _strict = false) {\n const match = _regexp.exec(value);\n if (!match) {\n return new Uri(_empty, _empty, _empty, _empty, _empty);\n }\n return new Uri(match[2] || _empty, percentDecode(match[4] || _empty), percentDecode(match[5] || _empty), percentDecode(match[7] || _empty), percentDecode(match[9] || _empty), _strict);\n }\n /**\n * Creates a new URI from a file system path, e.g. `c:\\my\\files`,\n * `/usr/home`, or `\\\\server\\share\\some\\path`.\n *\n * The *difference* between `URI#parse` and `URI#file` is that the latter treats the argument\n * as path, not as stringified-uri. E.g. `URI.file(path)` is **not the same as**\n * `URI.parse('file://' + path)` because the path might contain characters that are\n * interpreted (# and ?). See the following sample:\n * ```ts\n const good = URI.file('/coding/c#/project1');\n good.scheme === 'file';\n good.path === '/coding/c#/project1';\n good.fragment === '';\n const bad = URI.parse('file://' + '/coding/c#/project1');\n bad.scheme === 'file';\n bad.path === '/coding/c'; // path is now broken\n bad.fragment === '/project1';\n ```\n *\n * @param path A file system path (see `URI#fsPath`)\n */\n static file(path) {\n let authority = _empty;\n // normalize to fwd-slashes on windows,\n // on other systems bwd-slashes are valid\n // filename character, eg /f\\oo/ba\\r.txt\n if (_platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows) {\n path = path.replace(/\\\\/g, _slash);\n }\n // check for authority as used in UNC shares\n // or use the path as given\n if (path[0] === _slash && path[1] === _slash) {\n const idx = path.indexOf(_slash, 2);\n if (idx === -1) {\n authority = path.substring(2);\n path = _slash;\n }\n else {\n authority = path.substring(2, idx);\n path = path.substring(idx) || _slash;\n }\n }\n return new Uri('file', authority, path, _empty, _empty);\n }\n /**\n * Creates new URI from uri components.\n *\n * Unless `strict` is `true` the scheme is defaults to be `file`. This function performs\n * validation and should be used for untrusted uri components retrieved from storage,\n * user input, command arguments etc\n */\n static from(components, strict) {\n const result = new Uri(components.scheme, components.authority, components.path, components.query, components.fragment, strict);\n return result;\n }\n /**\n * Join a URI path with path fragments and normalizes the resulting path.\n *\n * @param uri The input URI.\n * @param pathFragment The path fragment to add to the URI path.\n * @returns The resulting URI.\n */\n static joinPath(uri, ...pathFragment) {\n if (!uri.path) {\n throw new Error(`[UriError]: cannot call joinPath on URI without path`);\n }\n let newPath;\n if (_platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows && uri.scheme === 'file') {\n newPath = URI.file(_path_js__WEBPACK_IMPORTED_MODULE_0__.win32.join(uriToFsPath(uri, true), ...pathFragment)).path;\n }\n else {\n newPath = _path_js__WEBPACK_IMPORTED_MODULE_0__.posix.join(uri.path, ...pathFragment);\n }\n return uri.with({ path: newPath });\n }\n // ---- printing/externalize ---------------------------\n /**\n * Creates a string representation for this URI. It's guaranteed that calling\n * `URI.parse` with the result of this function creates an URI which is equal\n * to this URI.\n *\n * * The result shall *not* be used for display purposes but for externalization or transport.\n * * The result will be encoded using the percentage encoding and encoding happens mostly\n * ignore the scheme-specific encoding rules.\n *\n * @param skipEncoding Do not encode the result, default is `false`\n */\n toString(skipEncoding = false) {\n return _asFormatted(this, skipEncoding);\n }\n toJSON() {\n return this;\n }\n static revive(data) {\n var _a, _b;\n if (!data) {\n return data;\n }\n else if (data instanceof URI) {\n return data;\n }\n else {\n const result = new Uri(data);\n result._formatted = (_a = data.external) !== null && _a !== void 0 ? _a : null;\n result._fsPath = data._sep === _pathSepMarker ? (_b = data.fsPath) !== null && _b !== void 0 ? _b : null : null;\n return result;\n }\n }\n}\nconst _pathSepMarker = _platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows ? 1 : undefined;\n// This class exists so that URI is compatible with vscode.Uri (API).\nclass Uri extends URI {\n constructor() {\n super(...arguments);\n this._formatted = null;\n this._fsPath = null;\n }\n get fsPath() {\n if (!this._fsPath) {\n this._fsPath = uriToFsPath(this, false);\n }\n return this._fsPath;\n }\n toString(skipEncoding = false) {\n if (!skipEncoding) {\n if (!this._formatted) {\n this._formatted = _asFormatted(this, false);\n }\n return this._formatted;\n }\n else {\n // we don't cache that\n return _asFormatted(this, true);\n }\n }\n toJSON() {\n const res = {\n $mid: 1 /* MarshalledId.Uri */\n };\n // cached state\n if (this._fsPath) {\n res.fsPath = this._fsPath;\n res._sep = _pathSepMarker;\n }\n if (this._formatted) {\n res.external = this._formatted;\n }\n //--- uri components\n if (this.path) {\n res.path = this.path;\n }\n // TODO\n // this isn't correct and can violate the UriComponents contract but\n // this is part of the vscode.Uri API and we shouldn't change how that\n // works anymore\n if (this.scheme) {\n res.scheme = this.scheme;\n }\n if (this.authority) {\n res.authority = this.authority;\n }\n if (this.query) {\n res.query = this.query;\n }\n if (this.fragment) {\n res.fragment = this.fragment;\n }\n return res;\n }\n}\n// reserved characters: https://tools.ietf.org/html/rfc3986#section-2.2\nconst encodeTable = {\n [58 /* CharCode.Colon */]: '%3A',\n [47 /* CharCode.Slash */]: '%2F',\n [63 /* CharCode.QuestionMark */]: '%3F',\n [35 /* CharCode.Hash */]: '%23',\n [91 /* CharCode.OpenSquareBracket */]: '%5B',\n [93 /* CharCode.CloseSquareBracket */]: '%5D',\n [64 /* CharCode.AtSign */]: '%40',\n [33 /* CharCode.ExclamationMark */]: '%21',\n [36 /* CharCode.DollarSign */]: '%24',\n [38 /* CharCode.Ampersand */]: '%26',\n [39 /* CharCode.SingleQuote */]: '%27',\n [40 /* CharCode.OpenParen */]: '%28',\n [41 /* CharCode.CloseParen */]: '%29',\n [42 /* CharCode.Asterisk */]: '%2A',\n [43 /* CharCode.Plus */]: '%2B',\n [44 /* CharCode.Comma */]: '%2C',\n [59 /* CharCode.Semicolon */]: '%3B',\n [61 /* CharCode.Equals */]: '%3D',\n [32 /* CharCode.Space */]: '%20',\n};\nfunction encodeURIComponentFast(uriComponent, isPath, isAuthority) {\n let res = undefined;\n let nativeEncodePos = -1;\n for (let pos = 0; pos < uriComponent.length; pos++) {\n const code = uriComponent.charCodeAt(pos);\n // unreserved characters: https://tools.ietf.org/html/rfc3986#section-2.3\n if ((code >= 97 /* CharCode.a */ && code <= 122 /* CharCode.z */)\n || (code >= 65 /* CharCode.A */ && code <= 90 /* CharCode.Z */)\n || (code >= 48 /* CharCode.Digit0 */ && code <= 57 /* CharCode.Digit9 */)\n || code === 45 /* CharCode.Dash */\n || code === 46 /* CharCode.Period */\n || code === 95 /* CharCode.Underline */\n || code === 126 /* CharCode.Tilde */\n || (isPath && code === 47 /* CharCode.Slash */)\n || (isAuthority && code === 91 /* CharCode.OpenSquareBracket */)\n || (isAuthority && code === 93 /* CharCode.CloseSquareBracket */)\n || (isAuthority && code === 58 /* CharCode.Colon */)) {\n // check if we are delaying native encode\n if (nativeEncodePos !== -1) {\n res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));\n nativeEncodePos = -1;\n }\n // check if we write into a new string (by default we try to return the param)\n if (res !== undefined) {\n res += uriComponent.charAt(pos);\n }\n }\n else {\n // encoding needed, we need to allocate a new string\n if (res === undefined) {\n res = uriComponent.substr(0, pos);\n }\n // check with default table first\n const escaped = encodeTable[code];\n if (escaped !== undefined) {\n // check if we are delaying native encode\n if (nativeEncodePos !== -1) {\n res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));\n nativeEncodePos = -1;\n }\n // append escaped variant to result\n res += escaped;\n }\n else if (nativeEncodePos === -1) {\n // use native encode only when needed\n nativeEncodePos = pos;\n }\n }\n }\n if (nativeEncodePos !== -1) {\n res += encodeURIComponent(uriComponent.substring(nativeEncodePos));\n }\n return res !== undefined ? res : uriComponent;\n}\nfunction encodeURIComponentMinimal(path) {\n let res = undefined;\n for (let pos = 0; pos < path.length; pos++) {\n const code = path.charCodeAt(pos);\n if (code === 35 /* CharCode.Hash */ || code === 63 /* CharCode.QuestionMark */) {\n if (res === undefined) {\n res = path.substr(0, pos);\n }\n res += encodeTable[code];\n }\n else {\n if (res !== undefined) {\n res += path[pos];\n }\n }\n }\n return res !== undefined ? res : path;\n}\n/**\n * Compute `fsPath` for the given uri\n */\nfunction uriToFsPath(uri, keepDriveLetterCasing) {\n let value;\n if (uri.authority && uri.path.length > 1 && uri.scheme === 'file') {\n // unc path: file://shares/c$/far/boo\n value = `//${uri.authority}${uri.path}`;\n }\n else if (uri.path.charCodeAt(0) === 47 /* CharCode.Slash */\n && (uri.path.charCodeAt(1) >= 65 /* CharCode.A */ && uri.path.charCodeAt(1) <= 90 /* CharCode.Z */ || uri.path.charCodeAt(1) >= 97 /* CharCode.a */ && uri.path.charCodeAt(1) <= 122 /* CharCode.z */)\n && uri.path.charCodeAt(2) === 58 /* CharCode.Colon */) {\n if (!keepDriveLetterCasing) {\n // windows drive letter: file:///c:/far/boo\n value = uri.path[1].toLowerCase() + uri.path.substr(2);\n }\n else {\n value = uri.path.substr(1);\n }\n }\n else {\n // other path\n value = uri.path;\n }\n if (_platform_js__WEBPACK_IMPORTED_MODULE_1__.isWindows) {\n value = value.replace(/\\//g, '\\\\');\n }\n return value;\n}\n/**\n * Create the external version of a uri\n */\nfunction _asFormatted(uri, skipEncoding) {\n const encoder = !skipEncoding\n ? encodeURIComponentFast\n : encodeURIComponentMinimal;\n let res = '';\n let { scheme, authority, path, query, fragment } = uri;\n if (scheme) {\n res += scheme;\n res += ':';\n }\n if (authority || scheme === 'file') {\n res += _slash;\n res += _slash;\n }\n if (authority) {\n let idx = authority.indexOf('@');\n if (idx !== -1) {\n // @\n const userinfo = authority.substr(0, idx);\n authority = authority.substr(idx + 1);\n idx = userinfo.lastIndexOf(':');\n if (idx === -1) {\n res += encoder(userinfo, false, false);\n }\n else {\n // :@\n res += encoder(userinfo.substr(0, idx), false, false);\n res += ':';\n res += encoder(userinfo.substr(idx + 1), false, true);\n }\n res += '@';\n }\n authority = authority.toLowerCase();\n idx = authority.lastIndexOf(':');\n if (idx === -1) {\n res += encoder(authority, false, true);\n }\n else {\n // :\n res += encoder(authority.substr(0, idx), false, true);\n res += authority.substr(idx);\n }\n }\n if (path) {\n // lower-case windows drive letters in /C:/fff or C:/fff\n if (path.length >= 3 && path.charCodeAt(0) === 47 /* CharCode.Slash */ && path.charCodeAt(2) === 58 /* CharCode.Colon */) {\n const code = path.charCodeAt(1);\n if (code >= 65 /* CharCode.A */ && code <= 90 /* CharCode.Z */) {\n path = `/${String.fromCharCode(code + 32)}:${path.substr(3)}`; // \"/c:\".length === 3\n }\n }\n else if (path.length >= 2 && path.charCodeAt(1) === 58 /* CharCode.Colon */) {\n const code = path.charCodeAt(0);\n if (code >= 65 /* CharCode.A */ && code <= 90 /* CharCode.Z */) {\n path = `${String.fromCharCode(code + 32)}:${path.substr(2)}`; // \"/c:\".length === 3\n }\n }\n // encode the rest of the path\n res += encoder(path, true, false);\n }\n if (query) {\n res += '?';\n res += encoder(query, false, false);\n }\n if (fragment) {\n res += '#';\n res += !skipEncoding ? encodeURIComponentFast(fragment, false, false) : fragment;\n }\n return res;\n}\n// --- decode\nfunction decodeURIComponentGraceful(str) {\n try {\n return decodeURIComponent(str);\n }\n catch (_a) {\n if (str.length > 3) {\n return str.substr(0, 3) + decodeURIComponentGraceful(str.substr(3));\n }\n else {\n return str;\n }\n }\n}\nconst _rEncodedAsHex = /(%[0-9A-Za-z][0-9A-Za-z])+/g;\nfunction percentDecode(str) {\n if (!str.match(_rEncodedAsHex)) {\n return str;\n }\n return str.replace(_rEncodedAsHex, (match) => decodeURIComponentGraceful(match));\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/uri.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/uuid.js": +/*!***************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/uuid.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 */ generateUuid: () => (/* binding */ generateUuid)\n/* harmony export */ });\nconst generateUuid = (function () {\n // use `randomUUID` if possible\n if (typeof crypto === 'object' && typeof crypto.randomUUID === 'function') {\n return crypto.randomUUID.bind(crypto);\n }\n // use `randomValues` if possible\n let getRandomValues;\n if (typeof crypto === 'object' && typeof crypto.getRandomValues === 'function') {\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n else {\n getRandomValues = function (bucket) {\n for (let i = 0; i < bucket.length; i++) {\n bucket[i] = Math.floor(Math.random() * 256);\n }\n return bucket;\n };\n }\n // prep-work\n const _data = new Uint8Array(16);\n const _hex = [];\n for (let i = 0; i < 256; i++) {\n _hex.push(i.toString(16).padStart(2, '0'));\n }\n return function generateUuid() {\n // get data\n getRandomValues(_data);\n // set version bits\n _data[6] = (_data[6] & 0x0f) | 0x40;\n _data[8] = (_data[8] & 0x3f) | 0x80;\n // print as string\n let i = 0;\n let result = '';\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += '-';\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += '-';\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += '-';\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += '-';\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n result += _hex[_data[i++]];\n return result;\n };\n})();\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/uuid.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js": +/*!******************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.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 */ SimpleWorkerClient: () => (/* binding */ SimpleWorkerClient),\n/* harmony export */ SimpleWorkerServer: () => (/* binding */ SimpleWorkerServer),\n/* harmony export */ create: () => (/* binding */ create),\n/* harmony export */ logOnceWebWorkerWarning: () => (/* binding */ logOnceWebWorkerWarning)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors.js */ \"./node_modules/monaco-editor/esm/vs/base/common/errors.js\");\n/* harmony import */ var _event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _objects_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _strings_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../strings.js */ \"./node_modules/monaco-editor/esm/vs/base/common/strings.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\nconst INITIALIZE = '$initialize';\nlet webWorkerWarningLogged = false;\nfunction logOnceWebWorkerWarning(err) {\n if (!_platform_js__WEBPACK_IMPORTED_MODULE_4__.isWeb) {\n // running tests\n return;\n }\n if (!webWorkerWarningLogged) {\n webWorkerWarningLogged = true;\n console.warn('Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq');\n }\n console.warn(err.message);\n}\nclass RequestMessage {\n constructor(vsWorker, req, method, args) {\n this.vsWorker = vsWorker;\n this.req = req;\n this.method = method;\n this.args = args;\n this.type = 0 /* MessageType.Request */;\n }\n}\nclass ReplyMessage {\n constructor(vsWorker, seq, res, err) {\n this.vsWorker = vsWorker;\n this.seq = seq;\n this.res = res;\n this.err = err;\n this.type = 1 /* MessageType.Reply */;\n }\n}\nclass SubscribeEventMessage {\n constructor(vsWorker, req, eventName, arg) {\n this.vsWorker = vsWorker;\n this.req = req;\n this.eventName = eventName;\n this.arg = arg;\n this.type = 2 /* MessageType.SubscribeEvent */;\n }\n}\nclass EventMessage {\n constructor(vsWorker, req, event) {\n this.vsWorker = vsWorker;\n this.req = req;\n this.event = event;\n this.type = 3 /* MessageType.Event */;\n }\n}\nclass UnsubscribeEventMessage {\n constructor(vsWorker, req) {\n this.vsWorker = vsWorker;\n this.req = req;\n this.type = 4 /* MessageType.UnsubscribeEvent */;\n }\n}\nclass SimpleWorkerProtocol {\n constructor(handler) {\n this._workerId = -1;\n this._handler = handler;\n this._lastSentReq = 0;\n this._pendingReplies = Object.create(null);\n this._pendingEmitters = new Map();\n this._pendingEvents = new Map();\n }\n setWorkerId(workerId) {\n this._workerId = workerId;\n }\n sendMessage(method, args) {\n const req = String(++this._lastSentReq);\n return new Promise((resolve, reject) => {\n this._pendingReplies[req] = {\n resolve: resolve,\n reject: reject\n };\n this._send(new RequestMessage(this._workerId, req, method, args));\n });\n }\n listen(eventName, arg) {\n let req = null;\n const emitter = new _event_js__WEBPACK_IMPORTED_MODULE_1__.Emitter({\n onWillAddFirstListener: () => {\n req = String(++this._lastSentReq);\n this._pendingEmitters.set(req, emitter);\n this._send(new SubscribeEventMessage(this._workerId, req, eventName, arg));\n },\n onDidRemoveLastListener: () => {\n this._pendingEmitters.delete(req);\n this._send(new UnsubscribeEventMessage(this._workerId, req));\n req = null;\n }\n });\n return emitter.event;\n }\n handleMessage(message) {\n if (!message || !message.vsWorker) {\n return;\n }\n if (this._workerId !== -1 && message.vsWorker !== this._workerId) {\n return;\n }\n this._handleMessage(message);\n }\n _handleMessage(msg) {\n switch (msg.type) {\n case 1 /* MessageType.Reply */:\n return this._handleReplyMessage(msg);\n case 0 /* MessageType.Request */:\n return this._handleRequestMessage(msg);\n case 2 /* MessageType.SubscribeEvent */:\n return this._handleSubscribeEventMessage(msg);\n case 3 /* MessageType.Event */:\n return this._handleEventMessage(msg);\n case 4 /* MessageType.UnsubscribeEvent */:\n return this._handleUnsubscribeEventMessage(msg);\n }\n }\n _handleReplyMessage(replyMessage) {\n if (!this._pendingReplies[replyMessage.seq]) {\n console.warn('Got reply to unknown seq');\n return;\n }\n const reply = this._pendingReplies[replyMessage.seq];\n delete this._pendingReplies[replyMessage.seq];\n if (replyMessage.err) {\n let err = replyMessage.err;\n if (replyMessage.err.$isError) {\n err = new Error();\n err.name = replyMessage.err.name;\n err.message = replyMessage.err.message;\n err.stack = replyMessage.err.stack;\n }\n reply.reject(err);\n return;\n }\n reply.resolve(replyMessage.res);\n }\n _handleRequestMessage(requestMessage) {\n const req = requestMessage.req;\n const result = this._handler.handleMessage(requestMessage.method, requestMessage.args);\n result.then((r) => {\n this._send(new ReplyMessage(this._workerId, req, r, undefined));\n }, (e) => {\n if (e.detail instanceof Error) {\n // Loading errors have a detail property that points to the actual error\n e.detail = (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.transformErrorForSerialization)(e.detail);\n }\n this._send(new ReplyMessage(this._workerId, req, undefined, (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.transformErrorForSerialization)(e)));\n });\n }\n _handleSubscribeEventMessage(msg) {\n const req = msg.req;\n const disposable = this._handler.handleEvent(msg.eventName, msg.arg)((event) => {\n this._send(new EventMessage(this._workerId, req, event));\n });\n this._pendingEvents.set(req, disposable);\n }\n _handleEventMessage(msg) {\n if (!this._pendingEmitters.has(msg.req)) {\n console.warn('Got event for unknown req');\n return;\n }\n this._pendingEmitters.get(msg.req).fire(msg.event);\n }\n _handleUnsubscribeEventMessage(msg) {\n if (!this._pendingEvents.has(msg.req)) {\n console.warn('Got unsubscribe for unknown req');\n return;\n }\n this._pendingEvents.get(msg.req).dispose();\n this._pendingEvents.delete(msg.req);\n }\n _send(msg) {\n const transfer = [];\n if (msg.type === 0 /* MessageType.Request */) {\n for (let i = 0; i < msg.args.length; i++) {\n if (msg.args[i] instanceof ArrayBuffer) {\n transfer.push(msg.args[i]);\n }\n }\n }\n else if (msg.type === 1 /* MessageType.Reply */) {\n if (msg.res instanceof ArrayBuffer) {\n transfer.push(msg.res);\n }\n }\n this._handler.sendMessage(msg, transfer);\n }\n}\n/**\n * Main thread side\n */\nclass SimpleWorkerClient extends _lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(workerFactory, moduleId, host) {\n super();\n let lazyProxyReject = null;\n this._worker = this._register(workerFactory.create('vs/base/common/worker/simpleWorker', (msg) => {\n this._protocol.handleMessage(msg);\n }, (err) => {\n // in Firefox, web workers fail lazily :(\n // we will reject the proxy\n lazyProxyReject === null || lazyProxyReject === void 0 ? void 0 : lazyProxyReject(err);\n }));\n this._protocol = new SimpleWorkerProtocol({\n sendMessage: (msg, transfer) => {\n this._worker.postMessage(msg, transfer);\n },\n handleMessage: (method, args) => {\n if (typeof host[method] !== 'function') {\n return Promise.reject(new Error('Missing method ' + method + ' on main thread host.'));\n }\n try {\n return Promise.resolve(host[method].apply(host, args));\n }\n catch (e) {\n return Promise.reject(e);\n }\n },\n handleEvent: (eventName, arg) => {\n if (propertyIsDynamicEvent(eventName)) {\n const event = host[eventName].call(host, arg);\n if (typeof event !== 'function') {\n throw new Error(`Missing dynamic event ${eventName} on main thread host.`);\n }\n return event;\n }\n if (propertyIsEvent(eventName)) {\n const event = host[eventName];\n if (typeof event !== 'function') {\n throw new Error(`Missing event ${eventName} on main thread host.`);\n }\n return event;\n }\n throw new Error(`Malformed event name ${eventName}`);\n }\n });\n this._protocol.setWorkerId(this._worker.getId());\n // Gather loader configuration\n let loaderConfiguration = null;\n const globalRequire = globalThis.require;\n if (typeof globalRequire !== 'undefined' && typeof globalRequire.getConfig === 'function') {\n // Get the configuration from the Monaco AMD Loader\n loaderConfiguration = globalRequire.getConfig();\n }\n else if (typeof globalThis.requirejs !== 'undefined') {\n // Get the configuration from requirejs\n loaderConfiguration = globalThis.requirejs.s.contexts._.config;\n }\n const hostMethods = (0,_objects_js__WEBPACK_IMPORTED_MODULE_3__.getAllMethodNames)(host);\n // Send initialize message\n this._onModuleLoaded = this._protocol.sendMessage(INITIALIZE, [\n this._worker.getId(),\n JSON.parse(JSON.stringify(loaderConfiguration)),\n moduleId,\n hostMethods,\n ]);\n // Create proxy to loaded code\n const proxyMethodRequest = (method, args) => {\n return this._request(method, args);\n };\n const proxyListen = (eventName, arg) => {\n return this._protocol.listen(eventName, arg);\n };\n this._lazyProxy = new Promise((resolve, reject) => {\n lazyProxyReject = reject;\n this._onModuleLoaded.then((availableMethods) => {\n resolve(createProxyObject(availableMethods, proxyMethodRequest, proxyListen));\n }, (e) => {\n reject(e);\n this._onError('Worker failed to load ' + moduleId, e);\n });\n });\n }\n getProxyObject() {\n return this._lazyProxy;\n }\n _request(method, args) {\n return new Promise((resolve, reject) => {\n this._onModuleLoaded.then(() => {\n this._protocol.sendMessage(method, args).then(resolve, reject);\n }, reject);\n });\n }\n _onError(message, error) {\n console.error(message);\n console.info(error);\n }\n}\nfunction propertyIsEvent(name) {\n // Assume a property is an event if it has a form of \"onSomething\"\n return name[0] === 'o' && name[1] === 'n' && _strings_js__WEBPACK_IMPORTED_MODULE_5__.isUpperAsciiLetter(name.charCodeAt(2));\n}\nfunction propertyIsDynamicEvent(name) {\n // Assume a property is a dynamic event (a method that returns an event) if it has a form of \"onDynamicSomething\"\n return /^onDynamic/.test(name) && _strings_js__WEBPACK_IMPORTED_MODULE_5__.isUpperAsciiLetter(name.charCodeAt(9));\n}\nfunction createProxyObject(methodNames, invoke, proxyListen) {\n const createProxyMethod = (method) => {\n return function () {\n const args = Array.prototype.slice.call(arguments, 0);\n return invoke(method, args);\n };\n };\n const createProxyDynamicEvent = (eventName) => {\n return function (arg) {\n return proxyListen(eventName, arg);\n };\n };\n const result = {};\n for (const methodName of methodNames) {\n if (propertyIsDynamicEvent(methodName)) {\n result[methodName] = createProxyDynamicEvent(methodName);\n continue;\n }\n if (propertyIsEvent(methodName)) {\n result[methodName] = proxyListen(methodName, undefined);\n continue;\n }\n result[methodName] = createProxyMethod(methodName);\n }\n return result;\n}\n/**\n * Worker side\n */\nclass SimpleWorkerServer {\n constructor(postMessage, requestHandlerFactory) {\n this._requestHandlerFactory = requestHandlerFactory;\n this._requestHandler = null;\n this._protocol = new SimpleWorkerProtocol({\n sendMessage: (msg, transfer) => {\n postMessage(msg, transfer);\n },\n handleMessage: (method, args) => this._handleMessage(method, args),\n handleEvent: (eventName, arg) => this._handleEvent(eventName, arg)\n });\n }\n onmessage(msg) {\n this._protocol.handleMessage(msg);\n }\n _handleMessage(method, args) {\n if (method === INITIALIZE) {\n return this.initialize(args[0], args[1], args[2], args[3]);\n }\n if (!this._requestHandler || typeof this._requestHandler[method] !== 'function') {\n return Promise.reject(new Error('Missing requestHandler or method: ' + method));\n }\n try {\n return Promise.resolve(this._requestHandler[method].apply(this._requestHandler, args));\n }\n catch (e) {\n return Promise.reject(e);\n }\n }\n _handleEvent(eventName, arg) {\n if (!this._requestHandler) {\n throw new Error(`Missing requestHandler`);\n }\n if (propertyIsDynamicEvent(eventName)) {\n const event = this._requestHandler[eventName].call(this._requestHandler, arg);\n if (typeof event !== 'function') {\n throw new Error(`Missing dynamic event ${eventName} on request handler.`);\n }\n return event;\n }\n if (propertyIsEvent(eventName)) {\n const event = this._requestHandler[eventName];\n if (typeof event !== 'function') {\n throw new Error(`Missing event ${eventName} on request handler.`);\n }\n return event;\n }\n throw new Error(`Malformed event name ${eventName}`);\n }\n initialize(workerId, loaderConfig, moduleId, hostMethods) {\n this._protocol.setWorkerId(workerId);\n const proxyMethodRequest = (method, args) => {\n return this._protocol.sendMessage(method, args);\n };\n const proxyListen = (eventName, arg) => {\n return this._protocol.listen(eventName, arg);\n };\n const hostProxy = createProxyObject(hostMethods, proxyMethodRequest, proxyListen);\n if (this._requestHandlerFactory) {\n // static request handler\n this._requestHandler = this._requestHandlerFactory(hostProxy);\n return Promise.resolve((0,_objects_js__WEBPACK_IMPORTED_MODULE_3__.getAllMethodNames)(this._requestHandler));\n }\n if (loaderConfig) {\n // Remove 'baseUrl', handling it is beyond scope for now\n if (typeof loaderConfig.baseUrl !== 'undefined') {\n delete loaderConfig['baseUrl'];\n }\n if (typeof loaderConfig.paths !== 'undefined') {\n if (typeof loaderConfig.paths.vs !== 'undefined') {\n delete loaderConfig.paths['vs'];\n }\n }\n if (typeof loaderConfig.trustedTypesPolicy !== undefined) {\n // don't use, it has been destroyed during serialize\n delete loaderConfig['trustedTypesPolicy'];\n }\n // Since this is in a web worker, enable catching errors\n loaderConfig.catchError = true;\n globalThis.require.config(loaderConfig);\n }\n return new Promise((resolve, reject) => {\n // Use the global require to be sure to get the global config\n // ESM-comment-begin\n // \t\t\tconst req = (globalThis.require || require);\n // ESM-comment-end\n // ESM-uncomment-begin\n const req = globalThis.require;\n // ESM-uncomment-end\n req([moduleId], (module) => {\n this._requestHandler = module.create(hostProxy);\n if (!this._requestHandler) {\n reject(new Error(`No RequestHandler!`));\n return;\n }\n resolve((0,_objects_js__WEBPACK_IMPORTED_MODULE_3__.getAllMethodNames)(this._requestHandler));\n }, reject);\n });\n }\n}\n/**\n * Called on the worker side\n * @skipMangle\n */\nfunction create(postMessage) {\n return new SimpleWorkerServer(postMessage, null);\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.js": +/*!********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.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 */ InMemoryStorageDatabase: () => (/* binding */ InMemoryStorageDatabase),\n/* harmony export */ Storage: () => (/* binding */ Storage),\n/* harmony export */ StorageHint: () => (/* binding */ StorageHint),\n/* harmony export */ StorageState: () => (/* binding */ StorageState)\n/* harmony export */ });\n/* harmony import */ var _common_async_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/async.js */ \"./node_modules/monaco-editor/esm/vs/base/common/async.js\");\n/* harmony import */ var _common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _common_marshalling_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../common/marshalling.js */ \"./node_modules/monaco-editor/esm/vs/base/common/marshalling.js\");\n/* harmony import */ var _common_types_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/types.js */ \"./node_modules/monaco-editor/esm/vs/base/common/types.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 *--------------------------------------------------------------------------------------------*/\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\nvar StorageHint;\n(function (StorageHint) {\n // A hint to the storage that the storage\n // does not exist on disk yet. This allows\n // the storage library to improve startup\n // time by not checking the storage for data.\n StorageHint[StorageHint[\"STORAGE_DOES_NOT_EXIST\"] = 0] = \"STORAGE_DOES_NOT_EXIST\";\n // A hint to the storage that the storage\n // is backed by an in-memory storage.\n StorageHint[StorageHint[\"STORAGE_IN_MEMORY\"] = 1] = \"STORAGE_IN_MEMORY\";\n})(StorageHint || (StorageHint = {}));\nvar StorageState;\n(function (StorageState) {\n StorageState[StorageState[\"None\"] = 0] = \"None\";\n StorageState[StorageState[\"Initialized\"] = 1] = \"Initialized\";\n StorageState[StorageState[\"Closed\"] = 2] = \"Closed\";\n})(StorageState || (StorageState = {}));\nclass Storage extends _common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(database, options = Object.create(null)) {\n super();\n this.database = database;\n this.options = options;\n this._onDidChangeStorage = this._register(new _common_event_js__WEBPACK_IMPORTED_MODULE_1__.PauseableEmitter());\n this.onDidChangeStorage = this._onDidChangeStorage.event;\n this.state = StorageState.None;\n this.cache = new Map();\n this.flushDelayer = new _common_async_js__WEBPACK_IMPORTED_MODULE_0__.ThrottledDelayer(Storage.DEFAULT_FLUSH_DELAY);\n this.pendingDeletes = new Set();\n this.pendingInserts = new Map();\n this.whenFlushedCallbacks = [];\n this.registerListeners();\n }\n registerListeners() {\n this._register(this.database.onDidChangeItemsExternal(e => this.onDidChangeItemsExternal(e)));\n }\n onDidChangeItemsExternal(e) {\n var _a, _b;\n this._onDidChangeStorage.pause();\n try {\n // items that change external require us to update our\n // caches with the values. we just accept the value and\n // emit an event if there is a change.\n (_a = e.changed) === null || _a === void 0 ? void 0 : _a.forEach((value, key) => this.acceptExternal(key, value));\n (_b = e.deleted) === null || _b === void 0 ? void 0 : _b.forEach(key => this.acceptExternal(key, undefined));\n }\n finally {\n this._onDidChangeStorage.resume();\n }\n }\n acceptExternal(key, value) {\n if (this.state === StorageState.Closed) {\n return; // Return early if we are already closed\n }\n let changed = false;\n // Item got removed, check for deletion\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isUndefinedOrNull)(value)) {\n changed = this.cache.delete(key);\n }\n // Item got updated, check for change\n else {\n const currentValue = this.cache.get(key);\n if (currentValue !== value) {\n this.cache.set(key, value);\n changed = true;\n }\n }\n // Signal to outside listeners\n if (changed) {\n this._onDidChangeStorage.fire({ key, external: true });\n }\n }\n get(key, fallbackValue) {\n const value = this.cache.get(key);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isUndefinedOrNull)(value)) {\n return fallbackValue;\n }\n return value;\n }\n getBoolean(key, fallbackValue) {\n const value = this.get(key);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isUndefinedOrNull)(value)) {\n return fallbackValue;\n }\n return value === 'true';\n }\n getNumber(key, fallbackValue) {\n const value = this.get(key);\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isUndefinedOrNull)(value)) {\n return fallbackValue;\n }\n return parseInt(value, 10);\n }\n set(key, value, external = false) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.state === StorageState.Closed) {\n return; // Return early if we are already closed\n }\n // We remove the key for undefined/null values\n if ((0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isUndefinedOrNull)(value)) {\n return this.delete(key, external);\n }\n // Otherwise, convert to String and store\n const valueStr = (0,_common_types_js__WEBPACK_IMPORTED_MODULE_4__.isObject)(value) || Array.isArray(value) ? (0,_common_marshalling_js__WEBPACK_IMPORTED_MODULE_3__.stringify)(value) : String(value);\n // Return early if value already set\n const currentValue = this.cache.get(key);\n if (currentValue === valueStr) {\n return;\n }\n // Update in cache and pending\n this.cache.set(key, valueStr);\n this.pendingInserts.set(key, valueStr);\n this.pendingDeletes.delete(key);\n // Event\n this._onDidChangeStorage.fire({ key, external });\n // Accumulate work by scheduling after timeout\n return this.doFlush();\n });\n }\n delete(key, external = false) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.state === StorageState.Closed) {\n return; // Return early if we are already closed\n }\n // Remove from cache and add to pending\n const wasDeleted = this.cache.delete(key);\n if (!wasDeleted) {\n return; // Return early if value already deleted\n }\n if (!this.pendingDeletes.has(key)) {\n this.pendingDeletes.add(key);\n }\n this.pendingInserts.delete(key);\n // Event\n this._onDidChangeStorage.fire({ key, external });\n // Accumulate work by scheduling after timeout\n return this.doFlush();\n });\n }\n get hasPending() {\n return this.pendingInserts.size > 0 || this.pendingDeletes.size > 0;\n }\n flushPending() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.hasPending) {\n return; // return early if nothing to do\n }\n // Get pending data\n const updateRequest = { insert: this.pendingInserts, delete: this.pendingDeletes };\n // Reset pending data for next run\n this.pendingDeletes = new Set();\n this.pendingInserts = new Map();\n // Update in storage and release any\n // waiters we have once done\n return this.database.updateItems(updateRequest).finally(() => {\n var _a;\n if (!this.hasPending) {\n while (this.whenFlushedCallbacks.length) {\n (_a = this.whenFlushedCallbacks.pop()) === null || _a === void 0 ? void 0 : _a();\n }\n }\n });\n });\n }\n doFlush(delay) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.flushDelayer.trigger(() => this.flushPending(), delay);\n });\n }\n dispose() {\n this.flushDelayer.dispose();\n super.dispose();\n }\n}\nStorage.DEFAULT_FLUSH_DELAY = 100;\nclass InMemoryStorageDatabase {\n constructor() {\n this.onDidChangeItemsExternal = _common_event_js__WEBPACK_IMPORTED_MODULE_1__.Event.None;\n this.items = new Map();\n }\n updateItems(request) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n (_a = request.insert) === null || _a === void 0 ? void 0 : _a.forEach((value, key) => this.items.set(key, value));\n (_b = request.delete) === null || _b === void 0 ? void 0 : _b.forEach(key => this.items.delete(key));\n });\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.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 */ loadLanguage: () => (/* binding */ loadLanguage),\n/* harmony export */ registerLanguage: () => (/* binding */ registerLanguage)\n/* harmony export */ });\n/* harmony import */ var _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../editor/editor.api.js */ \"./node_modules/monaco-editor/esm/vs/editor/editor.api.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\n\n// src/fillers/monaco-editor-core.ts\nvar monaco_editor_core_exports = {};\n__reExport(monaco_editor_core_exports, _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__);\n\n\n// src/basic-languages/_.contribution.ts\nvar languageDefinitions = {};\nvar lazyLanguageLoaders = {};\nvar LazyLanguageLoader = class {\n static getOrCreate(languageId) {\n if (!lazyLanguageLoaders[languageId]) {\n lazyLanguageLoaders[languageId] = new LazyLanguageLoader(languageId);\n }\n return lazyLanguageLoaders[languageId];\n }\n _languageId;\n _loadingTriggered;\n _lazyLoadPromise;\n _lazyLoadPromiseResolve;\n _lazyLoadPromiseReject;\n constructor(languageId) {\n this._languageId = languageId;\n this._loadingTriggered = false;\n this._lazyLoadPromise = new Promise((resolve, reject) => {\n this._lazyLoadPromiseResolve = resolve;\n this._lazyLoadPromiseReject = reject;\n });\n }\n load() {\n if (!this._loadingTriggered) {\n this._loadingTriggered = true;\n languageDefinitions[this._languageId].loader().then((mod) => this._lazyLoadPromiseResolve(mod), (err) => this._lazyLoadPromiseReject(err));\n }\n return this._lazyLoadPromise;\n }\n};\nasync function loadLanguage(languageId) {\n await LazyLanguageLoader.getOrCreate(languageId).load();\n const model = monaco_editor_core_exports.editor.createModel(\"\", languageId);\n model.dispose();\n}\nfunction registerLanguage(def) {\n const languageId = def.id;\n languageDefinitions[languageId] = def;\n monaco_editor_core_exports.languages.register(def);\n const lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);\n monaco_editor_core_exports.languages.registerTokensProviderFactory(languageId, {\n create: async () => {\n const mod = await lazyLanguageLoader.load();\n return mod.language;\n }\n });\n monaco_editor_core_exports.languages.onLanguageEncountered(languageId, async () => {\n const mod = await lazyLanguageLoader.load();\n monaco_editor_core_exports.languages.setLanguageConfiguration(languageId, mod.conf);\n });\n}\n\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/abap/abap.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"abap\",\n extensions: [\".abap\"],\n aliases: [\"abap\", \"ABAP\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_abap_abap_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./abap.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/apex/apex.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"apex\",\n extensions: [\".cls\"],\n aliases: [\"Apex\", \"apex\"],\n mimetypes: [\"text/x-apex-source\", \"text/x-apex\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_apex_apex_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./apex.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/azcli/azcli.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"azcli\",\n extensions: [\".azcli\"],\n aliases: [\"Azure CLI\", \"azcli\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_azcli_azcli_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./azcli.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/bat/bat.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"bat\",\n extensions: [\".bat\", \".cmd\"],\n aliases: [\"Batch\", \"bat\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_bat_bat_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./bat.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/bicep/bicep.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"bicep\",\n extensions: [\".bicep\"],\n aliases: [\"Bicep\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_bicep_bicep_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./bicep.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/cameligo/cameligo.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"cameligo\",\n extensions: [\".mligo\"],\n aliases: [\"Cameligo\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_cameligo_cameligo_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cameligo.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/clojure/clojure.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"clojure\",\n extensions: [\".clj\", \".cljs\", \".cljc\", \".edn\"],\n aliases: [\"clojure\", \"Clojure\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_clojure_clojure_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./clojure.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/coffee/coffee.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"coffeescript\",\n extensions: [\".coffee\"],\n aliases: [\"CoffeeScript\", \"coffeescript\", \"coffee\"],\n mimetypes: [\"text/x-coffeescript\", \"text/coffeescript\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_coffee_coffee_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./coffee.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/cpp/cpp.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"c\",\n extensions: [\".c\", \".h\"],\n aliases: [\"C\", \"c\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_cpp_cpp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cpp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.js\"));\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"cpp\",\n extensions: [\".cpp\", \".cc\", \".cxx\", \".hpp\", \".hh\", \".hxx\"],\n aliases: [\"C++\", \"Cpp\", \"cpp\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_cpp_cpp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cpp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/csharp/csharp.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"csharp\",\n extensions: [\".cs\", \".csx\", \".cake\"],\n aliases: [\"C#\", \"csharp\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_csharp_csharp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./csharp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/csp/csp.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"csp\",\n extensions: [],\n aliases: [\"CSP\", \"csp\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_csp_csp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./csp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/css/css.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"css\",\n extensions: [\".css\"],\n aliases: [\"CSS\", \"css\"],\n mimetypes: [\"text/css\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_css_css_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./css.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/css/css.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/cypher/cypher.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"cypher\",\n extensions: [\".cypher\", \".cyp\"],\n aliases: [\"Cypher\", \"OpenCypher\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_cypher_cypher_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./cypher.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/dart/dart.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"dart\",\n extensions: [\".dart\"],\n aliases: [\"Dart\", \"dart\"],\n mimetypes: [\"text/x-dart-source\", \"text/x-dart\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_dart_dart_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./dart.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/dockerfile/dockerfile.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"dockerfile\",\n extensions: [\".dockerfile\"],\n filenames: [\"Dockerfile\"],\n aliases: [\"Dockerfile\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_dockerfile_dockerfile_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./dockerfile.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/ecl/ecl.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"ecl\",\n extensions: [\".ecl\"],\n aliases: [\"ECL\", \"Ecl\", \"ecl\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_ecl_ecl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ecl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/elixir/elixir.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"elixir\",\n extensions: [\".ex\", \".exs\"],\n aliases: [\"Elixir\", \"elixir\", \"ex\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_elixir_elixir_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./elixir.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/flow9/flow9.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"flow9\",\n extensions: [\".flow\"],\n aliases: [\"Flow9\", \"Flow\", \"flow9\", \"flow\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_flow9_flow9_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./flow9.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/freemarker2/freemarker2.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2\",\n extensions: [\".ftl\", \".ftlh\", \".ftlx\"],\n aliases: [\"FreeMarker2\", \"Apache FreeMarker2\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagAutoInterpolationDollar);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-angle.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Angle/Dollar)\", \"Apache FreeMarker2 (Angle/Dollar)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagAngleInterpolationDollar);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-bracket.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Bracket/Dollar)\", \"Apache FreeMarker2 (Bracket/Dollar)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagBracketInterpolationDollar);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-angle.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Angle/Bracket)\", \"Apache FreeMarker2 (Angle/Bracket)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagAngleInterpolationBracket);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-bracket.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Bracket/Bracket)\", \"Apache FreeMarker2 (Bracket/Bracket)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagBracketInterpolationBracket);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-auto.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Auto/Dollar)\", \"Apache FreeMarker2 (Auto/Dollar)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagAutoInterpolationDollar);\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"freemarker2.tag-auto.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Auto/Bracket)\", \"Apache FreeMarker2 (Auto/Bracket)\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_freemarker2_freemarker2_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./freemarker2.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js\")).then((m) => m.TagAutoInterpolationBracket);\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/fsharp/fsharp.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"fsharp\",\n extensions: [\".fs\", \".fsi\", \".ml\", \".mli\", \".fsx\", \".fsscript\"],\n aliases: [\"F#\", \"FSharp\", \"fsharp\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_fsharp_fsharp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./fsharp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/go/go.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"go\",\n extensions: [\".go\"],\n aliases: [\"Go\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_go_go_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./go.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/go/go.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js ***! + \*******************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/graphql/graphql.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"graphql\",\n extensions: [\".graphql\", \".gql\"],\n aliases: [\"GraphQL\", \"graphql\", \"gql\"],\n mimetypes: [\"application/graphql\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_graphql_graphql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./graphql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/handlebars/handlebars.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"handlebars\",\n extensions: [\".handlebars\", \".hbs\"],\n aliases: [\"Handlebars\", \"handlebars\", \"hbs\"],\n mimetypes: [\"text/x-handlebars-template\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_handlebars_handlebars_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./handlebars.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/hcl/hcl.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"hcl\",\n extensions: [\".tf\", \".tfvars\", \".hcl\"],\n aliases: [\"Terraform\", \"tf\", \"HCL\", \"hcl\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_hcl_hcl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./hcl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/html/html.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"html\",\n extensions: [\".html\", \".htm\", \".shtml\", \".xhtml\", \".mdoc\", \".jsp\", \".asp\", \".aspx\", \".jshtm\"],\n aliases: [\"HTML\", \"htm\", \"html\", \"xhtml\"],\n mimetypes: [\"text/html\", \"text/x-jshtm\", \"text/template\", \"text/ng-template\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_html_html_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./html.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/html/html.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/ini/ini.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"ini\",\n extensions: [\".ini\", \".properties\", \".gitconfig\"],\n filenames: [\"config\", \".gitattributes\", \".gitconfig\", \".editorconfig\"],\n aliases: [\"Ini\", \"ini\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_ini_ini_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ini.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/java/java.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"java\",\n extensions: [\".java\", \".jav\"],\n aliases: [\"Java\", \"java\"],\n mimetypes: [\"text/x-java-source\", \"text/x-java\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_java_java_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./java.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/java/java.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/javascript/javascript.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"javascript\",\n extensions: [\".js\", \".es6\", \".jsx\", \".mjs\", \".cjs\"],\n firstLine: \"^#!.*\\\\bnode\",\n filenames: [\"jakefile\"],\n aliases: [\"JavaScript\", \"javascript\", \"js\"],\n mimetypes: [\"text/javascript\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_javascript_javascript_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./javascript.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/julia/julia.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"julia\",\n extensions: [\".jl\"],\n aliases: [\"julia\", \"Julia\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_julia_julia_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./julia.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/kotlin/kotlin.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"kotlin\",\n extensions: [\".kt\", \".kts\"],\n aliases: [\"Kotlin\", \"kotlin\"],\n mimetypes: [\"text/x-kotlin-source\", \"text/x-kotlin\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_kotlin_kotlin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./kotlin.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/less/less.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"less\",\n extensions: [\".less\"],\n aliases: [\"Less\", \"less\"],\n mimetypes: [\"text/x-less\", \"text/less\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_less_less_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./less.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/less/less.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/lexon/lexon.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"lexon\",\n extensions: [\".lex\"],\n aliases: [\"Lexon\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_lexon_lexon_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./lexon.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/liquid/liquid.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"liquid\",\n extensions: [\".liquid\", \".html.liquid\"],\n aliases: [\"Liquid\", \"liquid\"],\n mimetypes: [\"application/liquid\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_liquid_liquid_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./liquid.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/lua/lua.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"lua\",\n extensions: [\".lua\"],\n aliases: [\"Lua\", \"lua\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_lua_lua_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./lua.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/m3/m3.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"m3\",\n extensions: [\".m3\", \".i3\", \".mg\", \".ig\"],\n aliases: [\"Modula-3\", \"Modula3\", \"modula3\", \"m3\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_m3_m3_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./m3.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/markdown/markdown.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"markdown\",\n extensions: [\".md\", \".markdown\", \".mdown\", \".mkdn\", \".mkd\", \".mdwn\", \".mdtxt\", \".mdtext\"],\n aliases: [\"Markdown\", \"markdown\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_markdown_markdown_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./markdown.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/mips/mips.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"mips\",\n extensions: [\".s\"],\n aliases: [\"MIPS\", \"MIPS-V\"],\n mimetypes: [\"text/x-mips\", \"text/mips\", \"text/plaintext\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_mips_mips_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./mips.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/monaco.contribution.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/monaco.contribution.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _editor_editor_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../editor/editor.api.js */ \"./node_modules/monaco-editor/esm/vs/editor/editor.api.js\");\n/* harmony import */ var _abap_abap_contribution_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abap/abap.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js\");\n/* harmony import */ var _apex_apex_contribution_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apex/apex.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js\");\n/* harmony import */ var _azcli_azcli_contribution_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./azcli/azcli.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js\");\n/* harmony import */ var _bat_bat_contribution_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./bat/bat.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js\");\n/* harmony import */ var _bicep_bicep_contribution_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./bicep/bicep.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js\");\n/* harmony import */ var _cameligo_cameligo_contribution_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cameligo/cameligo.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js\");\n/* harmony import */ var _clojure_clojure_contribution_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./clojure/clojure.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js\");\n/* harmony import */ var _coffee_coffee_contribution_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./coffee/coffee.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js\");\n/* harmony import */ var _cpp_cpp_contribution_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./cpp/cpp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js\");\n/* harmony import */ var _csharp_csharp_contribution_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./csharp/csharp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js\");\n/* harmony import */ var _csp_csp_contribution_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./csp/csp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js\");\n/* harmony import */ var _css_css_contribution_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./css/css.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js\");\n/* harmony import */ var _cypher_cypher_contribution_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./cypher/cypher.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js\");\n/* harmony import */ var _dart_dart_contribution_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./dart/dart.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js\");\n/* harmony import */ var _dockerfile_dockerfile_contribution_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./dockerfile/dockerfile.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js\");\n/* harmony import */ var _ecl_ecl_contribution_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ecl/ecl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js\");\n/* harmony import */ var _elixir_elixir_contribution_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./elixir/elixir.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js\");\n/* harmony import */ var _flow9_flow9_contribution_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./flow9/flow9.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js\");\n/* harmony import */ var _fsharp_fsharp_contribution_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./fsharp/fsharp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js\");\n/* harmony import */ var _freemarker2_freemarker2_contribution_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./freemarker2/freemarker2.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js\");\n/* harmony import */ var _go_go_contribution_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./go/go.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js\");\n/* harmony import */ var _graphql_graphql_contribution_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./graphql/graphql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js\");\n/* harmony import */ var _handlebars_handlebars_contribution_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./handlebars/handlebars.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js\");\n/* harmony import */ var _hcl_hcl_contribution_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./hcl/hcl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js\");\n/* harmony import */ var _html_html_contribution_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./html/html.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js\");\n/* harmony import */ var _ini_ini_contribution_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./ini/ini.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js\");\n/* harmony import */ var _java_java_contribution_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./java/java.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js\");\n/* harmony import */ var _javascript_javascript_contribution_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./javascript/javascript.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js\");\n/* harmony import */ var _julia_julia_contribution_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./julia/julia.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js\");\n/* harmony import */ var _kotlin_kotlin_contribution_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./kotlin/kotlin.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js\");\n/* harmony import */ var _less_less_contribution_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./less/less.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js\");\n/* harmony import */ var _lexon_lexon_contribution_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./lexon/lexon.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js\");\n/* harmony import */ var _lua_lua_contribution_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./lua/lua.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js\");\n/* harmony import */ var _liquid_liquid_contribution_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./liquid/liquid.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js\");\n/* harmony import */ var _m3_m3_contribution_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./m3/m3.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js\");\n/* harmony import */ var _markdown_markdown_contribution_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./markdown/markdown.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js\");\n/* harmony import */ var _mips_mips_contribution_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./mips/mips.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js\");\n/* harmony import */ var _msdax_msdax_contribution_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./msdax/msdax.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js\");\n/* harmony import */ var _mysql_mysql_contribution_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./mysql/mysql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js\");\n/* harmony import */ var _objective_c_objective_c_contribution_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./objective-c/objective-c.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js\");\n/* harmony import */ var _pascal_pascal_contribution_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./pascal/pascal.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js\");\n/* harmony import */ var _pascaligo_pascaligo_contribution_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./pascaligo/pascaligo.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js\");\n/* harmony import */ var _perl_perl_contribution_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./perl/perl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js\");\n/* harmony import */ var _pgsql_pgsql_contribution_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./pgsql/pgsql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js\");\n/* harmony import */ var _php_php_contribution_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./php/php.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js\");\n/* harmony import */ var _pla_pla_contribution_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./pla/pla.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js\");\n/* harmony import */ var _postiats_postiats_contribution_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./postiats/postiats.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js\");\n/* harmony import */ var _powerquery_powerquery_contribution_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./powerquery/powerquery.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js\");\n/* harmony import */ var _powershell_powershell_contribution_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./powershell/powershell.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js\");\n/* harmony import */ var _protobuf_protobuf_contribution_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./protobuf/protobuf.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js\");\n/* harmony import */ var _pug_pug_contribution_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./pug/pug.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js\");\n/* harmony import */ var _python_python_contribution_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./python/python.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js\");\n/* harmony import */ var _qsharp_qsharp_contribution_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./qsharp/qsharp.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js\");\n/* harmony import */ var _r_r_contribution_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./r/r.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js\");\n/* harmony import */ var _razor_razor_contribution_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./razor/razor.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js\");\n/* harmony import */ var _redis_redis_contribution_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./redis/redis.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js\");\n/* harmony import */ var _redshift_redshift_contribution_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./redshift/redshift.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js\");\n/* harmony import */ var _restructuredtext_restructuredtext_contribution_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./restructuredtext/restructuredtext.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js\");\n/* harmony import */ var _ruby_ruby_contribution_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./ruby/ruby.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js\");\n/* harmony import */ var _rust_rust_contribution_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./rust/rust.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js\");\n/* harmony import */ var _sb_sb_contribution_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./sb/sb.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js\");\n/* harmony import */ var _scala_scala_contribution_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./scala/scala.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js\");\n/* harmony import */ var _scheme_scheme_contribution_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./scheme/scheme.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js\");\n/* harmony import */ var _scss_scss_contribution_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./scss/scss.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js\");\n/* harmony import */ var _shell_shell_contribution_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./shell/shell.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js\");\n/* harmony import */ var _solidity_solidity_contribution_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./solidity/solidity.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js\");\n/* harmony import */ var _sophia_sophia_contribution_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./sophia/sophia.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js\");\n/* harmony import */ var _sparql_sparql_contribution_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./sparql/sparql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js\");\n/* harmony import */ var _sql_sql_contribution_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./sql/sql.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js\");\n/* harmony import */ var _st_st_contribution_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./st/st.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js\");\n/* harmony import */ var _swift_swift_contribution_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./swift/swift.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js\");\n/* harmony import */ var _systemverilog_systemverilog_contribution_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./systemverilog/systemverilog.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js\");\n/* harmony import */ var _tcl_tcl_contribution_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./tcl/tcl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js\");\n/* harmony import */ var _twig_twig_contribution_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./twig/twig.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js\");\n/* harmony import */ var _typescript_typescript_contribution_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./typescript/typescript.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js\");\n/* harmony import */ var _vb_vb_contribution_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./vb/vb.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js\");\n/* harmony import */ var _wgsl_wgsl_contribution_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./wgsl/wgsl.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js\");\n/* harmony import */ var _xml_xml_contribution_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./xml/xml.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js\");\n/* harmony import */ var _yaml_yaml_contribution_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./yaml/yaml.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js\");\n\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/monaco.contribution.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/monaco.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/msdax/msdax.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"msdax\",\n extensions: [\".dax\", \".msdax\"],\n aliases: [\"DAX\", \"MSDAX\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_msdax_msdax_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./msdax.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/mysql/mysql.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"mysql\",\n extensions: [],\n aliases: [\"MySQL\", \"mysql\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_mysql_mysql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./mysql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js": +/*!***************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js ***! + \***************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/objective-c/objective-c.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"objective-c\",\n extensions: [\".m\"],\n aliases: [\"Objective-C\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_objective-c_objective-c_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./objective-c.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pascal/pascal.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"pascal\",\n extensions: [\".pas\", \".p\", \".pp\"],\n aliases: [\"Pascal\", \"pas\"],\n mimetypes: [\"text/x-pascal-source\", \"text/x-pascal\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_pascal_pascal_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pascal.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js ***! + \***********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pascaligo/pascaligo.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"pascaligo\",\n extensions: [\".ligo\"],\n aliases: [\"Pascaligo\", \"ligo\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_pascaligo_pascaligo_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pascaligo.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/perl/perl.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"perl\",\n extensions: [\".pl\", \".pm\"],\n aliases: [\"Perl\", \"pl\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_perl_perl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./perl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pgsql/pgsql.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"pgsql\",\n extensions: [],\n aliases: [\"PostgreSQL\", \"postgres\", \"pg\", \"postgre\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_pgsql_pgsql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pgsql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/php/php.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"php\",\n extensions: [\".php\", \".php4\", \".php5\", \".phtml\", \".ctp\"],\n aliases: [\"PHP\", \"php\"],\n mimetypes: [\"application/x-php\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_php_php_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./php.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/php/php.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pla/pla.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"pla\",\n extensions: [\".pla\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_pla_pla_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pla.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/postiats/postiats.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"postiats\",\n extensions: [\".dats\", \".sats\", \".hats\"],\n aliases: [\"ATS\", \"ATS/Postiats\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_postiats_postiats_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./postiats.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/powerquery/powerquery.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"powerquery\",\n extensions: [\".pq\", \".pqm\"],\n aliases: [\"PQ\", \"M\", \"Power Query\", \"Power Query M\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_powerquery_powerquery_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./powerquery.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/powershell/powershell.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"powershell\",\n extensions: [\".ps1\", \".psm1\", \".psd1\"],\n aliases: [\"PowerShell\", \"powershell\", \"ps\", \"ps1\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_powershell_powershell_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./powershell.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/protobuf/protobuf.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"proto\",\n extensions: [\".proto\"],\n aliases: [\"protobuf\", \"Protocol Buffers\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_protobuf_protobuf_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./protobuf.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/pug/pug.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"pug\",\n extensions: [\".jade\", \".pug\"],\n aliases: [\"Pug\", \"Jade\", \"jade\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_pug_pug_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./pug.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/python/python.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"python\",\n extensions: [\".py\", \".rpy\", \".pyw\", \".cpy\", \".gyp\", \".gypi\"],\n aliases: [\"Python\", \"py\"],\n firstLine: \"^#!/.*\\\\bpython[0-9.-]*\\\\b\",\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_python_python_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./python.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/python/python.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/qsharp/qsharp.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"qsharp\",\n extensions: [\".qs\"],\n aliases: [\"Q#\", \"qsharp\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_qsharp_qsharp_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./qsharp.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js": +/*!*******************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js ***! + \*******************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/r/r.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"r\",\n extensions: [\".r\", \".rhistory\", \".rmd\", \".rprofile\", \".rt\"],\n aliases: [\"R\", \"r\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_r_r_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./r.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/r/r.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/razor/razor.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"razor\",\n extensions: [\".cshtml\"],\n aliases: [\"Razor\", \"razor\"],\n mimetypes: [\"text/x-cshtml\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_razor_razor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./razor.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/redis/redis.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"redis\",\n extensions: [\".redis\"],\n aliases: [\"redis\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_redis_redis_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./redis.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/redshift/redshift.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"redshift\",\n extensions: [],\n aliases: [\"Redshift\", \"redshift\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_redshift_redshift_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./redshift.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js ***! + \*************************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/restructuredtext/restructuredtext.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"restructuredtext\",\n extensions: [\".rst\"],\n aliases: [\"reStructuredText\", \"restructuredtext\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_restructuredtext_restructuredtext_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./restructuredtext.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/ruby/ruby.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"ruby\",\n extensions: [\".rb\", \".rbx\", \".rjs\", \".gemspec\", \".pp\"],\n filenames: [\"rakefile\", \"Gemfile\"],\n aliases: [\"Ruby\", \"rb\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_ruby_ruby_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ruby.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/rust/rust.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"rust\",\n extensions: [\".rs\", \".rlib\"],\n aliases: [\"Rust\", \"rust\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_rust_rust_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./rust.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/sb/sb.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"sb\",\n extensions: [\".sb\"],\n aliases: [\"Small Basic\", \"sb\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_sb_sb_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sb.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/scala/scala.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"scala\",\n extensions: [\".scala\", \".sc\", \".sbt\"],\n aliases: [\"Scala\", \"scala\", \"SBT\", \"Sbt\", \"sbt\", \"Dotty\", \"dotty\"],\n mimetypes: [\"text/x-scala-source\", \"text/x-scala\", \"text/x-sbt\", \"text/x-dotty\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_scala_scala_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./scala.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/scheme/scheme.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"scheme\",\n extensions: [\".scm\", \".ss\", \".sch\", \".rkt\"],\n aliases: [\"scheme\", \"Scheme\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_scheme_scheme_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./scheme.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/scss/scss.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"scss\",\n extensions: [\".scss\"],\n aliases: [\"Sass\", \"sass\", \"scss\"],\n mimetypes: [\"text/x-scss\", \"text/scss\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_scss_scss_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./scss.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/shell/shell.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"shell\",\n extensions: [\".sh\", \".bash\"],\n aliases: [\"Shell\", \"sh\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_shell_shell_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./shell.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js": +/*!*********************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js ***! + \*********************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/solidity/solidity.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"sol\",\n extensions: [\".sol\"],\n aliases: [\"sol\", \"solidity\", \"Solidity\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_solidity_solidity_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./solidity.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/sophia/sophia.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"aes\",\n extensions: [\".aes\"],\n aliases: [\"aes\", \"sophia\", \"Sophia\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_sophia_sophia_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sophia.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js": +/*!*****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js ***! + \*****************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/sparql/sparql.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"sparql\",\n extensions: [\".rq\"],\n aliases: [\"sparql\", \"SPARQL\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_sparql_sparql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sparql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/sql/sql.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"sql\",\n extensions: [\".sql\"],\n aliases: [\"SQL\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_sql_sql_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./sql.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/st/st.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"st\",\n extensions: [\".st\", \".iecst\", \".iecplc\", \".lc3lib\"],\n aliases: [\"StructuredText\", \"scl\", \"stl\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_st_st_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./st.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/st/st.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js ***! + \***************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/swift/swift.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"swift\",\n aliases: [\"Swift\", \"swift\"],\n extensions: [\".swift\"],\n mimetypes: [\"text/swift\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_swift_swift_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./swift.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js": +/*!*******************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js ***! + \*******************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/systemverilog/systemverilog.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"systemverilog\",\n extensions: [\".sv\", \".svh\"],\n aliases: [\"SV\", \"sv\", \"SystemVerilog\", \"systemverilog\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_systemverilog_systemverilog_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./systemverilog.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js\"));\n }\n }\n});\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"verilog\",\n extensions: [\".v\", \".vh\"],\n aliases: [\"V\", \"v\", \"Verilog\", \"verilog\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"vendors-node_modules_monaco-editor_esm_vs_basic-languages_systemverilog_systemverilog_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./systemverilog.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/tcl/tcl.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"tcl\",\n extensions: [\".tcl\"],\n aliases: [\"tcl\", \"Tcl\", \"tcltk\", \"TclTk\", \"tcl/tk\", \"Tcl/Tk\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_tcl_tcl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./tcl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/twig/twig.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"twig\",\n extensions: [\".twig\"],\n aliases: [\"Twig\", \"twig\"],\n mimetypes: [\"text/x-twig\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_twig_twig_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./twig.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js": +/*!*************************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js ***! + \*************************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/typescript/typescript.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"typescript\",\n extensions: [\".ts\", \".tsx\", \".cts\", \".mts\"],\n aliases: [\"TypeScript\", \"ts\", \"typescript\"],\n mimetypes: [\"text/typescript\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_typescript_typescript_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./typescript.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js ***! + \*********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/vb/vb.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"vb\",\n extensions: [\".vb\"],\n aliases: [\"Visual Basic\", \"vb\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_vb_vb_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./vb.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/wgsl/wgsl.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"wgsl\",\n extensions: [\".wgsl\"],\n aliases: [\"WebGPU Shading Language\", \"WGSL\", \"wgsl\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_wgsl_wgsl_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./wgsl.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js ***! + \***********************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/xml/xml.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"xml\",\n extensions: [\n \".xml\",\n \".xsd\",\n \".dtd\",\n \".ascx\",\n \".csproj\",\n \".config\",\n \".props\",\n \".targets\",\n \".wxi\",\n \".wxl\",\n \".wxs\",\n \".xaml\",\n \".svg\",\n \".svgz\",\n \".opf\",\n \".xslt\",\n \".xsl\"\n ],\n firstLine: \"(\\\\<\\\\?xml.*)|(\\\\ {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_xml_xml_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./xml.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js ***! + \*************************************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _contribution_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_.contribution.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js\");\n/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.40.0(83b3cf23ca80c94cccca7c5b3e48351b220f8e35)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n// src/basic-languages/yaml/yaml.contribution.ts\n\n(0,_contribution_js__WEBPACK_IMPORTED_MODULE_0__.registerLanguage)({\n id: \"yaml\",\n extensions: [\".yaml\", \".yml\"],\n aliases: [\"YAML\", \"yaml\", \"YML\", \"yml\"],\n mimetypes: [\"application/x-yaml\", \"text/x-yaml\"],\n loader: () => {\n if (false) {} else {\n return __webpack_require__.e(/*! import() */ \"node_modules_monaco-editor_esm_vs_basic-languages_yaml_yaml_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./yaml.js */ \"./node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.js\"));\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js": +/*!************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.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 */ CharWidthRequest: () => (/* binding */ CharWidthRequest),\n/* harmony export */ readCharWidths: () => (/* binding */ readCharWidths)\n/* harmony export */ });\n/* harmony import */ var _domFontInfo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./domFontInfo.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/config/domFontInfo.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 CharWidthRequest {\n constructor(chr, type) {\n this.chr = chr;\n this.type = type;\n this.width = 0;\n }\n fulfill(width) {\n this.width = width;\n }\n}\nclass DomCharWidthReader {\n constructor(bareFontInfo, requests) {\n this._bareFontInfo = bareFontInfo;\n this._requests = requests;\n this._container = null;\n this._testElements = null;\n }\n read() {\n // Create a test container with all these test elements\n this._createDomElements();\n // Add the container to the DOM\n document.body.appendChild(this._container);\n // Read character widths\n this._readFromDomElements();\n // Remove the container from the DOM\n document.body.removeChild(this._container);\n this._container = null;\n this._testElements = null;\n }\n _createDomElements() {\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.top = '-50000px';\n container.style.width = '50000px';\n const regularDomNode = document.createElement('div');\n (0,_domFontInfo_js__WEBPACK_IMPORTED_MODULE_0__.applyFontInfo)(regularDomNode, this._bareFontInfo);\n container.appendChild(regularDomNode);\n const boldDomNode = document.createElement('div');\n (0,_domFontInfo_js__WEBPACK_IMPORTED_MODULE_0__.applyFontInfo)(boldDomNode, this._bareFontInfo);\n boldDomNode.style.fontWeight = 'bold';\n container.appendChild(boldDomNode);\n const italicDomNode = document.createElement('div');\n (0,_domFontInfo_js__WEBPACK_IMPORTED_MODULE_0__.applyFontInfo)(italicDomNode, this._bareFontInfo);\n italicDomNode.style.fontStyle = 'italic';\n container.appendChild(italicDomNode);\n const testElements = [];\n for (const request of this._requests) {\n let parent;\n if (request.type === 0 /* CharWidthRequestType.Regular */) {\n parent = regularDomNode;\n }\n if (request.type === 2 /* CharWidthRequestType.Bold */) {\n parent = boldDomNode;\n }\n if (request.type === 1 /* CharWidthRequestType.Italic */) {\n parent = italicDomNode;\n }\n parent.appendChild(document.createElement('br'));\n const testElement = document.createElement('span');\n DomCharWidthReader._render(testElement, request);\n parent.appendChild(testElement);\n testElements.push(testElement);\n }\n this._container = container;\n this._testElements = testElements;\n }\n static _render(testElement, request) {\n if (request.chr === ' ') {\n let htmlString = '\\u00a0';\n // Repeat character 256 (2^8) times\n for (let i = 0; i < 8; i++) {\n htmlString += htmlString;\n }\n testElement.innerText = htmlString;\n }\n else {\n let testString = request.chr;\n // Repeat character 256 (2^8) times\n for (let i = 0; i < 8; i++) {\n testString += testString;\n }\n testElement.textContent = testString;\n }\n }\n _readFromDomElements() {\n for (let i = 0, len = this._requests.length; i < len; i++) {\n const request = this._requests[i];\n const testElement = this._testElements[i];\n request.fulfill(testElement.offsetWidth / 256);\n }\n }\n}\nfunction readCharWidths(bareFontInfo, requests) {\n const reader = new DomCharWidthReader(bareFontInfo, requests);\n reader.read();\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/editor/browser/config/domFontInfo.js": +/*!********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/editor/browser/config/domFontInfo.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 */ applyFontInfo: () => (/* binding */ applyFontInfo)\n/* harmony export */ });\n/* harmony import */ var _base_browser_fastDomNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/browser/fastDomNode.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.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\nfunction applyFontInfo(domNode, fontInfo) {\n if (domNode instanceof _base_browser_fastDomNode_js__WEBPACK_IMPORTED_MODULE_0__.FastDomNode) {\n domNode.setFontFamily(fontInfo.getMassagedFontFamily());\n domNode.setFontWeight(fontInfo.fontWeight);\n domNode.setFontSize(fontInfo.fontSize);\n domNode.setFontFeatureSettings(fontInfo.fontFeatureSettings);\n domNode.setFontVariationSettings(fontInfo.fontVariationSettings);\n domNode.setLineHeight(fontInfo.lineHeight);\n domNode.setLetterSpacing(fontInfo.letterSpacing);\n }\n else {\n domNode.style.fontFamily = fontInfo.getMassagedFontFamily();\n domNode.style.fontWeight = fontInfo.fontWeight;\n domNode.style.fontSize = fontInfo.fontSize + 'px';\n domNode.style.fontFeatureSettings = fontInfo.fontFeatureSettings;\n domNode.style.fontVariationSettings = fontInfo.fontVariationSettings;\n domNode.style.lineHeight = fontInfo.lineHeight + 'px';\n domNode.style.letterSpacing = fontInfo.letterSpacing + 'px';\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/config/domFontInfo.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/editor/browser/config/editorConfiguration.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/editor/browser/config/editorConfiguration.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 */ ComputedEditorOptions: () => (/* binding */ ComputedEditorOptions),\n/* harmony export */ EditorConfiguration: () => (/* binding */ EditorConfiguration)\n/* harmony export */ });\n/* harmony import */ var _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/browser/browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _base_common_arrays_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/common/arrays.js */ \"./node_modules/monaco-editor/esm/vs/base/common/arrays.js\");\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../base/common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _base_common_objects_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../base/common/objects.js */ \"./node_modules/monaco-editor/esm/vs/base/common/objects.js\");\n/* harmony import */ var _base_common_platform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../base/common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _elementSizeObserver_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./elementSizeObserver.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js\");\n/* harmony import */ var _fontMeasurements_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./fontMeasurements.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/config/fontMeasurements.js\");\n/* harmony import */ var _migrateOptions_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./migrateOptions.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/config/migrateOptions.js\");\n/* harmony import */ var _tabFocus_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./tabFocus.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/config/tabFocus.js\");\n/* harmony import */ var _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../common/config/editorOptions.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/config/editorOptions.js\");\n/* harmony import */ var _common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../common/config/editorZoom.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/config/editorZoom.js\");\n/* harmony import */ var _common_config_fontInfo_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../common/config/fontInfo.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/config/fontInfo.js\");\n/* harmony import */ var _platform_accessibility_common_accessibility_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../platform/accessibility/common/accessibility.js */ \"./node_modules/monaco-editor/esm/vs/platform/accessibility/common/accessibility.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 *--------------------------------------------------------------------------------------------*/\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nlet EditorConfiguration = class EditorConfiguration extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.Disposable {\n constructor(isSimpleWidget, options, container, _accessibilityService) {\n super();\n this._accessibilityService = _accessibilityService;\n this._onDidChange = this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\n this.onDidChange = this._onDidChange.event;\n this._onDidChangeFast = this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_2__.Emitter());\n this.onDidChangeFast = this._onDidChangeFast.event;\n this._isDominatedByLongLines = false;\n this._viewLineCount = 1;\n this._lineNumbersDigitCount = 1;\n this._reservedHeight = 0;\n this._glyphMarginDecorationLaneCount = 1;\n this._computeOptionsMemory = new _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_10__.ComputeOptionsMemory();\n this.isSimpleWidget = isSimpleWidget;\n this._containerObserver = this._register(new _elementSizeObserver_js__WEBPACK_IMPORTED_MODULE_6__.ElementSizeObserver(container, options.dimension));\n this._rawOptions = deepCloneAndMigrateOptions(options);\n this._validatedOptions = EditorOptionsUtil.validateOptions(this._rawOptions);\n this.options = this._computeOptions();\n if (this.options.get(11 /* EditorOption.automaticLayout */)) {\n this._containerObserver.startObserving();\n }\n this._register(_common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_11__.EditorZoom.onDidChangeZoomLevel(() => this._recomputeOptions()));\n this._register(_tabFocus_js__WEBPACK_IMPORTED_MODULE_9__.TabFocus.onDidChangeTabFocus(() => this._recomputeOptions()));\n this._register(this._containerObserver.onDidChange(() => this._recomputeOptions()));\n this._register(_fontMeasurements_js__WEBPACK_IMPORTED_MODULE_7__.FontMeasurements.onDidChange(() => this._recomputeOptions()));\n this._register(_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.PixelRatio.onDidChange(() => this._recomputeOptions()));\n this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(() => this._recomputeOptions()));\n }\n _recomputeOptions() {\n const newOptions = this._computeOptions();\n const changeEvent = EditorOptionsUtil.checkEquals(this.options, newOptions);\n if (changeEvent === null) {\n // nothing changed!\n return;\n }\n this.options = newOptions;\n this._onDidChangeFast.fire(changeEvent);\n this._onDidChange.fire(changeEvent);\n }\n _computeOptions() {\n const partialEnv = this._readEnvConfiguration();\n const bareFontInfo = _common_config_fontInfo_js__WEBPACK_IMPORTED_MODULE_12__.BareFontInfo.createFromValidatedSettings(this._validatedOptions, partialEnv.pixelRatio, this.isSimpleWidget);\n const fontInfo = this._readFontInfo(bareFontInfo);\n const env = {\n memory: this._computeOptionsMemory,\n outerWidth: partialEnv.outerWidth,\n outerHeight: partialEnv.outerHeight - this._reservedHeight,\n fontInfo: fontInfo,\n extraEditorClassName: partialEnv.extraEditorClassName,\n isDominatedByLongLines: this._isDominatedByLongLines,\n viewLineCount: this._viewLineCount,\n lineNumbersDigitCount: this._lineNumbersDigitCount,\n emptySelectionClipboard: partialEnv.emptySelectionClipboard,\n pixelRatio: partialEnv.pixelRatio,\n tabFocusMode: _tabFocus_js__WEBPACK_IMPORTED_MODULE_9__.TabFocus.getTabFocusMode(\"editorFocus\" /* TabFocusContext.Editor */),\n accessibilitySupport: partialEnv.accessibilitySupport,\n glyphMarginDecorationLaneCount: this._glyphMarginDecorationLaneCount\n };\n return EditorOptionsUtil.computeOptions(this._validatedOptions, env);\n }\n _readEnvConfiguration() {\n return {\n extraEditorClassName: getExtraEditorClassName(),\n outerWidth: this._containerObserver.getWidth(),\n outerHeight: this._containerObserver.getHeight(),\n emptySelectionClipboard: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.isWebKit || _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.isFirefox,\n pixelRatio: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.PixelRatio.value,\n accessibilitySupport: (this._accessibilityService.isScreenReaderOptimized()\n ? 2 /* AccessibilitySupport.Enabled */\n : this._accessibilityService.getAccessibilitySupport())\n };\n }\n _readFontInfo(bareFontInfo) {\n return _fontMeasurements_js__WEBPACK_IMPORTED_MODULE_7__.FontMeasurements.readFontInfo(bareFontInfo);\n }\n getRawOptions() {\n return this._rawOptions;\n }\n updateOptions(_newOptions) {\n const newOptions = deepCloneAndMigrateOptions(_newOptions);\n const didChange = EditorOptionsUtil.applyUpdate(this._rawOptions, newOptions);\n if (!didChange) {\n return;\n }\n this._validatedOptions = EditorOptionsUtil.validateOptions(this._rawOptions);\n this._recomputeOptions();\n }\n observeContainer(dimension) {\n this._containerObserver.observe(dimension);\n }\n setIsDominatedByLongLines(isDominatedByLongLines) {\n if (this._isDominatedByLongLines === isDominatedByLongLines) {\n return;\n }\n this._isDominatedByLongLines = isDominatedByLongLines;\n this._recomputeOptions();\n }\n setModelLineCount(modelLineCount) {\n const lineNumbersDigitCount = digitCount(modelLineCount);\n if (this._lineNumbersDigitCount === lineNumbersDigitCount) {\n return;\n }\n this._lineNumbersDigitCount = lineNumbersDigitCount;\n this._recomputeOptions();\n }\n setViewLineCount(viewLineCount) {\n if (this._viewLineCount === viewLineCount) {\n return;\n }\n this._viewLineCount = viewLineCount;\n this._recomputeOptions();\n }\n setReservedHeight(reservedHeight) {\n if (this._reservedHeight === reservedHeight) {\n return;\n }\n this._reservedHeight = reservedHeight;\n this._recomputeOptions();\n }\n setGlyphMarginDecorationLaneCount(decorationLaneCount) {\n if (this._glyphMarginDecorationLaneCount === decorationLaneCount) {\n return;\n }\n this._glyphMarginDecorationLaneCount = decorationLaneCount;\n this._recomputeOptions();\n }\n};\nEditorConfiguration = __decorate([\n __param(3, _platform_accessibility_common_accessibility_js__WEBPACK_IMPORTED_MODULE_13__.IAccessibilityService)\n], EditorConfiguration);\nfunction digitCount(n) {\n let r = 0;\n while (n) {\n n = Math.floor(n / 10);\n r++;\n }\n return r ? r : 1;\n}\nfunction getExtraEditorClassName() {\n let extra = '';\n if (!_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.isSafari && !_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.isWebkitWebView) {\n // Use user-select: none in all browsers except Safari and native macOS WebView\n extra += 'no-user-select ';\n }\n if (_base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.isSafari) {\n // See https://github.com/microsoft/vscode/issues/108822\n extra += 'no-minimap-shadow ';\n extra += 'enable-user-select ';\n }\n if (_base_common_platform_js__WEBPACK_IMPORTED_MODULE_5__.isMacintosh) {\n extra += 'mac ';\n }\n return extra;\n}\nclass ValidatedEditorOptions {\n constructor() {\n this._values = [];\n }\n _read(option) {\n return this._values[option];\n }\n get(id) {\n return this._values[id];\n }\n _write(option, value) {\n this._values[option] = value;\n }\n}\nclass ComputedEditorOptions {\n constructor() {\n this._values = [];\n }\n _read(id) {\n if (id >= this._values.length) {\n throw new Error('Cannot read uninitialized value');\n }\n return this._values[id];\n }\n get(id) {\n return this._read(id);\n }\n _write(id, value) {\n this._values[id] = value;\n }\n}\nclass EditorOptionsUtil {\n static validateOptions(options) {\n const result = new ValidatedEditorOptions();\n for (const editorOption of _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_10__.editorOptionsRegistry) {\n const value = (editorOption.name === '_never_' ? undefined : options[editorOption.name]);\n result._write(editorOption.id, editorOption.validate(value));\n }\n return result;\n }\n static computeOptions(options, env) {\n const result = new ComputedEditorOptions();\n for (const editorOption of _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_10__.editorOptionsRegistry) {\n result._write(editorOption.id, editorOption.compute(env, result, options._read(editorOption.id)));\n }\n return result;\n }\n static _deepEquals(a, b) {\n if (typeof a !== 'object' || typeof b !== 'object' || !a || !b) {\n return a === b;\n }\n if (Array.isArray(a) || Array.isArray(b)) {\n return (Array.isArray(a) && Array.isArray(b) ? _base_common_arrays_js__WEBPACK_IMPORTED_MODULE_1__.equals(a, b) : false);\n }\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (!EditorOptionsUtil._deepEquals(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n static checkEquals(a, b) {\n const result = [];\n let somethingChanged = false;\n for (const editorOption of _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_10__.editorOptionsRegistry) {\n const changed = !EditorOptionsUtil._deepEquals(a._read(editorOption.id), b._read(editorOption.id));\n result[editorOption.id] = changed;\n if (changed) {\n somethingChanged = true;\n }\n }\n return (somethingChanged ? new _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_10__.ConfigurationChangedEvent(result) : null);\n }\n /**\n * Returns true if something changed.\n * Modifies `options`.\n */\n static applyUpdate(options, update) {\n let changed = false;\n for (const editorOption of _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_10__.editorOptionsRegistry) {\n if (update.hasOwnProperty(editorOption.name)) {\n const result = editorOption.applyUpdate(options[editorOption.name], update[editorOption.name]);\n options[editorOption.name] = result.newValue;\n changed = changed || result.didChange;\n }\n }\n return changed;\n }\n}\nfunction deepCloneAndMigrateOptions(_options) {\n const options = _base_common_objects_js__WEBPACK_IMPORTED_MODULE_4__.deepClone(_options);\n (0,_migrateOptions_js__WEBPACK_IMPORTED_MODULE_8__.migrateOptions)(options);\n return options;\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/config/editorConfiguration.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js": +/*!****************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.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 */ ElementSizeObserver: () => (/* binding */ ElementSizeObserver)\n/* harmony export */ });\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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\nclass ElementSizeObserver extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_0__.Disposable {\n constructor(referenceDomElement, dimension) {\n super();\n this._onDidChange = this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__.Emitter());\n this.onDidChange = this._onDidChange.event;\n this._referenceDomElement = referenceDomElement;\n this._width = -1;\n this._height = -1;\n this._resizeObserver = null;\n this.measureReferenceDomElement(false, dimension);\n }\n dispose() {\n this.stopObserving();\n super.dispose();\n }\n getWidth() {\n return this._width;\n }\n getHeight() {\n return this._height;\n }\n startObserving() {\n if (!this._resizeObserver && this._referenceDomElement) {\n this._resizeObserver = new ResizeObserver((entries) => {\n if (entries && entries[0] && entries[0].contentRect) {\n this.observe({ width: entries[0].contentRect.width, height: entries[0].contentRect.height });\n }\n else {\n this.observe();\n }\n });\n this._resizeObserver.observe(this._referenceDomElement);\n }\n }\n stopObserving() {\n if (this._resizeObserver) {\n this._resizeObserver.disconnect();\n this._resizeObserver = null;\n }\n }\n observe(dimension) {\n this.measureReferenceDomElement(true, dimension);\n }\n measureReferenceDomElement(emitEvent, dimension) {\n let observedWidth = 0;\n let observedHeight = 0;\n if (dimension) {\n observedWidth = dimension.width;\n observedHeight = dimension.height;\n }\n else if (this._referenceDomElement) {\n observedWidth = this._referenceDomElement.clientWidth;\n observedHeight = this._referenceDomElement.clientHeight;\n }\n observedWidth = Math.max(5, observedWidth);\n observedHeight = Math.max(5, observedHeight);\n if (this._width !== observedWidth || this._height !== observedHeight) {\n this._width = observedWidth;\n this._height = observedHeight;\n if (emitEvent) {\n this._onDidChange.fire();\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/editor/browser/config/fontMeasurements.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/editor/browser/config/fontMeasurements.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 */ FontMeasurements: () => (/* binding */ FontMeasurements),\n/* harmony export */ FontMeasurementsImpl: () => (/* binding */ FontMeasurementsImpl)\n/* harmony export */ });\n/* harmony import */ var _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/browser/browser.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/browser.js\");\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.js\");\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _charWidthReader_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./charWidthReader.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js\");\n/* harmony import */ var _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/config/editorOptions.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/config/editorOptions.js\");\n/* harmony import */ var _common_config_fontInfo_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/config/fontInfo.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/config/fontInfo.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\nclass FontMeasurementsImpl extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor() {\n super();\n this._onDidChange = this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__.Emitter());\n this.onDidChange = this._onDidChange.event;\n this._cache = new FontMeasurementsCache();\n this._evictUntrustedReadingsTimeout = -1;\n }\n dispose() {\n if (this._evictUntrustedReadingsTimeout !== -1) {\n window.clearTimeout(this._evictUntrustedReadingsTimeout);\n this._evictUntrustedReadingsTimeout = -1;\n }\n super.dispose();\n }\n /**\n * Clear all cached font information and trigger a change event.\n */\n clearAllFontInfos() {\n this._cache = new FontMeasurementsCache();\n this._onDidChange.fire();\n }\n _writeToCache(item, value) {\n this._cache.put(item, value);\n if (!value.isTrusted && this._evictUntrustedReadingsTimeout === -1) {\n // Try reading again after some time\n this._evictUntrustedReadingsTimeout = window.setTimeout(() => {\n this._evictUntrustedReadingsTimeout = -1;\n this._evictUntrustedReadings();\n }, 5000);\n }\n }\n _evictUntrustedReadings() {\n const values = this._cache.getValues();\n let somethingRemoved = false;\n for (const item of values) {\n if (!item.isTrusted) {\n somethingRemoved = true;\n this._cache.remove(item);\n }\n }\n if (somethingRemoved) {\n this._onDidChange.fire();\n }\n }\n /**\n * Read font information.\n */\n readFontInfo(bareFontInfo) {\n if (!this._cache.has(bareFontInfo)) {\n let readConfig = this._actualReadFontInfo(bareFontInfo);\n if (readConfig.typicalHalfwidthCharacterWidth <= 2 || readConfig.typicalFullwidthCharacterWidth <= 2 || readConfig.spaceWidth <= 2 || readConfig.maxDigitWidth <= 2) {\n // Hey, it's Bug 14341 ... we couldn't read\n readConfig = new _common_config_fontInfo_js__WEBPACK_IMPORTED_MODULE_5__.FontInfo({\n pixelRatio: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.PixelRatio.value,\n fontFamily: readConfig.fontFamily,\n fontWeight: readConfig.fontWeight,\n fontSize: readConfig.fontSize,\n fontFeatureSettings: readConfig.fontFeatureSettings,\n fontVariationSettings: readConfig.fontVariationSettings,\n lineHeight: readConfig.lineHeight,\n letterSpacing: readConfig.letterSpacing,\n isMonospace: readConfig.isMonospace,\n typicalHalfwidthCharacterWidth: Math.max(readConfig.typicalHalfwidthCharacterWidth, 5),\n typicalFullwidthCharacterWidth: Math.max(readConfig.typicalFullwidthCharacterWidth, 5),\n canUseHalfwidthRightwardsArrow: readConfig.canUseHalfwidthRightwardsArrow,\n spaceWidth: Math.max(readConfig.spaceWidth, 5),\n middotWidth: Math.max(readConfig.middotWidth, 5),\n wsmiddotWidth: Math.max(readConfig.wsmiddotWidth, 5),\n maxDigitWidth: Math.max(readConfig.maxDigitWidth, 5),\n }, false);\n }\n this._writeToCache(bareFontInfo, readConfig);\n }\n return this._cache.get(bareFontInfo);\n }\n _createRequest(chr, type, all, monospace) {\n const result = new _charWidthReader_js__WEBPACK_IMPORTED_MODULE_3__.CharWidthRequest(chr, type);\n all.push(result);\n monospace === null || monospace === void 0 ? void 0 : monospace.push(result);\n return result;\n }\n _actualReadFontInfo(bareFontInfo) {\n const all = [];\n const monospace = [];\n const typicalHalfwidthCharacter = this._createRequest('n', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const typicalFullwidthCharacter = this._createRequest('\\uff4d', 0 /* CharWidthRequestType.Regular */, all, null);\n const space = this._createRequest(' ', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit0 = this._createRequest('0', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit1 = this._createRequest('1', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit2 = this._createRequest('2', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit3 = this._createRequest('3', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit4 = this._createRequest('4', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit5 = this._createRequest('5', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit6 = this._createRequest('6', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit7 = this._createRequest('7', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit8 = this._createRequest('8', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit9 = this._createRequest('9', 0 /* CharWidthRequestType.Regular */, all, monospace);\n // monospace test: used for whitespace rendering\n const rightwardsArrow = this._createRequest('→', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const halfwidthRightwardsArrow = this._createRequest('→', 0 /* CharWidthRequestType.Regular */, all, null);\n // U+00B7 - MIDDLE DOT\n const middot = this._createRequest('·', 0 /* CharWidthRequestType.Regular */, all, monospace);\n // U+2E31 - WORD SEPARATOR MIDDLE DOT\n const wsmiddotWidth = this._createRequest(String.fromCharCode(0x2E31), 0 /* CharWidthRequestType.Regular */, all, null);\n // monospace test: some characters\n const monospaceTestChars = '|/-_ilm%';\n for (let i = 0, len = monospaceTestChars.length; i < len; i++) {\n this._createRequest(monospaceTestChars.charAt(i), 0 /* CharWidthRequestType.Regular */, all, monospace);\n this._createRequest(monospaceTestChars.charAt(i), 1 /* CharWidthRequestType.Italic */, all, monospace);\n this._createRequest(monospaceTestChars.charAt(i), 2 /* CharWidthRequestType.Bold */, all, monospace);\n }\n (0,_charWidthReader_js__WEBPACK_IMPORTED_MODULE_3__.readCharWidths)(bareFontInfo, all);\n const maxDigitWidth = Math.max(digit0.width, digit1.width, digit2.width, digit3.width, digit4.width, digit5.width, digit6.width, digit7.width, digit8.width, digit9.width);\n let isMonospace = (bareFontInfo.fontFeatureSettings === _common_config_editorOptions_js__WEBPACK_IMPORTED_MODULE_4__.EditorFontLigatures.OFF);\n const referenceWidth = monospace[0].width;\n for (let i = 1, len = monospace.length; isMonospace && i < len; i++) {\n const diff = referenceWidth - monospace[i].width;\n if (diff < -0.001 || diff > 0.001) {\n isMonospace = false;\n break;\n }\n }\n let canUseHalfwidthRightwardsArrow = true;\n if (isMonospace && halfwidthRightwardsArrow.width !== referenceWidth) {\n // using a halfwidth rightwards arrow would break monospace...\n canUseHalfwidthRightwardsArrow = false;\n }\n if (halfwidthRightwardsArrow.width > rightwardsArrow.width) {\n // using a halfwidth rightwards arrow would paint a larger arrow than a regular rightwards arrow\n canUseHalfwidthRightwardsArrow = false;\n }\n return new _common_config_fontInfo_js__WEBPACK_IMPORTED_MODULE_5__.FontInfo({\n pixelRatio: _base_browser_browser_js__WEBPACK_IMPORTED_MODULE_0__.PixelRatio.value,\n fontFamily: bareFontInfo.fontFamily,\n fontWeight: bareFontInfo.fontWeight,\n fontSize: bareFontInfo.fontSize,\n fontFeatureSettings: bareFontInfo.fontFeatureSettings,\n fontVariationSettings: bareFontInfo.fontVariationSettings,\n lineHeight: bareFontInfo.lineHeight,\n letterSpacing: bareFontInfo.letterSpacing,\n isMonospace: isMonospace,\n typicalHalfwidthCharacterWidth: typicalHalfwidthCharacter.width,\n typicalFullwidthCharacterWidth: typicalFullwidthCharacter.width,\n canUseHalfwidthRightwardsArrow: canUseHalfwidthRightwardsArrow,\n spaceWidth: space.width,\n middotWidth: middot.width,\n wsmiddotWidth: wsmiddotWidth.width,\n maxDigitWidth: maxDigitWidth\n }, true);\n }\n}\nclass FontMeasurementsCache {\n constructor() {\n this._keys = Object.create(null);\n this._values = Object.create(null);\n }\n has(item) {\n const itemId = item.getId();\n return !!this._values[itemId];\n }\n get(item) {\n const itemId = item.getId();\n return this._values[itemId];\n }\n put(item, value) {\n const itemId = item.getId();\n this._keys[itemId] = item;\n this._values[itemId] = value;\n }\n remove(item) {\n const itemId = item.getId();\n delete this._keys[itemId];\n delete this._values[itemId];\n }\n getValues() {\n return Object.keys(this._keys).map(id => this._values[id]);\n }\n}\nconst FontMeasurements = new FontMeasurementsImpl();\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/config/fontMeasurements.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/editor/browser/config/migrateOptions.js": +/*!***********************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/editor/browser/config/migrateOptions.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 */ EditorSettingMigration: () => (/* binding */ EditorSettingMigration),\n/* harmony export */ migrateOptions: () => (/* binding */ migrateOptions)\n/* harmony export */ });\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 *--------------------------------------------------------------------------------------------*/\nclass EditorSettingMigration {\n constructor(key, migrate) {\n this.key = key;\n this.migrate = migrate;\n }\n apply(options) {\n const value = EditorSettingMigration._read(options, this.key);\n const read = (key) => EditorSettingMigration._read(options, key);\n const write = (key, value) => EditorSettingMigration._write(options, key, value);\n this.migrate(value, read, write);\n }\n static _read(source, key) {\n if (typeof source === 'undefined') {\n return undefined;\n }\n const firstDotIndex = key.indexOf('.');\n if (firstDotIndex >= 0) {\n const firstSegment = key.substring(0, firstDotIndex);\n return this._read(source[firstSegment], key.substring(firstDotIndex + 1));\n }\n return source[key];\n }\n static _write(target, key, value) {\n const firstDotIndex = key.indexOf('.');\n if (firstDotIndex >= 0) {\n const firstSegment = key.substring(0, firstDotIndex);\n target[firstSegment] = target[firstSegment] || {};\n this._write(target[firstSegment], key.substring(firstDotIndex + 1), value);\n return;\n }\n target[key] = value;\n }\n}\nEditorSettingMigration.items = [];\nfunction registerEditorSettingMigration(key, migrate) {\n EditorSettingMigration.items.push(new EditorSettingMigration(key, migrate));\n}\nfunction registerSimpleEditorSettingMigration(key, values) {\n registerEditorSettingMigration(key, (value, read, write) => {\n if (typeof value !== 'undefined') {\n for (const [oldValue, newValue] of values) {\n if (value === oldValue) {\n write(key, newValue);\n return;\n }\n }\n }\n });\n}\n/**\n * Compatibility with old options\n */\nfunction migrateOptions(options) {\n EditorSettingMigration.items.forEach(migration => migration.apply(options));\n}\nregisterSimpleEditorSettingMigration('wordWrap', [[true, 'on'], [false, 'off']]);\nregisterSimpleEditorSettingMigration('lineNumbers', [[true, 'on'], [false, 'off']]);\nregisterSimpleEditorSettingMigration('cursorBlinking', [['visible', 'solid']]);\nregisterSimpleEditorSettingMigration('renderWhitespace', [[true, 'boundary'], [false, 'none']]);\nregisterSimpleEditorSettingMigration('renderLineHighlight', [[true, 'line'], [false, 'none']]);\nregisterSimpleEditorSettingMigration('acceptSuggestionOnEnter', [[true, 'on'], [false, 'off']]);\nregisterSimpleEditorSettingMigration('tabCompletion', [[false, 'off'], [true, 'onlySnippets']]);\nregisterSimpleEditorSettingMigration('hover', [[true, { enabled: true }], [false, { enabled: false }]]);\nregisterSimpleEditorSettingMigration('parameterHints', [[true, { enabled: true }], [false, { enabled: false }]]);\nregisterSimpleEditorSettingMigration('autoIndent', [[false, 'advanced'], [true, 'full']]);\nregisterSimpleEditorSettingMigration('matchBrackets', [[true, 'always'], [false, 'never']]);\nregisterSimpleEditorSettingMigration('renderFinalNewline', [[true, 'on'], [false, 'off']]);\nregisterSimpleEditorSettingMigration('cursorSmoothCaretAnimation', [[true, 'on'], [false, 'off']]);\nregisterEditorSettingMigration('autoClosingBrackets', (value, read, write) => {\n if (value === false) {\n write('autoClosingBrackets', 'never');\n if (typeof read('autoClosingQuotes') === 'undefined') {\n write('autoClosingQuotes', 'never');\n }\n if (typeof read('autoSurround') === 'undefined') {\n write('autoSurround', 'never');\n }\n }\n});\nregisterEditorSettingMigration('renderIndentGuides', (value, read, write) => {\n if (typeof value !== 'undefined') {\n write('renderIndentGuides', undefined);\n if (typeof read('guides.indentation') === 'undefined') {\n write('guides.indentation', !!value);\n }\n }\n});\nregisterEditorSettingMigration('highlightActiveIndentGuide', (value, read, write) => {\n if (typeof value !== 'undefined') {\n write('highlightActiveIndentGuide', undefined);\n if (typeof read('guides.highlightActiveIndentation') === 'undefined') {\n write('guides.highlightActiveIndentation', !!value);\n }\n }\n});\nconst suggestFilteredTypesMapping = {\n method: 'showMethods',\n function: 'showFunctions',\n constructor: 'showConstructors',\n deprecated: 'showDeprecated',\n field: 'showFields',\n variable: 'showVariables',\n class: 'showClasses',\n struct: 'showStructs',\n interface: 'showInterfaces',\n module: 'showModules',\n property: 'showProperties',\n event: 'showEvents',\n operator: 'showOperators',\n unit: 'showUnits',\n value: 'showValues',\n constant: 'showConstants',\n enum: 'showEnums',\n enumMember: 'showEnumMembers',\n keyword: 'showKeywords',\n text: 'showWords',\n color: 'showColors',\n file: 'showFiles',\n reference: 'showReferences',\n folder: 'showFolders',\n typeParameter: 'showTypeParameters',\n snippet: 'showSnippets',\n};\nregisterEditorSettingMigration('suggest.filteredTypes', (value, read, write) => {\n if (value && typeof value === 'object') {\n for (const entry of Object.entries(suggestFilteredTypesMapping)) {\n const v = value[entry[0]];\n if (v === false) {\n if (typeof read(`suggest.${entry[1]}`) === 'undefined') {\n write(`suggest.${entry[1]}`, false);\n }\n }\n }\n write('suggest.filteredTypes', undefined);\n }\n});\nregisterEditorSettingMigration('quickSuggestions', (input, read, write) => {\n if (typeof input === 'boolean') {\n const value = input ? 'on' : 'off';\n const newValue = { comments: value, strings: value, other: value };\n write('quickSuggestions', newValue);\n }\n});\n// Sticky Scroll\nregisterEditorSettingMigration('experimental.stickyScroll.enabled', (value, read, write) => {\n if (typeof value === 'boolean') {\n write('experimental.stickyScroll.enabled', undefined);\n if (typeof read('stickyScroll.enabled') === 'undefined') {\n write('stickyScroll.enabled', value);\n }\n }\n});\nregisterEditorSettingMigration('experimental.stickyScroll.maxLineCount', (value, read, write) => {\n if (typeof value === 'number') {\n write('experimental.stickyScroll.maxLineCount', undefined);\n if (typeof read('stickyScroll.maxLineCount') === 'undefined') {\n write('stickyScroll.maxLineCount', value);\n }\n }\n});\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/config/migrateOptions.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/editor/browser/config/tabFocus.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/editor/browser/config/tabFocus.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 */ TabFocus: () => (/* binding */ TabFocus)\n/* harmony export */ });\n/* harmony import */ var _base_common_event_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/common/event.js */ \"./node_modules/monaco-editor/esm/vs/base/common/event.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 TabFocusImpl {\n constructor() {\n this._tabFocusTerminal = false;\n this._tabFocusEditor = false;\n this._onDidChangeTabFocus = new _base_common_event_js__WEBPACK_IMPORTED_MODULE_0__.Emitter();\n this.onDidChangeTabFocus = this._onDidChangeTabFocus.event;\n }\n getTabFocusMode(context) {\n return context === \"terminalFocus\" /* TabFocusContext.Terminal */ ? this._tabFocusTerminal : this._tabFocusEditor;\n }\n setTabFocusMode(tabFocusMode, context) {\n if (context === \"terminalFocus\" /* TabFocusContext.Terminal */) {\n this._tabFocusTerminal = tabFocusMode;\n }\n else {\n this._tabFocusEditor = tabFocusMode;\n }\n this._onDidChangeTabFocus.fire();\n }\n}\n/**\n * Control what pressing Tab does.\n * If it is false, pressing Tab or Shift-Tab will be handled by the editor.\n * If it is true, pressing Tab or Shift-Tab will move the browser focus.\n * Defaults to false.\n */\nconst TabFocus = new TabFocusImpl();\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/config/tabFocus.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseHandler.js": +/*!*************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseHandler.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 */ MouseHandler: () => (/* binding */ MouseHandler)\n/* harmony export */ });\n/* harmony import */ var _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/browser/dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _base_browser_mouseEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/browser/mouseEvent.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js\");\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _base_common_platform_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../base/common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mouseTarget.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js\");\n/* harmony import */ var _editorDom_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../editorDom.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/editorDom.js\");\n/* harmony import */ var _common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../common/config/editorZoom.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/config/editorZoom.js\");\n/* harmony import */ var _common_core_position_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/core/position.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/position.js\");\n/* harmony import */ var _common_core_selection_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../common/core/selection.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/selection.js\");\n/* harmony import */ var _common_viewEventHandler_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../common/viewEventHandler.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/viewEventHandler.js\");\n/* harmony import */ var _base_browser_ui_scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../base/browser/ui/scrollbar/scrollableElement.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.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\nclass MouseHandler extends _common_viewEventHandler_js__WEBPACK_IMPORTED_MODULE_9__.ViewEventHandler {\n constructor(context, viewController, viewHelper) {\n super();\n this._mouseLeaveMonitor = null;\n this._context = context;\n this.viewController = viewController;\n this.viewHelper = viewHelper;\n this.mouseTargetFactory = new _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.MouseTargetFactory(this._context, viewHelper);\n this._mouseDownOperation = this._register(new MouseDownOperation(this._context, this.viewController, this.viewHelper, this.mouseTargetFactory, (e, testEventTarget) => this._createMouseTarget(e, testEventTarget), (e) => this._getMouseColumn(e)));\n this.lastMouseLeaveTime = -1;\n this._height = this._context.configuration.options.get(141 /* EditorOption.layoutInfo */).height;\n const mouseEvents = new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorMouseEventFactory(this.viewHelper.viewDomNode);\n this._register(mouseEvents.onContextMenu(this.viewHelper.viewDomNode, (e) => this._onContextMenu(e, true)));\n this._register(mouseEvents.onMouseMove(this.viewHelper.viewDomNode, (e) => {\n this._onMouseMove(e);\n // See https://github.com/microsoft/vscode/issues/138789\n // When moving the mouse really quickly, the browser sometimes forgets to\n // send us a `mouseleave` or `mouseout` event. We therefore install here\n // a global `mousemove` listener to manually recover if the mouse goes outside\n // the editor. As soon as the mouse leaves outside of the editor, we\n // remove this listener\n if (!this._mouseLeaveMonitor) {\n this._mouseLeaveMonitor = _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(document, 'mousemove', (e) => {\n if (!this.viewHelper.viewDomNode.contains(e.target)) {\n // went outside the editor!\n this._onMouseLeave(new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorMouseEvent(e, false, this.viewHelper.viewDomNode));\n }\n });\n }\n }));\n this._register(mouseEvents.onMouseUp(this.viewHelper.viewDomNode, (e) => this._onMouseUp(e)));\n this._register(mouseEvents.onMouseLeave(this.viewHelper.viewDomNode, (e) => this._onMouseLeave(e)));\n // `pointerdown` events can't be used to determine if there's a double click, or triple click\n // because their `e.detail` is always 0.\n // We will therefore save the pointer id for the mouse and then reuse it in the `mousedown` event\n // for `element.setPointerCapture`.\n let capturePointerId = 0;\n this._register(mouseEvents.onPointerDown(this.viewHelper.viewDomNode, (e, pointerId) => {\n capturePointerId = pointerId;\n }));\n // The `pointerup` listener registered by `GlobalEditorPointerMoveMonitor` does not get invoked 100% of the times.\n // I speculate that this is because the `pointerup` listener is only registered during the `mousedown` event, and perhaps\n // the `pointerup` event is already queued for dispatching, which makes it that the new listener doesn't get fired.\n // See https://github.com/microsoft/vscode/issues/146486 for repro steps.\n // To compensate for that, we simply register here a `pointerup` listener and just communicate it.\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.viewDomNode, _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.POINTER_UP, (e) => {\n this._mouseDownOperation.onPointerUp();\n }));\n this._register(mouseEvents.onMouseDown(this.viewHelper.viewDomNode, (e) => this._onMouseDown(e, capturePointerId)));\n this._setupMouseWheelZoomListener();\n this._context.addEventHandler(this);\n }\n _setupMouseWheelZoomListener() {\n const classifier = _base_browser_ui_scrollbar_scrollableElement_js__WEBPACK_IMPORTED_MODULE_10__.MouseWheelClassifier.INSTANCE;\n let prevMouseWheelTime = 0;\n let gestureStartZoomLevel = _common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_6__.EditorZoom.getZoomLevel();\n let gestureHasZoomModifiers = false;\n let gestureAccumulatedDelta = 0;\n const onMouseWheel = (browserEvent) => {\n this.viewController.emitMouseWheel(browserEvent);\n if (!this._context.configuration.options.get(73 /* EditorOption.mouseWheelZoom */)) {\n return;\n }\n const e = new _base_browser_mouseEvent_js__WEBPACK_IMPORTED_MODULE_1__.StandardWheelEvent(browserEvent);\n classifier.acceptStandardWheelEvent(e);\n if (classifier.isPhysicalMouseWheel()) {\n if (hasMouseWheelZoomModifiers(browserEvent)) {\n const zoomLevel = _common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_6__.EditorZoom.getZoomLevel();\n const delta = e.deltaY > 0 ? 1 : -1;\n _common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_6__.EditorZoom.setZoomLevel(zoomLevel + delta);\n e.preventDefault();\n e.stopPropagation();\n }\n }\n else {\n // we consider mousewheel events that occur within 50ms of each other to be part of the same gesture\n // we don't want to consider mouse wheel events where ctrl/cmd is pressed during the inertia phase\n // we also want to accumulate deltaY values from the same gesture and use that to set the zoom level\n if (Date.now() - prevMouseWheelTime > 50) {\n // reset if more than 50ms have passed\n gestureStartZoomLevel = _common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_6__.EditorZoom.getZoomLevel();\n gestureHasZoomModifiers = hasMouseWheelZoomModifiers(browserEvent);\n gestureAccumulatedDelta = 0;\n }\n prevMouseWheelTime = Date.now();\n gestureAccumulatedDelta += e.deltaY;\n if (gestureHasZoomModifiers) {\n _common_config_editorZoom_js__WEBPACK_IMPORTED_MODULE_6__.EditorZoom.setZoomLevel(gestureStartZoomLevel + gestureAccumulatedDelta / 5);\n e.preventDefault();\n e.stopPropagation();\n }\n }\n };\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.viewDomNode, _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.EventType.MOUSE_WHEEL, onMouseWheel, { capture: true, passive: false }));\n function hasMouseWheelZoomModifiers(browserEvent) {\n return (_base_common_platform_js__WEBPACK_IMPORTED_MODULE_3__.isMacintosh\n // on macOS we support cmd + two fingers scroll (`metaKey` set)\n // and also the two fingers pinch gesture (`ctrKey` set)\n ? ((browserEvent.metaKey || browserEvent.ctrlKey) && !browserEvent.shiftKey && !browserEvent.altKey)\n : (browserEvent.ctrlKey && !browserEvent.metaKey && !browserEvent.shiftKey && !browserEvent.altKey));\n }\n }\n dispose() {\n this._context.removeEventHandler(this);\n if (this._mouseLeaveMonitor) {\n this._mouseLeaveMonitor.dispose();\n this._mouseLeaveMonitor = null;\n }\n super.dispose();\n }\n // --- begin event handlers\n onConfigurationChanged(e) {\n if (e.hasChanged(141 /* EditorOption.layoutInfo */)) {\n // layout change\n const height = this._context.configuration.options.get(141 /* EditorOption.layoutInfo */).height;\n if (this._height !== height) {\n this._height = height;\n this._mouseDownOperation.onHeightChanged();\n }\n }\n return false;\n }\n onCursorStateChanged(e) {\n this._mouseDownOperation.onCursorStateChanged(e);\n return false;\n }\n onFocusChanged(e) {\n return false;\n }\n // --- end event handlers\n getTargetAtClientPoint(clientX, clientY) {\n const clientPos = new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.ClientCoordinates(clientX, clientY);\n const pos = clientPos.toPageCoordinates();\n const editorPos = (0,_editorDom_js__WEBPACK_IMPORTED_MODULE_5__.createEditorPagePosition)(this.viewHelper.viewDomNode);\n if (pos.y < editorPos.y || pos.y > editorPos.y + editorPos.height || pos.x < editorPos.x || pos.x > editorPos.x + editorPos.width) {\n return null;\n }\n const relativePos = (0,_editorDom_js__WEBPACK_IMPORTED_MODULE_5__.createCoordinatesRelativeToEditor)(this.viewHelper.viewDomNode, editorPos, pos);\n return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(), editorPos, pos, relativePos, null);\n }\n _createMouseTarget(e, testEventTarget) {\n let target = e.target;\n if (!this.viewHelper.viewDomNode.contains(target)) {\n const shadowRoot = _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.getShadowRoot(this.viewHelper.viewDomNode);\n if (shadowRoot) {\n target = shadowRoot.elementsFromPoint(e.posx, e.posy).find((el) => this.viewHelper.viewDomNode.contains(el));\n }\n }\n return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(), e.editorPos, e.pos, e.relativePos, testEventTarget ? target : null);\n }\n _getMouseColumn(e) {\n return this.mouseTargetFactory.getMouseColumn(e.relativePos);\n }\n _onContextMenu(e, testEventTarget) {\n this.viewController.emitContextMenu({\n event: e,\n target: this._createMouseTarget(e, testEventTarget)\n });\n }\n _onMouseMove(e) {\n const targetIsWidget = this.mouseTargetFactory.mouseTargetIsWidget(e);\n if (!targetIsWidget) {\n e.preventDefault();\n }\n if (this._mouseDownOperation.isActive()) {\n // In selection/drag operation\n return;\n }\n const actualMouseMoveTime = e.timestamp;\n if (actualMouseMoveTime < this.lastMouseLeaveTime) {\n // Due to throttling, this event occurred before the mouse left the editor, therefore ignore it.\n return;\n }\n this.viewController.emitMouseMove({\n event: e,\n target: this._createMouseTarget(e, true)\n });\n }\n _onMouseLeave(e) {\n if (this._mouseLeaveMonitor) {\n this._mouseLeaveMonitor.dispose();\n this._mouseLeaveMonitor = null;\n }\n this.lastMouseLeaveTime = (new Date()).getTime();\n this.viewController.emitMouseLeave({\n event: e,\n target: null\n });\n }\n _onMouseUp(e) {\n this.viewController.emitMouseUp({\n event: e,\n target: this._createMouseTarget(e, true)\n });\n }\n _onMouseDown(e, pointerId) {\n const t = this._createMouseTarget(e, true);\n const targetIsContent = (t.type === 6 /* MouseTargetType.CONTENT_TEXT */ || t.type === 7 /* MouseTargetType.CONTENT_EMPTY */);\n const targetIsGutter = (t.type === 2 /* MouseTargetType.GUTTER_GLYPH_MARGIN */ || t.type === 3 /* MouseTargetType.GUTTER_LINE_NUMBERS */ || t.type === 4 /* MouseTargetType.GUTTER_LINE_DECORATIONS */);\n const targetIsLineNumbers = (t.type === 3 /* MouseTargetType.GUTTER_LINE_NUMBERS */);\n const selectOnLineNumbers = this._context.configuration.options.get(106 /* EditorOption.selectOnLineNumbers */);\n const targetIsViewZone = (t.type === 8 /* MouseTargetType.CONTENT_VIEW_ZONE */ || t.type === 5 /* MouseTargetType.GUTTER_VIEW_ZONE */);\n const targetIsWidget = (t.type === 9 /* MouseTargetType.CONTENT_WIDGET */);\n let shouldHandle = e.leftButton || e.middleButton;\n if (_base_common_platform_js__WEBPACK_IMPORTED_MODULE_3__.isMacintosh && e.leftButton && e.ctrlKey) {\n shouldHandle = false;\n }\n const focus = () => {\n e.preventDefault();\n this.viewHelper.focusTextArea();\n };\n if (shouldHandle && (targetIsContent || (targetIsLineNumbers && selectOnLineNumbers))) {\n focus();\n this._mouseDownOperation.start(t.type, e, pointerId);\n }\n else if (targetIsGutter) {\n // Do not steal focus\n e.preventDefault();\n }\n else if (targetIsViewZone) {\n const viewZoneData = t.detail;\n if (shouldHandle && this.viewHelper.shouldSuppressMouseDownOnViewZone(viewZoneData.viewZoneId)) {\n focus();\n this._mouseDownOperation.start(t.type, e, pointerId);\n e.preventDefault();\n }\n }\n else if (targetIsWidget && this.viewHelper.shouldSuppressMouseDownOnWidget(t.detail)) {\n focus();\n e.preventDefault();\n }\n this.viewController.emitMouseDown({\n event: e,\n target: t\n });\n }\n}\nclass MouseDownOperation extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(_context, _viewController, _viewHelper, _mouseTargetFactory, createMouseTarget, getMouseColumn) {\n super();\n this._context = _context;\n this._viewController = _viewController;\n this._viewHelper = _viewHelper;\n this._mouseTargetFactory = _mouseTargetFactory;\n this._createMouseTarget = createMouseTarget;\n this._getMouseColumn = getMouseColumn;\n this._mouseMoveMonitor = this._register(new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.GlobalEditorPointerMoveMonitor(this._viewHelper.viewDomNode));\n this._topBottomDragScrolling = this._register(new TopBottomDragScrolling(this._context, this._viewHelper, this._mouseTargetFactory, (position, inSelectionMode, revealType) => this._dispatchMouse(position, inSelectionMode, revealType)));\n this._mouseState = new MouseDownState();\n this._currentSelection = new _common_core_selection_js__WEBPACK_IMPORTED_MODULE_8__.Selection(1, 1, 1, 1);\n this._isActive = false;\n this._lastMouseEvent = null;\n }\n dispose() {\n super.dispose();\n }\n isActive() {\n return this._isActive;\n }\n _onMouseDownThenMove(e) {\n this._lastMouseEvent = e;\n this._mouseState.setModifiers(e);\n const position = this._findMousePosition(e, false);\n if (!position) {\n // Ignoring because position is unknown\n return;\n }\n if (this._mouseState.isDragAndDrop) {\n this._viewController.emitMouseDrag({\n event: e,\n target: position\n });\n }\n else {\n if (position.type === 13 /* MouseTargetType.OUTSIDE_EDITOR */ && (position.outsidePosition === 'above' || position.outsidePosition === 'below')) {\n this._topBottomDragScrolling.start(position, e);\n }\n else {\n this._topBottomDragScrolling.stop();\n this._dispatchMouse(position, true, 1 /* NavigationCommandRevealType.Minimal */);\n }\n }\n }\n start(targetType, e, pointerId) {\n this._lastMouseEvent = e;\n this._mouseState.setStartedOnLineNumbers(targetType === 3 /* MouseTargetType.GUTTER_LINE_NUMBERS */);\n this._mouseState.setStartButtons(e);\n this._mouseState.setModifiers(e);\n const position = this._findMousePosition(e, true);\n if (!position || !position.position) {\n // Ignoring because position is unknown\n return;\n }\n this._mouseState.trySetCount(e.detail, position.position);\n // Overwrite the detail of the MouseEvent, as it will be sent out in an event and contributions might rely on it.\n e.detail = this._mouseState.count;\n const options = this._context.configuration.options;\n if (!options.get(88 /* EditorOption.readOnly */)\n && options.get(33 /* EditorOption.dragAndDrop */)\n && !options.get(20 /* EditorOption.columnSelection */)\n && !this._mouseState.altKey // we don't support multiple mouse\n && e.detail < 2 // only single click on a selection can work\n && !this._isActive // the mouse is not down yet\n && !this._currentSelection.isEmpty() // we don't drag single cursor\n && (position.type === 6 /* MouseTargetType.CONTENT_TEXT */) // single click on text\n && position.position && this._currentSelection.containsPosition(position.position) // single click on a selection\n ) {\n this._mouseState.isDragAndDrop = true;\n this._isActive = true;\n this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode, pointerId, e.buttons, (e) => this._onMouseDownThenMove(e), (browserEvent) => {\n const position = this._findMousePosition(this._lastMouseEvent, false);\n if (browserEvent && browserEvent instanceof KeyboardEvent) {\n // cancel\n this._viewController.emitMouseDropCanceled();\n }\n else {\n this._viewController.emitMouseDrop({\n event: this._lastMouseEvent,\n target: (position ? this._createMouseTarget(this._lastMouseEvent, true) : null) // Ignoring because position is unknown, e.g., Content View Zone\n });\n }\n this._stop();\n });\n return;\n }\n this._mouseState.isDragAndDrop = false;\n this._dispatchMouse(position, e.shiftKey, 1 /* NavigationCommandRevealType.Minimal */);\n if (!this._isActive) {\n this._isActive = true;\n this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode, pointerId, e.buttons, (e) => this._onMouseDownThenMove(e), () => this._stop());\n }\n }\n _stop() {\n this._isActive = false;\n this._topBottomDragScrolling.stop();\n }\n onHeightChanged() {\n this._mouseMoveMonitor.stopMonitoring();\n }\n onPointerUp() {\n this._mouseMoveMonitor.stopMonitoring();\n }\n onCursorStateChanged(e) {\n this._currentSelection = e.selections[0];\n }\n _getPositionOutsideEditor(e) {\n const editorContent = e.editorPos;\n const model = this._context.viewModel;\n const viewLayout = this._context.viewLayout;\n const mouseColumn = this._getMouseColumn(e);\n if (e.posy < editorContent.y) {\n const outsideDistance = editorContent.y - e.posy;\n const verticalOffset = Math.max(viewLayout.getCurrentScrollTop() - outsideDistance, 0);\n const viewZoneData = _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.HitTestContext.getZoneAtCoord(this._context, verticalOffset);\n if (viewZoneData) {\n const newPosition = this._helpPositionJumpOverViewZone(viewZoneData);\n if (newPosition) {\n return _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.MouseTarget.createOutsideEditor(mouseColumn, newPosition, 'above', outsideDistance);\n }\n }\n const aboveLineNumber = viewLayout.getLineNumberAtVerticalOffset(verticalOffset);\n return _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.MouseTarget.createOutsideEditor(mouseColumn, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_7__.Position(aboveLineNumber, 1), 'above', outsideDistance);\n }\n if (e.posy > editorContent.y + editorContent.height) {\n const outsideDistance = e.posy - editorContent.y - editorContent.height;\n const verticalOffset = viewLayout.getCurrentScrollTop() + e.relativePos.y;\n const viewZoneData = _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.HitTestContext.getZoneAtCoord(this._context, verticalOffset);\n if (viewZoneData) {\n const newPosition = this._helpPositionJumpOverViewZone(viewZoneData);\n if (newPosition) {\n return _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.MouseTarget.createOutsideEditor(mouseColumn, newPosition, 'below', outsideDistance);\n }\n }\n const belowLineNumber = viewLayout.getLineNumberAtVerticalOffset(verticalOffset);\n return _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.MouseTarget.createOutsideEditor(mouseColumn, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_7__.Position(belowLineNumber, model.getLineMaxColumn(belowLineNumber)), 'below', outsideDistance);\n }\n const possibleLineNumber = viewLayout.getLineNumberAtVerticalOffset(viewLayout.getCurrentScrollTop() + e.relativePos.y);\n if (e.posx < editorContent.x) {\n const outsideDistance = editorContent.x - e.posx;\n return _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.MouseTarget.createOutsideEditor(mouseColumn, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_7__.Position(possibleLineNumber, 1), 'left', outsideDistance);\n }\n if (e.posx > editorContent.x + editorContent.width) {\n const outsideDistance = e.posx - editorContent.x - editorContent.width;\n return _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.MouseTarget.createOutsideEditor(mouseColumn, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_7__.Position(possibleLineNumber, model.getLineMaxColumn(possibleLineNumber)), 'right', outsideDistance);\n }\n return null;\n }\n _findMousePosition(e, testEventTarget) {\n const positionOutsideEditor = this._getPositionOutsideEditor(e);\n if (positionOutsideEditor) {\n return positionOutsideEditor;\n }\n const t = this._createMouseTarget(e, testEventTarget);\n const hintedPosition = t.position;\n if (!hintedPosition) {\n return null;\n }\n if (t.type === 8 /* MouseTargetType.CONTENT_VIEW_ZONE */ || t.type === 5 /* MouseTargetType.GUTTER_VIEW_ZONE */) {\n const newPosition = this._helpPositionJumpOverViewZone(t.detail);\n if (newPosition) {\n return _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.MouseTarget.createViewZone(t.type, t.element, t.mouseColumn, newPosition, t.detail);\n }\n }\n return t;\n }\n _helpPositionJumpOverViewZone(viewZoneData) {\n // Force position on view zones to go above or below depending on where selection started from\n const selectionStart = new _common_core_position_js__WEBPACK_IMPORTED_MODULE_7__.Position(this._currentSelection.selectionStartLineNumber, this._currentSelection.selectionStartColumn);\n const positionBefore = viewZoneData.positionBefore;\n const positionAfter = viewZoneData.positionAfter;\n if (positionBefore && positionAfter) {\n if (positionBefore.isBefore(selectionStart)) {\n return positionBefore;\n }\n else {\n return positionAfter;\n }\n }\n return null;\n }\n _dispatchMouse(position, inSelectionMode, revealType) {\n if (!position.position) {\n return;\n }\n this._viewController.dispatchMouse({\n position: position.position,\n mouseColumn: position.mouseColumn,\n startedOnLineNumbers: this._mouseState.startedOnLineNumbers,\n revealType,\n inSelectionMode: inSelectionMode,\n mouseDownCount: this._mouseState.count,\n altKey: this._mouseState.altKey,\n ctrlKey: this._mouseState.ctrlKey,\n metaKey: this._mouseState.metaKey,\n shiftKey: this._mouseState.shiftKey,\n leftButton: this._mouseState.leftButton,\n middleButton: this._mouseState.middleButton,\n onInjectedText: position.type === 6 /* MouseTargetType.CONTENT_TEXT */ && position.detail.injectedText !== null\n });\n }\n}\nclass TopBottomDragScrolling extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(_context, _viewHelper, _mouseTargetFactory, _dispatchMouse) {\n super();\n this._context = _context;\n this._viewHelper = _viewHelper;\n this._mouseTargetFactory = _mouseTargetFactory;\n this._dispatchMouse = _dispatchMouse;\n this._operation = null;\n }\n dispose() {\n super.dispose();\n this.stop();\n }\n start(position, mouseEvent) {\n if (this._operation) {\n this._operation.setPosition(position, mouseEvent);\n }\n else {\n this._operation = new TopBottomDragScrollingOperation(this._context, this._viewHelper, this._mouseTargetFactory, this._dispatchMouse, position, mouseEvent);\n }\n }\n stop() {\n if (this._operation) {\n this._operation.dispose();\n this._operation = null;\n }\n }\n}\nclass TopBottomDragScrollingOperation extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.Disposable {\n constructor(_context, _viewHelper, _mouseTargetFactory, _dispatchMouse, position, mouseEvent) {\n super();\n this._context = _context;\n this._viewHelper = _viewHelper;\n this._mouseTargetFactory = _mouseTargetFactory;\n this._dispatchMouse = _dispatchMouse;\n this._position = position;\n this._mouseEvent = mouseEvent;\n this._lastTime = Date.now();\n this._animationFrameDisposable = _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.scheduleAtNextAnimationFrame(() => this._execute());\n }\n dispose() {\n this._animationFrameDisposable.dispose();\n }\n setPosition(position, mouseEvent) {\n this._position = position;\n this._mouseEvent = mouseEvent;\n }\n /**\n * update internal state and return elapsed ms since last time\n */\n _tick() {\n const now = Date.now();\n const elapsed = now - this._lastTime;\n this._lastTime = now;\n return elapsed;\n }\n /**\n * get the number of lines per second to auto-scroll\n */\n _getScrollSpeed() {\n const lineHeight = this._context.configuration.options.get(64 /* EditorOption.lineHeight */);\n const viewportInLines = this._context.configuration.options.get(141 /* EditorOption.layoutInfo */).height / lineHeight;\n const outsideDistanceInLines = this._position.outsideDistance / lineHeight;\n if (outsideDistanceInLines <= 1.5) {\n return Math.max(30, viewportInLines * (1 + outsideDistanceInLines));\n }\n if (outsideDistanceInLines <= 3) {\n return Math.max(60, viewportInLines * (2 + outsideDistanceInLines));\n }\n return Math.max(200, viewportInLines * (7 + outsideDistanceInLines));\n }\n _execute() {\n const lineHeight = this._context.configuration.options.get(64 /* EditorOption.lineHeight */);\n const scrollSpeedInLines = this._getScrollSpeed();\n const elapsed = this._tick();\n const scrollInPixels = scrollSpeedInLines * (elapsed / 1000) * lineHeight;\n const scrollValue = (this._position.outsidePosition === 'above' ? -scrollInPixels : scrollInPixels);\n this._context.viewModel.viewLayout.deltaScrollNow(0, scrollValue);\n this._viewHelper.renderNow();\n const viewportData = this._context.viewLayout.getLinesViewportData();\n const edgeLineNumber = (this._position.outsidePosition === 'above' ? viewportData.startLineNumber : viewportData.endLineNumber);\n // First, try to find a position that matches the horizontal position of the mouse\n let mouseTarget;\n {\n const editorPos = (0,_editorDom_js__WEBPACK_IMPORTED_MODULE_5__.createEditorPagePosition)(this._viewHelper.viewDomNode);\n const horizontalScrollbarHeight = this._context.configuration.options.get(141 /* EditorOption.layoutInfo */).horizontalScrollbarHeight;\n const pos = new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.PageCoordinates(this._mouseEvent.pos.x, editorPos.y + editorPos.height - horizontalScrollbarHeight - 0.1);\n const relativePos = (0,_editorDom_js__WEBPACK_IMPORTED_MODULE_5__.createCoordinatesRelativeToEditor)(this._viewHelper.viewDomNode, editorPos, pos);\n mouseTarget = this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(), editorPos, pos, relativePos, null);\n }\n if (!mouseTarget.position || mouseTarget.position.lineNumber !== edgeLineNumber) {\n if (this._position.outsidePosition === 'above') {\n mouseTarget = _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.MouseTarget.createOutsideEditor(this._position.mouseColumn, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_7__.Position(edgeLineNumber, 1), 'above', this._position.outsideDistance);\n }\n else {\n mouseTarget = _mouseTarget_js__WEBPACK_IMPORTED_MODULE_4__.MouseTarget.createOutsideEditor(this._position.mouseColumn, new _common_core_position_js__WEBPACK_IMPORTED_MODULE_7__.Position(edgeLineNumber, this._context.viewModel.getLineMaxColumn(edgeLineNumber)), 'below', this._position.outsideDistance);\n }\n }\n this._dispatchMouse(mouseTarget, true, 2 /* NavigationCommandRevealType.None */);\n this._animationFrameDisposable = _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.scheduleAtNextAnimationFrame(() => this._execute());\n }\n}\nclass MouseDownState {\n get altKey() { return this._altKey; }\n get ctrlKey() { return this._ctrlKey; }\n get metaKey() { return this._metaKey; }\n get shiftKey() { return this._shiftKey; }\n get leftButton() { return this._leftButton; }\n get middleButton() { return this._middleButton; }\n get startedOnLineNumbers() { return this._startedOnLineNumbers; }\n constructor() {\n this._altKey = false;\n this._ctrlKey = false;\n this._metaKey = false;\n this._shiftKey = false;\n this._leftButton = false;\n this._middleButton = false;\n this._startedOnLineNumbers = false;\n this._lastMouseDownPosition = null;\n this._lastMouseDownPositionEqualCount = 0;\n this._lastMouseDownCount = 0;\n this._lastSetMouseDownCountTime = 0;\n this.isDragAndDrop = false;\n }\n get count() {\n return this._lastMouseDownCount;\n }\n setModifiers(source) {\n this._altKey = source.altKey;\n this._ctrlKey = source.ctrlKey;\n this._metaKey = source.metaKey;\n this._shiftKey = source.shiftKey;\n }\n setStartButtons(source) {\n this._leftButton = source.leftButton;\n this._middleButton = source.middleButton;\n }\n setStartedOnLineNumbers(startedOnLineNumbers) {\n this._startedOnLineNumbers = startedOnLineNumbers;\n }\n trySetCount(setMouseDownCount, newMouseDownPosition) {\n // a. Invalidate multiple clicking if too much time has passed (will be hit by IE because the detail field of mouse events contains garbage in IE10)\n const currentTime = (new Date()).getTime();\n if (currentTime - this._lastSetMouseDownCountTime > MouseDownState.CLEAR_MOUSE_DOWN_COUNT_TIME) {\n setMouseDownCount = 1;\n }\n this._lastSetMouseDownCountTime = currentTime;\n // b. Ensure that we don't jump from single click to triple click in one go (will be hit by IE because the detail field of mouse events contains garbage in IE10)\n if (setMouseDownCount > this._lastMouseDownCount + 1) {\n setMouseDownCount = this._lastMouseDownCount + 1;\n }\n // c. Invalidate multiple clicking if the logical position is different\n if (this._lastMouseDownPosition && this._lastMouseDownPosition.equals(newMouseDownPosition)) {\n this._lastMouseDownPositionEqualCount++;\n }\n else {\n this._lastMouseDownPositionEqualCount = 1;\n }\n this._lastMouseDownPosition = newMouseDownPosition;\n // Finally set the lastMouseDownCount\n this._lastMouseDownCount = Math.min(setMouseDownCount, this._lastMouseDownPositionEqualCount);\n }\n}\nMouseDownState.CLEAR_MOUSE_DOWN_COUNT_TIME = 400; // ms\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseHandler.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js": +/*!************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseTarget.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 */ HitTestContext: () => (/* binding */ HitTestContext),\n/* harmony export */ MouseTarget: () => (/* binding */ MouseTarget),\n/* harmony export */ MouseTargetFactory: () => (/* binding */ MouseTargetFactory),\n/* harmony export */ PointerHandlerLastRenderData: () => (/* binding */ PointerHandlerLastRenderData)\n/* harmony export */ });\n/* harmony import */ var _editorDom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../editorDom.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/editorDom.js\");\n/* harmony import */ var _view_viewPart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../view/viewPart.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/view/viewPart.js\");\n/* harmony import */ var _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../viewParts/lines/viewLine.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLine.js\");\n/* harmony import */ var _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/core/position.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/position.js\");\n/* harmony import */ var _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../common/core/range.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/range.js\");\n/* harmony import */ var _common_core_cursorColumns_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../common/core/cursorColumns.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/core/cursorColumns.js\");\n/* harmony import */ var _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../base/browser/dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _common_cursor_cursorAtomicMoveOperations_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../common/cursor/cursorAtomicMoveOperations.js */ \"./node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorAtomicMoveOperations.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\nclass UnknownHitTestResult {\n constructor(hitTarget = null) {\n this.hitTarget = hitTarget;\n this.type = 0 /* HitTestResultType.Unknown */;\n }\n}\nclass ContentHitTestResult {\n constructor(position, spanNode, injectedText) {\n this.position = position;\n this.spanNode = spanNode;\n this.injectedText = injectedText;\n this.type = 1 /* HitTestResultType.Content */;\n }\n}\nvar HitTestResult;\n(function (HitTestResult) {\n function createFromDOMInfo(ctx, spanNode, offset) {\n const position = ctx.getPositionFromDOMInfo(spanNode, offset);\n if (position) {\n return new ContentHitTestResult(position, spanNode, null);\n }\n return new UnknownHitTestResult(spanNode);\n }\n HitTestResult.createFromDOMInfo = createFromDOMInfo;\n})(HitTestResult || (HitTestResult = {}));\nclass PointerHandlerLastRenderData {\n constructor(lastViewCursorsRenderData, lastTextareaPosition) {\n this.lastViewCursorsRenderData = lastViewCursorsRenderData;\n this.lastTextareaPosition = lastTextareaPosition;\n }\n}\nclass MouseTarget {\n static _deduceRage(position, range = null) {\n if (!range && position) {\n return new _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__.Range(position.lineNumber, position.column, position.lineNumber, position.column);\n }\n return range !== null && range !== void 0 ? range : null;\n }\n static createUnknown(element, mouseColumn, position) {\n return { type: 0 /* MouseTargetType.UNKNOWN */, element, mouseColumn, position, range: this._deduceRage(position) };\n }\n static createTextarea(element, mouseColumn) {\n return { type: 1 /* MouseTargetType.TEXTAREA */, element, mouseColumn, position: null, range: null };\n }\n static createMargin(type, element, mouseColumn, position, range, detail) {\n return { type, element, mouseColumn, position, range, detail };\n }\n static createViewZone(type, element, mouseColumn, position, detail) {\n return { type, element, mouseColumn, position, range: this._deduceRage(position), detail };\n }\n static createContentText(element, mouseColumn, position, range, detail) {\n return { type: 6 /* MouseTargetType.CONTENT_TEXT */, element, mouseColumn, position, range: this._deduceRage(position, range), detail };\n }\n static createContentEmpty(element, mouseColumn, position, detail) {\n return { type: 7 /* MouseTargetType.CONTENT_EMPTY */, element, mouseColumn, position, range: this._deduceRage(position), detail };\n }\n static createContentWidget(element, mouseColumn, detail) {\n return { type: 9 /* MouseTargetType.CONTENT_WIDGET */, element, mouseColumn, position: null, range: null, detail };\n }\n static createScrollbar(element, mouseColumn, position) {\n return { type: 11 /* MouseTargetType.SCROLLBAR */, element, mouseColumn, position, range: this._deduceRage(position) };\n }\n static createOverlayWidget(element, mouseColumn, detail) {\n return { type: 12 /* MouseTargetType.OVERLAY_WIDGET */, element, mouseColumn, position: null, range: null, detail };\n }\n static createOutsideEditor(mouseColumn, position, outsidePosition, outsideDistance) {\n return { type: 13 /* MouseTargetType.OUTSIDE_EDITOR */, element: null, mouseColumn, position, range: this._deduceRage(position), outsidePosition, outsideDistance };\n }\n static _typeToString(type) {\n if (type === 1 /* MouseTargetType.TEXTAREA */) {\n return 'TEXTAREA';\n }\n if (type === 2 /* MouseTargetType.GUTTER_GLYPH_MARGIN */) {\n return 'GUTTER_GLYPH_MARGIN';\n }\n if (type === 3 /* MouseTargetType.GUTTER_LINE_NUMBERS */) {\n return 'GUTTER_LINE_NUMBERS';\n }\n if (type === 4 /* MouseTargetType.GUTTER_LINE_DECORATIONS */) {\n return 'GUTTER_LINE_DECORATIONS';\n }\n if (type === 5 /* MouseTargetType.GUTTER_VIEW_ZONE */) {\n return 'GUTTER_VIEW_ZONE';\n }\n if (type === 6 /* MouseTargetType.CONTENT_TEXT */) {\n return 'CONTENT_TEXT';\n }\n if (type === 7 /* MouseTargetType.CONTENT_EMPTY */) {\n return 'CONTENT_EMPTY';\n }\n if (type === 8 /* MouseTargetType.CONTENT_VIEW_ZONE */) {\n return 'CONTENT_VIEW_ZONE';\n }\n if (type === 9 /* MouseTargetType.CONTENT_WIDGET */) {\n return 'CONTENT_WIDGET';\n }\n if (type === 10 /* MouseTargetType.OVERVIEW_RULER */) {\n return 'OVERVIEW_RULER';\n }\n if (type === 11 /* MouseTargetType.SCROLLBAR */) {\n return 'SCROLLBAR';\n }\n if (type === 12 /* MouseTargetType.OVERLAY_WIDGET */) {\n return 'OVERLAY_WIDGET';\n }\n return 'UNKNOWN';\n }\n static toString(target) {\n return this._typeToString(target.type) + ': ' + target.position + ' - ' + target.range + ' - ' + JSON.stringify(target.detail);\n }\n}\nclass ElementPath {\n static isTextArea(path) {\n return (path.length === 2\n && path[0] === 3 /* PartFingerprint.OverflowGuard */\n && path[1] === 6 /* PartFingerprint.TextArea */);\n }\n static isChildOfViewLines(path) {\n return (path.length >= 4\n && path[0] === 3 /* PartFingerprint.OverflowGuard */\n && path[3] === 7 /* PartFingerprint.ViewLines */);\n }\n static isStrictChildOfViewLines(path) {\n return (path.length > 4\n && path[0] === 3 /* PartFingerprint.OverflowGuard */\n && path[3] === 7 /* PartFingerprint.ViewLines */);\n }\n static isChildOfScrollableElement(path) {\n return (path.length >= 2\n && path[0] === 3 /* PartFingerprint.OverflowGuard */\n && path[1] === 5 /* PartFingerprint.ScrollableElement */);\n }\n static isChildOfMinimap(path) {\n return (path.length >= 2\n && path[0] === 3 /* PartFingerprint.OverflowGuard */\n && path[1] === 8 /* PartFingerprint.Minimap */);\n }\n static isChildOfContentWidgets(path) {\n return (path.length >= 4\n && path[0] === 3 /* PartFingerprint.OverflowGuard */\n && path[3] === 1 /* PartFingerprint.ContentWidgets */);\n }\n static isChildOfOverflowingContentWidgets(path) {\n return (path.length >= 1\n && path[0] === 2 /* PartFingerprint.OverflowingContentWidgets */);\n }\n static isChildOfOverlayWidgets(path) {\n return (path.length >= 2\n && path[0] === 3 /* PartFingerprint.OverflowGuard */\n && path[1] === 4 /* PartFingerprint.OverlayWidgets */);\n }\n}\nclass HitTestContext {\n constructor(context, viewHelper, lastRenderData) {\n this.viewModel = context.viewModel;\n const options = context.configuration.options;\n this.layoutInfo = options.get(141 /* EditorOption.layoutInfo */);\n this.viewDomNode = viewHelper.viewDomNode;\n this.lineHeight = options.get(64 /* EditorOption.lineHeight */);\n this.stickyTabStops = options.get(113 /* EditorOption.stickyTabStops */);\n this.typicalHalfwidthCharacterWidth = options.get(48 /* EditorOption.fontInfo */).typicalHalfwidthCharacterWidth;\n this.lastRenderData = lastRenderData;\n this._context = context;\n this._viewHelper = viewHelper;\n }\n getZoneAtCoord(mouseVerticalOffset) {\n return HitTestContext.getZoneAtCoord(this._context, mouseVerticalOffset);\n }\n static getZoneAtCoord(context, mouseVerticalOffset) {\n // The target is either a view zone or the empty space after the last view-line\n const viewZoneWhitespace = context.viewLayout.getWhitespaceAtVerticalOffset(mouseVerticalOffset);\n if (viewZoneWhitespace) {\n const viewZoneMiddle = viewZoneWhitespace.verticalOffset + viewZoneWhitespace.height / 2;\n const lineCount = context.viewModel.getLineCount();\n let positionBefore = null;\n let position;\n let positionAfter = null;\n if (viewZoneWhitespace.afterLineNumber !== lineCount) {\n // There are more lines after this view zone\n positionAfter = new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(viewZoneWhitespace.afterLineNumber + 1, 1);\n }\n if (viewZoneWhitespace.afterLineNumber > 0) {\n // There are more lines above this view zone\n positionBefore = new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(viewZoneWhitespace.afterLineNumber, context.viewModel.getLineMaxColumn(viewZoneWhitespace.afterLineNumber));\n }\n if (positionAfter === null) {\n position = positionBefore;\n }\n else if (positionBefore === null) {\n position = positionAfter;\n }\n else if (mouseVerticalOffset < viewZoneMiddle) {\n position = positionBefore;\n }\n else {\n position = positionAfter;\n }\n return {\n viewZoneId: viewZoneWhitespace.id,\n afterLineNumber: viewZoneWhitespace.afterLineNumber,\n positionBefore: positionBefore,\n positionAfter: positionAfter,\n position: position\n };\n }\n return null;\n }\n getFullLineRangeAtCoord(mouseVerticalOffset) {\n if (this._context.viewLayout.isAfterLines(mouseVerticalOffset)) {\n // Below the last line\n const lineNumber = this._context.viewModel.getLineCount();\n const maxLineColumn = this._context.viewModel.getLineMaxColumn(lineNumber);\n return {\n range: new _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__.Range(lineNumber, maxLineColumn, lineNumber, maxLineColumn),\n isAfterLines: true\n };\n }\n const lineNumber = this._context.viewLayout.getLineNumberAtVerticalOffset(mouseVerticalOffset);\n const maxLineColumn = this._context.viewModel.getLineMaxColumn(lineNumber);\n return {\n range: new _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__.Range(lineNumber, 1, lineNumber, maxLineColumn),\n isAfterLines: false\n };\n }\n getLineNumberAtVerticalOffset(mouseVerticalOffset) {\n return this._context.viewLayout.getLineNumberAtVerticalOffset(mouseVerticalOffset);\n }\n isAfterLines(mouseVerticalOffset) {\n return this._context.viewLayout.isAfterLines(mouseVerticalOffset);\n }\n isInTopPadding(mouseVerticalOffset) {\n return this._context.viewLayout.isInTopPadding(mouseVerticalOffset);\n }\n isInBottomPadding(mouseVerticalOffset) {\n return this._context.viewLayout.isInBottomPadding(mouseVerticalOffset);\n }\n getVerticalOffsetForLineNumber(lineNumber) {\n return this._context.viewLayout.getVerticalOffsetForLineNumber(lineNumber);\n }\n findAttribute(element, attr) {\n return HitTestContext._findAttribute(element, attr, this._viewHelper.viewDomNode);\n }\n static _findAttribute(element, attr, stopAt) {\n while (element && element !== document.body) {\n if (element.hasAttribute && element.hasAttribute(attr)) {\n return element.getAttribute(attr);\n }\n if (element === stopAt) {\n return null;\n }\n element = element.parentNode;\n }\n return null;\n }\n getLineWidth(lineNumber) {\n return this._viewHelper.getLineWidth(lineNumber);\n }\n visibleRangeForPosition(lineNumber, column) {\n return this._viewHelper.visibleRangeForPosition(lineNumber, column);\n }\n getPositionFromDOMInfo(spanNode, offset) {\n return this._viewHelper.getPositionFromDOMInfo(spanNode, offset);\n }\n getCurrentScrollTop() {\n return this._context.viewLayout.getCurrentScrollTop();\n }\n getCurrentScrollLeft() {\n return this._context.viewLayout.getCurrentScrollLeft();\n }\n}\nclass BareHitTestRequest {\n constructor(ctx, editorPos, pos, relativePos) {\n this.editorPos = editorPos;\n this.pos = pos;\n this.relativePos = relativePos;\n this.mouseVerticalOffset = Math.max(0, ctx.getCurrentScrollTop() + this.relativePos.y);\n this.mouseContentHorizontalOffset = ctx.getCurrentScrollLeft() + this.relativePos.x - ctx.layoutInfo.contentLeft;\n this.isInMarginArea = (this.relativePos.x < ctx.layoutInfo.contentLeft && this.relativePos.x >= ctx.layoutInfo.glyphMarginLeft);\n this.isInContentArea = !this.isInMarginArea;\n this.mouseColumn = Math.max(0, MouseTargetFactory._getMouseColumn(this.mouseContentHorizontalOffset, ctx.typicalHalfwidthCharacterWidth));\n }\n}\nclass HitTestRequest extends BareHitTestRequest {\n constructor(ctx, editorPos, pos, relativePos, target) {\n super(ctx, editorPos, pos, relativePos);\n this._ctx = ctx;\n if (target) {\n this.target = target;\n this.targetPath = _view_viewPart_js__WEBPACK_IMPORTED_MODULE_1__.PartFingerprints.collect(target, ctx.viewDomNode);\n }\n else {\n this.target = null;\n this.targetPath = new Uint8Array(0);\n }\n }\n toString() {\n return `pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\\n\\ttarget: ${this.target ? this.target.outerHTML : null}`;\n }\n _getMouseColumn(position = null) {\n if (position && position.column < this._ctx.viewModel.getLineMaxColumn(position.lineNumber)) {\n // Most likely, the line contains foreign decorations...\n return _common_core_cursorColumns_js__WEBPACK_IMPORTED_MODULE_5__.CursorColumns.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(position.lineNumber), position.column, this._ctx.viewModel.model.getOptions().tabSize) + 1;\n }\n return this.mouseColumn;\n }\n fulfillUnknown(position = null) {\n return MouseTarget.createUnknown(this.target, this._getMouseColumn(position), position);\n }\n fulfillTextarea() {\n return MouseTarget.createTextarea(this.target, this._getMouseColumn());\n }\n fulfillMargin(type, position, range, detail) {\n return MouseTarget.createMargin(type, this.target, this._getMouseColumn(position), position, range, detail);\n }\n fulfillViewZone(type, position, detail) {\n return MouseTarget.createViewZone(type, this.target, this._getMouseColumn(position), position, detail);\n }\n fulfillContentText(position, range, detail) {\n return MouseTarget.createContentText(this.target, this._getMouseColumn(position), position, range, detail);\n }\n fulfillContentEmpty(position, detail) {\n return MouseTarget.createContentEmpty(this.target, this._getMouseColumn(position), position, detail);\n }\n fulfillContentWidget(detail) {\n return MouseTarget.createContentWidget(this.target, this._getMouseColumn(), detail);\n }\n fulfillScrollbar(position) {\n return MouseTarget.createScrollbar(this.target, this._getMouseColumn(position), position);\n }\n fulfillOverlayWidget(detail) {\n return MouseTarget.createOverlayWidget(this.target, this._getMouseColumn(), detail);\n }\n withTarget(target) {\n return new HitTestRequest(this._ctx, this.editorPos, this.pos, this.relativePos, target);\n }\n}\nconst EMPTY_CONTENT_AFTER_LINES = { isAfterLines: true };\nfunction createEmptyContentDataInLines(horizontalDistanceToText) {\n return {\n isAfterLines: false,\n horizontalDistanceToText: horizontalDistanceToText\n };\n}\nclass MouseTargetFactory {\n constructor(context, viewHelper) {\n this._context = context;\n this._viewHelper = viewHelper;\n }\n mouseTargetIsWidget(e) {\n const t = e.target;\n const path = _view_viewPart_js__WEBPACK_IMPORTED_MODULE_1__.PartFingerprints.collect(t, this._viewHelper.viewDomNode);\n // Is it a content widget?\n if (ElementPath.isChildOfContentWidgets(path) || ElementPath.isChildOfOverflowingContentWidgets(path)) {\n return true;\n }\n // Is it an overlay widget?\n if (ElementPath.isChildOfOverlayWidgets(path)) {\n return true;\n }\n return false;\n }\n createMouseTarget(lastRenderData, editorPos, pos, relativePos, target) {\n const ctx = new HitTestContext(this._context, this._viewHelper, lastRenderData);\n const request = new HitTestRequest(ctx, editorPos, pos, relativePos, target);\n try {\n const r = MouseTargetFactory._createMouseTarget(ctx, request, false);\n if (r.type === 6 /* MouseTargetType.CONTENT_TEXT */) {\n // Snap to the nearest soft tab boundary if atomic soft tabs are enabled.\n if (ctx.stickyTabStops && r.position !== null) {\n const position = MouseTargetFactory._snapToSoftTabBoundary(r.position, ctx.viewModel);\n const range = _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__.Range.fromPositions(position, position).plusRange(r.range);\n return request.fulfillContentText(position, range, r.detail);\n }\n }\n // console.log(MouseTarget.toString(r));\n return r;\n }\n catch (err) {\n // console.log(err);\n return request.fulfillUnknown();\n }\n }\n static _createMouseTarget(ctx, request, domHitTestExecuted) {\n // console.log(`${domHitTestExecuted ? '=>' : ''}CAME IN REQUEST: ${request}`);\n // First ensure the request has a target\n if (request.target === null) {\n if (domHitTestExecuted) {\n // Still no target... and we have already executed hit test...\n return request.fulfillUnknown();\n }\n const hitTestResult = MouseTargetFactory._doHitTest(ctx, request);\n if (hitTestResult.type === 1 /* HitTestResultType.Content */) {\n return MouseTargetFactory.createMouseTargetFromHitTestPosition(ctx, request, hitTestResult.spanNode, hitTestResult.position, hitTestResult.injectedText);\n }\n return this._createMouseTarget(ctx, request.withTarget(hitTestResult.hitTarget), true);\n }\n // we know for a fact that request.target is not null\n const resolvedRequest = request;\n let result = null;\n result = result || MouseTargetFactory._hitTestContentWidget(ctx, resolvedRequest);\n result = result || MouseTargetFactory._hitTestOverlayWidget(ctx, resolvedRequest);\n result = result || MouseTargetFactory._hitTestMinimap(ctx, resolvedRequest);\n result = result || MouseTargetFactory._hitTestScrollbarSlider(ctx, resolvedRequest);\n result = result || MouseTargetFactory._hitTestViewZone(ctx, resolvedRequest);\n result = result || MouseTargetFactory._hitTestMargin(ctx, resolvedRequest);\n result = result || MouseTargetFactory._hitTestViewCursor(ctx, resolvedRequest);\n result = result || MouseTargetFactory._hitTestTextArea(ctx, resolvedRequest);\n result = result || MouseTargetFactory._hitTestViewLines(ctx, resolvedRequest, domHitTestExecuted);\n result = result || MouseTargetFactory._hitTestScrollbar(ctx, resolvedRequest);\n return (result || request.fulfillUnknown());\n }\n static _hitTestContentWidget(ctx, request) {\n // Is it a content widget?\n if (ElementPath.isChildOfContentWidgets(request.targetPath) || ElementPath.isChildOfOverflowingContentWidgets(request.targetPath)) {\n const widgetId = ctx.findAttribute(request.target, 'widgetId');\n if (widgetId) {\n return request.fulfillContentWidget(widgetId);\n }\n else {\n return request.fulfillUnknown();\n }\n }\n return null;\n }\n static _hitTestOverlayWidget(ctx, request) {\n // Is it an overlay widget?\n if (ElementPath.isChildOfOverlayWidgets(request.targetPath)) {\n const widgetId = ctx.findAttribute(request.target, 'widgetId');\n if (widgetId) {\n return request.fulfillOverlayWidget(widgetId);\n }\n else {\n return request.fulfillUnknown();\n }\n }\n return null;\n }\n static _hitTestViewCursor(ctx, request) {\n if (request.target) {\n // Check if we've hit a painted cursor\n const lastViewCursorsRenderData = ctx.lastRenderData.lastViewCursorsRenderData;\n for (const d of lastViewCursorsRenderData) {\n if (request.target === d.domNode) {\n return request.fulfillContentText(d.position, null, { mightBeForeignElement: false, injectedText: null });\n }\n }\n }\n if (request.isInContentArea) {\n // Edge has a bug when hit-testing the exact position of a cursor,\n // instead of returning the correct dom node, it returns the\n // first or last rendered view line dom node, therefore help it out\n // and first check if we are on top of a cursor\n const lastViewCursorsRenderData = ctx.lastRenderData.lastViewCursorsRenderData;\n const mouseContentHorizontalOffset = request.mouseContentHorizontalOffset;\n const mouseVerticalOffset = request.mouseVerticalOffset;\n for (const d of lastViewCursorsRenderData) {\n if (mouseContentHorizontalOffset < d.contentLeft) {\n // mouse position is to the left of the cursor\n continue;\n }\n if (mouseContentHorizontalOffset > d.contentLeft + d.width) {\n // mouse position is to the right of the cursor\n continue;\n }\n const cursorVerticalOffset = ctx.getVerticalOffsetForLineNumber(d.position.lineNumber);\n if (cursorVerticalOffset <= mouseVerticalOffset\n && mouseVerticalOffset <= cursorVerticalOffset + d.height) {\n return request.fulfillContentText(d.position, null, { mightBeForeignElement: false, injectedText: null });\n }\n }\n }\n return null;\n }\n static _hitTestViewZone(ctx, request) {\n const viewZoneData = ctx.getZoneAtCoord(request.mouseVerticalOffset);\n if (viewZoneData) {\n const mouseTargetType = (request.isInContentArea ? 8 /* MouseTargetType.CONTENT_VIEW_ZONE */ : 5 /* MouseTargetType.GUTTER_VIEW_ZONE */);\n return request.fulfillViewZone(mouseTargetType, viewZoneData.position, viewZoneData);\n }\n return null;\n }\n static _hitTestTextArea(ctx, request) {\n // Is it the textarea?\n if (ElementPath.isTextArea(request.targetPath)) {\n if (ctx.lastRenderData.lastTextareaPosition) {\n return request.fulfillContentText(ctx.lastRenderData.lastTextareaPosition, null, { mightBeForeignElement: false, injectedText: null });\n }\n return request.fulfillTextarea();\n }\n return null;\n }\n static _hitTestMargin(ctx, request) {\n if (request.isInMarginArea) {\n const res = ctx.getFullLineRangeAtCoord(request.mouseVerticalOffset);\n const pos = res.range.getStartPosition();\n let offset = Math.abs(request.relativePos.x);\n const detail = {\n isAfterLines: res.isAfterLines,\n glyphMarginLeft: ctx.layoutInfo.glyphMarginLeft,\n glyphMarginWidth: ctx.layoutInfo.glyphMarginWidth,\n lineNumbersWidth: ctx.layoutInfo.lineNumbersWidth,\n offsetX: offset\n };\n offset -= ctx.layoutInfo.glyphMarginLeft;\n if (offset <= ctx.layoutInfo.glyphMarginWidth) {\n // On the glyph margin\n return request.fulfillMargin(2 /* MouseTargetType.GUTTER_GLYPH_MARGIN */, pos, res.range, detail);\n }\n offset -= ctx.layoutInfo.glyphMarginWidth;\n if (offset <= ctx.layoutInfo.lineNumbersWidth) {\n // On the line numbers\n return request.fulfillMargin(3 /* MouseTargetType.GUTTER_LINE_NUMBERS */, pos, res.range, detail);\n }\n offset -= ctx.layoutInfo.lineNumbersWidth;\n // On the line decorations\n return request.fulfillMargin(4 /* MouseTargetType.GUTTER_LINE_DECORATIONS */, pos, res.range, detail);\n }\n return null;\n }\n static _hitTestViewLines(ctx, request, domHitTestExecuted) {\n if (!ElementPath.isChildOfViewLines(request.targetPath)) {\n return null;\n }\n if (ctx.isInTopPadding(request.mouseVerticalOffset)) {\n return request.fulfillContentEmpty(new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(1, 1), EMPTY_CONTENT_AFTER_LINES);\n }\n // Check if it is below any lines and any view zones\n if (ctx.isAfterLines(request.mouseVerticalOffset) || ctx.isInBottomPadding(request.mouseVerticalOffset)) {\n // This most likely indicates it happened after the last view-line\n const lineCount = ctx.viewModel.getLineCount();\n const maxLineColumn = ctx.viewModel.getLineMaxColumn(lineCount);\n return request.fulfillContentEmpty(new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(lineCount, maxLineColumn), EMPTY_CONTENT_AFTER_LINES);\n }\n if (domHitTestExecuted) {\n // Check if we are hitting a view-line (can happen in the case of inline decorations on empty lines)\n // See https://github.com/microsoft/vscode/issues/46942\n if (ElementPath.isStrictChildOfViewLines(request.targetPath)) {\n const lineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);\n if (ctx.viewModel.getLineLength(lineNumber) === 0) {\n const lineWidth = ctx.getLineWidth(lineNumber);\n const detail = createEmptyContentDataInLines(request.mouseContentHorizontalOffset - lineWidth);\n return request.fulfillContentEmpty(new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(lineNumber, 1), detail);\n }\n const lineWidth = ctx.getLineWidth(lineNumber);\n if (request.mouseContentHorizontalOffset >= lineWidth) {\n const detail = createEmptyContentDataInLines(request.mouseContentHorizontalOffset - lineWidth);\n const pos = new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(lineNumber, ctx.viewModel.getLineMaxColumn(lineNumber));\n return request.fulfillContentEmpty(pos, detail);\n }\n }\n // We have already executed hit test...\n return request.fulfillUnknown();\n }\n const hitTestResult = MouseTargetFactory._doHitTest(ctx, request);\n if (hitTestResult.type === 1 /* HitTestResultType.Content */) {\n return MouseTargetFactory.createMouseTargetFromHitTestPosition(ctx, request, hitTestResult.spanNode, hitTestResult.position, hitTestResult.injectedText);\n }\n return this._createMouseTarget(ctx, request.withTarget(hitTestResult.hitTarget), true);\n }\n static _hitTestMinimap(ctx, request) {\n if (ElementPath.isChildOfMinimap(request.targetPath)) {\n const possibleLineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);\n const maxColumn = ctx.viewModel.getLineMaxColumn(possibleLineNumber);\n return request.fulfillScrollbar(new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(possibleLineNumber, maxColumn));\n }\n return null;\n }\n static _hitTestScrollbarSlider(ctx, request) {\n if (ElementPath.isChildOfScrollableElement(request.targetPath)) {\n if (request.target && request.target.nodeType === 1) {\n const className = request.target.className;\n if (className && /\\b(slider|scrollbar)\\b/.test(className)) {\n const possibleLineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);\n const maxColumn = ctx.viewModel.getLineMaxColumn(possibleLineNumber);\n return request.fulfillScrollbar(new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(possibleLineNumber, maxColumn));\n }\n }\n }\n return null;\n }\n static _hitTestScrollbar(ctx, request) {\n // Is it the overview ruler?\n // Is it a child of the scrollable element?\n if (ElementPath.isChildOfScrollableElement(request.targetPath)) {\n const possibleLineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);\n const maxColumn = ctx.viewModel.getLineMaxColumn(possibleLineNumber);\n return request.fulfillScrollbar(new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(possibleLineNumber, maxColumn));\n }\n return null;\n }\n getMouseColumn(relativePos) {\n const options = this._context.configuration.options;\n const layoutInfo = options.get(141 /* EditorOption.layoutInfo */);\n const mouseContentHorizontalOffset = this._context.viewLayout.getCurrentScrollLeft() + relativePos.x - layoutInfo.contentLeft;\n return MouseTargetFactory._getMouseColumn(mouseContentHorizontalOffset, options.get(48 /* EditorOption.fontInfo */).typicalHalfwidthCharacterWidth);\n }\n static _getMouseColumn(mouseContentHorizontalOffset, typicalHalfwidthCharacterWidth) {\n if (mouseContentHorizontalOffset < 0) {\n return 1;\n }\n const chars = Math.round(mouseContentHorizontalOffset / typicalHalfwidthCharacterWidth);\n return (chars + 1);\n }\n static createMouseTargetFromHitTestPosition(ctx, request, spanNode, pos, injectedText) {\n const lineNumber = pos.lineNumber;\n const column = pos.column;\n const lineWidth = ctx.getLineWidth(lineNumber);\n if (request.mouseContentHorizontalOffset > lineWidth) {\n const detail = createEmptyContentDataInLines(request.mouseContentHorizontalOffset - lineWidth);\n return request.fulfillContentEmpty(pos, detail);\n }\n const visibleRange = ctx.visibleRangeForPosition(lineNumber, column);\n if (!visibleRange) {\n return request.fulfillUnknown(pos);\n }\n const columnHorizontalOffset = visibleRange.left;\n if (Math.abs(request.mouseContentHorizontalOffset - columnHorizontalOffset) < 1) {\n return request.fulfillContentText(pos, null, { mightBeForeignElement: !!injectedText, injectedText });\n }\n const points = [];\n points.push({ offset: visibleRange.left, column: column });\n if (column > 1) {\n const visibleRange = ctx.visibleRangeForPosition(lineNumber, column - 1);\n if (visibleRange) {\n points.push({ offset: visibleRange.left, column: column - 1 });\n }\n }\n const lineMaxColumn = ctx.viewModel.getLineMaxColumn(lineNumber);\n if (column < lineMaxColumn) {\n const visibleRange = ctx.visibleRangeForPosition(lineNumber, column + 1);\n if (visibleRange) {\n points.push({ offset: visibleRange.left, column: column + 1 });\n }\n }\n points.sort((a, b) => a.offset - b.offset);\n const mouseCoordinates = request.pos.toClientCoordinates();\n const spanNodeClientRect = spanNode.getBoundingClientRect();\n const mouseIsOverSpanNode = (spanNodeClientRect.left <= mouseCoordinates.clientX && mouseCoordinates.clientX <= spanNodeClientRect.right);\n let rng = null;\n for (let i = 1; i < points.length; i++) {\n const prev = points[i - 1];\n const curr = points[i];\n if (prev.offset <= request.mouseContentHorizontalOffset && request.mouseContentHorizontalOffset <= curr.offset) {\n rng = new _common_core_range_js__WEBPACK_IMPORTED_MODULE_4__.Range(lineNumber, prev.column, lineNumber, curr.column);\n // See https://github.com/microsoft/vscode/issues/152819\n // Due to the use of zwj, the browser's hit test result is skewed towards the left\n // Here we try to correct that if the mouse horizontal offset is closer to the right than the left\n const prevDelta = Math.abs(prev.offset - request.mouseContentHorizontalOffset);\n const nextDelta = Math.abs(curr.offset - request.mouseContentHorizontalOffset);\n pos = (prevDelta < nextDelta\n ? new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(lineNumber, prev.column)\n : new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(lineNumber, curr.column));\n break;\n }\n }\n return request.fulfillContentText(pos, rng, { mightBeForeignElement: !mouseIsOverSpanNode || !!injectedText, injectedText });\n }\n /**\n * Most probably WebKit browsers and Edge\n */\n static _doHitTestWithCaretRangeFromPoint(ctx, request) {\n // In Chrome, especially on Linux it is possible to click between lines,\n // so try to adjust the `hity` below so that it lands in the center of a line\n const lineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);\n const lineStartVerticalOffset = ctx.getVerticalOffsetForLineNumber(lineNumber);\n const lineEndVerticalOffset = lineStartVerticalOffset + ctx.lineHeight;\n const isBelowLastLine = (lineNumber === ctx.viewModel.getLineCount()\n && request.mouseVerticalOffset > lineEndVerticalOffset);\n if (!isBelowLastLine) {\n const lineCenteredVerticalOffset = Math.floor((lineStartVerticalOffset + lineEndVerticalOffset) / 2);\n let adjustedPageY = request.pos.y + (lineCenteredVerticalOffset - request.mouseVerticalOffset);\n if (adjustedPageY <= request.editorPos.y) {\n adjustedPageY = request.editorPos.y + 1;\n }\n if (adjustedPageY >= request.editorPos.y + request.editorPos.height) {\n adjustedPageY = request.editorPos.y + request.editorPos.height - 1;\n }\n const adjustedPage = new _editorDom_js__WEBPACK_IMPORTED_MODULE_0__.PageCoordinates(request.pos.x, adjustedPageY);\n const r = this._actualDoHitTestWithCaretRangeFromPoint(ctx, adjustedPage.toClientCoordinates());\n if (r.type === 1 /* HitTestResultType.Content */) {\n return r;\n }\n }\n // Also try to hit test without the adjustment (for the edge cases that we are near the top or bottom)\n return this._actualDoHitTestWithCaretRangeFromPoint(ctx, request.pos.toClientCoordinates());\n }\n static _actualDoHitTestWithCaretRangeFromPoint(ctx, coords) {\n const shadowRoot = _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_6__.getShadowRoot(ctx.viewDomNode);\n let range;\n if (shadowRoot) {\n if (typeof shadowRoot.caretRangeFromPoint === 'undefined') {\n range = shadowCaretRangeFromPoint(shadowRoot, coords.clientX, coords.clientY);\n }\n else {\n range = shadowRoot.caretRangeFromPoint(coords.clientX, coords.clientY);\n }\n }\n else {\n range = document.caretRangeFromPoint(coords.clientX, coords.clientY);\n }\n if (!range || !range.startContainer) {\n return new UnknownHitTestResult();\n }\n // Chrome always hits a TEXT_NODE, while Edge sometimes hits a token span\n const startContainer = range.startContainer;\n if (startContainer.nodeType === startContainer.TEXT_NODE) {\n // startContainer is expected to be the token text\n const parent1 = startContainer.parentNode; // expected to be the token span\n const parent2 = parent1 ? parent1.parentNode : null; // expected to be the view line container span\n const parent3 = parent2 ? parent2.parentNode : null; // expected to be the view line div\n const parent3ClassName = parent3 && parent3.nodeType === parent3.ELEMENT_NODE ? parent3.className : null;\n if (parent3ClassName === _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__.ViewLine.CLASS_NAME) {\n return HitTestResult.createFromDOMInfo(ctx, parent1, range.startOffset);\n }\n else {\n return new UnknownHitTestResult(startContainer.parentNode);\n }\n }\n else if (startContainer.nodeType === startContainer.ELEMENT_NODE) {\n // startContainer is expected to be the token span\n const parent1 = startContainer.parentNode; // expected to be the view line container span\n const parent2 = parent1 ? parent1.parentNode : null; // expected to be the view line div\n const parent2ClassName = parent2 && parent2.nodeType === parent2.ELEMENT_NODE ? parent2.className : null;\n if (parent2ClassName === _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__.ViewLine.CLASS_NAME) {\n return HitTestResult.createFromDOMInfo(ctx, startContainer, startContainer.textContent.length);\n }\n else {\n return new UnknownHitTestResult(startContainer);\n }\n }\n return new UnknownHitTestResult();\n }\n /**\n * Most probably Gecko\n */\n static _doHitTestWithCaretPositionFromPoint(ctx, coords) {\n const hitResult = document.caretPositionFromPoint(coords.clientX, coords.clientY);\n if (hitResult.offsetNode.nodeType === hitResult.offsetNode.TEXT_NODE) {\n // offsetNode is expected to be the token text\n const parent1 = hitResult.offsetNode.parentNode; // expected to be the token span\n const parent2 = parent1 ? parent1.parentNode : null; // expected to be the view line container span\n const parent3 = parent2 ? parent2.parentNode : null; // expected to be the view line div\n const parent3ClassName = parent3 && parent3.nodeType === parent3.ELEMENT_NODE ? parent3.className : null;\n if (parent3ClassName === _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__.ViewLine.CLASS_NAME) {\n return HitTestResult.createFromDOMInfo(ctx, hitResult.offsetNode.parentNode, hitResult.offset);\n }\n else {\n return new UnknownHitTestResult(hitResult.offsetNode.parentNode);\n }\n }\n // For inline decorations, Gecko sometimes returns the `` of the line and the offset is the `` with the inline decoration\n // Some other times, it returns the `` with the inline decoration\n if (hitResult.offsetNode.nodeType === hitResult.offsetNode.ELEMENT_NODE) {\n const parent1 = hitResult.offsetNode.parentNode;\n const parent1ClassName = parent1 && parent1.nodeType === parent1.ELEMENT_NODE ? parent1.className : null;\n const parent2 = parent1 ? parent1.parentNode : null;\n const parent2ClassName = parent2 && parent2.nodeType === parent2.ELEMENT_NODE ? parent2.className : null;\n if (parent1ClassName === _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__.ViewLine.CLASS_NAME) {\n // it returned the `` of the line and the offset is the `` with the inline decoration\n const tokenSpan = hitResult.offsetNode.childNodes[Math.min(hitResult.offset, hitResult.offsetNode.childNodes.length - 1)];\n if (tokenSpan) {\n return HitTestResult.createFromDOMInfo(ctx, tokenSpan, 0);\n }\n }\n else if (parent2ClassName === _viewParts_lines_viewLine_js__WEBPACK_IMPORTED_MODULE_2__.ViewLine.CLASS_NAME) {\n // it returned the `` with the inline decoration\n return HitTestResult.createFromDOMInfo(ctx, hitResult.offsetNode, 0);\n }\n }\n return new UnknownHitTestResult(hitResult.offsetNode);\n }\n static _snapToSoftTabBoundary(position, viewModel) {\n const lineContent = viewModel.getLineContent(position.lineNumber);\n const { tabSize } = viewModel.model.getOptions();\n const newPosition = _common_cursor_cursorAtomicMoveOperations_js__WEBPACK_IMPORTED_MODULE_7__.AtomicTabMoveOperations.atomicPosition(lineContent, position.column - 1, tabSize, 2 /* Direction.Nearest */);\n if (newPosition !== -1) {\n return new _common_core_position_js__WEBPACK_IMPORTED_MODULE_3__.Position(position.lineNumber, newPosition + 1);\n }\n return position;\n }\n static _doHitTest(ctx, request) {\n let result = new UnknownHitTestResult();\n if (typeof document.caretRangeFromPoint === 'function') {\n result = this._doHitTestWithCaretRangeFromPoint(ctx, request);\n }\n else if (document.caretPositionFromPoint) {\n result = this._doHitTestWithCaretPositionFromPoint(ctx, request.pos.toClientCoordinates());\n }\n if (result.type === 1 /* HitTestResultType.Content */) {\n const injectedText = ctx.viewModel.getInjectedTextAt(result.position);\n const normalizedPosition = ctx.viewModel.normalizePosition(result.position, 2 /* PositionAffinity.None */);\n if (injectedText || !normalizedPosition.equals(result.position)) {\n result = new ContentHitTestResult(normalizedPosition, result.spanNode, injectedText);\n }\n }\n return result;\n }\n}\nfunction shadowCaretRangeFromPoint(shadowRoot, x, y) {\n const range = document.createRange();\n // Get the element under the point\n let el = shadowRoot.elementFromPoint(x, y);\n if (el !== null) {\n // Get the last child of the element until its firstChild is a text node\n // This assumes that the pointer is on the right of the line, out of the tokens\n // and that we want to get the offset of the last token of the line\n while (el && el.firstChild && el.firstChild.nodeType !== el.firstChild.TEXT_NODE && el.lastChild && el.lastChild.firstChild) {\n el = el.lastChild;\n }\n // Grab its rect\n const rect = el.getBoundingClientRect();\n // And its font (the computed shorthand font property might be empty, see #3217)\n const fontStyle = window.getComputedStyle(el, null).getPropertyValue('font-style');\n const fontVariant = window.getComputedStyle(el, null).getPropertyValue('font-variant');\n const fontWeight = window.getComputedStyle(el, null).getPropertyValue('font-weight');\n const fontSize = window.getComputedStyle(el, null).getPropertyValue('font-size');\n const lineHeight = window.getComputedStyle(el, null).getPropertyValue('line-height');\n const fontFamily = window.getComputedStyle(el, null).getPropertyValue('font-family');\n const font = `${fontStyle} ${fontVariant} ${fontWeight} ${fontSize}/${lineHeight} ${fontFamily}`;\n // And also its txt content\n const text = el.innerText;\n // Position the pixel cursor at the left of the element\n let pixelCursor = rect.left;\n let offset = 0;\n let step;\n // If the point is on the right of the box put the cursor after the last character\n if (x > rect.left + rect.width) {\n offset = text.length;\n }\n else {\n const charWidthReader = CharWidthReader.getInstance();\n // Goes through all the characters of the innerText, and checks if the x of the point\n // belongs to the character.\n for (let i = 0; i < text.length + 1; i++) {\n // The step is half the width of the character\n step = charWidthReader.getCharWidth(text.charAt(i), font) / 2;\n // Move to the center of the character\n pixelCursor += step;\n // If the x of the point is smaller that the position of the cursor, the point is over that character\n if (x < pixelCursor) {\n offset = i;\n break;\n }\n // Move between the current character and the next\n pixelCursor += step;\n }\n }\n // Creates a range with the text node of the element and set the offset found\n range.setStart(el.firstChild, offset);\n range.setEnd(el.firstChild, offset);\n }\n return range;\n}\nclass CharWidthReader {\n static getInstance() {\n if (!CharWidthReader._INSTANCE) {\n CharWidthReader._INSTANCE = new CharWidthReader();\n }\n return CharWidthReader._INSTANCE;\n }\n constructor() {\n this._cache = {};\n this._canvas = document.createElement('canvas');\n }\n getCharWidth(char, font) {\n const cacheKey = char + font;\n if (this._cache[cacheKey]) {\n return this._cache[cacheKey];\n }\n const context = this._canvas.getContext('2d');\n context.font = font;\n const metrics = context.measureText(char);\n const width = metrics.width;\n this._cache[cacheKey] = width;\n return width;\n }\n}\nCharWidthReader._INSTANCE = null;\n\n\n//# sourceURL=webpack://web-transpiler/./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js?"); + +/***/ }), + +/***/ "./node_modules/monaco-editor/esm/vs/editor/browser/controller/pointerHandler.js": +/*!***************************************************************************************!*\ + !*** ./node_modules/monaco-editor/esm/vs/editor/browser/controller/pointerHandler.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 */ PointerEventHandler: () => (/* binding */ PointerEventHandler),\n/* harmony export */ PointerHandler: () => (/* binding */ PointerHandler)\n/* harmony export */ });\n/* harmony import */ var _base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/browser/dom.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/dom.js\");\n/* harmony import */ var _base_common_platform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/common/platform.js */ \"./node_modules/monaco-editor/esm/vs/base/common/platform.js\");\n/* harmony import */ var _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../base/browser/touch.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/touch.js\");\n/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ \"./node_modules/monaco-editor/esm/vs/base/common/lifecycle.js\");\n/* harmony import */ var _mouseHandler_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mouseHandler.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseHandler.js\");\n/* harmony import */ var _editorDom_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../editorDom.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/editorDom.js\");\n/* harmony import */ var _base_browser_canIUse_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../base/browser/canIUse.js */ \"./node_modules/monaco-editor/esm/vs/base/browser/canIUse.js\");\n/* harmony import */ var _textAreaInput_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./textAreaInput.js */ \"./node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaInput.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 * Currently only tested on iOS 13/ iPadOS.\n */\nclass PointerEventHandler extends _mouseHandler_js__WEBPACK_IMPORTED_MODULE_4__.MouseHandler {\n constructor(context, viewController, viewHelper) {\n super(context, viewController, viewHelper);\n this._register(_base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.Gesture.addTarget(this.viewHelper.linesContentDomNode));\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap, (e) => this.onTap(e)));\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Change, (e) => this.onChange(e)));\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Contextmenu, (e) => this._onContextMenu(new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorMouseEvent(e, false, this.viewHelper.viewDomNode), false)));\n this._lastPointerType = 'mouse';\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, 'pointerdown', (e) => {\n const pointerType = e.pointerType;\n if (pointerType === 'mouse') {\n this._lastPointerType = 'mouse';\n return;\n }\n else if (pointerType === 'touch') {\n this._lastPointerType = 'touch';\n }\n else {\n this._lastPointerType = 'pen';\n }\n }));\n // PonterEvents\n const pointerEvents = new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorPointerEventFactory(this.viewHelper.viewDomNode);\n this._register(pointerEvents.onPointerMove(this.viewHelper.viewDomNode, (e) => this._onMouseMove(e)));\n this._register(pointerEvents.onPointerUp(this.viewHelper.viewDomNode, (e) => this._onMouseUp(e)));\n this._register(pointerEvents.onPointerLeave(this.viewHelper.viewDomNode, (e) => this._onMouseLeave(e)));\n this._register(pointerEvents.onPointerDown(this.viewHelper.viewDomNode, (e, pointerId) => this._onMouseDown(e, pointerId)));\n }\n onTap(event) {\n if (!event.initialTarget || !this.viewHelper.linesContentDomNode.contains(event.initialTarget)) {\n return;\n }\n event.preventDefault();\n this.viewHelper.focusTextArea();\n const target = this._createMouseTarget(new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorMouseEvent(event, false, this.viewHelper.viewDomNode), false);\n if (target.position) {\n // this.viewController.moveTo(target.position);\n this.viewController.dispatchMouse({\n position: target.position,\n mouseColumn: target.position.column,\n startedOnLineNumbers: false,\n revealType: 1 /* NavigationCommandRevealType.Minimal */,\n mouseDownCount: event.tapCount,\n inSelectionMode: false,\n altKey: false,\n ctrlKey: false,\n metaKey: false,\n shiftKey: false,\n leftButton: false,\n middleButton: false,\n onInjectedText: target.type === 6 /* MouseTargetType.CONTENT_TEXT */ && target.detail.injectedText !== null\n });\n }\n }\n onChange(e) {\n if (this._lastPointerType === 'touch') {\n this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX, -e.translationY);\n }\n }\n _onMouseDown(e, pointerId) {\n if (e.browserEvent.pointerType === 'touch') {\n return;\n }\n super._onMouseDown(e, pointerId);\n }\n}\nclass TouchHandler extends _mouseHandler_js__WEBPACK_IMPORTED_MODULE_4__.MouseHandler {\n constructor(context, viewController, viewHelper) {\n super(context, viewController, viewHelper);\n this._register(_base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.Gesture.addTarget(this.viewHelper.linesContentDomNode));\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Tap, (e) => this.onTap(e)));\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Change, (e) => this.onChange(e)));\n this._register(_base_browser_dom_js__WEBPACK_IMPORTED_MODULE_0__.addDisposableListener(this.viewHelper.linesContentDomNode, _base_browser_touch_js__WEBPACK_IMPORTED_MODULE_2__.EventType.Contextmenu, (e) => this._onContextMenu(new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorMouseEvent(e, false, this.viewHelper.viewDomNode), false)));\n }\n onTap(event) {\n event.preventDefault();\n this.viewHelper.focusTextArea();\n const target = this._createMouseTarget(new _editorDom_js__WEBPACK_IMPORTED_MODULE_5__.EditorMouseEvent(event, false, this.viewHelper.viewDomNode), false);\n if (target.position) {\n // Send the tap event also to the