@abaplint/transpiler-cli 2.11.64 → 2.11.66

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.
Files changed (2) hide show
  1. package/build/bundle.js +120 -8
  2. package/package.json +3 -3
package/build/bundle.js CHANGED
@@ -4639,7 +4639,7 @@ const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@a
4639
4639
  const simple_source3_1 = __webpack_require__(/*! ./simple_source3 */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source3.js");
4640
4640
  class FunctionExportingParameter extends combi_1.Expression {
4641
4641
  getRunnable() {
4642
- const s = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Version.v740sp02, source_1.Source), simple_source3_1.SimpleSource3);
4642
+ const s = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Version.v740sp02, source_1.Source, version_1.Version.OpenABAP), simple_source3_1.SimpleSource3);
4643
4643
  const exp = (0, combi_1.seq)(parameter_name_1.ParameterName, "=", s);
4644
4644
  return exp;
4645
4645
  }
@@ -6813,7 +6813,7 @@ class Source extends combi_1.Expression {
6813
6813
  const old = (0, combi_1.seq)((0, combi_1.optPrio)(prefix), (0, combi_1.altPrio)(_1.Constant, _1.StringTemplate, text_element_1.TextElement, bool, method, (0, combi_1.seq)(_1.FieldChain, deref), paren), (0, combi_1.optPrio)(after));
6814
6814
  const corr = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)("CORRESPONDING", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.CorrespondingBody, rparen, (0, combi_1.optPrio)(after)), version_1.Version.OpenABAP);
6815
6815
  const conv = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("CONV", _1.TypeNameOrInfer, lparenNoSpace, _1.ConvBody, rparenNoSpace, (0, combi_1.optPrio)(after)), version_1.Version.OpenABAP);
6816
- const swit = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("SWITCH", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.SwitchBody, rparenNoSpace, (0, combi_1.optPrio)(after)));
6816
+ const swit = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("SWITCH", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.SwitchBody, rparenNoSpace, (0, combi_1.optPrio)(after)), version_1.Version.OpenABAP);
6817
6817
  const value = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("VALUE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ValueBody, rparenNoSpace, (0, combi_1.optPrio)(after)), version_1.Version.OpenABAP);
6818
6818
  const cond = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("COND", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.CondBody, rparenNoSpace, (0, combi_1.optPrio)(after)), version_1.Version.OpenABAP);
6819
6819
  const reff = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("REF", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, (0, combi_1.optPrio)("OPTIONAL"), rparen), version_1.Version.OpenABAP);
@@ -14893,7 +14893,7 @@ class Raise {
14893
14893
  const mess = (0, combi_1.seq)("MESSAGE", expressions_1.MessageSource, (0, combi_1.opt)(expressions_1.RaiseWith));
14894
14894
  const messid = (0, combi_1.seq)("MESSAGE ID", expressions_1.Source, "NUMBER", (0, combi_1.altPrio)(expressions_1.MessageNumber, expressions_1.Source), (0, combi_1.optPrio)(expressions_1.RaiseWith));
14895
14895
  const exporting = (0, combi_1.seq)("EXPORTING", expressions_1.ParameterListS);
14896
- const from = (0, combi_1.seq)("TYPE", expressions_1.ClassName, (0, combi_1.opt)((0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v750, (0, combi_1.alt)(mess, messid)), (0, combi_1.ver)(version_1.Version.v752, "USING MESSAGE"))), (0, combi_1.optPrio)(exporting));
14896
+ const from = (0, combi_1.seq)("TYPE", expressions_1.ClassName, (0, combi_1.opt)((0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v750, (0, combi_1.alt)(mess, messid), version_1.Version.OpenABAP), (0, combi_1.ver)(version_1.Version.v752, "USING MESSAGE"))), (0, combi_1.optPrio)(exporting));
14897
14897
  const pre = (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)("RESUMABLE"), "EXCEPTION"), "SHORTDUMP");
14898
14898
  const clas = (0, combi_1.seq)(pre, (0, combi_1.altPrio)(from, (0, combi_1.ver)(version_1.Version.v752, expressions_1.Source, version_1.Version.OpenABAP), expressions_1.SimpleSource2));
