@abaplint/transpiler-cli 2.7.94 → 2.7.95

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 +25 -15
  2. package/package.json +4 -4
package/build/bundle.js CHANGED
@@ -12705,10 +12705,11 @@ class Loop {
12705
12705
  getMatcher() {
12706
12706
  const where = (0, combi_1.seq)("WHERE", (0, combi_1.alt)(expressions_1.ComponentCond, expressions_1.Dynamic));
12707
12707
  const group = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.seq)("GROUP BY", loop_group_by_1.LoopGroupBy));
12708
+ const step = (0, combi_1.ver)(version_1.Version.v757, (0, combi_1.seq)("STEP", expressions_1.Source));
12708
12709
  const from = (0, combi_1.seq)("FROM", expressions_1.Source);
12709
12710
  const to = (0, combi_1.seq)("TO", expressions_1.Source);
12710
12711
  const usingKey = (0, combi_1.seq)("USING KEY", (0, combi_1.altPrio)(expressions_1.SimpleName, expressions_1.Dynamic));
12711
- const options = (0, combi_1.per)(expressions_1.LoopTarget, from, to, where, usingKey, group);
12712
+ const options = (0, combi_1.per)(expressions_1.LoopTarget, from, to, where, usingKey, group, step);
12712
12713
  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));
12713
12714
  return (0, combi_1.seq)("LOOP", (0, combi_1.opt)(at));
12714
12715
  }
@@ -13812,7 +13813,7 @@ const version_1 = __webpack_require__(/*! ../../../version */ "./node_modules/@a
13812
13813
  class ReadTextpool {
13813
13814
  getMatcher() {
13814
13815
  const language = (0, combi_1.seq)("LANGUAGE", expressions_1.Source);
13815
- const into = (0, combi_1.seq)("INTO", expressions_1.Target);
13816
+ const into = (0, combi_1.seq)("INTO", expressions_1.SimpleTarget);
13816
13817
  const state = (0, combi_1.seq)("STATE", expressions_1.Source);
13817
13818
  const ret = (0, combi_1.seq)("READ TEXTPOOL", expressions_1.Source, (0, combi_1.per)(into, language, state));
13818
13819
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
@@ -20815,18 +20816,23 @@ class TypeUtils {
20815
20816
  }
20816
20817
  return true;
20817
20818
  }
20818
- else if (source instanceof basic_1.StructureType && target instanceof basic_1.StructureType) {
20819
- const sourceComponents = source.getComponents();
20820
- const targetComponents = target.getComponents();
20821
- if (sourceComponents.length !== targetComponents.length) {
20822
- return false;
20823
- }
20824
- for (let i = 0; i < sourceComponents.length; i++) {
20825
- if (this.isAssignableStrict(sourceComponents[i].type, targetComponents[i].type) === false) {
20819
+ else if (source instanceof basic_1.StructureType) {
20820
+ if (target instanceof basic_1.StructureType) {
20821
+ const sourceComponents = source.getComponents();
20822
+ const targetComponents = target.getComponents();
20823
+ if (sourceComponents.length !== targetComponents.length) {
20826
20824
  return false;
20827
20825
  }
20826
+ for (let i = 0; i < sourceComponents.length; i++) {
20827
+ if (this.isAssignableStrict(sourceComponents[i].type, targetComponents[i].type) === false) {
20828
+ return false;
20829
+ }
20830
+ }
20831
+ return true;
20832
+ }
20833
+ else if (target instanceof basic_1.CharacterType) {
20834
+ return false;
20828
20835
  }
20829
- return true;
20830
20836
  }
20831
20837
  else if (source instanceof basic_1.Integer8Type) {
20832
20838
  if (target instanceof basic_1.IntegerType || target instanceof basic_1.StringType) {
@@ -20954,6 +20960,9 @@ class TypeUtils {
20954
20960
  else if (target.containsVoid() === true) {
20955
20961
  return true;
20956
20962
  }
20963
+ else if (source instanceof basic_1.StringType && this.structureContainsString(target)) {
20964
+ return false;
20965
+ }
20957
20966
  else if (source instanceof basic_1.IntegerType) {
20958
20967
  return false;
20959
20968
  }
@@ -29567,7 +29576,7 @@ class ReadTextpool {
29567
29576
  for (const s of node.findDirectExpressions(Expressions.Source)) {
29568
29577
  new source_1.Source().runSyntax(s, scope, filename);
29569
29578
  }
29570
- for (const t of node.findDirectExpressions(Expressions.Target)) {
29579
+ for (const t of node.findDirectExpressions(Expressions.SimpleTarget)) {
29571
29580
  new target_1.Target().runSyntax(t, scope, filename);
29572
29581
  }
29573
29582
  }
@@ -45824,9 +45833,10 @@ class RenamerHelper {
45824
45833
  renameFiles(obj, oldName, name) {
45825
45834
  const list = [];
45826
45835
  const newName = name.toLowerCase().replace(/\//g, "#");
45836
+ oldName = oldName.toLowerCase().replace(/\//g, "#");
45827
45837
  for (const f of obj.getFiles()) {
45828
45838
  // todo, this is not completely correct, ie. if the URI contains the same directory name as the object name
45829
- const newFilename = f.getFilename().replace(oldName.toLowerCase(), newName.toLowerCase());
45839
+ const newFilename = f.getFilename().replace(oldName, newName);
45830
45840
  list.push(vscode_languageserver_types_1.RenameFile.create(f.getFilename(), newFilename));
45831
45841
  }
45832
45842
  return list;
@@ -47831,7 +47841,7 @@ class Registry {
47831
47841
  }
47832
47842
  static abaplintVersion() {
47833
47843
  // magic, see build script "version.sh"
47834
- return "2.102.34";
47844
+ return "2.102.37";
47835
47845
  }
47836
47846
  getDDICReferences() {
47837
47847
  return this.ddicReferences;
@@ -59935,7 +59945,7 @@ class MessageExistsRule {
59935
59945
  const msag = this.reg.getObject("MSAG", ref.messageClass);
59936
59946
  if (msag === undefined) {
59937
59947
  if (new ddic_1.DDIC(this.reg).inErrorNamespace(ref.messageClass) === true) {
59938
- const message = "Message class \"" + ref.token.getStr() + "\" not found";
59948
+ const message = "Message class \"" + ref.messageClass + "\" not found";
59939
59949
  issues.push(issue_1.Issue.atToken(file, ref.token, message, this.getMetadata().key, this.conf.severity));
59940
59950
  }
59941
59951
  continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.7.94",
3
+ "version": "2.7.95",
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.94",
29
+ "@abaplint/transpiler": "^2.7.95",
30
30
  "@types/glob": "^7.2.0",
31
31
  "glob": "=7.2.0",
32
32
  "@types/progress": "^2.0.5",
33
- "@types/node": "^20.5.9",
34
- "@abaplint/core": "^2.102.34",
33
+ "@types/node": "^20.6.0",
34
+ "@abaplint/core": "^2.102.37",
35
35
  "progress": "^2.0.3",
36
36
  "webpack": "^5.88.2",
37
37
  "webpack-cli": "^5.1.4",