@abaplint/transpiler-cli 2.11.28 → 2.11.30

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 +86 -3
  2. package/package.json +4 -4
package/build/bundle.js CHANGED
@@ -8096,7 +8096,7 @@ class TableExpression extends combi_1.Expression {
8096
8096
  const key = (0, combi_1.seq)("KEY", _1.SimpleName);
8097
8097
  const index = (0, combi_1.seq)("INDEX", _1.Source);
8098
8098
  const ret = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.BracketLeftW), (0, combi_1.alt)(_1.Source, (0, combi_1.seq)((0, combi_1.optPrio)(key), (0, combi_1.opt)("COMPONENTS"), (0, combi_1.altPrio)(fields, index))), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WBracketRight), (0, combi_1.tok)(tokens_1.WBracketRightW)));
8099
- return (0, combi_1.ver)(version_1.Version.v740sp02, ret);
8099
+ return (0, combi_1.ver)(version_1.Version.v740sp02, ret, version_1.Version.OpenABAP);
8100
8100
  }
8101
8101
  }
8102
8102
  exports.TableExpression = TableExpression;
@@ -24466,9 +24466,14 @@ const Expressions = __webpack_require__(/*! ../../2_statements/expressions */ ".
24466
24466
  const source_1 = __webpack_require__(/*! ./source */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js");
24467
24467
  class CorrespondingBody {
24468
24468
  static runSyntax(node, input, targetType) {
24469
+ var _a;
24469
24470
  if (node === undefined) {
24470
24471
  return targetType;
24471
24472
  }
24473
+ const base = (_a = node.findDirectExpression(Expressions.CorrespondingBodyBase)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Source);
24474
+ if (base) {
24475
+ source_1.Source.runSyntax(base, input);
24476
+ }
24472
24477
  let type = undefined;
24473
24478
  for (const s of node.findDirectExpressions(Expressions.Source)) {
24474
24479
  if (type === undefined) {
@@ -53742,7 +53747,7 @@ class Registry {
53742
53747
  }
53743
53748
  static abaplintVersion() {
53744
53749
  // magic, see build script "version.sh"
53745
- return "2.113.173";
53750
+ return "2.113.174";
53746
53751
  }
53747
53752
  getDDICReferences() {
53748
53753
  return this.ddicReferences;
@@ -79112,7 +79117,7 @@ class FieldChainTranspiler {
79112
79117
  this.addGet = addGet;
79113
79118
  }
79114
79119
  transpile(node, traversal, prefix = true, filename, wrongScope = false) {
79115
- const ret = new chunk_1.Chunk();
79120
+ let ret = new chunk_1.Chunk();
79116
79121
  const extra = [];
79117
79122
  let interfaceNameAdded = false;
79118
79123
  let context = undefined;
@@ -79194,6 +79199,10 @@ class FieldChainTranspiler {
79194
79199
  extra.push("length: " + new _1.FieldLengthTranspiler().transpile(c, traversal).getCode());
79195
79200
  this.addGetOffset = true;
79196
79201
  }
79202
+ else if (c instanceof core_1.Nodes.ExpressionNode
79203
+ && c.get() instanceof core_1.Expressions.TableExpression) {
79204
+ ret = new _1.TableExpressionTranspiler().transpile(c, traversal, ret);
79205
+ }
79197
79206
  }
79198
79207
  if (this.addGetOffset) {
79199
79208
  let foo = extra.join(", ");
@@ -79436,6 +79445,7 @@ __exportStar(__webpack_require__(/*! ./field_length */ "./node_modules/@abaplint
79436
79445
  __exportStar(__webpack_require__(/*! ./field_offset */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_offset.js"), exports);
79437
79446
  __exportStar(__webpack_require__(/*! ./field_symbol */ "./node_modules/@abaplint/transpiler/build/src/expressions/field_symbol.js"), exports);
79438
79447
  __exportStar(__webpack_require__(/*! ./function_exporting */ "./node_modules/@abaplint/transpiler/build/src/expressions/function_exporting.js"), exports);
79448
+ __exportStar(__webpack_require__(/*! ./table_expression */ "./node_modules/@abaplint/transpiler/build/src/expressions/table_expression.js"), exports);
79439
79449
  __exportStar(__webpack_require__(/*! ./function_parameters */ "./node_modules/@abaplint/transpiler/build/src/expressions/function_parameters.js"), exports);
79440
79450
  __exportStar(__webpack_require__(/*! ./message_number */ "./node_modules/@abaplint/transpiler/build/src/expressions/message_number.js"), exports);
79441
79451
  __exportStar(__webpack_require__(/*! ./method_call_body */ "./node_modules/@abaplint/transpiler/build/src/expressions/method_call_body.js"), exports);
@@ -81242,6 +81252,72 @@ exports.StringTemplateSourceTranspiler = StringTemplateSourceTranspiler;
81242
81252
 
81243
81253
  /***/ }),
81244
81254
 
81255
+ /***/ "./node_modules/@abaplint/transpiler/build/src/expressions/table_expression.js":
81256
+ /*!*************************************************************************************!*\
81257
+ !*** ./node_modules/@abaplint/transpiler/build/src/expressions/table_expression.js ***!
81258
+ \*************************************************************************************/
81259
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
81260
+
81261
+ "use strict";
81262
+
81263
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
81264
+ exports.TableExpressionTranspiler = void 0;
81265
+ const core_1 = __webpack_require__(/*! @abaplint/core */ "./node_modules/@abaplint/core/build/src/index.js");
81266
+ const chunk_1 = __webpack_require__(/*! ../chunk */ "./node_modules/@abaplint/transpiler/build/src/chunk.js");
81267
+ const component_chain_simple_1 = __webpack_require__(/*! ./component_chain_simple */ "./node_modules/@abaplint/transpiler/build/src/expressions/component_chain_simple.js");
81268
+ class TableExpressionTranspiler {
81269
+ transpile(node, traversal, source) {
81270
+ if (source === undefined) {
81271
+ throw new Error("TableExpressionTranspiler: Source chunk is undefined");
81272
+ }
81273
+ const ret = new chunk_1.Chunk();
81274
+ const extra = [];
81275
+ let field = "";
81276
+ let usesTableLine = false;
81277
+ const withKey = [];
81278
+ if (node.getChildren().length === 3 && node.findDirectExpression(core_1.Expressions.Source)) {
81279
+ extra.push(`index: ${traversal.traverse(node.findDirectExpression(core_1.Expressions.Source)).getCode()}`);
81280
+ }
81281
+ else if (node.findDirectTokenByText("INDEX")) {
81282
+ throw new Error("TableExpressionTranspiler: todo, other INDEX");
81283
+ }
81284
+ else if (node.findDirectExpression(core_1.Expressions.SimpleName)) {
81285
+ throw new Error("TableExpressionTranspiler: todo, SimpleName");
81286
+ }
81287
+ else if (node.findDirectExpression(core_1.Expressions.Dynamic)) {
81288
+ throw new Error("TableExpressionTranspiler: todo, Dynamic");
81289
+ }
81290
+ else {
81291
+ // conditions
81292
+ for (const c of node.getChildren()) {
81293
+ if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.ComponentChainSimple) {
81294
+ field = new component_chain_simple_1.ComponentChainSimpleTranspiler("i.").transpile(c, traversal).getCode();
81295
+ if (field === "i.table_line") {
81296
+ usesTableLine = true;
81297
+ }
81298
+ }
81299
+ else if (c instanceof core_1.Nodes.ExpressionNode && c.get() instanceof core_1.Expressions.Source) {
81300
+ withKey.push("abap.compare.eq(" + field + ", " + traversal.traverse(c).getCode() + ")");
81301
+ }
81302
+ else if (c.concatTokens() === "=" || c.concatTokens() === "[" || c.concatTokens() === "]") {
81303
+ continue;
81304
+ }
81305
+ else {
81306
+ throw new Error("TableExpressionTranspiler: todo, other, " + c.concatTokens());
81307
+ }
81308
+ }
81309
+ extra.push("withKey: (i) => {return " + withKey.join(" && ") + ";}");
81310
+ extra.push("usesTableLine: " + usesTableLine);
81311
+ }
81312
+ ret.appendString(`abap.operators.tableExpression(${source.getCode()}, {${extra.join(", ")} })`);
81313
+ return ret;
81314
+ }
81315
+ }
81316
+ exports.TableExpressionTranspiler = TableExpressionTranspiler;
81317
+ //# sourceMappingURL=table_expression.js.map
81318
+
81319
+ /***/ }),
81320
+
81245
81321
  /***/ "./node_modules/@abaplint/transpiler/build/src/expressions/target.js":
81246
81322
  /*!***************************************************************************!*\
81247
81323
  !*** ./node_modules/@abaplint/transpiler/build/src/expressions/target.js ***!
@@ -81273,6 +81349,9 @@ class TargetTranspiler {
81273
81349
  ret.append(traversal_1.Traversal.prefixVariable(traversal_1.Traversal.escapeNamespace(prefix)), c, traversal);
81274
81350
  context = scope?.findVariable(c.getFirstToken().getStr())?.getType();
81275
81351
  }
81352
+ else if (c.get() instanceof core_1.Expressions.TableExpression && c instanceof core_1.Nodes.ExpressionNode) {
81353
+ ret = new _1.TableExpressionTranspiler().transpile(c, traversal, ret);
81354
+ }
81276
81355
  else if (c.get() instanceof core_1.Expressions.InlineData && c instanceof core_1.Nodes.ExpressionNode) {
81277
81356
  const targetField = c.findDirectExpression(core_1.Expressions.TargetField);
81278
81357
  if (targetField === undefined) {
@@ -81469,6 +81548,10 @@ class ValueBodyTranspiler {
81469
81548
  const rowType = context.getRowType();
81470
81549
  ret.appendString(new value_body_line_1.ValueBodyLineTranspiler().transpile(rowType, child, traversal, extraFields).getCode());
81471
81550
  }
81551
+ else if (child.get() instanceof core_1.Expressions.Source && child instanceof core_1.Nodes.ExpressionNode) {
81552
+ const source = traversal.traverse(child);
81553
+ ret.appendString(".set(" + source.getCode() + ".clone())");
81554
+ }
81472
81555
  else {
81473
81556
  throw new Error("ValueBodyTranspiler, unknown " + child.get().constructor.name + " \"" + child.concatTokens()) + "\"";
81474
81557
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.11.28",
3
+ "version": "2.11.30",
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.173",
31
- "@abaplint/transpiler": "^2.11.28",
30
+ "@abaplint/core": "^2.113.174",
31
+ "@abaplint/transpiler": "^2.11.30",
32
32
  "@types/glob": "^8.1.0",
33
33
  "@types/node": "^24.2.1",
34
34
  "@types/progress": "^2.0.7",
@@ -38,6 +38,6 @@
38
38
  "typescript": "^5.9.2",
39
39
  "p-limit": "^3.1.0",
40
40
  "webpack-cli": "^6.0.1",
41
- "webpack": "^5.101.1"
41
+ "webpack": "^5.101.2"
42
42
  }
43
43
  }