@abaplint/transpiler-cli 2.13.97 → 2.13.98

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 +16 -6
  2. package/package.json +3 -3
package/build/bundle.js CHANGED
@@ -8119,7 +8119,9 @@ class Source extends combi_1.Expression {
8119
8119
  const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentChain);
8120
8120
  const attr = (0, combi_1.seq)(_1.Arrow, attribute_chain_1.AttributeChain);
8121
8121
  const deref = (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Release.v756, dereference_1.Dereference));
8122
- const dynChain = (0, combi_1.star)((0, combi_1.altPrio)((0, _dynamic_access_1.dynAttr)(), (0, _dynamic_access_1.dynComp)(), dereference_1.Dereference));
8122
+ // below v756 "->*" directly after a functional method call is a syntax error, CAST can be dereferenced
8123
+ 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)));
8124
+ const castDeref = (0, combi_1.seq)(_1.Cast, dereference_1.Dereference);
8123
8125
  const method = (0, combi_1.seq)(_1.MethodCallChain, (0, combi_1.optPrio)((0, combi_1.altPrio)(attr, comp)), deref, dynChain);
8124
8126
  const rparen = (0, combi_1.tok)(tokens_1.WParenRightW);
8125
8127
  const rparenNoSpace = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.WParenRightW));
@@ -8129,7 +8131,7 @@ class Source extends combi_1.Expression {
8129
8131
  const after = (0, combi_1.seq)((0, combi_1.altPrio)("&", "&&", _1.ArithOperator), Source);
8130
8132
  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, ")");
8131
8133
  const prefix = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WPlus), "BIT-NOT");
8132
- 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));
8134
+ 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));
8133
8135
  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 });
8134
8136
  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 });
8135
8137
  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 });
@@ -33854,6 +33856,9 @@ const field_chain_1 = __webpack_require__(/*! ./field_chain */ "./node_modules/@
33854
33856
  const _reference_1 = __webpack_require__(/*! ../_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
33855
33857
  const _check_offset_length_1 = __webpack_require__(/*! ./_check_offset_length */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/_check_offset_length.js");
33856
33858
  const _check_text_symbol_1 = __webpack_require__(/*! ./_check_text_symbol */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/_check_text_symbol.js");
33859
+ function normalizeParameterName(name) {
33860
+ return name.replace(/^!/, "").toUpperCase();
33861
+ }
33857
33862
  class MethodParameters {
33858
33863
  constructor() {
33859
33864
  this.requiredParameters = undefined;
@@ -34040,7 +34045,7 @@ class MethodParameters {
34040
34045
  throw new assert_error_1.AssertError("parameterListS, unexpected node, child");
34041
34046
  }
34042
34047
  const nameNode = c.findDirectExpression(Expressions.ParameterName);
34043
- const name = nameNode === null || nameNode === void 0 ? void 0 : nameNode.getFirstToken().getStr().toUpperCase();
34048
+ const name = nameNode === undefined ? undefined : normalizeParameterName(nameNode.getFirstToken().getStr());
34044
34049
  if (name === undefined || nameNode === undefined) {
34045
34050
  throw new assert_error_1.AssertError("parameterListS, no name determined");
34046
34051
  }
@@ -34095,7 +34100,7 @@ class MethodParameters {
34095
34100
  throw new assert_error_1.AssertError("parameterListT, unexpected node, child");
34096
34101
  }
34097
34102
  const nameNode = c.findDirectExpression(Expressions.ParameterName);
34098
- const name = nameNode === null || nameNode === void 0 ? void 0 : nameNode.getFirstToken().getStr().toUpperCase();
34103
+ const name = nameNode === undefined ? undefined : normalizeParameterName(nameNode.getFirstToken().getStr());
34099
34104
  if (name === undefined || nameNode === undefined) {
34100
34105
  throw new assert_error_1.AssertError("parameterListT, no name determined");
34101
34106
  }
@@ -40114,7 +40119,7 @@ class Convert {
40114
40119
  if ((stampTarget === null || stampTarget === void 0 ? void 0 : stampTarget.get()) instanceof Expressions.Target) {
40115
40120
  const inline = stampTarget === null || stampTarget === void 0 ? void 0 : stampTarget.findDirectExpression(Expressions.InlineData);
40116
40121
  if (inline) {
40117
- inline_data_1.InlineData.runSyntax(inline, input, new basic_1.PackedType(8, 4));
40122
+ inline_data_1.InlineData.runSyntax(inline, input, new basic_1.PackedType(8, 0));
40118
40123
  }
40119
40124
  else {
40120
40125
  target_1.Target.runSyntax(stampTarget, input);
@@ -51466,6 +51471,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
51466
51471
  exports.DataReference = void 0;
51467
51472
  const _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js");
51468
51473
  const any_type_1 = __webpack_require__(/*! ./any_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/any_type.js");
51474
+ const table_type_1 = __webpack_require__(/*! ./table_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/table_type.js");
51469
51475
  class DataReference extends _abstract_type_1.AbstractType {
51470
51476
  constructor(type, qualifiedName) {
51471
51477
  super({ qualifiedName: qualifiedName });
@@ -51488,6 +51494,10 @@ class DataReference extends _abstract_type_1.AbstractType {
51488
51494
  if (this.type instanceof any_type_1.AnyType) {
51489
51495
  return true;
51490
51496
  }
51497
+ // LIKE REF TO a generic table, eg. a field symbol TYPE STANDARD TABLE
51498
+ if (this.type instanceof table_type_1.TableType && this.type.isGeneric()) {
51499
+ return true;
51500
+ }
51491
51501
  return false;
51492
51502
  }
51493
51503
  containsVoid() {
@@ -70897,7 +70907,7 @@ class Registry {
70897
70907
  }
70898
70908
  static abaplintVersion() {
70899
70909
  // magic, see build script "version.js"
70900
- return "2.120.65";
70910
+ return "2.120.66";
70901
70911
  }
70902
70912
  getDDICReferences() {
70903
70913
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.13.97",
3
+ "version": "2.13.98",
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.120.65",
31
- "@abaplint/transpiler": "^2.13.97",
30
+ "@abaplint/core": "^2.120.66",
31
+ "@abaplint/transpiler": "^2.13.98",
32
32
  "@types/glob": "^9.0.0",
33
33
  "@types/node": "^26.6.2",
34
34
  "@types/progress": "^2.0.7",