@abaplint/cli 2.120.65 → 2.120.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/cli.js +16 -6
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -7567,7 +7567,9 @@ class Source extends combi_1.Expression {
7567
7567
  const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentChain);
7568
7568
  const attr = (0, combi_1.seq)(_1.Arrow, attribute_chain_1.AttributeChain);
7569
7569
  const deref = (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Release.v756, dereference_1.Dereference));
7570
- const dynChain = (0, combi_1.star)((0, combi_1.altPrio)((0, _dynamic_access_1.dynAttr)(), (0, _dynamic_access_1.dynComp)(), dereference_1.Dereference));
7570
+ // below v756 "->*" directly after a functional method call is a syntax error, CAST can be dereferenced
7571
+ const dynChain = (0, combi_1.star)((0, combi_1.seq)((0, combi_1.altPrio)((0, _dynamic_access_1.dynAttr)(), (0, _dynamic_access_1.dynComp)()), (0, combi_1.optPrio)(dereference_1.Dereference)));
7572
+ const castDeref = (0, combi_1.seq)(_1.Cast, dereference_1.Dereference);
7571
7573
  const method = (0, combi_1.seq)(_1.MethodCallChain, (0, combi_1.optPrio)((0, combi_1.altPrio)(attr, comp)), deref, dynChain);
7572
7574
  const rparen = (0, combi_1.tok)(tokens_1.WParenRightW);
7573
7575
  const rparenNoSpace = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.WParenRightW));
@@ -7577,7 +7579,7 @@ class Source extends combi_1.Expression {
7577
7579
  const after = (0, combi_1.seq)((0, combi_1.altPrio)("&", "&&", _1.ArithOperator), Source);
7578
7580
  const bool = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.ver)(version_1.Release.v702, (0, combi_1.regex)(/^BOOLC$/i), { also: combi_1.AlsoIn.OpenABAP }), (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.regex)(/^XSDBOOL$/i), { also: combi_1.AlsoIn.OpenABAP })), (0, combi_1.tok)(tokens_1.ParenLeftW), _1.Cond, ")");
7579
7581
  const prefix = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WPlus), "BIT-NOT");
