@abaplint/transpiler-cli 2.7.28 → 2.7.29

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/bundle.js +36 -4
  2. package/package.json +4 -4
package/build/bundle.js CHANGED
@@ -20721,6 +20721,9 @@ class TypeUtils {
20721
20721
  }
20722
20722
  return source.getLength() === target.getLength();
20723
20723
  }
20724
+ else if (target instanceof basic_1.XStringType) {
20725
+ return false;
20726
+ }
20724
20727
  else if (target instanceof basic_1.IntegerType) {
20725
20728
  if (((_e = source.getAbstractTypeData()) === null || _e === void 0 ? void 0 : _e.derivedFromConstant) === true) {
20726
20729
  return true;
@@ -24600,6 +24603,8 @@ class Source {
24600
24603
  switch (tok) {
24601
24604
  case "(":
24602
24605
  case "-":
24606
+ case "+":
24607
+ case "BIT":
24603
24608
  break;
24604
24609
  case "BOOLC":
24605
24610
  {
@@ -40015,7 +40020,11 @@ class Hover {
40015
40020
  return { kind: LServer.MarkupKind.Markdown, value: "String Template" };
40016
40021
  }
40017
40022
  else if (found.token instanceof Tokens.Comment) {
40018
- return { kind: LServer.MarkupKind.Markdown, value: "Comment" };
40023
+ let type = "Comment";
40024
+ if (found.token.getStr().startsWith(`"!`)) {
40025
+ type = "ABAP Doc Comment";
40026
+ }
40027
+ return { kind: LServer.MarkupKind.Markdown, value: type };
40019
40028
  }
40020
40029
  const lookup = _lookup_1.LSPLookup.lookup(found, this.reg, obj);
40021
40030
  if (lookup === null || lookup === void 0 ? void 0 : lookup.hover) {
@@ -47506,7 +47515,7 @@ class Registry {
47506
47515
  }
47507
47516
  static abaplintVersion() {
47508
47517
  // magic, see build script "version.sh"
47509
- return "2.101.28";
47518
+ return "2.101.29";
47510
47519
  }
47511
47520
  getDDICReferences() {
47512
47521
  return this.ddicReferences;
@@ -47824,7 +47833,9 @@ class SevenBitAscii {
47824
47833
  shortDescription: `Only allow characters from the 7bit ASCII set.`,
47825
47834
  extendedInformation: `https://docs.abapopenchecks.org/checks/05/
47826
47835
 
47827
- Checkes files with extension ".abap" and ".asddls"`,
47836
+ https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abencharacter_set_guidl.htm
47837
+
47838
+ Checkes files with extensions ".abap" and ".asddls"`,
47828
47839
  tags: [_irule_1.RuleTag.SingleFile],
47829
47840
  };
47830
47841
  }
@@ -60098,7 +60109,7 @@ class MSAGConsistency {
60098
60109
  key: "msag_consistency",
60099
60110
  title: "MSAG consistency check",
60100
60111
  shortDescription: `Checks the validity of messages in message classes`,
60101
- extendedInformation: `Message numbers must be 3 digits, and message text must not be empty`,
60112
+ extendedInformation: `Message numbers must be 3 digits, message text must not be empty, no message number duplicates`,
60102
60113
  };
60103
60114
  }
60104
60115
  getDescription(reason) {
@@ -60118,6 +60129,7 @@ class MSAGConsistency {
60118
60129
  if (!(obj instanceof objects_1.MessageClass)) {
60119
60130
  return [];
60120
60131
  }
60132
+ const numbers = new Set();
60121
60133
  for (const message of obj.getMessages()) {
60122
60134
  // todo, get the right positions in xml file
60123
60135
  if (!message.getNumber().match(/\d\d\d/)) {
@@ -60132,6 +60144,16 @@ class MSAGConsistency {
60132
60144
  const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
60133
60145
  issues.push(issue);
60134
60146
  }
60147
+ const num = message.getNumber();
60148
+ if (numbers.has(num)) {
60149
+ const text = "Duplicate message number " + num;
60150
+ const position = new position_1.Position(1, 1);
60151
+ const issue = issue_1.Issue.atPosition(obj.getFiles()[0], position, text, this.getMetadata().key, this.conf.severity);
60152
+ issues.push(issue);
60153
+ }
60154
+ else {
60155
+ numbers.add(num);
60156
+ }
60135
60157
  }
60136
60158
  return issues;
60137
60159
  }
@@ -61260,6 +61282,16 @@ POSIX REGEX: https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.ht
61260
61282
  OCCURENCES: check for OCCURENCES vs OCCURRENCES
61261
61283
 
61262
61284
  CLIENT SPECIFIED, from 754: https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm?file=abapselect_client_obsolete.htm`,
61285
+ badExample: `REFRESH itab.
61286
+
61287
+ COMPUTE foo = 2 + 2.
61288
+
61289
+ MULTIPLY lv_foo BY 2.
61290
+
61291
+ INTERFACE intf LOAD.
61292
+
61293
+ IF foo IS SUPPLIED.
61294
+ ENDIF.`,
61263
61295
  };
61264
61296
  }
61265
61297
  getConfig() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.7.28",
3
+ "version": "2.7.29",
4
4
  "description": "Transpiler - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -26,12 +26,12 @@
26
26
  "author": "abaplint",
27
27
  "license": "MIT",
28
28
  "devDependencies": {
29
- "@abaplint/transpiler": "^2.7.28",
29
+ "@abaplint/transpiler": "^2.7.29",
30
30
  "@types/glob": "^7.2.0",
31
31
  "glob": "=7.2.0",
32
32
  "@types/progress": "^2.0.5",
33
- "@types/node": "^20.3.2",
34
- "@abaplint/core": "^2.101.28",
33
+ "@types/node": "^20.3.3",
34
+ "@abaplint/core": "^2.101.29",
35
35
  "progress": "^2.0.3",
36
36
  "webpack": "^5.88.1",
37
37
  "webpack-cli": "^5.1.4",