@abaplint/core 2.100.2 → 2.100.4

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.
@@ -92,6 +92,7 @@ class Source {
92
92
  {
93
93
  const foundType = this.determineType(node, scope, filename, targetType);
94
94
  new conv_body_1.ConvBody().runSyntax(node.findDirectExpression(Expressions.ConvBody), scope, filename);
95
+ this.addIfInferred(node, scope, filename, foundType);
95
96
  return foundType;
96
97
  }
97
98
  case "REF":
package/build/src/ddic.js CHANGED
@@ -375,7 +375,7 @@ class DDIC {
375
375
  case "SSTRING": // 1 <= len <= 1333
376
376
  case "STRG": // 256 <= len
377
377
  case "STRING": // 256 <= len
378
- return new Types.StringType({ qualifiedName: qualifiedName });
378
+ return new Types.StringType({ qualifiedName: qualifiedName || "STRING" });
379
379
  case "RSTR": // 256 <= len
380
380
  case "RAWSTRING": // 256 <= len
381
381
  case "GEOM_EWKB":
@@ -65,7 +65,7 @@ class Registry {
65
65
  }
66
66
  static abaplintVersion() {
67
67
  // magic, see build script "version.sh"
68
- return "2.100.2";
68
+ return "2.100.4";
69
69
  }
70
70
  getDDICReferences() {
71
71
  return this.ddicReferences;
@@ -2066,11 +2066,12 @@ ${indentation} output = ${topTarget}.`;
2066
2066
  body += indentation + structureName + "-" + b.concatTokens() + ".\n";
2067
2067
  }
2068
2068
  else if (b.get() instanceof Expressions.Source) {
2069
- body += indentation + "APPEND " + b.concatTokens() + ` TO ${uniqueName}.\n`;
2069
+ // note: it wont work with APPEND for Hashed/Sorted Tables, so use INSERT,
2070
+ body += indentation + "INSERT " + b.concatTokens() + ` INTO TABLE ${uniqueName}.\n`;
2070
2071
  skip = true;
2071
2072
  }
2072
2073
  else if (b.get() instanceof Expressions.ValueBodyLines) {
2073
- body += indentation + "APPEND " + b.concatTokens() + ` TO ${uniqueName}.\n`;
2074
+ body += indentation + "INSERT " + b.concatTokens() + ` INTO TABLE ${uniqueName}.\n`;
2074
2075
  skip = true;
2075
2076
  }
2076
2077
  else if (b.concatTokens() === ")") {
@@ -2079,7 +2080,7 @@ ${indentation} output = ${topTarget}.`;
2079
2080
  added = true;
2080
2081
  }
2081
2082
  if (skip === false) {
2082
- body += indentation + `APPEND ${structureName} TO ${uniqueName}.\n`;
2083
+ body += indentation + `INSERT ${structureName} INTO TABLE ${uniqueName}.\n`;
2083
2084
  }
2084
2085
  }
2085
2086
  previous = b;
@@ -27,8 +27,12 @@ class EmptyLineinStatement extends _abap_rule_1.ABAPRule {
27
27
  key: "empty_line_in_statement",
28
28
  title: "Find empty lines in statements",
29
29
  shortDescription: `Checks that statements do not contain empty lines.`,
30
- extendedInformation: `https://docs.abapopenchecks.org/checks/41/`,
31
- tags: [_irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile],
30
+ extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#dont-obsess-with-separating-blank-lines
31
+
32
+ https://docs.abapopenchecks.org/checks/41/`,
33
+ tags: [_irule_1.RuleTag.Quickfix, _irule_1.RuleTag.Whitespace, _irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],
34
+ badExample: `WRITE\n\nhello.`,
35
+ goodExample: `WRITE hello.`,
32
36
  };
33
37
  }
34
38
  getMessage() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.100.2",
3
+ "version": "2.100.4",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -51,7 +51,7 @@
51
51
  "@microsoft/api-extractor": "^7.34.9",
52
52
  "@types/chai": "^4.3.5",
53
53
  "@types/mocha": "^10.0.1",
54
- "@types/node": "^20.1.3",
54
+ "@types/node": "^20.2.0",
55
55
  "chai": "^4.3.7",
56
56
  "eslint": "^8.40.0",
57
57
  "mocha": "^10.2.0",