@abaplint/transpiler-cli 2.5.5 → 2.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bundle.js +36 -17
- package/package.json +3 -3
package/build/bundle.js
CHANGED
|
@@ -4391,7 +4391,8 @@ class InlineData extends combi_1.Expression {
|
|
|
4391
4391
|
const right = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.ParenRight));
|
|
4392
4392
|
const left = (0, combi_1.tok)(tokens_1.ParenLeft);
|
|
4393
4393
|
const data = (0, combi_1.seq)("DATA", left, _1.TargetField, right);
|
|
4394
|
-
|
|
4394
|
+
const final = (0, combi_1.seq)("FINAL", left, _1.TargetField, right);
|
|
4395
|
+
return (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Version.v740sp02, data), (0, combi_1.ver)(version_1.Version.v757, final));
|
|
4395
4396
|
}
|
|
4396
4397
|
}
|
|
4397
4398
|
exports.InlineData = InlineData;
|
|
@@ -11700,7 +11701,6 @@ exports.Import = void 0;
|
|
|
11700
11701
|
const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
|
|
11701
11702
|
const tokens_1 = __webpack_require__(/*! ../../1_lexer/tokens */ "./node_modules/@abaplint/core/build/src/abap/1_lexer/tokens/index.js");
|
|
11702
11703
|
const expressions_1 = __webpack_require__(/*! ../expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
|
|
11703
|
-
const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
|
|
11704
11704
|
class Import {
|
|
11705
11705
|
getMatcher() {
|
|
11706
11706
|
const dto = (0, combi_1.seq)("TO", expressions_1.Target);
|
|
@@ -11719,7 +11719,7 @@ class Import {
|
|
|
11719
11719
|
const target = (0, combi_1.alt)(toeq, to, expressions_1.Dynamic, (0, combi_1.plus)(expressions_1.Target));
|
|
11720
11720
|
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));
|
|
11721
11721
|
const ret = (0, combi_1.seq)("IMPORT", target, "FROM", source, (0, combi_1.opt)(options));
|
|
11722
|
-
return
|
|
11722
|
+
return ret;
|
|
11723
11723
|
}
|
|
11724
11724
|
}
|
|
11725
11725
|
exports.Import = Import;
|
|
@@ -21591,7 +21591,7 @@ class ComponentCompare {
|
|
|
21591
21591
|
throw new Error("ComponentCompare, source not structured");
|
|
21592
21592
|
}
|
|
21593
21593
|
if (type.getComponentByName(fieldName) === undefined) {
|
|
21594
|
-
throw new Error("Component " + fieldName + " not part of structure");
|
|
21594
|
+
throw new Error("Component \"" + fieldName + "\" not part of structure");
|
|
21595
21595
|
}
|
|
21596
21596
|
// todo, check type compatibility
|
|
21597
21597
|
}
|
|
@@ -46037,7 +46037,7 @@ class Registry {
|
|
|
46037
46037
|
}
|
|
46038
46038
|
static abaplintVersion() {
|
|
46039
46039
|
// magic, see build script "version.sh"
|
|
46040
|
-
return "2.95.
|
|
46040
|
+
return "2.95.25";
|
|
46041
46041
|
}
|
|
46042
46042
|
getDDICReferences() {
|
|
46043
46043
|
return this.references;
|
|
@@ -63413,6 +63413,7 @@ class UncaughtException extends _abap_rule_1.ABAPRule {
|
|
|
63413
63413
|
if (stru === undefined) {
|
|
63414
63414
|
return [];
|
|
63415
63415
|
}
|
|
63416
|
+
this.findLocalExceptions(obj);
|
|
63416
63417
|
this.syntax = new syntax_1.SyntaxLogic(this.reg, obj).run();
|
|
63417
63418
|
if (this.syntax.issues.length > 0) {
|
|
63418
63419
|
return [];
|
|
@@ -63535,7 +63536,6 @@ class UncaughtException extends _abap_rule_1.ABAPRule {
|
|
|
63535
63536
|
def.getRaising().forEach(r => { var _a; return (_a = this.sinked) === null || _a === void 0 ? void 0 : _a.push(r); });
|
|
63536
63537
|
}
|
|
63537
63538
|
isSinked(name) {
|
|
63538
|
-
// todo: ignore dynamic and no_check exceptions
|
|
63539
63539
|
if (this.sinked === undefined || name === undefined) {
|
|
63540
63540
|
return true;
|
|
63541
63541
|
}
|
|
@@ -63543,9 +63543,13 @@ class UncaughtException extends _abap_rule_1.ABAPRule {
|
|
|
63543
63543
|
if (sup === "CX_DYNAMIC_CHECK" || sup === "CX_NO_CHECK") {
|
|
63544
63544
|
return true;
|
|
63545
63545
|
}
|
|
63546
|
-
|
|
63546
|
+
const lsup = this.localExceptions[name.toUpperCase()];
|
|
63547
|
+
if (lsup === "CX_DYNAMIC_CHECK" || lsup === "CX_NO_CHECK") {
|
|
63548
|
+
return true;
|
|
63549
|
+
}
|
|
63547
63550
|
return this.sinked.some(a => a.toUpperCase() === name.toUpperCase())
|
|
63548
|
-
|| (sup !== undefined && this.isSinked(sup) === true)
|
|
63551
|
+
|| (sup !== undefined && this.isSinked(sup) === true)
|
|
63552
|
+
|| (lsup !== undefined && this.isSinked(lsup) === true);
|
|
63549
63553
|
}
|
|
63550
63554
|
findGlobalExceptions() {
|
|
63551
63555
|
var _a, _b;
|
|
@@ -63562,6 +63566,17 @@ class UncaughtException extends _abap_rule_1.ABAPRule {
|
|
|
63562
63566
|
this.globalExceptions[o.getName().toUpperCase()] = (_b = def.superClassName) === null || _b === void 0 ? void 0 : _b.toUpperCase();
|
|
63563
63567
|
}
|
|
63564
63568
|
}
|
|
63569
|
+
findLocalExceptions(obj) {
|
|
63570
|
+
var _a;
|
|
63571
|
+
this.localExceptions = {};
|
|
63572
|
+
for (const file of obj.getABAPFiles()) {
|
|
63573
|
+
for (const def of file.getInfo().listClassDefinitions()) {
|
|
63574
|
+
if (def.isLocal === true && def.superClassName !== undefined) {
|
|
63575
|
+
this.localExceptions[def.name.toUpperCase()] = (_a = def.superClassName) === null || _a === void 0 ? void 0 : _a.toUpperCase();
|
|
63576
|
+
}
|
|
63577
|
+
}
|
|
63578
|
+
}
|
|
63579
|
+
}
|
|
63565
63580
|
}
|
|
63566
63581
|
exports.UncaughtException = UncaughtException;
|
|
63567
63582
|
//# sourceMappingURL=uncaught_exception.js.map
|
|
@@ -69237,7 +69252,7 @@ class HandleABAP {
|
|
|
69237
69252
|
this.options = options;
|
|
69238
69253
|
}
|
|
69239
69254
|
runObject(obj, reg) {
|
|
69240
|
-
var _a, _b
|
|
69255
|
+
var _a, _b;
|
|
69241
69256
|
let ret = [];
|
|
69242
69257
|
if (obj instanceof abaplint.Objects.Program && obj.isInclude() === true) {
|
|
69243
69258
|
// includes are only compiled along with the programs where its used?
|
|
@@ -69250,7 +69265,7 @@ class HandleABAP {
|
|
|
69250
69265
|
chunk.appendString("// " + file.getFilename() + "\n");
|
|
69251
69266
|
}
|
|
69252
69267
|
const rearranged = new rearranger_1.Rearranger().run(obj.getType(), file.getStructure());
|
|
69253
|
-
const contents = new traversal_1.Traversal(spaghetti, file, obj, reg,
|
|
69268
|
+
const contents = new traversal_1.Traversal(spaghetti, file, obj, reg, this.options).traverse(rearranged);
|
|
69254
69269
|
chunk.appendChunk(contents);
|
|
69255
69270
|
chunk.stripLastNewline();
|
|
69256
69271
|
chunk.runIndentationLogic();
|
|
@@ -69269,7 +69284,7 @@ class HandleABAP {
|
|
|
69269
69284
|
ret.push(output);
|
|
69270
69285
|
}
|
|
69271
69286
|
ret = this.rearrangeClassLocals(obj, ret);
|
|
69272
|
-
if (((
|
|
69287
|
+
if (((_b = this.options) === null || _b === void 0 ? void 0 : _b.addCommonJS) === true) {
|
|
69273
69288
|
ret.map(output => output.chunk = this.addImportsAndExports(output));
|
|
69274
69289
|
}
|
|
69275
69290
|
return ret;
|
|
@@ -71380,6 +71395,7 @@ class CreateObjectTranspiler {
|
|
|
71380
71395
|
return new chunk_1.Chunk(ret);
|
|
71381
71396
|
}
|
|
71382
71397
|
findClassName(node, traversal) {
|
|
71398
|
+
var _a;
|
|
71383
71399
|
const c = node.findDirectExpression(abaplint.Expressions.ClassName);
|
|
71384
71400
|
if (c) {
|
|
71385
71401
|
return c.concatTokens();
|
|
@@ -71400,7 +71416,7 @@ class CreateObjectTranspiler {
|
|
|
71400
71416
|
return "object";
|
|
71401
71417
|
}
|
|
71402
71418
|
else if (!(type instanceof abaplint.BasicTypes.ObjectReferenceType)) {
|
|
71403
|
-
if (traversal.
|
|
71419
|
+
if (((_a = traversal.options) === null || _a === void 0 ? void 0 : _a.unknownTypes) !== "runtimeError") {
|
|
71404
71420
|
throw new Error(`CreateObjectTranspiler, target variable "${target === null || target === void 0 ? void 0 : target.concatTokens()}" not a object reference`);
|
|
71405
71421
|
}
|
|
71406
71422
|
else {
|
|
@@ -75717,7 +75733,7 @@ class FunctionModuleTranspiler {
|
|
|
75717
75733
|
}
|
|
75718
75734
|
//////////////////////
|
|
75719
75735
|
findSignature(traversal, name, node) {
|
|
75720
|
-
var _a;
|
|
75736
|
+
var _a, _b, _c;
|
|
75721
75737
|
const group = traversal.getCurrentObject();
|
|
75722
75738
|
if (group === undefined) {
|
|
75723
75739
|
throw "FunctionModuleTranspilerGroupNotFound";
|
|
@@ -75738,10 +75754,13 @@ class FunctionModuleTranspiler {
|
|
|
75738
75754
|
direction = "importing";
|
|
75739
75755
|
}
|
|
75740
75756
|
// note: all directions are optional
|
|
75741
|
-
|
|
75757
|
+
let name = p.name.toLowerCase();
|
|
75758
|
+
if ((_b = (_a = traversal.options) === null || _a === void 0 ? void 0 : _a.keywords) === null || _b === void 0 ? void 0 : _b.some(a => a === name)) {
|
|
75759
|
+
name += "_";
|
|
75760
|
+
}
|
|
75742
75761
|
ret += `let ${name} = INPUT.${direction}?.${name};\n`;
|
|
75743
75762
|
if (direction === "exporting" || direction === "importing" || direction === "changing") {
|
|
75744
|
-
const type = (
|
|
75763
|
+
const type = (_c = scope === null || scope === void 0 ? void 0 : scope.findVariable(name)) === null || _c === void 0 ? void 0 : _c.getType();
|
|
75745
75764
|
if (type !== undefined) {
|
|
75746
75765
|
// todo, set DEFAULT value
|
|
75747
75766
|
// todo, check for OPTIONALness and raise exceptions and stuff
|
|
@@ -76294,13 +76313,13 @@ const transpile_types_1 = __webpack_require__(/*! ./transpile_types */ "./node_m
|
|
|
76294
76313
|
const chunk_1 = __webpack_require__(/*! ./chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
76295
76314
|
const expressions_1 = __webpack_require__(/*! ./expressions */ "./node_modules/@abaplint/transpiler/build/src/expressions/index.js");
|
|
76296
76315
|
class Traversal {
|
|
76297
|
-
constructor(spaghetti, file, obj, reg,
|
|
76316
|
+
constructor(spaghetti, file, obj, reg, options) {
|
|
76298
76317
|
this.scopeCache = undefined;
|
|
76299
76318
|
this.spaghetti = spaghetti;
|
|
76300
76319
|
this.file = file;
|
|
76301
76320
|
this.obj = obj;
|
|
76302
76321
|
this.reg = reg;
|
|
76303
|
-
this.
|
|
76322
|
+
this.options = options;
|
|
76304
76323
|
}
|
|
76305
76324
|
static escapeNamespace(name) {
|
|
76306
76325
|
return name === null || name === void 0 ? void 0 : name.replace(/\//g, "$");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.6",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"bin": {
|
|
6
6
|
"abap_transpile": "./abap_transpile"
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"author": "abaplint",
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@abaplint/transpiler": "^2.5.
|
|
28
|
+
"@abaplint/transpiler": "^2.5.6",
|
|
29
29
|
"@types/glob": "^7.2.0",
|
|
30
30
|
"glob": "=7.2.0",
|
|
31
31
|
"@types/progress": "^2.0.5",
|
|
32
|
-
"@abaplint/core": "^2.95.
|
|
32
|
+
"@abaplint/core": "^2.95.25",
|
|
33
33
|
"progress": "^2.0.3",
|
|
34
34
|
"webpack": "^5.75.0",
|
|
35
35
|
"webpack-cli": "^5.0.1",
|