7580
- 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));
7582
+ const old = (0, combi_1.seq)((0, combi_1.optPrio)(prefix), (0, combi_1.altPrio)(_1.Constant, _1.StringTemplate, text_element_1.TextElement, bool, castDeref, method, (0, combi_1.seq)(_1.FieldChain, deref), paren), (0, combi_1.optPrio)(after));
7581
7583
  const corr = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)("CORRESPONDING", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.CorrespondingBody, rparen, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
7582
7584
  const conv = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("CONV", _1.TypeNameOrInfer, lparenNoSpace, _1.ConvBody, rparenNoSpace, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
7583
7585
  const swit = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("SWITCH", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.SwitchBody, rparenNoSpace, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
@@ -33302,6 +33304,9 @@ const field_chain_1 = __webpack_require__(/*! ./field_chain */ "../core/build/sr
33302
33304
  const _reference_1 = __webpack_require__(/*! ../_reference */ "../core/build/src/abap/5_syntax/_reference.js");
33303
33305
  const _check_offset_length_1 = __webpack_require__(/*! ./_check_offset_length */ "../core/build/src/abap/5_syntax/expressions/_check_offset_length.js");
33304
33306
  const _check_text_symbol_1 = __webpack_require__(/*! ./_check_text_symbol */ "../core/build/src/abap/5_syntax/expressions/_check_text_symbol.js");
33307
+ function normalizeParameterName(name) {
33308
+ return name.replace(/^!/, "").toUpperCase();
33309
+ }
33305
33310
  class MethodParameters {
33306
33311
  constructor() {
33307
33312
  this.requiredParameters = undefined;
@@ -33488,7 +33493,7 @@ class MethodParameters {
33488
33493
  throw new assert_error_1.AssertError("parameterListS, unexpected node, child");
33489
33494
  }
33490
33495
  const nameNode = c.findDirectExpression(Expressions.ParameterName);
33491
- const name = nameNode === null || nameNode === void 0 ? void 0 : nameNode.getFirstToken().getStr().toUpperCase();
33496
+ const name = nameNode === undefined ? undefined : normalizeParameterName(nameNode.getFirstToken().getStr());
33492
33497
  if (name === undefined || nameNode === undefined) {
33493
33498
  throw new assert_error_1.AssertError("parameterListS, no name determined");
33494
33499
  }
@@ -33543,7 +33548,7 @@ class MethodParameters {
33543
33548
  throw new assert_error_1.AssertError("parameterListT, unexpected node, child");
33544
33549
  }
33545
33550
  const nameNode = c.findDirectExpression(Expressions.ParameterName);
33546
- const name = nameNode === null || nameNode === void 0 ? void 0 : nameNode.getFirstToken().getStr().toUpperCase();
33551
+ const name = nameNode === undefined ? undefined : normalizeParameterName(nameNode.getFirstToken().getStr());
33547
33552
  if (name === undefined || nameNode === undefined) {
33548
33553
  throw new assert_error_1.AssertError("parameterListT, no name determined");
33549
33554
  }
@@ -39562,7 +39567,7 @@ class Convert {
39562
39567
  if ((stampTarget === null || stampTarget === void 0 ? void 0 : stampTarget.get()) instanceof Expressions.Target) {
39563
39568
  const inline = stampTarget === null || stampTarget === void 0 ? void 0 : stampTarget.findDirectExpression(Expressions.InlineData);
39564
39569
  if (inline) {
39565
- inline_data_1.InlineData.runSyntax(inline, input, new basic_1.PackedType(8, 4));
39570
+ inline_data_1.InlineData.runSyntax(inline, input, new basic_1.PackedType(8, 0));
39566
39571
  }
39567
39572
  else {
39568
39573
  target_1.Target.runSyntax(stampTarget, input);
@@ -50914,6 +50919,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
50914
50919
  exports.DataReference = void 0;
50915
50920
  const _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ "../core/build/src/abap/types/basic/_abstract_type.js");
50916
50921
  const any_type_1 = __webpack_require__(/*! ./any_type */ "../core/build/src/abap/types/basic/any_type.js");
50922
+ const table_type_1 = __webpack_require__(/*! ./table_type */ "../core/build/src/abap/types/basic/table_type.js");
50917
50923
  class DataReference extends _abstract_type_1.AbstractType {
50918
50924
  constructor(type, qualifiedName) {
50919
50925
  super({ qualifiedName: qualifiedName });
@@ -50936,6 +50942,10 @@ class DataReference extends _abstract_type_1.AbstractType {
50936
50942
  if (this.type instanceof any_type_1.AnyType) {
50937
50943
  return true;
50938
50944
  }
50945
+ // LIKE REF TO a generic table, eg. a field symbol TYPE STANDARD TABLE
50946
+ if (this.type instanceof table_type_1.TableType && this.type.isGeneric()) {
50947
+ return true;
50948
+ }
50939
50949
  return false;
50940
50950
  }
50941
50951
  containsVoid() {
@@ -70345,7 +70355,7 @@ class Registry {
70345
70355
  }
70346
70356
  static abaplintVersion() {
70347
70357
  // magic, see build script "version.js"
70348
- return "2.120.65";
70358
+ return "2.120.66";
70349
70359
  }
70350
70360
  getDDICReferences() {
70351
70361
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.120.65",
3
+ "version": "2.120.66",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "homepage": "https://abaplint.org",
41
41
  "devDependencies": {
42
- "@abaplint/core": "^2.120.65",
42
+ "@abaplint/core": "^2.120.66",
43
43
  "@types/chai": "^4.3.20",
44
44
  "@types/minimist": "^1.2.5",
45
45
  "@types/mocha": "^10.0.10",