@abaplint/transpiler-cli 2.10.61 → 2.10.63
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 +313 -35
- package/package.json +4 -4
package/build/bundle.js
CHANGED
|
@@ -3758,7 +3758,8 @@ class CorrespondingBody extends combi_1.Expression {
|
|
|
3758
3758
|
const mapping = (0, combi_1.seq)("MAPPING", (0, combi_1.plus)((0, combi_1.seq)(_1.ComponentName, "=", component_chain_1.ComponentChain)));
|
|
3759
3759
|
const baseParen = (0, combi_1.seq)("BASE", (0, combi_1.tok)(tokens_1.WParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
3760
3760
|
const discarding = (0, combi_1.ver)(version_1.Version.v751, "DISCARDING DUPLICATES");
|
|
3761
|
-
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)("CHANGING CONTROL"), (0, combi_1.optPrio)((0, combi_1.seq)("
|
|
3761
|
+
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)("CHANGING CONTROL"), (0, combi_1.optPrio)((0, combi_1.seq)("MAPPING FROM ENTITY", (0, combi_1.optPrio)("USING CONTROL"))), // todo, version something?
|
|
3762
|
+
(0, combi_1.optPrio)((0, combi_1.seq)("EXCEPT", (0, combi_1.alt)((0, combi_1.plus)(_1.Field), "*"))));
|
|
3762
3763
|
}
|
|
3763
3764
|
}
|
|
3764
3765
|
exports.CorrespondingBody = CorrespondingBody;
|
|
@@ -7394,7 +7395,7 @@ const integer_1 = __webpack_require__(/*! ./integer */ "./node_modules/@abaplint
|
|
|
7394
7395
|
const sql_function_input_1 = __webpack_require__(/*! ./sql_function_input */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function_input.js");
|
|
7395
7396
|
class SQLFunction extends combi_1.Expression {
|
|
7396
7397
|
getRunnable() {
|
|
7397
|
-
const castTypes = (0, combi_1.altPrio)((0, combi_1.seq)("CHAR", (0, combi_1.optPrio)((0, combi_1.seq)((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)), (0, combi_1.seq)("NUMC", (0, combi_1.optPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), integer_1.Integer, (0, combi_1.tok)(tokens_1.WParenRightW)))), "FLTP", "INT2", "INT8");
|
|
7398
|
+
const castTypes = (0, combi_1.altPrio)((0, combi_1.seq)("CHAR", (0, combi_1.optPrio)((0, combi_1.seq)((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)), (0, combi_1.seq)("NUMC", (0, combi_1.optPrio)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), integer_1.Integer, (0, combi_1.tok)(tokens_1.WParenRightW)))), "FLTP", "INT2", "INT4", "INT8");
|
|
7398
7399
|
const commaParam = (0, combi_1.seq)(",", sql_function_input_1.SQLFunctionInput);
|
|
7399
7400
|
// note: the function names are not keywords, they are usually in lower case
|
|
7400
7401
|
const abs = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.regex)(/^abs$/i), (0, combi_1.tok)(tokens_1.ParenLeftW), sql_function_input_1.SQLFunctionInput, (0, combi_1.tok)(tokens_1.WParenRightW)));
|
|
@@ -8366,15 +8367,17 @@ class TypeStructure extends combi_1.Expression {
|
|
|
8366
8367
|
const create = (0, combi_1.seq)("CREATE", (0, combi_1.alt)(_1.NamespaceSimpleName, _1.EntityAssociation));
|
|
8367
8368
|
const update = (0, combi_1.seq)("UPDATE", (0, combi_1.alt)(_1.NamespaceSimpleName, _1.EntityAssociation));
|
|
8368
8369
|
const readResult = (0, combi_1.seq)("READ RESULT", (0, combi_1.alt)(_1.NamespaceSimpleName, _1.EntityAssociation));
|
|
8370
|
+
const readLink = (0, combi_1.seq)("READ LINK", _1.EntityAssociation);
|
|
8369
8371
|
const action = (0, combi_1.seq)("ACTION IMPORT", _1.Source);
|
|
8370
8372
|
const permissionsRequest = (0, combi_1.seq)("PERMISSIONS REQUEST", _1.NamespaceSimpleName);
|
|
8371
8373
|
const evt = (0, combi_1.seq)("EVENT", _1.EventName);
|
|
8372
8374
|
const failedEarly = (0, combi_1.seq)("FAILED EARLY", _1.NamespaceSimpleName);
|
|
8373
8375
|
const mappedEarly = (0, combi_1.seq)("MAPPED EARLY", _1.NamespaceSimpleName);
|
|
8374
8376
|
const reportedEarly = (0, combi_1.seq)("REPORTED EARLY", _1.NamespaceSimpleName);
|
|
8375
|
-
const structure = (0, combi_1.seq)("STRUCTURE FOR", (0, combi_1.altPrio)(hier, evt, create, update, action, permissionsRequest, readResult));
|
|
8377
|
+
const structure = (0, combi_1.seq)("STRUCTURE FOR", (0, combi_1.altPrio)(hier, evt, create, update, action, permissionsRequest, readLink, readResult));
|
|
8376
8378
|
const response = (0, combi_1.seq)("RESPONSE FOR", (0, combi_1.altPrio)(failedEarly, mappedEarly, reportedEarly));
|
|
8377
|
-
|
|
8379
|
+
const request = (0, combi_1.seq)("REQUEST FOR CHANGE", _1.NamespaceSimpleName);
|
|
8380
|
+
return (0, combi_1.seq)("TYPE", (0, combi_1.altPrio)(structure, response, request));
|
|
8378
8381
|
}
|
|
8379
8382
|
}
|
|
8380
8383
|
exports.TypeStructure = TypeStructure;
|
|
@@ -10283,7 +10286,7 @@ class CommitEntities {
|
|
|
10283
10286
|
const failed = (0, combi_1.seq)("FAILED", expressions_1.Target);
|
|
10284
10287
|
const reported = (0, combi_1.seq)("REPORTED", expressions_1.Target);
|
|
10285
10288
|
const responses = (0, combi_1.seq)("RESPONSES", failed, reported);
|
|
10286
|
-
const s = (0, combi_1.seq)("COMMIT ENTITIES", (0, combi_1.optPrio)("IN SIMULATION MODE"), (0, combi_1.opt)(responses), (0, combi_1.opt)((0, combi_1.seq)("RESPONSE OF", expressions_1.NamespaceSimpleName, failed, reported)));
|
|
10289
|
+
const s = (0, combi_1.seq)("COMMIT ENTITIES", (0, combi_1.optPrio)("IN SIMULATION MODE"), (0, combi_1.opt)(responses), (0, combi_1.opt)((0, combi_1.seq)("RESPONSE OF", expressions_1.NamespaceSimpleName, (0, combi_1.per)(failed, reported))));
|
|
10287
10290
|
return (0, combi_1.ver)(version_1.Version.v754, s);
|
|
10288
10291
|
}
|
|
10289
10292
|
}
|
|
@@ -13112,6 +13115,7 @@ __exportStar(__webpack_require__(/*! ./modify_entities */ "./node_modules/@abapl
|
|
|
13112
13115
|
__exportStar(__webpack_require__(/*! ./read_entities */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/read_entities.js"), exports);
|
|
13113
13116
|
__exportStar(__webpack_require__(/*! ./rollback_entities */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/rollback_entities.js"), exports);
|
|
13114
13117
|
__exportStar(__webpack_require__(/*! ./summary */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/summary.js"), exports);
|
|
13118
|
+
__exportStar(__webpack_require__(/*! ./input */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/input.js"), exports);
|
|
13115
13119
|
__exportStar(__webpack_require__(/*! ./on_change */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/on_change.js"), exports);
|
|
13116
13120
|
__exportStar(__webpack_require__(/*! ./at_user_command */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/at_user_command.js"), exports);
|
|
13117
13121
|
__exportStar(__webpack_require__(/*! ./position */ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/position.js"), exports);
|
|
@@ -13393,6 +13397,28 @@ exports.Initialization = Initialization;
|
|
|
13393
13397
|
|
|
13394
13398
|
/***/ }),
|
|
13395
13399
|
|
|
13400
|
+
/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/input.js":
|
|
13401
|
+
/*!*************************************************************************************!*\
|
|
13402
|
+
!*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/input.js ***!
|
|
13403
|
+
\*************************************************************************************/
|
|
13404
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
13405
|
+
|
|
13406
|
+
"use strict";
|
|
13407
|
+
|
|
13408
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
13409
|
+
exports.Input = void 0;
|
|
13410
|
+
const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
|
|
13411
|
+
const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
|
|
13412
|
+
class Input {
|
|
13413
|
+
getMatcher() {
|
|
13414
|
+
return (0, combi_1.verNot)(version_1.Version.Cloud, "INPUT");
|
|
13415
|
+
}
|
|
13416
|
+
}
|
|
13417
|
+
exports.Input = Input;
|
|
13418
|
+
//# sourceMappingURL=input.js.map
|
|
13419
|
+
|
|
13420
|
+
/***/ }),
|
|
13421
|
+
|
|
13396
13422
|
/***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_database.js":
|
|
13397
13423
|
/*!***********************************************************************************************!*\
|
|
13398
13424
|
!*** ./node_modules/@abaplint/core/build/src/abap/2_statements/statements/insert_database.js ***!
|
|
@@ -13863,20 +13889,18 @@ class MethodDef {
|
|
|
13863
13889
|
const def = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)("DEFAULT", (0, combi_1.altPrio)("FAIL", "IGNORE")));
|
|
13864
13890
|
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)));
|
|
13865
13891
|
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)));
|
|
13866
|
-
// todo, this is only from version something
|
|
13867
|
-
const tableFunction = (0, combi_1.seq)("TABLE FUNCTION", expressions_1.NamespaceSimpleName);
|
|
13868
|
-
// todo, this is only from version something
|
|
13869
|
-
const ddl = "DDL OBJECT OPTIONS CDS SESSION CLIENT REQUIRED";
|
|
13870
13892
|
const result = (0, combi_1.seq)("RESULT", expressions_1.MethodParamName);
|
|
13871
13893
|
const link = (0, combi_1.seq)("LINK", expressions_1.MethodParamName);
|
|
13872
13894
|
const full = (0, combi_1.seq)("FULL", expressions_1.MethodParamName);
|
|
13873
13895
|
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));
|
|
13874
13896
|
const forRead = (0, combi_1.seq)("FOR READ", (0, combi_1.alt)(expressions_1.TypeName, expressions_1.EntityAssociation), (0, combi_1.optPrio)(full), result, (0, combi_1.optPrio)(link));
|
|
13875
13897
|
const forfunction = (0, combi_1.seq)("FOR FUNCTION", expressions_1.TypeName, result);
|
|
13876
|
-
const behavior = (0, combi_1.altPrio)(
|
|
13898
|
+
const behavior = (0, combi_1.altPrio)("DDL OBJECT OPTIONS CDS SESSION CLIENT REQUIRED", // todo, this is only from version something
|
|
13899
|
+
(0, combi_1.seq)("TABLE FUNCTION", expressions_1.NamespaceSimpleName), // todo, this is only from version something
|
|
13900
|
+
(0, combi_1.seq)("VALIDATE ON SAVE IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("MODIFY IMPORTING", (0, combi_1.plus)((0, combi_1.seq)(expressions_1.MethodParamName, modify))), (0, combi_1.seq)("PRECHECK IMPORTING", expressions_1.MethodParamName, modify), (0, combi_1.seq)("NUMBERING IMPORTING", expressions_1.MethodParamName, modify), (0, combi_1.seq)("READ IMPORTING", expressions_1.MethodParamName, (0, combi_1.altPrio)(forRead, forfunction)), (0, combi_1.seq)("FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.NamespaceSimpleName, "FOR", expressions_1.NamespaceSimpleName, result), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR CREATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR UPDATE", expressions_1.TypeName, expressions_1.MethodParamName, "FOR DELETE", expressions_1.TypeName), (0, combi_1.seq)("BEHAVIOR IMPORTING", expressions_1.MethodParamName, "FOR READ", expressions_1.TypeName, result), (0, combi_1.seq)((0, combi_1.alt)("BEHAVIOR", "LOCK"), "IMPORTING", expressions_1.MethodParamName, "FOR LOCK", expressions_1.TypeName), (0, combi_1.seq)("DETERMINE", (0, combi_1.alt)("ON MODIFY", "ON SAVE"), "IMPORTING", expressions_1.MethodParamName, "FOR", expressions_1.TypeName), (0, combi_1.seq)("GLOBAL AUTHORIZATION IMPORTING REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("GLOBAL FEATURES IMPORTING REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("INSTANCE AUTHORIZATION IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result), (0, combi_1.seq)("INSTANCE FEATURES IMPORTING", expressions_1.MethodParamName, "REQUEST", expressions_1.MethodParamName, "FOR", expressions_1.TypeName, result));
|
|
13877
13901
|
// todo, this is only from version something
|
|
13878
13902
|
const amdp = (0, combi_1.seq)("AMDP OPTIONS", (0, combi_1.optPrio)("READ-ONLY"), "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));
|
|
13879
|
-
const ret = (0, combi_1.seq)((0, combi_1.altPrio)("CLASS-METHODS", "METHODS"), expressions_1.MethodName, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), (0, combi_1.optPrio)(def), expressions_1.EventHandler), parameters, testing, (0, combi_1.seq)("FOR",
|
|
13903
|
+
const ret = (0, combi_1.seq)((0, combi_1.altPrio)("CLASS-METHODS", "METHODS"), expressions_1.MethodName, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.optPrio)(expressions_1.Abstract), (0, combi_1.optPrio)(def), expressions_1.EventHandler), parameters, testing, (0, combi_1.seq)("FOR", behavior), amdp, "NOT AT END OF MODE", (0, combi_1.optPrio)(expressions_1.Redefinition)));
|
|
13880
13904
|
return ret;
|
|
13881
13905
|
}
|
|
13882
13906
|
}
|
|
@@ -13954,14 +13978,15 @@ class ModifyEntities {
|
|
|
13954
13978
|
const withh = (0, combi_1.seq)("WITH", expressions_1.Source);
|
|
13955
13979
|
const fieldsWith = (0, combi_1.seq)("FIELDS (", (0, combi_1.plus)(expressions_1.SimpleName), ")", withh);
|
|
13956
13980
|
const by = (0, combi_1.seq)("BY", expressions_1.AssociationName);
|
|
13957
|
-
const
|
|
13981
|
+
const relating = (0, combi_1.seq)("RELATING TO", expressions_1.NamespaceSimpleName, "BY", expressions_1.NamespaceSimpleName);
|
|
13982
|
+
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)("UPDATE FROM", expressions_1.Source, relating), (0, combi_1.seq)("CREATE", (0, combi_1.opt)(by), "FROM", expressions_1.Source, (0, combi_1.opt)(relating)), (0, combi_1.seq)("EXECUTE", expressions_1.SimpleName, "FROM", expressions_1.Source), (0, combi_1.seq)("CREATE", (0, combi_1.opt)(by), (0, combi_1.optPrio)("AUTO FILL CID"), (0, combi_1.altPrio)(withh, fieldsWith)));
|
|
13958
13983
|
const failed = (0, combi_1.seq)("FAILED", expressions_1.Target);
|
|
13959
13984
|
const result = (0, combi_1.seq)("RESULT", expressions_1.Target);
|
|
13960
13985
|
const mapped = (0, combi_1.seq)("MAPPED", expressions_1.Target);
|
|
13961
13986
|
const reported = (0, combi_1.seq)("REPORTED", expressions_1.Target);
|
|
13962
13987
|
const from = (0, combi_1.seq)("FROM", expressions_1.Source);
|
|
13963
13988
|
const execute = (0, combi_1.seq)("EXECUTE", expressions_1.NamespaceSimpleName);
|
|
13964
|
-
const entities = (0, combi_1.seq)("ENTITIES OF", expressions_1.NamespaceSimpleName, (0, combi_1.opt)("IN LOCAL MODE"), (0, combi_1.plusPrio)((0, combi_1.seq)("ENTITY", expressions_1.SimpleName, (0, combi_1.plus)(operation))), (0, combi_1.optPrio)((0, combi_1.per)(failed, result, mapped, reported)));
|
|
13989
|
+
const entities = (0, combi_1.seq)((0, combi_1.optPrio)("AUGMENTING"), "ENTITIES OF", expressions_1.NamespaceSimpleName, (0, combi_1.opt)("IN LOCAL MODE"), (0, combi_1.plusPrio)((0, combi_1.seq)("ENTITY", expressions_1.SimpleName, (0, combi_1.plus)(operation))), (0, combi_1.optPrio)((0, combi_1.per)(failed, result, mapped, reported)));
|
|
13965
13990
|
const entity = (0, combi_1.seq)("ENTITY", expressions_1.NamespaceSimpleName, execute, from, mapped, failed, reported);
|
|
13966
13991
|
return (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("MODIFY", (0, combi_1.alt)(entities, entity)));
|
|
13967
13992
|
}
|
|
@@ -22309,6 +22334,13 @@ class TypeUtils {
|
|
|
22309
22334
|
}
|
|
22310
22335
|
return ret;
|
|
22311
22336
|
}
|
|
22337
|
+
isConvable(source, target) {
|
|
22338
|
+
if (source instanceof basic_1.TableType && target instanceof basic_1.TableType) {
|
|
22339
|
+
// table key conversion, eg DEFAULT to EMPTY
|
|
22340
|
+
return this.isAssignable(source.getRowType(), target.getRowType());
|
|
22341
|
+
}
|
|
22342
|
+
return this.isAssignable(source, target);
|
|
22343
|
+
}
|
|
22312
22344
|
isCastable(_source, _target) {
|
|
22313
22345
|
// todo
|
|
22314
22346
|
return true;
|
|
@@ -23198,6 +23230,9 @@ class BasicTypes {
|
|
|
23198
23230
|
if (found && this.isOccurs(node)) {
|
|
23199
23231
|
found = new Types.TableType(found, { withHeader: text.includes("WITH HEADER LINE"), keyType: Types.TableKeyType.default }, qualifiedName);
|
|
23200
23232
|
}
|
|
23233
|
+
else if (text.endsWith(" WITH HEADER LINE") && found instanceof Types.TableType) {
|
|
23234
|
+
found = new Types.TableType(found.getRowType(), { withHeader: true, keyType: Types.TableKeyType.default }, qualifiedName);
|
|
23235
|
+
}
|
|
23201
23236
|
}
|
|
23202
23237
|
else if (text.startsWith("TYPE LINE OF ")) {
|
|
23203
23238
|
const sub = node.findFirstExpression(Expressions.TypeName);
|
|
@@ -26761,10 +26796,12 @@ class Select {
|
|
|
26761
26796
|
var _a, _b;
|
|
26762
26797
|
let expr = undefined;
|
|
26763
26798
|
const ret = [];
|
|
26764
|
-
|
|
26765
|
-
if (expr === undefined) {
|
|
26799
|
+
if (node.get() instanceof Expressions.SelectLoop) {
|
|
26766
26800
|
expr = node.findFirstExpression(Expressions.SQLFieldListLoop);
|
|
26767
26801
|
}
|
|
26802
|
+
else {
|
|
26803
|
+
expr = node.findFirstExpression(Expressions.SQLFieldList);
|
|
26804
|
+
}
|
|
26768
26805
|
if (((_a = expr === null || expr === void 0 ? void 0 : expr.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Dynamic) {
|
|
26769
26806
|
dynamic_1.Dynamic.runSyntax(expr.getFirstChild(), input);
|
|
26770
26807
|
}
|
|
@@ -26929,7 +26966,7 @@ class Source {
|
|
|
26929
26966
|
{
|
|
26930
26967
|
const foundType = this.determineType(node, input, targetType);
|
|
26931
26968
|
const bodyType = conv_body_1.ConvBody.runSyntax(node.findDirectExpression(Expressions.ConvBody), input);
|
|
26932
|
-
if (new _type_utils_1.TypeUtils(input.scope).
|
|
26969
|
+
if (new _type_utils_1.TypeUtils(input.scope).isConvable(foundType, bodyType) === false) {
|
|
26933
26970
|
const message = `CONV: Types not compatible, ${foundType === null || foundType === void 0 ? void 0 : foundType.constructor.name}, ${bodyType === null || bodyType === void 0 ? void 0 : bodyType.constructor.name}`;
|
|
26934
26971
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
26935
26972
|
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
@@ -32257,7 +32294,9 @@ class ReadTable {
|
|
|
32257
32294
|
}
|
|
32258
32295
|
const type = source_1.Source.runSyntax(s, input);
|
|
32259
32296
|
if (s === afterKey) {
|
|
32260
|
-
if (type instanceof basic_1.StringType
|
|
32297
|
+
if (type instanceof basic_1.StringType
|
|
32298
|
+
|| (type instanceof basic_1.TableType && type.isWithHeader() === false)
|
|
32299
|
+
|| type instanceof basic_1.ObjectReferenceType) {
|
|
32261
32300
|
const message = "Key cannot be string or table or reference";
|
|
32262
32301
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, s.getFirstToken(), message));
|
|
32263
32302
|
return;
|
|
@@ -38401,6 +38440,7 @@ class ClassDefinition extends _identifier_1.Identifier {
|
|
|
38401
38440
|
this.abstract = (def === null || def === void 0 ? void 0 : def.findDirectTokenByText("ABSTRACT")) !== undefined;
|
|
38402
38441
|
// perform checks after everything has been initialized
|
|
38403
38442
|
this.checkMethodsFromSuperClasses(input.scope);
|
|
38443
|
+
this.checkMethodNameLength();
|
|
38404
38444
|
}
|
|
38405
38445
|
getFriends() {
|
|
38406
38446
|
return this.friends;
|
|
@@ -38453,6 +38493,14 @@ class ClassDefinition extends _identifier_1.Identifier {
|
|
|
38453
38493
|
const name = token === null || token === void 0 ? void 0 : token.getStr();
|
|
38454
38494
|
return name;
|
|
38455
38495
|
}
|
|
38496
|
+
checkMethodNameLength() {
|
|
38497
|
+
for (const m of this.methodDefs.getAll()) {
|
|
38498
|
+
if (m.getName().length > 30 && m.getName().includes("~") === false) {
|
|
38499
|
+
const message = `Method name "${m.getName()}" is too long, maximum length is 30 characters`;
|
|
38500
|
+
throw new Error(message);
|
|
38501
|
+
}
|
|
38502
|
+
}
|
|
38503
|
+
}
|
|
38456
38504
|
checkMethodsFromSuperClasses(scope) {
|
|
38457
38505
|
var _a;
|
|
38458
38506
|
let sup = this.getSuperClass();
|
|
@@ -38892,6 +38940,8 @@ class InterfaceDefinition extends _identifier_1.Identifier {
|
|
|
38892
38940
|
input.scope.push(_scope_type_1.ScopeType.Interface, name.getStr(), node.getFirstToken().getStart(), input.filename);
|
|
38893
38941
|
this.parse(input, node);
|
|
38894
38942
|
input.scope.pop(node.getLastToken().getEnd());
|
|
38943
|
+
// perform checks after everything has been initialized
|
|
38944
|
+
this.checkMethodNameLength();
|
|
38895
38945
|
}
|
|
38896
38946
|
getSuperClass() {
|
|
38897
38947
|
return undefined;
|
|
@@ -38921,6 +38971,14 @@ class InterfaceDefinition extends _identifier_1.Identifier {
|
|
|
38921
38971
|
return this.methodDefinitions;
|
|
38922
38972
|
}
|
|
38923
38973
|
/////////////////
|
|
38974
|
+
checkMethodNameLength() {
|
|
38975
|
+
for (const m of this.methodDefinitions.getAll()) {
|
|
38976
|
+
if (m.getName().length > 30) {
|
|
38977
|
+
const message = `Method name "${m.getName()}" is too long, maximum length is 30 characters`;
|
|
38978
|
+
throw new Error(message);
|
|
38979
|
+
}
|
|
38980
|
+
}
|
|
38981
|
+
}
|
|
38924
38982
|
checkInterfacesExists(input, node) {
|
|
38925
38983
|
var _a;
|
|
38926
38984
|
for (const i of node.findAllStatements(Statements.InterfaceDef)) {
|
|
@@ -39729,7 +39787,7 @@ class Result {
|
|
|
39729
39787
|
add(text, row, col, mode) {
|
|
39730
39788
|
if (text.length > 0) {
|
|
39731
39789
|
if (mode === Mode.SingleLineComment) {
|
|
39732
|
-
this.result.push(new tokens_1.Comment(new position_1.Position(row, col), text));
|
|
39790
|
+
this.result.push(new tokens_1.Comment(new position_1.Position(row, col - text.length), text));
|
|
39733
39791
|
}
|
|
39734
39792
|
else {
|
|
39735
39793
|
this.result.push(new tokens_1.Identifier(new position_1.Position(row, col), text));
|
|
@@ -40039,7 +40097,7 @@ const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/core/build/src
|
|
|
40039
40097
|
const combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
|
|
40040
40098
|
class CDSAnnotationSimple extends combi_1.Expression {
|
|
40041
40099
|
getRunnable() {
|
|
40042
|
-
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_]+$/));
|
|
40100
|
+
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.seq)("#", "(", (0, combi_1.regex)(/^[\w_]+$/), ")"), (0, combi_1.regex)(/^#[\w_]+$/));
|
|
40043
40101
|
return value;
|
|
40044
40102
|
}
|
|
40045
40103
|
}
|
|
@@ -40290,7 +40348,8 @@ const cds_type_1 = __webpack_require__(/*! ./cds_type */ "./node_modules/@abapli
|
|
|
40290
40348
|
class CDSDefineCustom extends combi_1.Expression {
|
|
40291
40349
|
getRunnable() {
|
|
40292
40350
|
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, ";");
|
|
40293
|
-
|
|
40351
|
+
const composition = (0, combi_1.seq)((0, combi_1.star)(_1.CDSAnnotation), cds_name_1.CDSName, ":", _1.CDSComposition, ";");
|
|
40352
|
+
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)((0, combi_1.alt)(field, composition)), (0, combi_1.str)("}"), (0, combi_1.opt)(";"));
|
|
40294
40353
|
}
|
|
40295
40354
|
}
|
|
40296
40355
|
exports.CDSDefineCustom = CDSDefineCustom;
|
|
@@ -40802,7 +40861,7 @@ const combi_1 = __webpack_require__(/*! ../../abap/2_statements/combi */ "./node
|
|
|
40802
40861
|
class CDSString extends combi_1.Expression {
|
|
40803
40862
|
getRunnable() {
|
|
40804
40863
|
// https://stackoverflow.com/a/57754227
|
|
40805
|
-
return (0, combi_1.regex)(/^'[A-Za-zÀ-ž\u0370-\u03FF\u0400-\u04FF
|
|
40864
|
+
return (0, combi_1.regex)(/^'[A-Za-zÀ-ž\u0370-\u03FF\u0400-\u04FF:\| -_]*'$/);
|
|
40806
40865
|
}
|
|
40807
40866
|
}
|
|
40808
40867
|
exports.CDSString = CDSString;
|
|
@@ -46009,6 +46068,37 @@ exports.BusinessCatalogAppAssignment = BusinessCatalogAppAssignment;
|
|
|
46009
46068
|
|
|
46010
46069
|
/***/ }),
|
|
46011
46070
|
|
|
46071
|
+
/***/ "./node_modules/@abaplint/core/build/src/objects/business_configuration_maintenance_object.js":
|
|
46072
|
+
/*!****************************************************************************************************!*\
|
|
46073
|
+
!*** ./node_modules/@abaplint/core/build/src/objects/business_configuration_maintenance_object.js ***!
|
|
46074
|
+
\****************************************************************************************************/
|
|
46075
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
46076
|
+
|
|
46077
|
+
"use strict";
|
|
46078
|
+
|
|
46079
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
46080
|
+
exports.BusinessConfigurationMaintenanceObject = void 0;
|
|
46081
|
+
const _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ "./node_modules/@abaplint/core/build/src/objects/_abstract_object.js");
|
|
46082
|
+
class BusinessConfigurationMaintenanceObject extends _abstract_object_1.AbstractObject {
|
|
46083
|
+
getType() {
|
|
46084
|
+
return "SMBC";
|
|
46085
|
+
}
|
|
46086
|
+
getAllowedNaming() {
|
|
46087
|
+
return {
|
|
46088
|
+
maxLength: 60, // todo
|
|
46089
|
+
allowNamespace: true,
|
|
46090
|
+
};
|
|
46091
|
+
}
|
|
46092
|
+
getDescription() {
|
|
46093
|
+
// todo
|
|
46094
|
+
return undefined;
|
|
46095
|
+
}
|
|
46096
|
+
}
|
|
46097
|
+
exports.BusinessConfigurationMaintenanceObject = BusinessConfigurationMaintenanceObject;
|
|
46098
|
+
//# sourceMappingURL=business_configuration_maintenance_object.js.map
|
|
46099
|
+
|
|
46100
|
+
/***/ }),
|
|
46101
|
+
|
|
46012
46102
|
/***/ "./node_modules/@abaplint/core/build/src/objects/business_configuration_set.js":
|
|
46013
46103
|
/*!*************************************************************************************!*\
|
|
46014
46104
|
!*** ./node_modules/@abaplint/core/build/src/objects/business_configuration_set.js ***!
|
|
@@ -46623,6 +46713,37 @@ exports.ConceptsOfPackage = ConceptsOfPackage;
|
|
|
46623
46713
|
|
|
46624
46714
|
/***/ }),
|
|
46625
46715
|
|
|
46716
|
+
/***/ "./node_modules/@abaplint/core/build/src/objects/custom_data_browser_object.js":
|
|
46717
|
+
/*!*************************************************************************************!*\
|
|
46718
|
+
!*** ./node_modules/@abaplint/core/build/src/objects/custom_data_browser_object.js ***!
|
|
46719
|
+
\*************************************************************************************/
|
|
46720
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
46721
|
+
|
|
46722
|
+
"use strict";
|
|
46723
|
+
|
|
46724
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
46725
|
+
exports.CustomDataBrowserObject = void 0;
|
|
46726
|
+
const _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ "./node_modules/@abaplint/core/build/src/objects/_abstract_object.js");
|
|
46727
|
+
class CustomDataBrowserObject extends _abstract_object_1.AbstractObject {
|
|
46728
|
+
getType() {
|
|
46729
|
+
return "CDBO";
|
|
46730
|
+
}
|
|
46731
|
+
getAllowedNaming() {
|
|
46732
|
+
return {
|
|
46733
|
+
maxLength: 32,
|
|
46734
|
+
allowNamespace: true,
|
|
46735
|
+
};
|
|
46736
|
+
}
|
|
46737
|
+
getDescription() {
|
|
46738
|
+
// todo
|
|
46739
|
+
return undefined;
|
|
46740
|
+
}
|
|
46741
|
+
}
|
|
46742
|
+
exports.CustomDataBrowserObject = CustomDataBrowserObject;
|
|
46743
|
+
//# sourceMappingURL=custom_data_browser_object.js.map
|
|
46744
|
+
|
|
46745
|
+
/***/ }),
|
|
46746
|
+
|
|
46626
46747
|
/***/ "./node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js":
|
|
46627
46748
|
/*!***************************************************************************************!*\
|
|
46628
46749
|
!*** ./node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js ***!
|
|
@@ -48026,6 +48147,37 @@ exports.GatewayModelMetadata = GatewayModelMetadata;
|
|
|
48026
48147
|
|
|
48027
48148
|
/***/ }),
|
|
48028
48149
|
|
|
48150
|
+
/***/ "./node_modules/@abaplint/core/build/src/objects/gateway_odata_group_and_assignment.js":
|
|
48151
|
+
/*!*********************************************************************************************!*\
|
|
48152
|
+
!*** ./node_modules/@abaplint/core/build/src/objects/gateway_odata_group_and_assignment.js ***!
|
|
48153
|
+
\*********************************************************************************************/
|
|
48154
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
48155
|
+
|
|
48156
|
+
"use strict";
|
|
48157
|
+
|
|
48158
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
48159
|
+
exports.GatewayODataGroupAndAssignment = void 0;
|
|
48160
|
+
const _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ "./node_modules/@abaplint/core/build/src/objects/_abstract_object.js");
|
|
48161
|
+
class GatewayODataGroupAndAssignment extends _abstract_object_1.AbstractObject {
|
|
48162
|
+
getType() {
|
|
48163
|
+
return "G4BA";
|
|
48164
|
+
}
|
|
48165
|
+
getAllowedNaming() {
|
|
48166
|
+
return {
|
|
48167
|
+
maxLength: 32,
|
|
48168
|
+
allowNamespace: true,
|
|
48169
|
+
};
|
|
48170
|
+
}
|
|
48171
|
+
getDescription() {
|
|
48172
|
+
// todo
|
|
48173
|
+
return undefined;
|
|
48174
|
+
}
|
|
48175
|
+
}
|
|
48176
|
+
exports.GatewayODataGroupAndAssignment = GatewayODataGroupAndAssignment;
|
|
48177
|
+
//# sourceMappingURL=gateway_odata_group_and_assignment.js.map
|
|
48178
|
+
|
|
48179
|
+
/***/ }),
|
|
48180
|
+
|
|
48029
48181
|
/***/ "./node_modules/@abaplint/core/build/src/objects/gateway_project.js":
|
|
48030
48182
|
/*!**************************************************************************!*\
|
|
48031
48183
|
!*** ./node_modules/@abaplint/core/build/src/objects/gateway_project.js ***!
|
|
@@ -48638,6 +48790,7 @@ __exportStar(__webpack_require__(/*! ./bsp_application */ "./node_modules/@abapl
|
|
|
48638
48790
|
__exportStar(__webpack_require__(/*! ./business_add_in_implementation */ "./node_modules/@abaplint/core/build/src/objects/business_add_in_implementation.js"), exports);
|
|
48639
48791
|
__exportStar(__webpack_require__(/*! ./business_catalog_app_assignment */ "./node_modules/@abaplint/core/build/src/objects/business_catalog_app_assignment.js"), exports);
|
|
48640
48792
|
__exportStar(__webpack_require__(/*! ./business_catalog */ "./node_modules/@abaplint/core/build/src/objects/business_catalog.js"), exports);
|
|
48793
|
+
__exportStar(__webpack_require__(/*! ./business_configuration_maintenance_object */ "./node_modules/@abaplint/core/build/src/objects/business_configuration_maintenance_object.js"), exports);
|
|
48641
48794
|
__exportStar(__webpack_require__(/*! ./business_configuration_set */ "./node_modules/@abaplint/core/build/src/objects/business_configuration_set.js"), exports);
|
|
48642
48795
|
__exportStar(__webpack_require__(/*! ./business_function_assignment */ "./node_modules/@abaplint/core/build/src/objects/business_function_assignment.js"), exports);
|
|
48643
48796
|
__exportStar(__webpack_require__(/*! ./business_function_set_assignment */ "./node_modules/@abaplint/core/build/src/objects/business_function_set_assignment.js"), exports);
|
|
@@ -48654,6 +48807,7 @@ __exportStar(__webpack_require__(/*! ./communication_scenario */ "./node_modules
|
|
|
48654
48807
|
__exportStar(__webpack_require__(/*! ./composite_enhancement_implementation */ "./node_modules/@abaplint/core/build/src/objects/composite_enhancement_implementation.js"), exports);
|
|
48655
48808
|
__exportStar(__webpack_require__(/*! ./composite_enhancement_spot */ "./node_modules/@abaplint/core/build/src/objects/composite_enhancement_spot.js"), exports);
|
|
48656
48809
|
__exportStar(__webpack_require__(/*! ./concepts_of_package */ "./node_modules/@abaplint/core/build/src/objects/concepts_of_package.js"), exports);
|
|
48810
|
+
__exportStar(__webpack_require__(/*! ./custom_data_browser_object */ "./node_modules/@abaplint/core/build/src/objects/custom_data_browser_object.js"), exports);
|
|
48657
48811
|
__exportStar(__webpack_require__(/*! ./customer_enhancement_project */ "./node_modules/@abaplint/core/build/src/objects/customer_enhancement_project.js"), exports);
|
|
48658
48812
|
__exportStar(__webpack_require__(/*! ./customizing_attributes */ "./node_modules/@abaplint/core/build/src/objects/customizing_attributes.js"), exports);
|
|
48659
48813
|
__exportStar(__webpack_require__(/*! ./customizing_img_activity */ "./node_modules/@abaplint/core/build/src/objects/customizing_img_activity.js"), exports);
|
|
@@ -48681,6 +48835,7 @@ __exportStar(__webpack_require__(/*! ./format_type */ "./node_modules/@abaplint/
|
|
|
48681
48835
|
__exportStar(__webpack_require__(/*! ./function_group */ "./node_modules/@abaplint/core/build/src/objects/function_group.js"), exports);
|
|
48682
48836
|
__exportStar(__webpack_require__(/*! ./gateway_model_metadata */ "./node_modules/@abaplint/core/build/src/objects/gateway_model_metadata.js"), exports);
|
|
48683
48837
|
__exportStar(__webpack_require__(/*! ./gateway_model */ "./node_modules/@abaplint/core/build/src/objects/gateway_model.js"), exports);
|
|
48838
|
+
__exportStar(__webpack_require__(/*! ./gateway_odata_group_and_assignment */ "./node_modules/@abaplint/core/build/src/objects/gateway_odata_group_and_assignment.js"), exports);
|
|
48684
48839
|
__exportStar(__webpack_require__(/*! ./gateway_project */ "./node_modules/@abaplint/core/build/src/objects/gateway_project.js"), exports);
|
|
48685
48840
|
__exportStar(__webpack_require__(/*! ./gateway_service_groups_metadata */ "./node_modules/@abaplint/core/build/src/objects/gateway_service_groups_metadata.js"), exports);
|
|
48686
48841
|
__exportStar(__webpack_require__(/*! ./gateway_service */ "./node_modules/@abaplint/core/build/src/objects/gateway_service.js"), exports);
|
|
@@ -48701,6 +48856,7 @@ __exportStar(__webpack_require__(/*! ./inbound_service */ "./node_modules/@abapl
|
|
|
48701
48856
|
__exportStar(__webpack_require__(/*! ./info_area */ "./node_modules/@abaplint/core/build/src/objects/info_area.js"), exports);
|
|
48702
48857
|
__exportStar(__webpack_require__(/*! ./info_object */ "./node_modules/@abaplint/core/build/src/objects/info_object.js"), exports);
|
|
48703
48858
|
__exportStar(__webpack_require__(/*! ./interface */ "./node_modules/@abaplint/core/build/src/objects/interface.js"), exports);
|
|
48859
|
+
__exportStar(__webpack_require__(/*! ./knowledge_transfer_document */ "./node_modules/@abaplint/core/build/src/objects/knowledge_transfer_document.js"), exports);
|
|
48704
48860
|
__exportStar(__webpack_require__(/*! ./lock_object */ "./node_modules/@abaplint/core/build/src/objects/lock_object.js"), exports);
|
|
48705
48861
|
__exportStar(__webpack_require__(/*! ./maintenance_and_transport_object */ "./node_modules/@abaplint/core/build/src/objects/maintenance_and_transport_object.js"), exports);
|
|
48706
48862
|
__exportStar(__webpack_require__(/*! ./message_class */ "./node_modules/@abaplint/core/build/src/objects/message_class.js"), exports);
|
|
@@ -48736,6 +48892,7 @@ __exportStar(__webpack_require__(/*! ./object_characteristic */ "./node_modules/
|
|
|
48736
48892
|
__exportStar(__webpack_require__(/*! ./outbound_service */ "./node_modules/@abaplint/core/build/src/objects/outbound_service.js"), exports);
|
|
48737
48893
|
__exportStar(__webpack_require__(/*! ./package_interface */ "./node_modules/@abaplint/core/build/src/objects/package_interface.js"), exports);
|
|
48738
48894
|
__exportStar(__webpack_require__(/*! ./package */ "./node_modules/@abaplint/core/build/src/objects/package.js"), exports);
|
|
48895
|
+
__exportStar(__webpack_require__(/*! ./page_format */ "./node_modules/@abaplint/core/build/src/objects/page_format.js"), exports);
|
|
48739
48896
|
__exportStar(__webpack_require__(/*! ./parameter */ "./node_modules/@abaplint/core/build/src/objects/parameter.js"), exports);
|
|
48740
48897
|
__exportStar(__webpack_require__(/*! ./personalization_object */ "./node_modules/@abaplint/core/build/src/objects/personalization_object.js"), exports);
|
|
48741
48898
|
__exportStar(__webpack_require__(/*! ./program */ "./node_modules/@abaplint/core/build/src/objects/program.js"), exports);
|
|
@@ -48928,6 +49085,37 @@ exports.Interface = Interface;
|
|
|
48928
49085
|
|
|
48929
49086
|
/***/ }),
|
|
48930
49087
|
|
|
49088
|
+
/***/ "./node_modules/@abaplint/core/build/src/objects/knowledge_transfer_document.js":
|
|
49089
|
+
/*!**************************************************************************************!*\
|
|
49090
|
+
!*** ./node_modules/@abaplint/core/build/src/objects/knowledge_transfer_document.js ***!
|
|
49091
|
+
\**************************************************************************************/
|
|
49092
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
49093
|
+
|
|
49094
|
+
"use strict";
|
|
49095
|
+
|
|
49096
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
49097
|
+
exports.KnowledgeTransferDocument = void 0;
|
|
49098
|
+
const _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ "./node_modules/@abaplint/core/build/src/objects/_abstract_object.js");
|
|
49099
|
+
class KnowledgeTransferDocument extends _abstract_object_1.AbstractObject {
|
|
49100
|
+
getType() {
|
|
49101
|
+
return "SKTD";
|
|
49102
|
+
}
|
|
49103
|
+
getAllowedNaming() {
|
|
49104
|
+
return {
|
|
49105
|
+
maxLength: 60, // todo
|
|
49106
|
+
allowNamespace: true,
|
|
49107
|
+
};
|
|
49108
|
+
}
|
|
49109
|
+
getDescription() {
|
|
49110
|
+
// todo
|
|
49111
|
+
return undefined;
|
|
49112
|
+
}
|
|
49113
|
+
}
|
|
49114
|
+
exports.KnowledgeTransferDocument = KnowledgeTransferDocument;
|
|
49115
|
+
//# sourceMappingURL=knowledge_transfer_document.js.map
|
|
49116
|
+
|
|
49117
|
+
/***/ }),
|
|
49118
|
+
|
|
48931
49119
|
/***/ "./node_modules/@abaplint/core/build/src/objects/lock_object.js":
|
|
48932
49120
|
/*!**********************************************************************!*\
|
|
48933
49121
|
!*** ./node_modules/@abaplint/core/build/src/objects/lock_object.js ***!
|
|
@@ -50268,6 +50456,37 @@ exports.PackageInterface = PackageInterface;
|
|
|
50268
50456
|
|
|
50269
50457
|
/***/ }),
|
|
50270
50458
|
|
|
50459
|
+
/***/ "./node_modules/@abaplint/core/build/src/objects/page_format.js":
|
|
50460
|
+
/*!**********************************************************************!*\
|
|
50461
|
+
!*** ./node_modules/@abaplint/core/build/src/objects/page_format.js ***!
|
|
50462
|
+
\**********************************************************************/
|
|
50463
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
50464
|
+
|
|
50465
|
+
"use strict";
|
|
50466
|
+
|
|
50467
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
50468
|
+
exports.PageFormat = void 0;
|
|
50469
|
+
const _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ "./node_modules/@abaplint/core/build/src/objects/_abstract_object.js");
|
|
50470
|
+
class PageFormat extends _abstract_object_1.AbstractObject {
|
|
50471
|
+
getType() {
|
|
50472
|
+
return "SPPF";
|
|
50473
|
+
}
|
|
50474
|
+
getAllowedNaming() {
|
|
50475
|
+
return {
|
|
50476
|
+
maxLength: 30,
|
|
50477
|
+
allowNamespace: true,
|
|
50478
|
+
};
|
|
50479
|
+
}
|
|
50480
|
+
getDescription() {
|
|
50481
|
+
// todo
|
|
50482
|
+
return undefined;
|
|
50483
|
+
}
|
|
50484
|
+
}
|
|
50485
|
+
exports.PageFormat = PageFormat;
|
|
50486
|
+
//# sourceMappingURL=page_format.js.map
|
|
50487
|
+
|
|
50488
|
+
/***/ }),
|
|
50489
|
+
|
|
50271
50490
|
/***/ "./node_modules/@abaplint/core/build/src/objects/parameter.js":
|
|
50272
50491
|
/*!********************************************************************!*\
|
|
50273
50492
|
!*** ./node_modules/@abaplint/core/build/src/objects/parameter.js ***!
|
|
@@ -53262,7 +53481,7 @@ class Registry {
|
|
|
53262
53481
|
}
|
|
53263
53482
|
static abaplintVersion() {
|
|
53264
53483
|
// magic, see build script "version.sh"
|
|
53265
|
-
return "2.113.
|
|
53484
|
+
return "2.113.136";
|
|
53266
53485
|
}
|
|
53267
53486
|
getDDICReferences() {
|
|
53268
53487
|
return this.ddicReferences;
|
|
@@ -66234,6 +66453,7 @@ ENDIF.
|
|
|
66234
66453
|
return issues;
|
|
66235
66454
|
}
|
|
66236
66455
|
analyze(file, cond) {
|
|
66456
|
+
var _a, _b;
|
|
66237
66457
|
const issues = [];
|
|
66238
66458
|
let comparator = "";
|
|
66239
66459
|
let found = false;
|
|
@@ -66259,6 +66479,17 @@ ENDIF.
|
|
|
66259
66479
|
found = true; // dont report for the simple case that contains quick fixes
|
|
66260
66480
|
}
|
|
66261
66481
|
}
|
|
66482
|
+
else if (c instanceof nodes_1.ExpressionNode
|
|
66483
|
+
&& c.get() instanceof Expressions.Compare
|
|
66484
|
+
&& ((_a = c.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Source
|
|
66485
|
+
&& c.getChildren().length === 3) {
|
|
66486
|
+
const concat = (_b = c.getFirstChild()) === null || _b === void 0 ? void 0 : _b.concatTokens();
|
|
66487
|
+
if ((concat === null || concat === void 0 ? void 0 : concat.startsWith("(")) && concat.endsWith(")")) {
|
|
66488
|
+
const message = "Parentheses can be removed";
|
|
66489
|
+
const issue = issue_1.Issue.atToken(file, c.getFirstToken(), message, this.getMetadata().key, this.conf.severity);
|
|
66490
|
+
issues.push(issue);
|
|
66491
|
+
}
|
|
66492
|
+
}
|
|
66262
66493
|
if (comparator === "") {
|
|
66263
66494
|
comparator = current;
|
|
66264
66495
|
}
|
|
@@ -84480,7 +84711,6 @@ __exportStar(__webpack_require__(/*! ./close_dataset */ "./node_modules/@abaplin
|
|
|
84480
84711
|
__exportStar(__webpack_require__(/*! ./collect */ "./node_modules/@abaplint/transpiler/build/src/statements/collect.js"), exports);
|
|
84481
84712
|
__exportStar(__webpack_require__(/*! ./commit */ "./node_modules/@abaplint/transpiler/build/src/statements/commit.js"), exports);
|
|
84482
84713
|
__exportStar(__webpack_require__(/*! ./compute */ "./node_modules/@abaplint/transpiler/build/src/statements/compute.js"), exports);
|
|
84483
|
-
__exportStar(__webpack_require__(/*! ./program */ "./node_modules/@abaplint/transpiler/build/src/statements/program.js"), exports);
|
|
84484
84714
|
__exportStar(__webpack_require__(/*! ./concatenate */ "./node_modules/@abaplint/transpiler/build/src/statements/concatenate.js"), exports);
|
|
84485
84715
|
__exportStar(__webpack_require__(/*! ./condense */ "./node_modules/@abaplint/transpiler/build/src/statements/condense.js"), exports);
|
|
84486
84716
|
__exportStar(__webpack_require__(/*! ./constant */ "./node_modules/@abaplint/transpiler/build/src/statements/constant.js"), exports);
|
|
@@ -84492,8 +84722,8 @@ __exportStar(__webpack_require__(/*! ./data */ "./node_modules/@abaplint/transpi
|
|
|
84492
84722
|
__exportStar(__webpack_require__(/*! ./delete_database */ "./node_modules/@abaplint/transpiler/build/src/statements/delete_database.js"), exports);
|
|
84493
84723
|
__exportStar(__webpack_require__(/*! ./delete_dataset */ "./node_modules/@abaplint/transpiler/build/src/statements/delete_dataset.js"), exports);
|
|
84494
84724
|
__exportStar(__webpack_require__(/*! ./delete_internal */ "./node_modules/@abaplint/transpiler/build/src/statements/delete_internal.js"), exports);
|
|
84495
|
-
__exportStar(__webpack_require__(/*! ./delete_report */ "./node_modules/@abaplint/transpiler/build/src/statements/delete_report.js"), exports);
|
|
84496
84725
|
__exportStar(__webpack_require__(/*! ./delete_memory */ "./node_modules/@abaplint/transpiler/build/src/statements/delete_memory.js"), exports);
|
|
84726
|
+
__exportStar(__webpack_require__(/*! ./delete_report */ "./node_modules/@abaplint/transpiler/build/src/statements/delete_report.js"), exports);
|
|
84497
84727
|
__exportStar(__webpack_require__(/*! ./delete_textpool */ "./node_modules/@abaplint/transpiler/build/src/statements/delete_textpool.js"), exports);
|
|
84498
84728
|
__exportStar(__webpack_require__(/*! ./describe */ "./node_modules/@abaplint/transpiler/build/src/statements/describe.js"), exports);
|
|
84499
84729
|
__exportStar(__webpack_require__(/*! ./do */ "./node_modules/@abaplint/transpiler/build/src/statements/do.js"), exports);
|
|
@@ -84554,8 +84784,10 @@ __exportStar(__webpack_require__(/*! ./open_dataset */ "./node_modules/@abaplint
|
|
|
84554
84784
|
__exportStar(__webpack_require__(/*! ./overlay */ "./node_modules/@abaplint/transpiler/build/src/statements/overlay.js"), exports);
|
|
84555
84785
|
__exportStar(__webpack_require__(/*! ./parameter */ "./node_modules/@abaplint/transpiler/build/src/statements/parameter.js"), exports);
|
|
84556
84786
|
__exportStar(__webpack_require__(/*! ./perform */ "./node_modules/@abaplint/transpiler/build/src/statements/perform.js"), exports);
|
|
84787
|
+
__exportStar(__webpack_require__(/*! ./program */ "./node_modules/@abaplint/transpiler/build/src/statements/program.js"), exports);
|
|
84557
84788
|
__exportStar(__webpack_require__(/*! ./raise_event */ "./node_modules/@abaplint/transpiler/build/src/statements/raise_event.js"), exports);
|
|
84558
84789
|
__exportStar(__webpack_require__(/*! ./raise */ "./node_modules/@abaplint/transpiler/build/src/statements/raise.js"), exports);
|
|
84790
|
+
__exportStar(__webpack_require__(/*! ./ranges */ "./node_modules/@abaplint/transpiler/build/src/statements/ranges.js"), exports);
|
|
84559
84791
|
__exportStar(__webpack_require__(/*! ./read_dataset */ "./node_modules/@abaplint/transpiler/build/src/statements/read_dataset.js"), exports);
|
|
84560
84792
|
__exportStar(__webpack_require__(/*! ./read_line */ "./node_modules/@abaplint/transpiler/build/src/statements/read_line.js"), exports);
|
|
84561
84793
|
__exportStar(__webpack_require__(/*! ./read_report */ "./node_modules/@abaplint/transpiler/build/src/statements/read_report.js"), exports);
|
|
@@ -85816,6 +86048,47 @@ exports.RaiseEventTranspiler = RaiseEventTranspiler;
|
|
|
85816
86048
|
|
|
85817
86049
|
/***/ }),
|
|
85818
86050
|
|
|
86051
|
+
/***/ "./node_modules/@abaplint/transpiler/build/src/statements/ranges.js":
|
|
86052
|
+
/*!**************************************************************************!*\
|
|
86053
|
+
!*** ./node_modules/@abaplint/transpiler/build/src/statements/ranges.js ***!
|
|
86054
|
+
\**************************************************************************/
|
|
86055
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
86056
|
+
|
|
86057
|
+
"use strict";
|
|
86058
|
+
|
|
86059
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
86060
|
+
exports.RangesTranspiler = void 0;
|
|
86061
|
+
const abaplint = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
|
|
86062
|
+
const traversal_1 = __webpack_require__(/*! ../traversal */ "./node_modules/@abaplint/transpiler/build/src/traversal.js");
|
|
86063
|
+
const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
|
|
86064
|
+
const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
|
|
86065
|
+
class RangesTranspiler {
|
|
86066
|
+
transpile(node, traversal) {
|
|
86067
|
+
const token = node.findFirstExpression(abaplint.Expressions.SimpleName)?.getFirstToken();
|
|
86068
|
+
if (token === undefined) {
|
|
86069
|
+
throw new Error("RangesTranspiler, token not found");
|
|
86070
|
+
}
|
|
86071
|
+
const scope = traversal.findCurrentScopeByToken(token);
|
|
86072
|
+
if (scope === undefined) {
|
|
86073
|
+
throw new Error("RangesTranspiler, scope not found: " + node.concatTokens());
|
|
86074
|
+
}
|
|
86075
|
+
const found = scope.findVariable(token.getStr());
|
|
86076
|
+
if (found === undefined) {
|
|
86077
|
+
throw new Error("RangesTranspiler, var not found, \"" + token.getStr() + "\", " + traversal.getFilename() + ", line: " + token.getRow());
|
|
86078
|
+
}
|
|
86079
|
+
const ret = new chunk_1.Chunk()
|
|
86080
|
+
.appendString("let ")
|
|
86081
|
+
.appendString(traversal_1.Traversal.prefixVariable(traversal_1.Traversal.escapeNamespace(found.getName().toLowerCase())))
|
|
86082
|
+
.appendString(" = " + new transpile_types_1.TranspileTypes().toType(found.getType()))
|
|
86083
|
+
.appendString(";");
|
|
86084
|
+
return ret;
|
|
86085
|
+
}
|
|
86086
|
+
}
|
|
86087
|
+
exports.RangesTranspiler = RangesTranspiler;
|
|
86088
|
+
//# sourceMappingURL=ranges.js.map
|
|
86089
|
+
|
|
86090
|
+
/***/ }),
|
|
86091
|
+
|
|
85819
86092
|
/***/ "./node_modules/@abaplint/transpiler/build/src/statements/read_dataset.js":
|
|
85820
86093
|
/*!********************************************************************************!*\
|
|
85821
86094
|
!*** ./node_modules/@abaplint/transpiler/build/src/statements/read_dataset.js ***!
|
|
@@ -88463,7 +88736,14 @@ class SelectTranspiler {
|
|
|
88463
88736
|
}
|
|
88464
88737
|
const concat = selectStatement.concatTokens().toUpperCase();
|
|
88465
88738
|
const from = selectStatement.findFirstExpression(abaplint.Expressions.SQLFromSource)?.concatTokens().toUpperCase();
|
|
88466
|
-
const
|
|
88739
|
+
const sTarget = selectStatement.findFirstExpression(abaplint.Expressions.SQLTarget);
|
|
88740
|
+
let intoName = "";
|
|
88741
|
+
if (sTarget === undefined) {
|
|
88742
|
+
intoName = from.toLowerCase();
|
|
88743
|
+
}
|
|
88744
|
+
else {
|
|
88745
|
+
intoName = new expressions_1.SQLTargetTranspiler().transpile(sTarget, traversal).getCode();
|
|
88746
|
+
}
|
|
88467
88747
|
// note: this implementation SELECTs everything into memory, which might be bad, and sometimes not correct
|
|
88468
88748
|
const targetName = unique_identifier_1.UniqueIdentifier.get();
|
|
88469
88749
|
const loopName = unique_identifier_1.UniqueIdentifier.get();
|
|
@@ -101108,8 +101388,8 @@ class Progress {
|
|
|
101108
101388
|
this.bar.render();
|
|
101109
101389
|
}
|
|
101110
101390
|
}
|
|
101111
|
-
function loadLib(config) {
|
|
101112
|
-
|
|
101391
|
+
async function loadLib(config) {
|
|
101392
|
+
let files = [];
|
|
101113
101393
|
if (config.lib && config.lib !== "" && config.libs === undefined) {
|
|
101114
101394
|
config.libs = [{ url: config.lib }];
|
|
101115
101395
|
}
|
|
@@ -101126,7 +101406,6 @@ function loadLib(config) {
|
|
|
101126
101406
|
childProcess.execSync("git clone --quiet --depth 1 " + l.url + " .", { cwd: dir, stdio: "inherit" });
|
|
101127
101407
|
cleanupFolder = true;
|
|
101128
101408
|
}
|
|
101129
|
-
let count = 0;
|
|
101130
101409
|
let patterns = ["/src/**"];
|
|
101131
101410
|
if (l.files !== undefined && typeof l.files === "string" && l.files !== "") {
|
|
101132
101411
|
patterns = [l.files];
|
|
@@ -101134,18 +101413,17 @@ function loadLib(config) {
|
|
|
101134
101413
|
else if (Array.isArray(l.files)) {
|
|
101135
101414
|
patterns = l.files;
|
|
101136
101415
|
}
|
|
101416
|
+
const filesToRead = [];
|
|
101137
101417
|
for (const pattern of patterns) {
|
|
101138
|
-
for (
|
|
101418
|
+
for (const filename of glob.sync(dir + pattern, { nosort: true, nodir: true })) {
|
|
101139
101419
|
if (filename.endsWith(".clas.testclasses.abap")) {
|
|
101140
101420
|
continue;
|
|
101141
101421
|
}
|
|
101142
|
-
|
|
101143
|
-
filename = path.basename(filename);
|
|
101144
|
-
files.push({ filename, contents });
|
|
101145
|
-
count++;
|
|
101422
|
+
filesToRead.push(filename);
|
|
101146
101423
|
}
|
|
101147
101424
|
}
|
|
101148
|
-
|
|
101425
|
+
files = await file_operations_1.FileOperations.readAllFiles(filesToRead, "");
|
|
101426
|
+
console.log("\t" + filesToRead.length + " files added from lib");
|
|
101149
101427
|
if (cleanupFolder === true) {
|
|
101150
101428
|
file_operations_1.FileOperations.deleteFolderRecursive(dir);
|
|
101151
101429
|
}
|
|
@@ -101189,7 +101467,7 @@ function writeObjects(objects, config, outputFolder, files) {
|
|
|
101189
101467
|
async function run() {
|
|
101190
101468
|
console.log("Transpiler CLI");
|
|
101191
101469
|
const config = config_1.TranspilerConfig.find(process.argv[2]);
|
|
101192
|
-
const libFiles = loadLib(config);
|
|
101470
|
+
const libFiles = await loadLib(config);
|
|
101193
101471
|
const files = await file_operations_1.FileOperations.loadFiles(config);
|
|
101194
101472
|
console.log("\nBuilding");
|
|
101195
101473
|
const t = new Transpiler.Transpiler(config.options);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.63",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"author": "abaplint",
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@abaplint/core": "^2.113.
|
|
31
|
-
"@abaplint/transpiler": "^2.10.
|
|
30
|
+
"@abaplint/core": "^2.113.136",
|
|
31
|
+
"@abaplint/transpiler": "^2.10.63",
|
|
32
32
|
"@types/glob": "^8.1.0",
|
|
33
|
-
"@types/node": "^22.
|
|
33
|
+
"@types/node": "^22.16.0",
|
|
34
34
|
"@types/progress": "^2.0.7",
|
|
35
35
|
"glob": "=7.2.0",
|
|
36
36
|
"progress": "^2.0.3",
|