@abaplint/cli 2.105.21 → 2.105.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 +32 -5
  2. package/package.json +4 -4
package/build/cli.js CHANGED
@@ -658,7 +658,14 @@ class Junit {
658
658
  return code.map(str => str).join("\n");
659
659
  }
660
660
  formatFailureMessage(message) {
661
- return message.replace("<", "").replace(">", "");
661
+ let ret = message;
662
+ while (ret.includes("<")) {
663
+ ret = ret.replace("<", "&lt;");
664
+ }
665
+ while (ret.includes(">")) {
666
+ ret = ret.replace(">", "&gt;");
667
+ }
668
+ return ret;
662
669
  }
663
670
  }
664
671
  exports.Junit = Junit;
@@ -30197,7 +30204,11 @@ class GetReference {
30197
30204
  const type = new source_1.Source().runSyntax(s, scope, filename);
30198
30205
  const target = node.findDirectExpression(Expressions.Target);
30199
30206
  const inline = target === null || target === void 0 ? void 0 : target.findDirectExpression(Expressions.InlineData);
30207
+ // todo: error if inline field symbol
30200
30208
  if (inline) {
30209
+ if (type instanceof basic_1.AnyType) {
30210
+ throw new Error("GET REFERENCE generic and inline declaration not possible");
30211
+ }
30201
30212
  new inline_data_1.InlineData().runSyntax(inline, scope, filename, type ? new basic_1.DataReference(type) : undefined);
30202
30213
  }
30203
30214
  else if (target) {
@@ -32980,7 +32991,10 @@ const _reference_1 = __webpack_require__(/*! ../_reference */ "./node_modules/@a
32980
32991
  class Write {
32981
32992
  runSyntax(node, scope, filename) {
32982
32993
  // todo, more
32983
- const second = node.getChildren()[1];
32994
+ let second = node.getChildren()[1];
32995
+ if (second.get() instanceof Expressions.WriteOffsetLength) {
32996
+ second = node.getChildren()[2];
32997
+ }
32984
32998
  for (const s of node.findAllExpressions(Expressions.Source)) {
32985
32999
  const type = new source_1.Source().runSyntax(s, scope, filename);
32986
33000
  if (s === second
@@ -51297,7 +51311,7 @@ class Registry {
51297
51311
  }
51298
51312
  static abaplintVersion() {
51299
51313
  // magic, see build script "version.sh"
51300
- return "2.105.21";
51314
+ return "2.105.23";
51301
51315
  }
51302
51316
  getDDICReferences() {
51303
51317
  return this.ddicReferences;
@@ -57215,7 +57229,7 @@ ${indentation}CREATE OBJECT ${uniqueName2} EXPORTING textid = ${uniqueName1}.\n`
57215
57229
  return undefined;
57216
57230
  }
57217
57231
  downportRefSimple(high, lowFile, highSyntax) {
57218
- var _a;
57232
+ var _a, _b;
57219
57233
  if (!(high.get() instanceof Statements.Move)
57220
57234
  || high.getChildren().length !== 4
57221
57235
  || high.getChildren()[2].getFirstToken().getStr().toUpperCase() !== "REF") {
@@ -57240,7 +57254,20 @@ ENDIF.
57240
57254
  GET REFERENCE OF <${uniqueName}> INTO ${target.concatTokens()}`;
57241
57255
  }
57242
57256
  else {
57243
- code = `GET REFERENCE OF ${sourceRef.concatTokens()} INTO ${target.concatTokens()}`;
57257
+ const concat = target.concatTokens();
57258
+ code = `GET REFERENCE OF ${sourceRef.concatTokens()} INTO ${concat}`;
57259
+ // workaround for handling generic ANY type,
57260
+ if (concat.toUpperCase().startsWith("DATA(")) {
57261
+ const spag = highSyntax.spaghetti.lookupPosition(high.getFirstToken().getStart(), lowFile.getFilename());
57262
+ if (spag !== undefined) {
57263
+ const found = spag.findVariable(sourceRef.concatTokens());
57264
+ const tt = found === null || found === void 0 ? void 0 : found.getType();
57265
+ if (tt instanceof basic_1.AnyType) {
57266
+ const tname = (_b = target.findFirstExpression(Expressions.TargetField)) === null || _b === void 0 ? void 0 : _b.concatTokens();
57267
+ code = `DATA ${tname} TYPE REF TO data.\nGET REFERENCE OF ${sourceRef.concatTokens()} INTO ${tname}`;
57268
+ }
57269
+ }
57270
+ }
57244
57271
  }
57245
57272
  const start = high.getFirstToken().getStart();
57246
57273
  const end = high.getLastToken().getStart();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.105.21",
3
+ "version": "2.105.23",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,8 +38,8 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.105.21",
42
- "@types/chai": "^4.3.11",
41
+ "@abaplint/core": "^2.105.23",
42
+ "@types/chai": "^4.3.12",
43
43
  "@types/glob": "^8.1.0",
44
44
  "@types/minimist": "^1.2.5",
45
45
  "@types/mocha": "^10.0.6",
@@ -47,7 +47,7 @@
47
47
  "@types/progress": "^2.0.7",
48
48
  "chai": "^4.4.1",
49
49
  "chalk": "^5.3.0",
50
- "eslint": "^8.56.0",
50
+ "eslint": "^8.57.0",
51
51
  "glob": "^7.2.3",
52
52
  "json5": "^2.2.3",
53
53
  "memfs": "^4.7.7",