@abaplint/cli 2.102.8 → 2.102.10

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 +20 -6
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -48556,7 +48556,7 @@ class Registry {
48556
48556
  }
48557
48557
  static abaplintVersion() {
48558
48558
  // magic, see build script "version.sh"
48559
- return "2.102.8";
48559
+ return "2.102.10";
48560
48560
  }
48561
48561
  getDDICReferences() {
48562
48562
  return this.ddicReferences;
@@ -53454,13 +53454,12 @@ Make sure to test the downported code, it might not always be completely correct
53454
53454
  }
53455
53455
  }
53456
53456
  }
53457
- else if (ret.length === 0 && / xsdbool\(/i.test(lowFile.getRaw())) {
53457
+ if (ret.length === 0 && lowFile.getRaw().includes(" xsdbool( ")) {
53458
53458
  for (let i = 0; i < lowStatements.length; i++) {
53459
53459
  const high = highStatements[i];
53460
53460
  const issue = this.replaceXsdBool(high, lowFile, highSyntax);
53461
53461
  if (issue) {
53462
53462
  ret.push(issue);
53463
- break;
53464
53463
  }
53465
53464
  }
53466
53465
  }
@@ -53495,11 +53494,13 @@ Make sure to test the downported code, it might not always be completely correct
53495
53494
  return undefined;
53496
53495
  }
53497
53496
  // downport XSDBOOL() early, as it is valid 702 syntax
53497
+ /*
53498
53498
  let found = this.replaceXsdBool(high, lowFile, highSyntax);
53499
53499
  if (found) {
53500
- return found;
53500
+ return found;
53501
53501
  }
53502
- found = this.downportEnum(low, high, lowFile, highSyntax, highFile);
53502
+ */
53503
+ let found = this.downportEnum(low, high, lowFile, highSyntax, highFile);
53503
53504
  if (found) {
53504
53505
  return found;
53505
53506
  }
@@ -55737,7 +55738,20 @@ ${indentation} output = ${uniqueName}.\n`;
55737
55738
  if (r.referenceType === _reference_1.ReferenceType.BuiltinMethodReference
55738
55739
  && r.position.getName().toUpperCase() === "XSDBOOL") {
55739
55740
  const token = r.position.getToken();
55740
- const fix = edit_helper_1.EditHelper.replaceRange(lowFile, token.getStart(), token.getEnd(), "boolc");
55741
+ let source = undefined;
55742
+ for (const s of node.findAllExpressionsRecursive(Expressions.Source)) {
55743
+ if (s.getFirstToken().getStart().equals(token.getStart())) {
55744
+ source = s;
55745
+ break;
55746
+ }
55747
+ }
55748
+ const children = source === null || source === void 0 ? void 0 : source.getChildren();
55749
+ if (source === undefined || (children === null || children === void 0 ? void 0 : children.length) !== 4) {
55750
+ continue;
55751
+ }
55752
+ // make sure to convert to the correct type, RTTI might be used on the result of XSDBOOL
55753
+ const code = "CONV xsdboolean( boolc( " + children[2].concatTokens() + " ) )";
55754
+ const fix = edit_helper_1.EditHelper.replaceRange(lowFile, source.getFirstToken().getStart(), source.getLastToken().getEnd(), code);
55741
55755
  return issue_1.Issue.atToken(lowFile, token, "Use BOOLC", this.getMetadata().key, this.conf.severity, fix);
55742
55756
  }
55743
55757
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.102.8",
3
+ "version": "2.102.10",
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.8",
41
+ "@abaplint/core": "^2.102.10",
42
42
  "@types/chai": "^4.3.5",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.2",