@abaplint/core 2.90.1 → 2.90.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.
@@ -68,7 +68,7 @@ class Registry {
68
68
  }
69
69
  static abaplintVersion() {
70
70
  // magic, see build script "version.sh"
71
- return "2.90.1";
71
+ return "2.90.2";
72
72
  }
73
73
  getDDICReferences() {
74
74
  return this.references;
@@ -1224,12 +1224,14 @@ ${indentation} output = ${topTarget}.`;
1224
1224
  body += indentation + uniqueName + " = " + base.concatTokens() + ".\n";
1225
1225
  }
1226
1226
  let end = "";
1227
- for (const forLoop of (valueBody === null || valueBody === void 0 ? void 0 : valueBody.findDirectExpressions(Expressions.For)) || []) {
1228
- const outlineFor = this.outlineFor(forLoop, indentation, lowFile, highSyntax);
1229
- body += outlineFor.body;
1230
- end = outlineFor.end + `.\n` + end;
1231
- indentation += " ";
1232
- }
1227
+ /*
1228
+ for (const forLoop of valueBody?.findDirectExpressions(Expressions.For) || []) {
1229
+ const outlineFor = this.outlineFor(forLoop, indentation, lowFile, highSyntax);
1230
+ body += outlineFor.body;
1231
+ end = outlineFor.end + `.\n` + end;
1232
+ indentation += " ";
1233
+ }
1234
+ */
1233
1235
  let structureName = uniqueName;
1234
1236
  let added = false;
1235
1237
  let skip = false;
@@ -1247,6 +1249,12 @@ ${indentation} output = ${topTarget}.`;
1247
1249
  }
1248
1250
  body += indentation + structureName + "-" + b.concatTokens() + ".\n";
1249
1251
  }
