@abaplint/transpiler-cli
Version:
Transpiler - Command Line Interface
1,170 lines (1,055 loc) • 4.83 MB
JavaScript
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./build/config.js":
/*!*************************!*\
!*** ./build/config.js ***!
\*************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.TranspilerConfig = void 0;
const path = __webpack_require__(/*! path */ "path");
const fs = __webpack_require__(/*! fs */ "fs");
const transpiler_1 = __webpack_require__(/*! @abaplint/transpiler */ "./node_modules/@abaplint/transpiler/build/src/index.js");
class TranspilerConfig {
static find(filename) {
if (filename !== undefined) {
const f = filename;
if (fs.existsSync(f)) {
console.log("Using config: " + filename);
const json = fs.readFileSync(f, "utf8");
return JSON.parse(json);
}
}
const f = process.cwd() + path.sep + "abap_transpile.json";
if (fs.existsSync(f)) {
console.log("Using config: abap_transpile.json");
const json = fs.readFileSync(f, "utf8");
return JSON.parse(json);
}
console.log("Using default config");
return this.getDefaultConfig();
}
static getDefaultConfig() {
return {
input_folder: "src",
input_filter: [],
output_folder: "output",
libs: [
{ "url": "https://github.com/open-abap/open-abap" },
],
write_unit_tests: true,
write_source_map: true,
options: {
ignoreSyntaxCheck: false,
addFilenames: true,
addCommonJS: true,
skipConstants: false,
unknownTypes: transpiler_1.UnknownTypesEnum.compileError,
},
};
}
}
exports.TranspilerConfig = TranspilerConfig;
//# sourceMappingURL=config.js.map
/***/ }),
/***/ "./build/file_operations.js":
/*!**********************************!*\
!*** ./build/file_operations.js ***!
\**********************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FileOperations = void 0;
const fs = __webpack_require__(/*! fs */ "fs");
const path = __webpack_require__(/*! path */ "path");
const glob = __webpack_require__(/*! glob */ "./node_modules/glob/glob.js");
const pLimit = __webpack_require__(/*! p-limit */ "./node_modules/p-limit/index.js");
const os = __webpack_require__(/*! node:os */ "node:os");
const fsPromises = __webpack_require__(/*! node:fs/promises */ "node:fs/promises");
class FileOperations {
static deleteFolderRecursive(p) {
if (fs.existsSync(p) === false) {
return;
}
fs.rmSync(p, { recursive: true });
}
static setupPLimit() {
let concurrency = os.cpus().length;
if (concurrency > 8) {
concurrency = 8;
}
else if (concurrency < 1) {
concurrency = 1;
}
return pLimit(concurrency);
}
static async readAllFiles(filesToRead, outputFolder) {
const limit = this.setupPLimit();
const promises = filesToRead.map((filename) => {
return limit(async () => {
return {
filename: path.basename(filename),
relative: path.relative(outputFolder, path.dirname(filename)),
contents: await fsPromises.readFile(filename, "utf8"),
};
});
});
return Promise.all(promises);
}
static async loadFiles(config) {
const filter = (config.input_filter ?? []).map(pattern => new RegExp(pattern, "i"));
let skipped = 0;
let added = 0;
const folders = Array.isArray(config.input_folder) ? config.input_folder : [config.input_folder];
const filesToRead = [];
for (const folder of folders) {
for (const filename of glob.sync(folder + "/**", { nosort: true, nodir: true })) {
if (filter.length > 0 && filter.some(a => a.test(filename)) === false) {
skipped++;
continue;
}
filesToRead.push(filename);
added++;
}
}
const files = await this.readAllFiles(filesToRead, config.output_folder);
console.log(added + " files added from source");
console.log(skipped + " files skipped in source");
return files;
}
}
exports.FileOperations = FileOperations;
//# sourceMappingURL=file_operations.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Lexer = void 0;
const position_1 = __webpack_require__(/*! ../../position */ "./node_modules/@abaplint/core/build/src/position.js");
const virtual_position_1 = __webpack_require__(/*! ../../virtual_position */ "./node_modules/@abaplint/core/build/src/virtual_position.js");
const tokens_1 = __webpack_require__(/*! ./tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
const lexer_buffer_1 = __webpack_require__(/*! ./lexer_buffer */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_buffer.js");
const lexer_stream_1 = __webpack_require__(/*! ./lexer_stream */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_stream.js");
class Lexer {
constructor() {
this.ModeNormal = 1;
this.ModePing = 2;
this.ModeStr = 3;
this.ModeTemplate = 4;
this.ModeComment = 5;
this.ModePragma = 6;
}
run(file, virtual) {
this.virtual = virtual;
this.tokens = [];
this.m = this.ModeNormal;
this.process(file.getRaw());
return { file, tokens: this.tokens };
}
add() {
const s = this.buffer.get().trim();
if (s.length > 0) {
const col = this.stream.getCol();
const row = this.stream.getRow();
let whiteBefore = false;
if (this.stream.getOffset() - s.length >= 0) {
const prev = this.stream.getRaw().substr(this.stream.getOffset() - s.length, 1);
if (prev === " " || prev === "\n" || prev === "\t" || prev === ":") {
whiteBefore = true;
}
}
let whiteAfter = false;
const next = this.stream.nextChar();
if (next === " " || next === "\n" || next === "\t" || next === ":" || next === "," || next === "." || next === "" || next === "\"") {
whiteAfter = true;
}
let pos = new position_1.Position(row, col - s.length);
if (this.virtual) {
pos = new virtual_position_1.VirtualPosition(this.virtual, pos.getRow(), pos.getCol());
}
let tok = undefined;
if (this.m === this.ModeComment) {
tok = new tokens_1.Comment(pos, s);
}
else if (this.m === this.ModePing || this.m === this.ModeStr) {
tok = new tokens_1.StringToken(pos, s);
}
else if (this.m === this.ModeTemplate) {
const first = s.charAt(0);
const last = s.charAt(s.length - 1);
if (first === "|" && last === "|") {
tok = new tokens_1.StringTemplate(pos, s);
}
else if (first === "|" && last === "{" && whiteAfter === true) {
tok = new tokens_1.StringTemplateBegin(pos, s);
}
else if (first === "}" && last === "|" && whiteBefore === true) {
tok = new tokens_1.StringTemplateEnd(pos, s);
}
else if (first === "}" && last === "{" && whiteAfter === true && whiteBefore === true) {
tok = new tokens_1.StringTemplateMiddle(pos, s);
}
else {
tok = new tokens_1.Identifier(pos, s);
}
}
else if (s.length > 2 && s.substr(0, 2) === "##") {
tok = new tokens_1.Pragma(pos, s);
}
else if (s.length === 1) {
if (s === "." || s === ",") {
tok = new tokens_1.Punctuation(pos, s);
}
else if (s === "[") {
if (whiteBefore === true && whiteAfter === true) {
tok = new tokens_1.WBracketLeftW(pos, s);
}
else if (whiteBefore === true) {
tok = new tokens_1.WBracketLeft(pos, s);
}
else if (whiteAfter === true) {
tok = new tokens_1.BracketLeftW(pos, s);
}
else {
tok = new tokens_1.BracketLeft(pos, s);
}
}
else if (s === "(") {
if (whiteBefore === true && whiteAfter === true) {
tok = new tokens_1.WParenLeftW(pos, s);
}
else if (whiteBefore === true) {
tok = new tokens_1.WParenLeft(pos, s);
}
else if (whiteAfter === true) {
tok = new tokens_1.ParenLeftW(pos, s);
}
else {
tok = new tokens_1.ParenLeft(pos, s);
}
}
else if (s === "]") {
if (whiteBefore === true && whiteAfter === true) {
tok = new tokens_1.WBracketRightW(pos, s);
}
else if (whiteBefore === true) {
tok = new tokens_1.WBracketRight(pos, s);
}
else if (whiteAfter === true) {
tok = new tokens_1.BracketRightW(pos, s);
}
else {
tok = new tokens_1.BracketRight(pos, s);
}
}
else if (s === ")") {
if (whiteBefore === true && whiteAfter === true) {
tok = new tokens_1.WParenRightW(pos, s);
}
else if (whiteBefore === true) {
tok = new tokens_1.WParenRight(pos, s);
}
else if (whiteAfter === true) {
tok = new tokens_1.ParenRightW(pos, s);
}
else {
tok = new tokens_1.ParenRight(pos, s);
}
}
else if (s === "-") {
if (whiteBefore === true && whiteAfter === true) {
tok = new tokens_1.WDashW(pos, s);
}
else if (whiteBefore === true) {
tok = new tokens_1.WDash(pos, s);
}
else if (whiteAfter === true) {
tok = new tokens_1.DashW(pos, s);
}
else {
tok = new tokens_1.Dash(pos, s);
}
}
else if (s === "+") {
if (whiteBefore === true && whiteAfter === true) {
tok = new tokens_1.WPlusW(pos, s);
}
else if (whiteBefore === true) {
tok = new tokens_1.WPlus(pos, s);
}
else if (whiteAfter === true) {
tok = new tokens_1.PlusW(pos, s);
}
else {
tok = new tokens_1.Plus(pos, s);
}
}
else if (s === "@") {
if (whiteBefore === true && whiteAfter === true) {
tok = new tokens_1.WAtW(pos, s);
}
else if (whiteBefore === true) {
tok = new tokens_1.WAt(pos, s);
}
else if (whiteAfter === true) {
tok = new tokens_1.AtW(pos, s);
}
else {
tok = new tokens_1.At(pos, s);
}
}
}
else if (s.length === 2) {
if (s === "->") {
if (whiteBefore === true && whiteAfter === true) {
tok = new tokens_1.WInstanceArrowW(pos, s);
}
else if (whiteBefore === true) {
tok = new tokens_1.WInstanceArrow(pos, s);
}
else if (whiteAfter === true) {
tok = new tokens_1.InstanceArrowW(pos, s);
}
else {
tok = new tokens_1.InstanceArrow(pos, s);
}
}
else if (s === "=>") {
if (whiteBefore === true && whiteAfter === true) {
tok = new tokens_1.WStaticArrowW(pos, s);
}
else if (whiteBefore === true) {
tok = new tokens_1.WStaticArrow(pos, s);
}
else if (whiteAfter === true) {
tok = new tokens_1.StaticArrowW(pos, s);
}
else {
tok = new tokens_1.StaticArrow(pos, s);
}
}
}
if (tok === undefined) {
tok = new tokens_1.Identifier(pos, s);
}
this.tokens.push(tok);
}
this.buffer.clear();
}
process(raw) {
this.stream = new lexer_stream_1.LexerStream(raw.replace(/\r/g, ""));
this.buffer = new lexer_buffer_1.LexerBuffer();
const splits = {};
splits[" "] = true;
splits[":"] = true;
splits["."] = true;
splits[","] = true;
splits["-"] = true;
splits["+"] = true;
splits["("] = true;
splits[")"] = true;
splits["["] = true;
splits["]"] = true;
splits["\t"] = true;
splits["\n"] = true;
const bufs = {};
bufs["."] = true;
bufs[","] = true;
bufs[":"] = true;
bufs["("] = true;
bufs[")"] = true;
bufs["["] = true;
bufs["]"] = true;
bufs["+"] = true;
bufs["@"] = true;
for (;;) {
const current = this.stream.currentChar();
const buf = this.buffer.add(current);
const ahead = this.stream.nextChar();
const aahead = this.stream.nextNextChar();
if (this.m === this.ModeNormal) {
if (splits[ahead]) {
this.add();
}
else if (ahead === "'") {
// start string
this.add();
this.m = this.ModeStr;
}
else if (ahead === "|" || ahead === "}") {
// start template
this.add();
this.m = this.ModeTemplate;
}
else if (ahead === "`") {
// start ping
this.add();
this.m = this.ModePing;
}
else if (aahead === "##") {
// start pragma
this.add();
this.m = this.ModePragma;
}
else if (ahead === "\""
|| (ahead === "*" && current === "\n")) {
// start comment
this.add();
this.m = this.ModeComment;
}
else if (ahead === "@" && buf.trim().length === 0) {
this.add();
}
else if (aahead === "->"
|| aahead === "=>") {
this.add();
}
else if (current === ">"
&& ahead !== " "
&& (this.stream.prevChar() === "-" || this.stream.prevChar() === "=")) {
// arrows
this.add();
}
else if (buf.length === 1
&& (bufs[buf]
|| (buf === "-" && ahead !== ">"))) {
this.add();
}
}
else if (this.m === this.ModePragma && (ahead === "," || ahead === ":" || ahead === "." || ahead === " " || ahead === "\n")) {
// end of pragma
this.add();
this.m = this.ModeNormal;
}
else if (this.m === this.ModePing
&& buf.length > 1
&& current === "`"
&& aahead !== "``"
&& ahead !== "`"
&& this.buffer.countIsEven("`")) {
// end of ping
this.add();
if (ahead === `"`) {
this.m = this.ModeComment;
}
else {
this.m = this.ModeNormal;
}
}
else if (this.m === this.ModeTemplate
&& buf.length > 1
&& (current === "|" || current === "{")
&& (this.stream.prevChar() !== "\\" || this.stream.prevPrevChar() === "\\\\")) {
// end of template
this.add();
this.m = this.ModeNormal;
}
else if (this.m === this.ModeTemplate
&& ahead === "}"
&& current !== "\\") {
this.add();
}
else if (this.m === this.ModeStr
&& current === "'"
&& buf.length > 1
&& aahead !== "''"
&& ahead !== "'"
&& this.buffer.countIsEven("'")) {
// end of string
this.add();
if (ahead === "\"") {
this.m = this.ModeComment;
}
else {
this.m = this.ModeNormal;
}
}
else if (ahead === "\n" && this.m !== this.ModeTemplate) {
this.add();
this.m = this.ModeNormal;
}
else if (this.m === this.ModeTemplate && current === "\n") {
this.add();
}
if (!this.stream.advance()) {
break;
}
}
this.add();
}
}
exports.Lexer = Lexer;
//# sourceMappingURL=lexer.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_buffer.js":
/*!****************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_buffer.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.LexerBuffer = void 0;
class LexerBuffer {
constructor() {
this.buf = "";
}
add(s) {
this.buf = this.buf + s;
return this.buf;
}
get() {
return this.buf;
}
clear() {
this.buf = "";
}
countIsEven(char) {
let count = 0;
for (let i = 0; i < this.buf.length; i += 1) {
if (this.buf.charAt(i) === char) {
count += 1;
}
}
return count % 2 === 0;
}
}
exports.LexerBuffer = LexerBuffer;
//# sourceMappingURL=lexer_buffer.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_stream.js":
/*!****************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/lexer_stream.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.LexerStream = void 0;
class LexerStream {
constructor(raw) {
this.offset = -1;
this.raw = raw;
this.row = 0;
this.col = 0;
}
advance() {
if (this.currentChar() === "\n") {
this.col = 1;
this.row = this.row + 1;
}
if (this.offset === this.raw.length) {
this.col = this.col - 1;
return false;
}
this.col = this.col + 1;
this.offset = this.offset + 1;
return true;
}
getCol() {
return this.col;
}
getRow() {
return this.row;
}
prevChar() {
if (this.offset - 1 < 0) {
return "";
}
return this.raw.substr(this.offset - 1, 1);
}
prevPrevChar() {
if (this.offset - 2 < 0) {
return "";
}
return this.raw.substr(this.offset - 2, 2);
}
currentChar() {
if (this.offset < 0) {
return "\n"; // simulate newline at start of file to handle star(*) comments
}
else if (this.offset >= this.raw.length) {
return "";
}
return this.raw.substr(this.offset, 1);
}
nextChar() {
if (this.offset + 2 > this.raw.length) {
return "";
}
return this.raw.substr(this.offset + 1, 1);
}
nextNextChar() {
if (this.offset + 3 > this.raw.length) {
return this.nextChar();
}
return this.raw.substr(this.offset + 1, 2);
}
getRaw() {
return this.raw;
}
getOffset() {
return this.offset;
}
}
exports.LexerStream = LexerStream;
//# sourceMappingURL=lexer_stream.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js":
/*!*************************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.AbstractToken = void 0;
const position_1 = __webpack_require__(/*! ../../../position */ "./node_modules/@abaplint/core/build/src/position.js");
class AbstractToken {
constructor(start, str) {
this.start = start;
this.str = str;
}
// special function, for debugging purposes, see https://github.com/abaplint/abaplint/pull/3137
[Symbol.for("debug.description")]() {
return `${this.constructor.name} ${this.str}`;
}
getStr() {
return this.str;
}
getRow() {
return this.start.getRow();
}
getCol() {
return this.start.getCol();
}
getStart() {
return this.start;
}
getEnd() {
return new position_1.Position(this.start.getRow(), this.start.getCol() + this.str.length);
}
}
exports.AbstractToken = AbstractToken;
//# sourceMappingURL=abstract_token.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.At = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class At extends abstract_token_1.AbstractToken {
static railroad() {
return "@";
}
}
exports.At = At;
//# sourceMappingURL=at.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js":
/*!**************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.AtW = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class AtW extends abstract_token_1.AbstractToken {
static railroad() {
return "@ ";
}
}
exports.AtW = AtW;
//# sourceMappingURL=atw.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.BracketLeft = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class BracketLeft extends abstract_token_1.AbstractToken {
static railroad() {
return "[";
}
}
exports.BracketLeft = BracketLeft;
//# sourceMappingURL=bracket_left.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js":
/*!************************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js ***!
\************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.BracketLeftW = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class BracketLeftW extends abstract_token_1.AbstractToken {
static railroad() {
return "[ ";
}
}
exports.BracketLeftW = BracketLeftW;
//# sourceMappingURL=bracket_leftw.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.BracketRight = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class BracketRight extends abstract_token_1.AbstractToken {
static railroad() {
return "]";
}
}
exports.BracketRight = BracketRight;
//# sourceMappingURL=bracket_right.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js":
/*!*************************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js ***!
\*************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.BracketRightW = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class BracketRightW extends abstract_token_1.AbstractToken {
static railroad() {
return "] ";
}
}
exports.BracketRightW = BracketRightW;
//# sourceMappingURL=bracket_rightw.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Colon = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class Colon extends abstract_token_1.AbstractToken {
}
exports.Colon = Colon;
//# sourceMappingURL=colon.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Comment = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class Comment extends abstract_token_1.AbstractToken {
}
exports.Comment = Comment;
//# sourceMappingURL=comment.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Dash = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class Dash extends abstract_token_1.AbstractToken {
static railroad() {
return "-";
}
}
exports.Dash = Dash;
//# sourceMappingURL=dash.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js":
/*!****************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.DashW = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class DashW extends abstract_token_1.AbstractToken {
static railroad() {
return "- ";
}
}
exports.DashW = DashW;
//# sourceMappingURL=dashw.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Identifier = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class Identifier extends abstract_token_1.AbstractToken {
}
exports.Identifier = Identifier;
//# sourceMappingURL=identifier.js.map
/***/ }),
/***/ "./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";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./at */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/at.js"), exports);
__exportStar(__webpack_require__(/*! ./atw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/atw.js"), exports);
__exportStar(__webpack_require__(/*! ./wat */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wat.js"), exports);
__exportStar(__webpack_require__(/*! ./watw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/watw.js"), exports);
__exportStar(__webpack_require__(/*! ./bracket_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_left.js"), exports);
__exportStar(__webpack_require__(/*! ./wbracket_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_left.js"), exports);
__exportStar(__webpack_require__(/*! ./bracket_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_leftw.js"), exports);
__exportStar(__webpack_require__(/*! ./wbracket_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_leftw.js"), exports);
__exportStar(__webpack_require__(/*! ./bracket_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_right.js"), exports);
__exportStar(__webpack_require__(/*! ./wbracket_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_right.js"), exports);
__exportStar(__webpack_require__(/*! ./bracket_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/bracket_rightw.js"), exports);
__exportStar(__webpack_require__(/*! ./wbracket_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wbracket_rightw.js"), exports);
__exportStar(__webpack_require__(/*! ./instance_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arrow.js"), exports);
__exportStar(__webpack_require__(/*! ./winstance_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arrow.js"), exports);
__exportStar(__webpack_require__(/*! ./instance_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js"), exports);
__exportStar(__webpack_require__(/*! ./winstance_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/winstance_arroww.js"), exports);
__exportStar(__webpack_require__(/*! ./paren_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_left.js"), exports);
__exportStar(__webpack_require__(/*! ./wparen_left */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_left.js"), exports);
__exportStar(__webpack_require__(/*! ./paren_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js"), exports);
__exportStar(__webpack_require__(/*! ./wparen_leftw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_leftw.js"), exports);
__exportStar(__webpack_require__(/*! ./paren_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_right.js"), exports);
__exportStar(__webpack_require__(/*! ./wparen_right */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_right.js"), exports);
__exportStar(__webpack_require__(/*! ./paren_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js"), exports);
__exportStar(__webpack_require__(/*! ./wparen_rightw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wparen_rightw.js"), exports);
__exportStar(__webpack_require__(/*! ./dash */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dash.js"), exports);
__exportStar(__webpack_require__(/*! ./wdash */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdash.js"), exports);
__exportStar(__webpack_require__(/*! ./dashw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/dashw.js"), exports);
__exportStar(__webpack_require__(/*! ./wdashw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wdashw.js"), exports);
__exportStar(__webpack_require__(/*! ./plus */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plus.js"), exports);
__exportStar(__webpack_require__(/*! ./wplus */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplus.js"), exports);
__exportStar(__webpack_require__(/*! ./plusw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js"), exports);
__exportStar(__webpack_require__(/*! ./wplusw */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wplusw.js"), exports);
__exportStar(__webpack_require__(/*! ./static_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arrow.js"), exports);
__exportStar(__webpack_require__(/*! ./wstatic_arrow */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arrow.js"), exports);
__exportStar(__webpack_require__(/*! ./static_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/static_arroww.js"), exports);
__exportStar(__webpack_require__(/*! ./wstatic_arroww */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/wstatic_arroww.js"), exports);
__exportStar(__webpack_require__(/*! ./string */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string.js"), exports);
__exportStar(__webpack_require__(/*! ./string_template */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template.js"), exports);
__exportStar(__webpack_require__(/*! ./string_template_begin */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_begin.js"), exports);
__exportStar(__webpack_require__(/*! ./string_template_end */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_end.js"), exports);
__exportStar(__webpack_require__(/*! ./string_template_middle */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/string_template_middle.js"), exports);
__exportStar(__webpack_require__(/*! ./colon */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/colon.js"), exports);
__exportStar(__webpack_require__(/*! ./comment */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/comment.js"), exports);
__exportStar(__webpack_require__(/*! ./identifier */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/identifier.js"), exports);
__exportStar(__webpack_require__(/*! ./pragma */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/pragma.js"), exports);
__exportStar(__webpack_require__(/*! ./punctuation */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/punctuation.js"), exports);
//# sourceMappingURL=index.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.InstanceArrow = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class InstanceArrow extends abstract_token_1.AbstractToken {
static railroad() {
return "->";
}
}
exports.InstanceArrow = InstanceArrow;
//# sourceMappingURL=instance_arrow.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js":
/*!**************************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/instance_arroww.js ***!
\**************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.InstanceArrowW = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class InstanceArrowW extends abstract_token_1.AbstractToken {
static railroad() {
return "-> ";
}
}
exports.InstanceArrowW = InstanceArrowW;
//# sourceMappingURL=instance_arroww.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ParenLeft = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class ParenLeft extends abstract_token_1.AbstractToken {
static railroad() {
return "(";
}
}
exports.ParenLeft = ParenLeft;
//# sourceMappingURL=paren_left.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js":
/*!**********************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_leftw.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ParenLeftW = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class ParenLeftW extends abstract_token_1.AbstractToken {
static railroad() {
return "( ";
}
}
exports.ParenLeftW = ParenLeftW;
//# sourceMappingURL=paren_leftw.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ParenRight = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class ParenRight extends abstract_token_1.AbstractToken {
static railroad() {
return ")";
}
}
exports.ParenRight = ParenRight;
//# sourceMappingURL=paren_right.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js":
/*!***********************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/paren_rightw.js ***!
\***********************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ParenRightW = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class ParenRightW extends abstract_token_1.AbstractToken {
static railroad() {
return ") ";
}
}
exports.ParenRightW = ParenRightW;
//# sourceMappingURL=paren_rightw.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Plus = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class Plus extends abstract_token_1.AbstractToken {
static railroad() {
return "+";
}
}
exports.Plus = Plus;
//# sourceMappingURL=plus.js.map
/***/ }),
/***/ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js":
/*!****************************************************************************!*\
!*** ./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/plusw.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.PlusW = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class PlusW extends abstract_token_1.AbstractToken {
static railroad() {
return "+ ";
}
}
exports.PlusW = PlusW;
//# sourceMappingURL=plusw.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Pragma = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class Pragma extends abstract_token_1.AbstractToken {
}
exports.Pragma = Pragma;
//# sourceMappingURL=pragma.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Punctuation = void 0;
const abstract_token_1 = __webpack_require__(/*! ./abstract_token */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/abstract_token.js");
class Punctuation extends abstract_token_1.AbstractToken {
}
exports.Punctuation = Punctuation;
//# sourceMappingURL=punctuation.js.map
/***/ }),
/***/ "./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";
Object.defineProperty(exports, "__esModule", ({ value: