@abaplint/cli 2.102.33 → 2.102.35

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 +17 -6
  2. package/package.json +4 -4
package/build/cli.js CHANGED
@@ -13651,10 +13651,11 @@ class Loop {
13651
13651
  getMatcher() {
13652
13652
  const where = (0, combi_1.seq)("WHERE", (0, combi_1.alt)(expressions_1.ComponentCond, expressions_1.Dynamic));
13653
13653
  const group = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)("GROUP BY", loop_group_by_1.LoopGroupBy));
13654
+ const step = (0, combi_1.ver)(version_1.Version.v757, (0, combi_1.seq)("STEP", expressions_1.Source));
13654
13655
  const from = (0, combi_1.seq)("FROM", expressions_1.Source);
13655
13656
  const to = (0, combi_1.seq)("TO", expressions_1.Source);
13656
13657
  const usingKey = (0, combi_1.seq)("USING KEY", (0, combi_1.altPrio)(expressions_1.SimpleName, expressions_1.Dynamic));
13657
- const options = (0, combi_1.per)(expressions_1.LoopTarget, from, to, where, usingKey, group);
13658
+ const options = (0, combi_1.per)(expressions_1.LoopTarget, from, to, where, usingKey, group, step);
13658
13659
  const at = (0, combi_1.seq)("AT", (0, combi_1.opt)((0, combi_1.seq)("SCREEN", (0, combi_1.failCombinator)())), (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v740sp08, "GROUP")), (0, combi_1.alt)(simple_source2_1.SimpleSource2, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source)), (0, combi_1.opt)(options));
13659
13660
  return (0, combi_1.seq)("LOOP", (0, combi_1.opt)(at));
13660
13661
  }
@@ -14758,7 +14759,7 @@ const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@a
14758
14759
  class ReadTextpool {
14759
14760
  getMatcher() {
14760
14761
  const language = (0, combi_1.seq)("LANGUAGE", expressions_1.Source);
14761
- const into = (0, combi_1.seq)("INTO", expressions_1.Target);
14762
+ const into = (0, combi_1.seq)("INTO", expressions_1.SimpleTarget);
14762
14763
  const state = (0, combi_1.seq)("STATE", expressions_1.Source);
14763
14764
  const ret = (0, combi_1.seq)("READ TEXTPOOL", expressions_1.Source, (0, combi_1.per)(into, language, state));
14764
14765
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
@@ -20845,6 +20846,9 @@ class CurrentScope {
20845
20846
  }
20846
20847
  return false;
20847
20848
  }
20849
+ isGlobalOO() {
20850
+ return this.parentObj.getType() === "INTF" || this.parentObj.getType() === "CLAS";
20851
+ }
20848
20852
  isTypePool() {
20849
20853
  var _a;
20850
20854
  return ((_a = this.current) === null || _a === void 0 ? void 0 : _a.getIdentifier().filename.endsWith(".type.abap")) === true || false;
@@ -29360,7 +29364,7 @@ class InsertInternal {
29360
29364
  new fstarget_1.FSTarget().runSyntax(afterAssigning, scope, filename, sourceType);
29361
29365
  }
29362
29366
  }
29363
- if (afterAssigning === undefined
29367
+ if (node.findDirectTokenByText("INITIAL") === undefined
29364
29368
  && new _type_utils_1.TypeUtils(scope).isAssignableStrict(sourceType, targetType) === false) {
29365
29369
  throw new Error("Types not compatible");
29366
29370
  }
@@ -30510,7 +30514,7 @@ class ReadTextpool {
30510
30514
  for (const s of node.findDirectExpressions(Expressions.Source)) {
30511
30515
  new source_1.Source().runSyntax(s, scope, filename);
30512
30516
  }
30513
- for (const t of node.findDirectExpressions(Expressions.Target)) {
30517
+ for (const t of node.findDirectExpressions(Expressions.SimpleTarget)) {
30514
30518
  new target_1.Target().runSyntax(t, scope, filename);
30515
30519
  }
30516
30520
  }
@@ -31428,6 +31432,13 @@ class Type {
31428
31432
  && (found === null || found === void 0 ? void 0 : found.getType().containsVoid()) === false) {
31429
31433
  throw new Error("TYPES definition cannot be generic, " + found.getName());
31430
31434
  }
31435
+ if (scope.isGlobalOO() && found.getType() instanceof basic_1.PackedType) {
31436
+ const concat = node.concatTokens().toUpperCase();
31437
+ if ((concat.includes(" TYPE P ") || concat.includes(" TYPE P."))
31438
+ && concat.includes(" DECIMALS ") === false) {
31439
+ throw new Error("Specify DECIMALS in OO context for packed");
31440
+ }
31441
+ }
31431
31442
  return found;
31432
31443
  }
31433
31444
  const fallback = node.findFirstExpression(Expressions.NamespaceSimpleName);
@@ -48767,7 +48778,7 @@ class Registry {
48767
48778
  }
48768
48779
  static abaplintVersion() {
48769
48780
  // magic, see build script "version.sh"
48770
- return "2.102.33";
48781
+ return "2.102.35";
48771
48782
  }
48772
48783
  getDDICReferences() {
48773
48784
  return this.ddicReferences;
@@ -60871,7 +60882,7 @@ class MessageExistsRule {
60871
60882
  const msag = this.reg.getObject("MSAG", ref.messageClass);
60872
60883
  if (msag === undefined) {
60873
60884
  if (new ddic_1.DDIC(this.reg).inErrorNamespace(ref.messageClass) === true) {
60874
- const message = "Message class \"" + ref.token.getStr() + "\" not found";
60885
+ const message = "Message class \"" + ref.messageClass + "\" not found";
60875
60886
  issues.push(issue_1.Issue.atToken(file, ref.token, message, this.getMetadata().key, this.conf.severity));
60876
60887
  }
60877
60888
  continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.102.33",
3
+ "version": "2.102.35",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,12 +38,12 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.102.33",
42
- "@types/chai": "^4.3.5",
41
+ "@abaplint/core": "^2.102.35",
42
+ "@types/chai": "^4.3.6",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.2",
45
45
  "@types/mocha": "^10.0.1",
46
- "@types/node": "^20.5.7",
46
+ "@types/node": "^20.5.9",
47
47
  "@types/progress": "^2.0.5",
48
48
  "chai": "^4.3.8",
49
49
  "chalk": "^5.3.0",