@abaplint/cli 2.102.22 → 2.102.23

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/cli.js +58 -17
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -9824,7 +9824,7 @@ const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@a
9824
9824
  const expressions_1 = __webpack_require__(/*! ../expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
9825
9825
  class CaseType {
9826
9826
  getMatcher() {
9827
- return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("CASE TYPE OF", expressions_1.Source));
9827
+ return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("CASE TYPE OF", expressions_1.Source), version_1.Version.OpenABAP);
9828
9828
  }
9829
9829
  }
9830
9830
  exports.CaseType = CaseType;
@@ -16935,9 +16935,9 @@ const expressions_1 = __webpack_require__(/*! ../expressions */ "./node_modules/
16935
16935
  const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
16936
16936
  class WhenType {
16937
16937
  getMatcher() {
16938
- const into = (0, combi_1.seq)("INTO", expressions_1.InlineData);
16938
+ const into = (0, combi_1.seq)("INTO", expressions_1.Target);
16939
16939
  const type = (0, combi_1.seq)(expressions_1.ClassName, (0, combi_1.optPrio)(into));
16940
- return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("WHEN TYPE", type));
16940
+ return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("WHEN TYPE", type), version_1.Version.OpenABAP);
16941
16941
  }
16942
16942
  }
16943
16943
  exports.WhenType = WhenType;
@@ -25833,12 +25833,6 @@ class Source {
25833
25833
  throw new Error("determineType, child TypeNameOrInfer not found");
25834
25834
  }
25835
25835
  else if (typeName === "#" && targetType) {
25836
- // const found = basic.lookupQualifiedName(targetType.getQualifiedName());
25837
- /*
25838
- if (found) {
25839
- scope.addReference(typeToken, found, ReferenceType.InferredType, filename);
25840
- }
25841
- */
25842
25836
  return targetType;
25843
25837
  }
