@abaplint/core 2.86.7 → 2.86.8

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.86.7";
71
+ return "2.86.8";
72
72
  }
73
73
  getDDICReferences() {
74
74
  return this.references;
@@ -515,16 +515,29 @@ ${indentation}`);
515
515
  }
516
516
  tableCondition(tableExpression) {
517
517
  let condition = "";
518
+ let keyName = "";
518
519
  for (const c of tableExpression.getChildren() || []) {
519
520
  if (c.getFirstToken().getStr() === "[" || c.getFirstToken().getStr() === "]") {
520
521
  continue;
521
522
  }
522
523
  else if (c.get() instanceof Expressions.ComponentChainSimple && condition === "") {
523
- condition = "WITH KEY ";
524
+ if (keyName === "") {
525
+ condition = "WITH KEY ";
526
+ }
527
+ else {
528
+ condition = "WITH TABLE KEY " + keyName + " COMPONENTS ";
529
+ }
524
530
  }
525
531
  else if (c.get() instanceof Expressions.Source && condition === "") {
526
532
  condition = "INDEX ";
527
533
  }
534
+ else if (c instanceof nodes_1.TokenNode && c.getFirstToken().getStr().toUpperCase() === "KEY") {
535
+ continue;
536
+ }
537
+ else if (c.get() instanceof Expressions.SimpleName) {
538
+ keyName = c.concatTokens();
539
+ continue;
540
+ }
528
541
  condition += c.concatTokens() + " ";
529
542
  }
530
543
  return condition;
@@ -20,7 +20,7 @@ class UnsecureFAE {
20
20
  title: "Unsecure FAE",
21
21
  shortDescription: `Checks for unsecure FAE`,
22
22
  extendedInformation: `Issues from rule check_syntax must be fixed before this rule takes effect`,
23
- tags: [_irule_1.RuleTag.Experimental],
23
+ tags: [_irule_1.RuleTag.Experimental, _irule_1.RuleTag.Performance],
24
24
  };
25
25
  }
26
26
  getConfig() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.86.7",
3
+ "version": "2.86.8",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",