@abaplint/cli 2.105.1 → 2.105.2

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 +27 -1
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -51042,7 +51042,7 @@ class Registry {
51042
51042
  }
51043
51043
  static abaplintVersion() {
51044
51044
  // magic, see build script "version.sh"
51045
- return "2.105.1";
51045
+ return "2.105.2";
51046
51046
  }
51047
51047
  getDDICReferences() {
51048
51048
  return this.ddicReferences;
@@ -56048,6 +56048,10 @@ Make sure to test the downported code, it might not always be completely correct
56048
56048
  if (found) {
56049
56049
  return found;
56050
56050
  }
56051
+ found = this.assignComponent(low, high, lowFile, highSyntax);
56052
+ if (found) {
56053
+ return found;
56054
+ }
56051
56055
  found = this.downportRefSimple(high, lowFile, highSyntax);
56052
56056
  if (found) {
56053
56057
  return found;
@@ -57157,6 +57161,28 @@ LOOP AT ${groupTargetName}tab ${groupTarget}.`;
57157
57161
  const fix = edit_helper_1.EditHelper.replaceRange(lowFile, high.getFirstToken().getStart(), high.getLastToken().getEnd(), code);
57158
57162
  return issue_1.Issue.atToken(lowFile, high.getFirstToken(), "Downport, ASSIGN table expr", this.getMetadata().key, this.conf.severity, fix);
57159
57163
  }
57164
+ assignComponent(low, high, lowFile, highSyntax) {
57165
+ if (!(low.get() instanceof _statement_1.Unknown)) {
57166
+ return undefined;
57167
+ }
57168
+ if (!(high.get() instanceof Statements.Assign)) {
57169
+ return undefined;
57170
+ }
57171
+ const assignSource = high.findDirectExpression(Expressions.AssignSource);
57172
+ if (assignSource === undefined || assignSource.getFirstToken().getStr().toUpperCase() !== "COMPONENT") {
57173
+ return undefined;
57174
+ }
57175
+ const componentSource = assignSource.findExpressionAfterToken("COMPONENT");
57176
+ if (componentSource === undefined || componentSource.get() instanceof Expressions.SimpleSource3) {
57177
+ return undefined;
57178
+ }
57179
+ const uniqueName = this.uniqueName(assignSource.getFirstToken().getStart(), lowFile.getFilename(), highSyntax);
57180
+ const code = `DATA(${uniqueName}) = ${componentSource.concatTokens()}.\n`;
57181
+ const fix1 = edit_helper_1.EditHelper.insertAt(lowFile, high.getFirstToken().getStart(), code);
57182
+ const fix2 = edit_helper_1.EditHelper.replaceRange(lowFile, componentSource.getFirstToken().getStart(), componentSource.getLastToken().getEnd(), uniqueName);
57183
+ const fix = edit_helper_1.EditHelper.merge(fix2, fix1);
57184
+ return issue_1.Issue.atToken(lowFile, high.getFirstToken(), "Downport, ASSIGN COMPONENT source", this.getMetadata().key, this.conf.severity, fix);
57185
+ }
57160
57186
  moveWithSimpleValue(low, high, lowFile) {
57161
57187
  if (!(low.get() instanceof _statement_1.Unknown)) {
57162
57188
  return undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.105.1",
3
+ "version": "2.105.2",
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.105.1",
41
+ "@abaplint/core": "^2.105.2",
42
42
  "@types/chai": "^4.3.11",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.5",