@abaplint/cli 2.113.153 → 2.113.155

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 +83 -24
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -5914,10 +5914,12 @@ __exportStar(__webpack_require__(/*! ./lob_handle */ "./node_modules/@abaplint/c
5914
5914
  __exportStar(__webpack_require__(/*! ./loop_group_by_component */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_component.js"), exports);
5915
5915
  __exportStar(__webpack_require__(/*! ./loop_group_by_target */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by_target.js"), exports);
5916
5916
  __exportStar(__webpack_require__(/*! ./loop_group_by */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by.js"), exports);
5917
+ __exportStar(__webpack_require__(/*! ./loop_source */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_source.js"), exports);
5917
5918
  __exportStar(__webpack_require__(/*! ./loop_target */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_target.js"), exports);
5918
5919
  __exportStar(__webpack_require__(/*! ./macro_name */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/macro_name.js"), exports);
5919
5920
  __exportStar(__webpack_require__(/*! ./message_class */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_class.js"), exports);
5920
5921
  __exportStar(__webpack_require__(/*! ./message_number */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_number.js"), exports);
5922
+ __exportStar(__webpack_require__(/*! ./message_source_source */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source_source.js"), exports);
5921
5923
  __exportStar(__webpack_require__(/*! ./message_source */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source.js"), exports);
5922
5924
  __exportStar(__webpack_require__(/*! ./message_type_and_number */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_type_and_number.js"), exports);
5923
5925
  __exportStar(__webpack_require__(/*! ./method_call_body */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/method_call_body.js"), exports);
@@ -5952,6 +5954,7 @@ __exportStar(__webpack_require__(/*! ./pass_by_value */ "./node_modules/@abaplin
5952
5954
  __exportStar(__webpack_require__(/*! ./perform_changing */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_changing.js"), exports);
5953
5955
  __exportStar(__webpack_require__(/*! ./perform_tables */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_tables.js"), exports);
5954
5956
  __exportStar(__webpack_require__(/*! ./perform_using */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/perform_using.js"), exports);
5957
+ __exportStar(__webpack_require__(/*! ./provide_field_name */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/provide_field_name.js"), exports);
5955
5958
  __exportStar(__webpack_require__(/*! ./radio_group_name */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/radio_group_name.js"), exports);
5956
5959
  __exportStar(__webpack_require__(/*! ./raise_with */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/raise_with.js"), exports);
5957
5960
  __exportStar(__webpack_require__(/*! ./read_table_target */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/read_table_target.js"), exports);
@@ -5995,7 +5998,6 @@ __exportStar(__webpack_require__(/*! ./sql_fields */ "./node_modules/@abaplint/c
5995
5998
  __exportStar(__webpack_require__(/*! ./sql_for_all_entries */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_for_all_entries.js"), exports);
5996
5999
  __exportStar(__webpack_require__(/*! ./sql_from_source */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from_source.js"), exports);
5997
6000
  __exportStar(__webpack_require__(/*! ./sql_from */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_from.js"), exports);
5998
- __exportStar(__webpack_require__(/*! ./provide_field_name */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/provide_field_name.js"), exports);
5999
6001
  __exportStar(__webpack_require__(/*! ./sql_function_input */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function_input.js"), exports);
6000
6002
  __exportStar(__webpack_require__(/*! ./sql_function */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_function.js"), exports);
6001
6003
  __exportStar(__webpack_require__(/*! ./sql_group_by */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/sql_group_by.js"), exports);
@@ -6402,6 +6404,29 @@ exports.LoopGroupByTarget = LoopGroupByTarget;
6402
6404
 
6403
6405
  /***/ }),
6404
6406
 
6407
+ /***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_source.js":
6408
+ /*!********************************************************************************************!*\
6409
+ !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_source.js ***!
6410
+ \********************************************************************************************/
6411
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6412
+
6413
+ "use strict";
6414
+
6415
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
6416
+ exports.LoopSource = void 0;
6417
+ const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
6418
+ const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
6419
+ const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
6420
+ class LoopSource extends combi_1.Expression {
6421
+ getRunnable() {
6422
+ return (0, combi_1.alt)(_1.SimpleSource2, (0, combi_1.ver)(version_1.Version.v740sp02, _1.Source, version_1.Version.OpenABAP));
6423
+ }
6424
+ }
6425
+ exports.LoopSource = LoopSource;
6426
+ //# sourceMappingURL=loop_source.js.map
6427
+
6428
+ /***/ }),
6429
+
6405
6430
  /***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_target.js":
6406
6431
  /*!********************************************************************************************!*\
6407
6432
  !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_target.js ***!
@@ -6520,6 +6545,29 @@ exports.MessageSource = MessageSource;
6520
6545
 
6521
6546
  /***/ }),
6522
6547
 
6548
+ /***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source_source.js":
6549
+ /*!******************************************************************************************************!*\
6550
+ !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_source_source.js ***!
6551
+ \******************************************************************************************************/
6552
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6553
+
6554
+ "use strict";
6555
+
6556
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
6557
+ exports.MessageSourceSource = void 0;
6558
+ const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
6559
+ const _1 = __webpack_require__(/*! . */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
6560
+ const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
6561
+ class MessageSourceSource extends combi_1.Expression {
6562
+ getRunnable() {
6563
+ return (0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v740sp02, _1.Source, version_1.Version.OpenABAP), _1.SimpleSource3);
6564
+ }
6565
+ }
6566
+ exports.MessageSourceSource = MessageSourceSource;
6567
+ //# sourceMappingURL=message_source_source.js.map
6568
+
6569
+ /***/ }),
6570
+
6523
6571
  /***/ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_type_and_number.js":
6524
6572
  /*!********************************************************************************************************!*\
6525
6573
  !*** ./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/message_type_and_number.js ***!
@@ -7838,11 +7886,11 @@ class Source extends combi_1.Expression {
7838
7886
  const prefix = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WPlus), "BIT-NOT");
7839
7887
  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));
7840
7888
  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)));
7841
- 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)));
7889
+ 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);
7842
7890
  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)));
7843
7891
  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)));
7844
7892
  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)));
7845
- 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));
7893
+ 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);
7846
7894
  const exact = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("EXACT", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, rparen, (0, combi_1.optPrio)(after)));
7847
7895
  const filter = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)("FILTER", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.FilterBody, rparen));
7848
7896
  const reduce = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)("REDUCE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ReduceBody, rparen, (0, combi_1.optPrio)(after)));
@@ -9542,7 +9590,7 @@ class TypeTableKey extends combi_1.Expression {
9542
9590
  getRunnable() {
9543
9591
  const uniqueness = (0, combi_1.alt)("NON-UNIQUE", "UNIQUE");
9544
9592
  const defaultKey = "DEFAULT KEY";
9545
- const emptyKey = (0, combi_1.ver)(version_1.Version.v740sp02, "EMPTY KEY");
9593
+ const emptyKey = (0, combi_1.ver)(version_1.Version.v740sp02, "EMPTY KEY", version_1.Version.OpenABAP);
9546
9594
  const components = (0, combi_1.plus)((0, combi_1.alt)((0, combi_1.seq)("WITH", (0, combi_1.failStar)()), _1.FieldSub));
9547
9595
  const further = (0, combi_1.seq)((0, combi_1.alt)("WITHOUT", "WITH"), "FURTHER SECONDARY KEYS");
9548
9596
  const alias = (0, combi_1.seq)("ALIAS", _1.Field);
@@ -14888,7 +14936,6 @@ exports.Loop = void 0;
14888
14936
  const combi_1 = __webpack_require__(/*! ../combi */ "./node_modules/@abaplint/core/build/src/abap/2_statements/combi.js");
14889
14937
  const expressions_1 = __webpack_require__(/*! ../expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
14890
14938
  const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
14891
- const simple_source2_1 = __webpack_require__(/*! ../expressions/simple_source2 */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/simple_source2.js");
14892
14939
  const loop_group_by_1 = __webpack_require__(/*! ../expressions/loop_group_by */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/loop_group_by.js");
14893
14940
  class Loop {
14894
14941
  getMatcher() {
@@ -14899,7 +14946,7 @@ class Loop {
14899
14946
  const to = (0, combi_1.seq)("TO", expressions_1.Source);
14900
14947
  const usingKey = (0, combi_1.seq)("USING KEY", (0, combi_1.altPrio)(expressions_1.SimpleName, expressions_1.Dynamic));
14901
14948
  const options = (0, combi_1.per)(expressions_1.LoopTarget, from, to, where, usingKey, group, step);
14902
- const at = (0, combi_1.seq)("AT", (0, combi_1.opt)((0, combi_1.seq)("SCREEN", (0, combi_1.failCombinator)())), (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v740sp08, "GROUP")), (0, combi_1.alt)(simple_source2_1.SimpleSource2, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source)), (0, combi_1.opt)(options));
14949
+ const at = (0, combi_1.seq)("AT", (0, combi_1.opt)((0, combi_1.seq)("SCREEN", (0, combi_1.failCombinator)())), (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v740sp08, "GROUP")), expressions_1.LoopSource, (0, combi_1.opt)(options));
14903
14950
  return (0, combi_1.seq)("LOOP", (0, combi_1.opt)(at));
14904
14951
  }
14905
14952
  }
@@ -14947,17 +14994,16 @@ const expressions_1 = __webpack_require__(/*! ../expressions */ "./node_modules/
14947
14994
  const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@abaplint/core/build/src/version.js");
14948
14995
  class Message {
14949
14996
  getMatcher() {
14950
- const s = (0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source), expressions_1.SimpleSource3);
14951
14997
  const like = (0, combi_1.seq)("DISPLAY LIKE", expressions_1.Source);
14952
14998
  const into = (0, combi_1.seq)("INTO", expressions_1.Target);
14953
14999
  const raising = (0, combi_1.seq)("RAISING", expressions_1.ExceptionName);
14954
15000
  const options = (0, combi_1.per)(like, into, raising);
14955
15001
  const type = (0, combi_1.seq)("TYPE", expressions_1.Source);
14956
- const sou = (0, combi_1.altPrio)(options, s);
14957
- const sourc = (0, combi_1.alt)(sou, (0, combi_1.seq)(s, sou), (0, combi_1.seq)(s, s, sou), (0, combi_1.seq)(s, s, s, options));
14958
- const mwith = (0, combi_1.seq)("WITH", s, (0, combi_1.opt)(sourc));
15002
+ const sou = (0, combi_1.altPrio)(options, expressions_1.MessageSourceSource);
15003
+ const sourc = (0, combi_1.alt)(sou, (0, combi_1.seq)(expressions_1.MessageSourceSource, sou), (0, combi_1.seq)(expressions_1.MessageSourceSource, expressions_1.MessageSourceSource, sou), (0, combi_1.seq)(expressions_1.MessageSourceSource, expressions_1.MessageSourceSource, expressions_1.MessageSourceSource, options));
15004
+ const mwith = (0, combi_1.seq)("WITH", expressions_1.MessageSourceSource, (0, combi_1.opt)(sourc));
14959
15005
  const foo = (0, combi_1.seq)(expressions_1.MessageSource, (0, combi_1.opt)(options), (0, combi_1.opt)(mwith));
14960
- const text = (0, combi_1.seq)(s, type, (0, combi_1.optPrio)(like), (0, combi_1.optPrio)(raising));
15006
+ const text = (0, combi_1.seq)(expressions_1.MessageSourceSource, type, (0, combi_1.optPrio)(like), (0, combi_1.optPrio)(raising));
14961
15007
  const cloud1 = (0, combi_1.seq)((0, combi_1.opt)((0, combi_1.seq)("WITH", expressions_1.Source, (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source))), (0, combi_1.altPrio)(into, raising));
14962
15008
  const cloud2 = (0, combi_1.seq)((0, combi_1.altPrio)(into, raising), (0, combi_1.opt)((0, combi_1.seq)("WITH", expressions_1.Source, (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)(expressions_1.Source))));
14963
15009
  const cloud = (0, combi_1.seq)(expressions_1.MessageSource, (0, combi_1.alt)(cloud1, cloud2));
@@ -15233,7 +15279,7 @@ class Move {
15233
15279
  getMatcher() {
15234
15280
  const mov = (0, combi_1.verNot)(version_1.Version.Cloud, "MOVE");
15235
15281
  const move = (0, combi_1.seq)(mov, (0, combi_1.altPrio)((0, combi_1.seq)("EXACT", expressions_1.Source, "TO", expressions_1.Target), (0, combi_1.seq)(expressions_1.Source, (0, combi_1.altPrio)("?TO", "TO"), expressions_1.Target)), (0, combi_1.opt)((0, combi_1.seq)("PERCENTAGE", expressions_1.Source, (0, combi_1.opt)((0, combi_1.alt)("LEFT", "RIGHT")))));
15236
- const calcAssign = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WPlus), "="), (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WDash), "="), "/=", "*=", "&&="));
15282
+ const calcAssign = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.alt)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WPlus), "="), (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WDash), "="), "/=", "*=", "&&="), version_1.Version.OpenABAP);
15237
15283
  const chained = (0, combi_1.seq)("=", (0, combi_1.star)((0, combi_1.seq)(expressions_1.Target, "=")));
15238
15284
  const equals = (0, combi_1.altPrio)((0, combi_1.altPrio)(chained, "?="), calcAssign);
15239
15285
  // todo, move "?=" to CAST?
@@ -32423,6 +32469,7 @@ const loop_group_by_1 = __webpack_require__(/*! ../expressions/loop_group_by */
32423
32469
  const _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js");
32424
32470
  class Loop {
32425
32471
  runSyntax(node, input) {
32472
+ var _a;
32426
32473
  const loopTarget = node.findDirectExpression(Expressions.LoopTarget);
32427
32474
  let target = loopTarget === null || loopTarget === void 0 ? void 0 : loopTarget.findDirectExpression(Expressions.Target);
32428
32475
  const targetType = target ? target_1.Target.runSyntax(target, input) : undefined;
@@ -32431,7 +32478,7 @@ class Loop {
32431
32478
  }
32432
32479
  const write = (loopTarget === null || loopTarget === void 0 ? void 0 : loopTarget.findDirectTokenByText("ASSIGNING")) !== undefined;
32433
32480
  const sources = node.findDirectExpressions(Expressions.Source);
32434
- let firstSource = node.findDirectExpression(Expressions.SimpleSource2);
32481
+ let firstSource = (_a = node.findDirectExpression(Expressions.LoopSource)) === null || _a === void 0 ? void 0 : _a.getFirstChild();
32435
32482
  if (firstSource === undefined) {
32436
32483
  firstSource = sources[0];
32437
32484
  }
@@ -32580,6 +32627,14 @@ class Message {
32580
32627
  else if (found) {
32581
32628
  target_1.Target.runSyntax(found, input);
32582
32629
  }
32630
+ for (const mss of node.findDirectExpressions(Expressions.MessageSourceSource)) {
32631
+ for (const s of mss.findDirectExpressions(Expressions.Source)) {
32632
+ source_1.Source.runSyntax(s, input);
32633
+ }
32634
+ for (const s of mss.findDirectExpressions(Expressions.SimpleSource3)) {
32635
+ source_1.Source.runSyntax(s, input);
32636
+ }
32637
+ }
32583
32638
  for (const s of node.findDirectExpressions(Expressions.Source)) {
32584
32639
  source_1.Source.runSyntax(s, input);
32585
32640
  }
@@ -54703,7 +54758,7 @@ class Registry {
54703
54758
  }
54704
54759
  static abaplintVersion() {
54705
54760
  // magic, see build script "version.sh"
54706
- return "2.113.153";
54761
+ return "2.113.155";
54707
54762
  }
54708
54763
  getDDICReferences() {
54709
54764
  return this.ddicReferences;
@@ -60722,11 +60777,14 @@ ${indentation}${uniqueName} = ${source.concatTokens()}.\n${indentation}`);
60722
60777
  return undefined;
60723
60778
  }
60724
60779
  downportMessageSource(high, lowFile, highSyntax) {
60780
+ var _a;
60725
60781
  if (!(high.get() instanceof Statements.Message)) {
60726
60782
  return undefined;
60727
60783
  }
60728
60784
  const source = high.findExpressionAfterToken("MESSAGE");
60729
- if ((source === null || source === void 0 ? void 0 : source.get()) instanceof Expressions.Source) {
60785
+ if ((source === null || source === void 0 ? void 0 : source.get()) instanceof Expressions.MessageSourceSource
60786
+ && ((_a = source.getFirstChild()) === null || _a === void 0 ? void 0 : _a.get()) instanceof Expressions.Source) {
60787
+ ;
60730
60788
  const uniqueName = this.uniqueName(high.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
60731
60789
  const indentation = " ".repeat(high.getFirstToken().getStart().getCol() - 1);
60732
60790
  const firstToken = high.getFirstToken();
@@ -61041,7 +61099,7 @@ ${indentation}${uniqueName2}->if_t100_message~t100key = ${uniqueName1}.\n`;
61041
61099
  }
61042
61100
  abap += `${indentation}RAISE EXCEPTION ${uniqueName2}.`;
61043
61101
  const fix = edit_helper_1.EditHelper.replaceRange(lowFile, node.getStart(), node.getEnd(), abap);
61044
- return issue_1.Issue.atToken(lowFile, startToken, "Downport RAISE MESSAGE", this.getMetadata().key, this.conf.severity, fix);
61102
+ return issue_1.Issue.atToken(lowFile, startToken, "Downport RAISE EXCEPTION MESSAGE", this.getMetadata().key, this.conf.severity, fix);
61045
61103
  }
61046
61104
  emptyKey(low, node, lowFile) {
61047
61105
  if (!(low.get() instanceof _statement_1.Unknown)) {
@@ -61585,17 +61643,18 @@ ${indentation} output = ${uniqueName}.\n`;
61585
61643
  return undefined;
61586
61644
  }
61587
61645
  outlineLoopInput(low, high, lowFile, highSyntax) {
61646
+ var _a, _b;
61588
61647
  if (!(low.get() instanceof _statement_1.Unknown)) {
61589
61648
  return undefined;
61590
61649
  }
61591
61650
  else if (!(high.get() instanceof Statements.Loop)) {
61592
61651
  return undefined;
61593
61652
  }
61594
- else if (high.findDirectExpression(Expressions.SimpleSource2)) {
61653
+ else if ((_a = high.findDirectExpression(Expressions.LoopSource)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.SimpleSource2)) {
61595
61654
  return undefined;
61596
61655
  }
61597
61656
  // the first Source must be outlined
61598
- const s = high.findDirectExpression(Expressions.Source);
61657
+ const s = (_b = high.findDirectExpression(Expressions.LoopSource)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.Source);
61599
61658
  if (s === undefined) {
61600
61659
  return undefined;
61601
61660
  }
@@ -61608,12 +61667,12 @@ ${indentation} output = ${uniqueName}.\n`;
61608
61667
  return issue_1.Issue.atToken(lowFile, high.getFirstToken(), "Outline LOOP input", this.getMetadata().key, this.conf.severity, fix);
61609
61668
  }
61610
61669
  outlineLoopTarget(node, lowFile, highSyntax) {
61611
- var _a, _b, _c, _d, _e, _f;
61670
+ var _a, _b, _c, _d, _e, _f, _g;
61612
61671
  // also allows outlining of voided types
61613
61672
  if (!(node.get() instanceof Statements.Loop)) {
61614
61673
  return undefined;
61615
61674
  }
61616
- const source = node.findDirectExpression(Expressions.SimpleSource2);
61675
+ const source = (_a = node.findDirectExpression(Expressions.LoopSource)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.SimpleSource2);
61617
61676
  if (source === undefined) {
61618
61677
  return undefined;
61619
61678
  }
@@ -61632,9 +61691,9 @@ ${indentation} output = ${uniqueName}.\n`;
61632
61691
  }
61633
61692
  const isReference = concat.includes(" REFERENCE INTO ");
61634
61693
  const indentation = " ".repeat(node.getFirstToken().getStart().getCol() - 1);
61635
- const dataTarget = (_b = (_a = node.findDirectExpression(Expressions.LoopTarget)) === null || _a === void 0 ? void 0 : _a.findDirectExpression(Expressions.Target)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.InlineData);
61694
+ const dataTarget = (_c = (_b = node.findDirectExpression(Expressions.LoopTarget)) === null || _b === void 0 ? void 0 : _b.findDirectExpression(Expressions.Target)) === null || _c === void 0 ? void 0 : _c.findDirectExpression(Expressions.InlineData);
61636
61695
  if (dataTarget) {
61637
- const targetName = ((_c = dataTarget.findDirectExpression(Expressions.TargetField)) === null || _c === void 0 ? void 0 : _c.concatTokens()) || "DOWNPORT_ERROR";
61696
+ const targetName = ((_d = dataTarget.findDirectExpression(Expressions.TargetField)) === null || _d === void 0 ? void 0 : _d.concatTokens()) || "DOWNPORT_ERROR";
61638
61697
  let code = `DATA ${targetName} LIKE LINE OF ${sourceName}.\n${indentation}`;
61639
61698
  if (isReference) {
61640
61699
  const likeName = this.uniqueName(node.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
@@ -61645,9 +61704,9 @@ ${indentation} output = ${uniqueName}.\n`;
61645
61704
  const fix = edit_helper_1.EditHelper.merge(fix2, fix1);
61646
61705
  return issue_1.Issue.atToken(lowFile, node.getFirstToken(), "Outline LOOP data target", this.getMetadata().key, this.conf.severity, fix);
61647
61706
  }
61648
- const fsTarget = (_e = (_d = node.findDirectExpression(Expressions.LoopTarget)) === null || _d === void 0 ? void 0 : _d.findDirectExpression(Expressions.FSTarget)) === null || _e === void 0 ? void 0 : _e.findDirectExpression(Expressions.InlineFS);
61707
+ const fsTarget = (_f = (_e = node.findDirectExpression(Expressions.LoopTarget)) === null || _e === void 0 ? void 0 : _e.findDirectExpression(Expressions.FSTarget)) === null || _f === void 0 ? void 0 : _f.findDirectExpression(Expressions.InlineFS);
61649
61708
  if (fsTarget) {
61650
- const targetName = ((_f = fsTarget.findDirectExpression(Expressions.TargetFieldSymbol)) === null || _f === void 0 ? void 0 : _f.concatTokens()) || "DOWNPORT_ERROR";
61709
+ const targetName = ((_g = fsTarget.findDirectExpression(Expressions.TargetFieldSymbol)) === null || _g === void 0 ? void 0 : _g.concatTokens()) || "DOWNPORT_ERROR";
61651
61710
  let type = `LIKE LINE OF ${sourceName}`;
61652
61711
  const f = foundType === null || foundType === void 0 ? void 0 : foundType.getType();
61653
61712
  if (f instanceof basic_1.TableType && f.getRowType() instanceof basic_1.AnyType) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.113.153",
3
+ "version": "2.113.155",
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.113.153",
41
+ "@abaplint/core": "^2.113.155",
42
42
  "@types/chai": "^4.3.20",
43
43
  "@types/minimist": "^1.2.5",
44
44
  "@types/mocha": "^10.0.10",