@abaplint/transpiler-cli 2.5.31 → 2.5.33

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 +26 -4
  2. package/package.json +3 -3
package/build/bundle.js CHANGED
@@ -46208,7 +46208,7 @@ class Registry {
46208
46208
  }
46209
46209
  static abaplintVersion() {
46210
46210
  // magic, see build script "version.sh"
46211
- return "2.95.41";
46211
+ return "2.95.42";
46212
46212
  }
46213
46213
  getDDICReferences() {
46214
46214
  return this.references;
@@ -50927,6 +50927,19 @@ Only one transformation is applied to a statement at a time, so multiple steps m
50927
50927
  }
50928
50928
  return this.graph.listMainForInclude(filename);
50929
50929
  }
50930
+ containsError(highObj) {
50931
+ for (const file of highObj.getABAPFiles()) {
50932
+ for (const statement of file.getStatements()) {
50933
+ if (statement.get() instanceof _statement_1.Unknown) {
50934
+ return true; // contains parser errors
50935
+ }
50936
+ }
50937
+ if (file.getStructure() === undefined) {
50938
+ return true;
50939
+ }
50940
+ }
50941
+ return false;
50942
+ }
50930
50943
  run(lowObj) {
50931
50944
  var _a;
50932
50945
  const ret = [];
@@ -50943,6 +50956,9 @@ Only one transformation is applied to a statement at a time, so multiple steps m
50943
50956
  return ret;
50944
50957
  }
50945
50958
  let highSyntaxObj = highObj;
50959
+ if (this.containsError(highObj)) {
50960
+ return ret;
50961
+ }
50946
50962
  // for includes do the syntax check via a main program
50947
50963
  if (lowObj instanceof objects_1.Program && lowObj.isInclude()) {
50948
50964
  const mains = this.listMainForInclude((_a = lowObj.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getFilename());
@@ -53140,6 +53156,11 @@ ${indentation} output = ${topTarget}.`;
53140
53156
  if (chain === undefined) {
53141
53157
  continue;
53142
53158
  }
53159
+ const concat = chain.concatTokens().toUpperCase();
53160
+ if (concat.startsWith("LINE_EXISTS( ") || concat.startsWith("LINE_INDEX( ")) {
53161
+ // these are handled separately
53162
+ continue;
53163
+ }
53143
53164
  let predicate = false;
53144
53165
  const spag = highSyntax.spaghetti.lookupPosition(high.getFirstToken().getStart(), lowFile.getFilename());
53145
53166
  for (const r of (spag === null || spag === void 0 ? void 0 : spag.getData().references) || []) {
@@ -53271,11 +53292,12 @@ ${indentation} output = ${topTarget}.`;
53271
53292
  return undefined;
53272
53293
  }
53273
53294
  findStartOfIf(node, highFile) {
53274
- var _a;
53275
53295
  const structure = highFile.getStructure();
53276
53296
  for (const c of (structure === null || structure === void 0 ? void 0 : structure.findAllStructuresRecursive(Structures.If)) || []) {
53277
- if (((_a = c.findDirectStructure(Structures.ElseIf)) === null || _a === void 0 ? void 0 : _a.getFirstStatement()) === node) {
53278
- return c.getFirstToken().getStart();
53297
+ for (const ei of c.findDirectStructures(Structures.ElseIf)) {
53298
+ if (ei.getFirstStatement() === node) {
53299
+ return c.getFirstToken().getStart();
53300
+ }
53279
53301
  }
53280
53302
  }
53281
53303
  return undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.5.31",
3
+ "version": "2.5.33",
4
4
  "description": "Transpiler - Command Line Interface",
5
5
  "bin": {
6
6
  "abap_transpile": "./abap_transpile"
@@ -25,11 +25,11 @@
25
25
  "author": "abaplint",
26
26
  "license": "MIT",
27
27
  "devDependencies": {
28
- "@abaplint/transpiler": "^2.5.31",
28
+ "@abaplint/transpiler": "^2.5.33",
29
29
  "@types/glob": "^7.2.0",
30
30
  "glob": "=7.2.0",
31
31
  "@types/progress": "^2.0.5",
32
- "@abaplint/core": "^2.95.41",
32
+ "@abaplint/core": "^2.95.42",
33
33
  "progress": "^2.0.3",
34
34
  "webpack": "^5.76.1",
35
35
  "webpack-cli": "^5.0.1",