14899
14899
  const ret = (0, combi_1.seq)("RAISE", (0, combi_1.altPrio)(clas, expressions_1.ExceptionName));
@@ -53851,7 +53851,7 @@ class Registry {
53851
53851
  }
53852
53852
  static abaplintVersion() {
53853
53853
  // magic, see build script "version.sh"
53854
- return "2.113.191";
53854
+ return "2.113.193";
53855
53855
  }
53856
53856
  getDDICReferences() {
53857
53857
  return this.ddicReferences;
@@ -79734,6 +79734,7 @@ __exportStar(__webpack_require__(/*! ./attribute_chain */ "./node_modules/@abapl
79734
79734
  __exportStar(__webpack_require__(/*! ./attribute_name */ "./node_modules/@abaplint/transpiler/build/src/expressions/attribute_name.js"), exports);
79735
79735
  __exportStar(__webpack_require__(/*! ./call_transformation_options */ "./node_modules/@abaplint/transpiler/build/src/expressions/call_transformation_options.js"), exports);
79736
79736
  __exportStar(__webpack_require__(/*! ./call_transformation_parameters */ "./node_modules/@abaplint/transpiler/build/src/expressions/call_transformation_parameters.js"), exports);
79737
+ __exportStar(__webpack_require__(/*! ./cast */ "./node_modules/@abaplint/transpiler/build/src/expressions/cast.js"), exports);
79737
79738
  __exportStar(__webpack_require__(/*! ./compare_operator */ "./node_modules/@abaplint/transpiler/build/src/expressions/compare_operator.js"), exports);
79738
79739
  __exportStar(__webpack_require__(/*! ./compare */ "./node_modules/@abaplint/transpiler/build/src/expressions/compare.js"), exports);
79739
79740
  __exportStar(__webpack_require__(/*! ./component_chain_simple */ "./node_modules/@abaplint/transpiler/build/src/expressions/component_chain_simple.js"), exports);
@@ -79741,28 +79742,26 @@ __exportStar(__webpack_require__(/*! ./component_chain */ "./node_modules/@abapl
79741
79742
  __exportStar(__webpack_require__(/*! ./component_compare */ "./node_modules/@abaplint/transpiler/build/src/expressions/component_compare.js"), exports);
79742
79743
  __exportStar(__webpack_require__(/*! ./component_cond_sub */ "./node_modules/@abaplint/transpiler/build/src/expressions/component_cond_sub.js"), exports);
79743
79744
  __exportStar(__webpack_require__(/*! ./component_cond */ "./node_modules/@abaplint/transpiler/build/src/expressions/component_cond.js"), exports);
79745
+ __exportStar(__webpack_require__(/*! ./cond_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/cond_body.js"), exports);
79744
79746
  __exportStar(__webpack_require__(/*! ./cond_sub */ "./node_modules/@abaplint/transpiler/build/src/expressions/cond_sub.js"), exports);
79745
79747
  __exportStar(__webpack_require__(/*! ./cond */ "./node_modules/@abaplint/transpiler/build/src/expressions/cond.js"), exports);
79746
79748
  __exportStar(__webpack_require__(/*! ./constant */ "./node_modules/@abaplint/transpiler/build/src/expressions/constant.js"), exports);
79747
- __exportStar(__webpack_require__(/*! ./cast */ "./node_modules/@abaplint/transpiler/build/src/expressions/cast.js"), exports);
79748
79749
  __exportStar(__webpack_require__(/*! ./database_table */ "./node_modules/@abaplint/transpiler/build/src/expressions/database_table.js"), exports);
79749
79750
  __exportStar(__webpack_require__(/*! ./field_chain */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_chain.js"), exports);
79750
79751
  __exportStar(__webpack_require__(/*! ./field_length */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_length.js"), exports);
79751
79752
  __exportStar(__webpack_require__(/*! ./field_offset */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_offset.js"), exports);
79752
79753
  __exportStar(__webpack_require__(/*! ./field_symbol */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_symbol.js"), exports);
79753
79754
  __exportStar(__webpack_require__(/*! ./function_exporting */ "./node_modules/@abaplint/transpiler/build/src/expressions/function_exporting.js"), exports);
79754
- __exportStar(__webpack_require__(/*! ./table_expression */ "./node_modules/@abaplint/transpiler/build/src/expressions/table_expression.js"), exports);
79755
79755
  __exportStar(__webpack_require__(/*! ./function_parameters */ "./node_modules/@abaplint/transpiler/build/src/expressions/function_parameters.js"), exports);
79756
79756
  __exportStar(__webpack_require__(/*! ./let */ "./node_modules/@abaplint/transpiler/build/src/expressions/let.js"), exports);
79757
79757
  __exportStar(__webpack_require__(/*! ./message_number */ "./node_modules/@abaplint/transpiler/build/src/expressions/message_number.js"), exports);
79758
79758
  __exportStar(__webpack_require__(/*! ./method_call_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_call_body.js"), exports);
79759
79759
  __exportStar(__webpack_require__(/*! ./method_call_chain */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_call_chain.js"), exports);
79760
- __exportStar(__webpack_require__(/*! ./cond_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/cond_body.js"), exports);
79761
79760
  __exportStar(__webpack_require__(/*! ./method_call_param */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_call_param.js"), exports);
79762
- __exportStar(__webpack_require__(/*! ./new_object */ "./node_modules/@abaplint/transpiler/build/src/expressions/new_object.js"), exports);
79763
79761
  __exportStar(__webpack_require__(/*! ./method_call */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_call.js"), exports);
79764
79762
  __exportStar(__webpack_require__(/*! ./method_parameters */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_parameters.js"), exports);
79765
79763
  __exportStar(__webpack_require__(/*! ./method_source */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_source.js"), exports);
79764
+ __exportStar(__webpack_require__(/*! ./new_object */ "./node_modules/@abaplint/transpiler/build/src/expressions/new_object.js"), exports);
79766
79765
  __exportStar(__webpack_require__(/*! ./parameter_list_s */ "./node_modules/@abaplint/transpiler/build/src/expressions/parameter_list_s.js"), exports);
79767
79766
  __exportStar(__webpack_require__(/*! ./parameter_list_t */ "./node_modules/@abaplint/transpiler/build/src/expressions/parameter_list_t.js"), exports);
79768
79767
  __exportStar(__webpack_require__(/*! ./parameter_name */ "./node_modules/@abaplint/transpiler/build/src/expressions/parameter_name.js"), exports);
@@ -79794,6 +79793,8 @@ __exportStar(__webpack_require__(/*! ./sql_source */ "./node_modules/@abaplint/t
79794
79793
  __exportStar(__webpack_require__(/*! ./sql_target */ "./node_modules/@abaplint/transpiler/build/src/expressions/sql_target.js"), exports);
79795
79794
  __exportStar(__webpack_require__(/*! ./string_template_source */ "./node_modules/@abaplint/transpiler/build/src/expressions/string_template_source.js"), exports);
79796
79795
  __exportStar(__webpack_require__(/*! ./string_template */ "./node_modules/@abaplint/transpiler/build/src/expressions/string_template.js"), exports);
79796
+ __exportStar(__webpack_require__(/*! ./switch_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/switch_body.js"), exports);
79797
+ __exportStar(__webpack_require__(/*! ./table_expression */ "./node_modules/@abaplint/transpiler/build/src/expressions/table_expression.js"), exports);
79797
79798
  __exportStar(__webpack_require__(/*! ./target_field */ "./node_modules/@abaplint/transpiler/build/src/expressions/target_field.js"), exports);
79798
79799
  __exportStar(__webpack_require__(/*! ./target */ "./node_modules/@abaplint/transpiler/build/src/expressions/target.js"), exports);
79799
79800
  __exportStar(__webpack_require__(/*! ./type_name_or_infer */ "./node_modules/@abaplint/transpiler/build/src/expressions/type_name_or_infer.js"), exports);
@@ -80721,6 +80722,9 @@ class SourceTranspiler {
80721
80722
  else if (c.get() instanceof core_1.Expressions.CondBody) {
80722
80723
  continue;
80723
80724
  }
80725
+ else if (c.get() instanceof core_1.Expressions.SwitchBody) {
80726
+ continue;
80727
+ }
80724
80728
  else {
80725
80729
  ret.appendString("SourceUnknown$" + c.get().constructor.name);
80726
80730
  }
@@ -80776,6 +80780,17 @@ class SourceTranspiler {
80776
80780
  }
80777
80781
  ret.appendChunk(new _1.CondBodyTranspiler().transpile(typ, condBody, traversal));
80778
80782
  }
80783
+ else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().toUpperCase() === "SWITCH") {
80784
+ const typ = node.findDirectExpression(core_1.Expressions.TypeNameOrInfer);
80785
+ if (typ === undefined) {
80786
+ throw new Error("TypeNameOrInfer not found in SwitchBody");
80787
+ }
80788
+ const switchBody = node.findDirectExpression(core_1.Expressions.SwitchBody);
80789
+ if (switchBody === undefined) {
80790
+ throw new Error("SwitchBody not found");
80791
+ }
80792
+ ret.appendChunk(new _1.SwitchBodyTranspiler().transpile(typ, switchBody, traversal));
80793
+ }
80779
80794
  else if (c instanceof core_1.Nodes.TokenNode && c.getFirstToken().getStr().toUpperCase() === "REF") {
80780
80795
  const infer = node.findDirectExpression(core_1.Expressions.TypeNameOrInfer);
80781
80796
  if (infer?.concatTokens() !== "#") {
@@ -81682,6 +81697,103 @@ exports.StringTemplateSourceTranspiler = StringTemplateSourceTranspiler;
81682
81697
 
81683
81698
  /***/ }),
81684
81699
 
81700
+ /***/ "./node_modules/@abaplint/transpiler/build/src/expressions/switch_body.js":
81701
+ /*!********************************************************************************!*\
81702
+ !*** ./node_modules/@abaplint/transpiler/build/src/expressions/switch_body.js ***!
81703
+ \********************************************************************************/
81704
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
81705
+
81706
+ "use strict";
81707
+
81708
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
81709
+ exports.SwitchBodyTranspiler = void 0;
81710
+ const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
81711
+ const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
81712
+ const type_name_or_infer_1 = __webpack_require__(/*! ./type_name_or_infer */ "./node_modules/@abaplint/transpiler/build/src/expressions/type_name_or_infer.js");
81713
+ const transpile_types_1 = __webpack_require__(/*! ../transpile_types */ "./node_modules/@abaplint/transpiler/build/src/transpile_types.js");
81714
+ const source_1 = __webpack_require__(/*! ./source */ "./node_modules/@abaplint/transpiler/build/src/expressions/source.js");
81715
+ class SwitchBodyTranspiler {
81716
+ transpile(typ, body, traversal) {
81717
+ if (!(typ.get() instanceof core_1.Expressions.TypeNameOrInfer)) {
81718
+ throw new Error("SwitchBodyTranspiler, Expected TypeNameOrInfer");
81719
+ }
81720
+ else if (body.findDirectExpression(core_1.Expressions.Let)) {
81721
+ throw new Error("SwitchBodyTranspiler, Let not supported, todo");
81722
+ }
81723
+ const source = traversal.traverse(body.findDirectExpression(core_1.Expressions.Source));
81724
+ const whenThenOr = [];
81725
+ const elseExpression = body.findExpressionAfterToken("ELSE");
81726
+ {
81727
+ let currentWhenThen = { whenOr: [], then: undefined };
81728
+ let mode = "";
81729
+ for (const c of body.getChildren()) {
81730
+ if (c instanceof core_1.Nodes.TokenNode) {
81731
+ if (c.concatTokens() === "WHEN") {
81732
+ if (currentWhenThen.whenOr.length > 0) {
81733
+ whenThenOr.push(currentWhenThen);
81734
+ }
81735
+ currentWhenThen = { whenOr: [], then: undefined };
81736
+ mode = "WHEN";
81737
+ }
81738
+ else if (c.concatTokens() === "THEN") {
81739
+ mode = "THEN";
81740
+ }
81741
+ }
81742
+ else if (mode === "WHEN" && c instanceof core_1.Nodes.ExpressionNode) {
81743
+ currentWhenThen.whenOr.push(c);
81744
+ }
81745
+ else if (mode === "THEN" && c instanceof core_1.Nodes.ExpressionNode) {
81746
+ currentWhenThen.then = c;
81747
+ }
81748
+ }
81749
+ if (currentWhenThen.whenOr.length > 0) {
81750
+ whenThenOr.push(currentWhenThen);
81751
+ }
81752
+ }
81753
+ const type = new type_name_or_infer_1.TypeNameOrInfer().findType(typ, traversal);
81754
+ const target = transpile_types_1.TranspileTypes.toType(type);
81755
+ const ret = new chunk_1.Chunk();
81756
+ ret.appendString("(" + target + ".set(");
81757
+ ret.appendString("await (async () => {\n");
81758
+ for (const wto of whenThenOr) {
81759
+ let thenValue = "";
81760
+ if (wto.then?.get() instanceof core_1.Expressions.Source) {
81761
+ thenValue = new source_1.SourceTranspiler().transpile(wto.then, traversal).getCode();
81762
+ }
81763
+ else {
81764
+ throw new Error("SwitchBodyTranspiler, Expected Source1, todo, " + wto.then?.get().constructor.name);
81765
+ }
81766
+ // todo, async await?
81767
+ for (const thenOr of wto.whenOr) {
81768
+ let condition = "";
81769
+ if (thenOr.get() instanceof core_1.Expressions.Source) {
81770
+ condition = new source_1.SourceTranspiler().transpile(thenOr, traversal).getCode();
81771
+ }
81772
+ else {
81773
+ throw new Error("SwitchBodyTranspiler, Expected Source2, todo, " + thenOr.get().constructor.name);
81774
+ }
81775
+ ret.appendString(`if (abap.compare.eq(${source.getCode()}, ${condition})) { return ${thenValue}; }\n`);
81776
+ }
81777
+ }
81778
+ if (elseExpression) {
81779
+ if (!(elseExpression.get() instanceof core_1.Expressions.Source)) {
81780
+ throw new Error("SwitchBodyTranspiler, Expected Source3, todo, " + elseExpression.get().constructor.name);
81781
+ }
81782
+ const value = new source_1.SourceTranspiler().transpile(elseExpression, traversal).getCode();
81783
+ ret.appendString(`return ${value};\n`);
81784
+ }
81785
+ else {
81786
+ ret.appendString(`return ${target};\n`);
81787
+ }
81788
+ ret.appendString("})()))");
81789
+ return ret;
81790
+ }
81791
+ }
81792
+ exports.SwitchBodyTranspiler = SwitchBodyTranspiler;
81793
+ //# sourceMappingURL=switch_body.js.map
81794
+
81795
+ /***/ }),
81796
+
81685
81797
  /***/ "./node_modules/@abaplint/transpiler/build/src/expressions/table_expression.js":
81686
81798
  /*!*************************************************************************************!*\
81687
81799
  !*** ./node_modules/@abaplint/transpiler/build/src/expressions/table_expression.js ***!
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.11.64",
3
+ "version": "2.11.66",
4
4
  "description": "Transpiler - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -27,8 +27,8 @@
27
27
  "author": "abaplint",
28
28
  "license": "MIT",
29
29
  "devDependencies": {
30
- "@abaplint/core": "^2.113.191",
31
- "@abaplint/transpiler": "^2.11.64",
30
+ "@abaplint/core": "^2.113.193",
31
+ "@abaplint/transpiler": "^2.11.66",
32
32
  "@types/glob": "^8.1.0",
33
33
  "@types/node": "^24.3.0",
34
34
  "@types/progress": "^2.0.7",