25844
25838
  if (typeName !== "#" && typeToken) {
@@ -27168,18 +27162,33 @@ exports.Assign = void 0;
27168
27162
  const Expressions = __webpack_require__(/*! ../../2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
27169
27163
  const source_1 = __webpack_require__(/*! ../expressions/source */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js");
27170
27164
  const fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js");
27171
- const dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js");
27172
27165
  const basic_1 = __webpack_require__(/*! ../../types/basic */ "./node_modules/@abaplint/core/build/src/abap/types/basic/index.js");
27166
+ const dynamic_1 = __webpack_require__(/*! ../expressions/dynamic */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/dynamic.js");
27173
27167
  class Assign {
27174
27168
  runSyntax(node, scope, filename) {
27175
- var _a, _b, _c;
27176
- const sources = ((_a = node.findDirectExpression(Expressions.AssignSource)) === null || _a === void 0 ? void 0 : _a.findDirectExpressions(Expressions.Source)) || [];
27169
+ var _a, _b;
27170
+ const assignSource = node.findDirectExpression(Expressions.AssignSource);
27171
+ const sources = (assignSource === null || assignSource === void 0 ? void 0 : assignSource.findDirectExpressions(Expressions.Source)) || [];
27177
27172
  const theSource = sources[sources.length - 1];
27178
- let sourceType = new source_1.Source().runSyntax(theSource, scope, filename);
27179
- if (sourceType === undefined || ((_b = node.findDirectExpression(Expressions.AssignSource)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.Dynamic))) {
27173
+ let sourceType = undefined;
27174
+ const firstAssign = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getChildren()[0];
27175
+ const secondAssign = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getChildren()[1];
27176
+ const thirdAssign = assignSource === null || assignSource === void 0 ? void 0 : assignSource.getChildren()[2];
27177
+ if ((secondAssign === null || secondAssign === void 0 ? void 0 : secondAssign.concatTokens()) === "=>" && firstAssign && (thirdAssign === null || thirdAssign === void 0 ? void 0 : thirdAssign.get()) instanceof Expressions.Dynamic) {
27178
+ const name = firstAssign.concatTokens();
27179
+ const found = scope.findObjectDefinition(name) === undefined || scope.findVariable(name);
27180
+ if (found === undefined && scope.getDDIC().inErrorNamespace(name)) {
27181
+ throw new Error(secondAssign.concatTokens() + " not found");
27182
+ }
27183
+ sourceType = new basic_1.VoidType("Dynamic");
27184
+ }
27185
+ else {
27186
+ sourceType = new source_1.Source().runSyntax(theSource, scope, filename);
27187
+ }
27188
+ if (sourceType === undefined || ((_a = node.findDirectExpression(Expressions.AssignSource)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Dynamic))) {
27180
27189
  sourceType = new basic_1.AnyType();
27181
27190
  }
27182
- for (const d of ((_c = node.findDirectExpression(Expressions.AssignSource)) === null || _c === void 0 ? void 0 : _c.findAllExpressions(Expressions.Dynamic)) || []) {
27191
+ for (const d of ((_b = node.findDirectExpression(Expressions.AssignSource)) === null || _b === void 0 ? void 0 : _b.findAllExpressions(Expressions.Dynamic)) || []) {
27183
27192
  new dynamic_1.Dynamic().runSyntax(d, scope, filename);
27184
27193
  }
27185
27194
  const target = node.findDirectExpression(Expressions.FSTarget);
@@ -27462,6 +27471,31 @@ exports.Case = Case;
27462
27471
 
27463
27472
  /***/ }),
27464
27473
 
27474
+ /***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case_type.js":
27475
+ /*!*************************************************************************************!*\
27476
+ !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case_type.js ***!
27477
+ \*************************************************************************************/
27478
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
27479
+
27480
+ "use strict";
27481
+
27482
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
27483
+ exports.CaseType = void 0;
27484
+ const Expressions = __webpack_require__(/*! ../../2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
27485
+ const source_1 = __webpack_require__(/*! ../expressions/source */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js");
27486
+ class CaseType {
27487
+ runSyntax(node, scope, filename) {
27488
+ // just recurse
27489
+ for (const s of node.findDirectExpressions(Expressions.Source)) {
27490
+ new source_1.Source().runSyntax(s, scope, filename);
27491
+ }
27492
+ }
27493
+ }
27494
+ exports.CaseType = CaseType;
27495
+ //# sourceMappingURL=case_type.js.map
27496
+
27497
+ /***/ }),
27498
+
27465
27499
  /***/ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/catch.js":
27466
27500
  /*!*********************************************************************************!*\
27467
27501
  !*** ./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/catch.js ***!
@@ -31553,6 +31587,7 @@ exports.WhenType = void 0;
31553
31587
  const Expressions = __webpack_require__(/*! ../../2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
31554
31588
  const basic_1 = __webpack_require__(/*! ../../types/basic */ "./node_modules/@abaplint/core/build/src/abap/types/basic/index.js");
31555
31589
  const inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js");
31590
+ const target_1 = __webpack_require__(/*! ../expressions/target */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/target.js");
31556
31591
  class WhenType {
31557
31592
  runSyntax(node, scope, filename) {
31558
31593
  var _a;
@@ -31572,10 +31607,14 @@ class WhenType {
31572
31607
  else {
31573
31608
  type = new basic_1.ObjectReferenceType(found);
31574
31609
  }
31575
- const inline = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.InlineData);
31610
+ const target = node === null || node === void 0 ? void 0 : node.findDirectExpression(Expressions.Target);
31611
+ const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);
31576
31612
  if (inline) {
31577
31613
  new inline_data_1.InlineData().runSyntax(inline, scope, filename, type);
31578
31614
  }
31615
+ else if (target) {
31616
+ new target_1.Target().runSyntax(target, scope, filename);
31617
+ }
31579
31618
  }
31580
31619
  }
31581
31620
  exports.WhenType = WhenType;
@@ -32227,6 +32266,7 @@ const selection_screen_1 = __webpack_require__(/*! ./statements/selection_screen
32227
32266
  const ranges_1 = __webpack_require__(/*! ./statements/ranges */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/ranges.js");
32228
32267
  const write_1 = __webpack_require__(/*! ./statements/write */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/write.js");
32229
32268
  const case_1 = __webpack_require__(/*! ./statements/case */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case.js");
32269
+ const case_type_1 = __webpack_require__(/*! ./statements/case_type */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/case_type.js");
32230
32270
  const create_object_1 = __webpack_require__(/*! ./statements/create_object */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/create_object.js");
32231
32271
  const do_1 = __webpack_require__(/*! ./statements/do */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/do.js");
32232
32272
  const concatenate_1 = __webpack_require__(/*! ./statements/concatenate */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/statements/concatenate.js");
@@ -32383,6 +32423,7 @@ if (Object.keys(map).length === 0) {
32383
32423
  addToMap(new insert_field_group_1.InsertFieldGroup());
32384
32424
  addToMap(new get_time_1.GetTime());
32385
32425
  addToMap(new unassign_1.Unassign());
32426
+ addToMap(new case_type_1.CaseType());
32386
32427
  addToMap(new get_parameter_1.GetParameter());
32387
32428
  addToMap(new format_1.Format());
32388
32429
  addToMap(new when_type_1.WhenType());
@@ -48691,7 +48732,7 @@ class Registry {
48691
48732
  }
48692
48733
  static abaplintVersion() {
48693
48734
  // magic, see build script "version.sh"
48694
- return "2.102.22";
48735
+ return "2.102.23";
48695
48736
  }
48696
48737
  getDDICReferences() {
48697
48738
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.102.22",
3
+ "version": "2.102.23",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.102.22",
41
+ "@abaplint/core": "^2.102.23",
42
42
  "@types/chai": "^4.3.5",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.2",