1252
+ else if (b instanceof nodes_1.ExpressionNode && b.get() instanceof Expressions.For) {
1253
+ const outlineFor = this.outlineFor(b, indentation, lowFile, highSyntax);
1254
+ body += outlineFor.body;
1255
+ end = outlineFor.end + `.\n` + end;
1256
+ indentation += " ";
1257
+ }
1250
1258
  else if (b.get() instanceof Expressions.Source) {
1251
1259
  structureName = b.concatTokens();
1252
1260
  if (base && (valueBody === null || valueBody === void 0 ? void 0 : valueBody.findDirectTokenByText("(")) === undefined) {
@@ -1302,6 +1310,10 @@ ${indentation} output = ${topTarget}.`;
1302
1310
  }
1303
1311
  const found = spag.findVariable(name);
1304
1312
  if (found === undefined) {
1313
+ const source = f.findFirstExpression(Expressions.Source);
1314
+ if (source) {
1315
+ ret += indentation + "DATA(" + name + `) = ${source.concatTokens()}.\n`;
1316
+ }
1305
1317
  continue;
1306
1318
  }
1307
1319
  const type = found.getType().getQualifiedName() ? (_a = found.getType().getQualifiedName()) === null || _a === void 0 ? void 0 : _a.toLowerCase() : found.getType().toABAP();
@@ -12,28 +12,29 @@ class FunctionModuleRecommendationsConf extends _basic_rule_config_1.BasicRuleCo
12
12
  /** Tuple of Function Module Name to be replaced, the recommended alternative and
13
13
  * the version from which the recommendation is valid.*/
14
14
  this.recommendations = [
15
- { name: "SUBST_GET_FILE_LIST", replace: "see note 1686357" },
16
- { name: "ROUND", replace: "use built in function: round()" },
17
- { name: "SO_NEW_DOCUMENT_ATT_SEND_API1", replace: "use CL_BCS" },
15
+ { name: "CALCULATE_HASH_FOR_RAW", replace: "use CL_ABAP_HMAC" },
18
16
  { name: "ECATT_CONV_XSTRING_TO_STRING", replace: "use CL_BINARY_CONVERT" },
19
- { name: "SCMS_STRING_TO_XSTRING", replace: "use CL_BINARY_CONVERT" },
20
- { name: "JOB_CREATE", replace: "use CL_BP_ABAP_JOB" },
21
- { name: "JOB_SUBMIT", replace: "use CL_BP_ABAP_JOB" },
17
+ { name: "F4_FILENAME", replace: "use CL_GUI_FRONTEND_SERVICES" },
18
+ { name: "FUNCTION_EXISTS", replace: "surround with try-catch CX_SY_DYN_CALL_ILLEGAL_METHOD instead" },
22
19
  { name: "GUI_DOWNLOAD", replace: "use CL_GUI_FRONTEND_SERVICES" },
23
20
  { name: "GUI_UPLOAD", replace: "use CL_GUI_FRONTEND_SERVICES" },
24
- { name: "WS_FILENAME_GET", replace: "use CL_GUI_FRONTEND_SERVICES" },
25
- { name: "F4_FILENAME", replace: "use CL_GUI_FRONTEND_SERVICES" },
26
- { name: "SAPGUI_PROGRESS_INDICATOR", replace: "use CL_PROGRESS_INDICATOR" },
27
21
  { name: "GUID_CREATE", replace: "use CL_SYSTEM_UUID" },
28
- { name: "SSFC_BASE64_DECODE", replace: "use class CL_HTTP_UTILITY methods" },
29
- { name: "SSFC_BASE64_ENCODE", replace: "use class CL_HTTP_UTILITY methods" },
30
- { name: "SCMS_BASE64_DECODE_STR", replace: "use class CL_HTTP_UTILITY methods" },
31
- { name: "POPUP_TO_DECIDE", replace: "use POPUP_TO_CONFIRM" },
32
- { name: "REUSE_ALV_GRID_DISPLAY", replace: "use CL_SALV_TABLE=>FACTORY or CL_GUI_ALV_GRID" },
33
- { name: "CALCULATE_HASH_FOR_RAW", replace: "use CL_ABAP_HMAC" },
34
- { name: "FUNCTION_EXISTS", replace: "surround with try-catch CX_SY_DYN_CALL_ILLEGAL_METHOD instead" },
35
22
  { name: "IGN_TIMESTAMP_DIFFERENCE", replace: "use CL_ABAP_TSTMP" },
36
23
  { name: "IGN_TIMESTAMP_PLUSMINUS", replace: "use CL_ABAP_TSTMP" },
24
+ { name: "JOB_CREATE", replace: "use CL_BP_ABAP_JOB" },
25
+ { name: "JOB_SUBMIT", replace: "use CL_BP_ABAP_JOB" },
26
+ { name: "POPUP_TO_DECIDE", replace: "use POPUP_TO_CONFIRM" },
27
+ { name: "POPUP_TO_GET_VALUE", replace: "use POPUP_GET_VALUES" },
28
+ { name: "REUSE_ALV_GRID_DISPLAY", replace: "use CL_SALV_TABLE=>FACTORY or CL_GUI_ALV_GRID" },
29
+ { name: "ROUND", replace: "use built in function: round()" },
30
+ { name: "SAPGUI_PROGRESS_INDICATOR", replace: "use CL_PROGRESS_INDICATOR" },
31
+ { name: "SCMS_BASE64_DECODE_STR", replace: "use class CL_HTTP_UTILITY methods" },
32
+ { name: "SCMS_STRING_TO_XSTRING", replace: "use CL_BINARY_CONVERT" },
33
+ { name: "SO_NEW_DOCUMENT_ATT_SEND_API1", replace: "use CL_BCS" },
34
+ { name: "SSFC_BASE64_DECODE", replace: "use class CL_HTTP_UTILITY methods" },
35
+ { name: "SSFC_BASE64_ENCODE", replace: "use class CL_HTTP_UTILITY methods" },
36
+ { name: "SUBST_GET_FILE_LIST", replace: "see note 1686357" },
37
+ { name: "WS_FILENAME_GET", replace: "use CL_GUI_FRONTEND_SERVICES" },
37
38
  ];
38
39
  }
39
40
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.90.1",
3
+ "version": "2.90.2",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -45,10 +45,10 @@
45
45
  },
46
46
  "homepage": "https://abaplint.org",
47
47
  "devDependencies": {
48
- "@microsoft/api-extractor": "^7.23.1",
48
+ "@microsoft/api-extractor": "^7.23.2",
49
49
  "@types/chai": "^4.3.1",
50
50
  "@types/mocha": "^9.1.1",
51
- "@types/node": "^17.0.31",
51
+ "@types/node": "^17.0.32",
52
52
  "chai": "^4.3.6",
53
53
  "eslint": "^8.15.0",
54
54
  "mocha": "^10.0.0",
@@ -60,7 +60,7 @@
60
60
  "dependencies": {
61
61
  "fast-xml-parser": "^4.0.7",
62
62
  "json5": "^2.2.1",
63
- "vscode-languageserver-protocol": "^3.16.0",
64
- "vscode-languageserver-types": "^3.16.0"
63
+ "vscode-languageserver-protocol": "=3.16.0",
64
+ "vscode-languageserver-types": "=3.16.0"
65
65
  }
66
66
  }