@abaplint/transpiler 2.6.42 → 2.6.44

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.
@@ -7,5 +7,5 @@ export declare class ConstantTranspiler implements IExpressionTranspiler {
7
7
  constructor(addGet?: boolean);
8
8
  transpile(node: Nodes.ExpressionNode, traversal: Traversal): Chunk;
9
9
  private character;
10
- escape(str: string): string;
10
+ static escape(str: string): string;
11
11
  }
@@ -28,14 +28,14 @@ class ConstantTranspiler {
28
28
  return new chunk_1.Chunk().append(code, node, traversal);
29
29
  }
30
30
  else if (res.startsWith("`") && this.addGet === false) {
31
- const code = "new abap.types.String().set(" + this.escape(res) + ")";
31
+ const code = "new abap.types.String().set(" + ConstantTranspiler.escape(res) + ")";
32
32
  return new chunk_1.Chunk().append(code, node, traversal);
33
33
  }
34
34
  else {
35
35
  if (res.startsWith("'")) {
36
36
  res = "'" + res.substring(1, res.length - 1).trimEnd() + "'";
37
37
  }
38
- const code = this.escape(res);
38
+ const code = ConstantTranspiler.escape(res);
39
39
  return new chunk_1.Chunk().append(code, node, traversal);
40
40
  }
41
41
  }
@@ -56,7 +56,7 @@ class ConstantTranspiler {
56
56
  chunk.append(code, node, traversal);
57
57
  }
58
58
  else if (res.startsWith("`") && this.addGet === false) {
59
- const code = "new abap.types.String().set(" + this.escape(res) + ")";
59
+ const code = "new abap.types.String().set(" + ConstantTranspiler.escape(res) + ")";
60
60
  chunk.append(code, node, traversal);
61
61
  }
62
62
  }
@@ -72,10 +72,10 @@ class ConstantTranspiler {
72
72
  // note: Characters cannot have length = zero, 1 is minimum
73
73
  length = 1;
74
74
  }
75
- const code = "new abap.types.Character(" + length + ").set(" + this.escape(res) + ")";
75
+ const code = "new abap.types.Character(" + length + ").set(" + ConstantTranspiler.escape(res) + ")";
76
76
  return code;
77
77
  }
78
- escape(str) {
78
+ static escape(str) {
79
79
  str = str.replace(/\\/g, "\\\\");
80
80
  if (str.startsWith("'")) {
81
81
  const reg = new RegExp(/(.+)''(.+)/g);
@@ -0,0 +1,7 @@
1
+ import * as abaplint from "@abaplint/core";
2
+ import { IStatementTranspiler } from "./_statement_transpiler";
3
+ import { Traversal } from "../traversal";
4
+ import { Chunk } from "../chunk";
5
+ export declare class AtSelectionScreenTranspiler implements IStatementTranspiler {
6
+ transpile(_node: abaplint.Nodes.StatementNode, _traversal: Traversal): Chunk;
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AtSelectionScreenTranspiler = void 0;
4
+ const chunk_1 = require("../chunk");
5
+ class AtSelectionScreenTranspiler {
6
+ transpile(_node, _traversal) {
7
+ return new chunk_1.Chunk(`throw new Error("AtSelectionScreen, not supported, transpiler");`);
8
+ }
9
+ }
10
+ exports.AtSelectionScreenTranspiler = AtSelectionScreenTranspiler;
11
+ //# sourceMappingURL=at_selection_screen.js.map
@@ -21,7 +21,13 @@ class DataTranspiler {
21
21
  if (found === undefined) {
22
22
  throw new Error("DataTranspiler, var not found, \"" + token.getStr() + "\"");
23
23
  }
24
- const value = DataTranspiler.buildValue(node, found.getName().toLowerCase(), traversal);
24
+ let value = "";
25
+ if (found.getValue() !== undefined && node.concatTokens().includes(" & ")) {
26
+ value = "\n" + traversal.setValues(found, found.getName());
27
+ }
28
+ else {
29
+ value = DataTranspiler.buildValue(node, found.getName().toLowerCase(), traversal);
30
+ }
25
31
  const ret = new chunk_1.Chunk()
26
32
  .appendString("let ")
27
33
  .append(found.getName().toLowerCase(), token, traversal)
@@ -39,7 +45,7 @@ class DataTranspiler {
39
45
  int = val.findFirstExpression(abaplint.Expressions.ConstantString);
40
46
  }
41
47
  if (int) {
42
- const escaped = new constant_1.ConstantTranspiler().escape(int.concatTokens());
48
+ const escaped = constant_1.ConstantTranspiler.escape(int.concatTokens());
43
49
  value = "\n" + name + ".set(" + escaped + ");";
44
50
  }
45
51
  else if (val.getChildren()[1].get() instanceof abaplint.Expressions.SimpleFieldChain) {
@@ -2,6 +2,7 @@ export * from "./add";
2
2
  export * from "./append";
3
3
  export * from "./assert";
4
4
  export * from "./assign";
5
+ export * from "./at_selection_screen";
5
6
  export * from "./at";
6
7
  export * from "./authority_check";
7
8
  export * from "./break_id";
@@ -18,6 +18,7 @@ __exportStar(require("./add"), exports);
18
18
  __exportStar(require("./append"), exports);
19
19
  __exportStar(require("./assert"), exports);
20
20
  __exportStar(require("./assign"), exports);
21
+ __exportStar(require("./at_selection_screen"), exports);
21
22
  __exportStar(require("./at"), exports);
22
23
  __exportStar(require("./authority_check"), exports);
23
24
  __exportStar(require("./break_id"), exports);
@@ -64,7 +64,7 @@ class InterfaceTranspiler {
64
64
  const valExpression = constantStatement === null || constantStatement === void 0 ? void 0 : constantStatement.findFirstExpression(abaplint.Expressions.Value);
65
65
  if ((valExpression === null || valExpression === void 0 ? void 0 : valExpression.getChildren()[1].get()) instanceof abaplint.Expressions.SimpleFieldChain) {
66
66
  const s = new expressions_1.FieldChainTranspiler().transpile(valExpression.getChildren()[1], traversal, false).getCode();
67
- const e = new expressions_1.ConstantTranspiler().escape(s);
67
+ const e = expressions_1.ConstantTranspiler.escape(s);
68
68
  ret += name + ".set(" + e + ");\n";
69
69
  continue;
70
70
  }
@@ -503,7 +503,7 @@ class Traversal {
503
503
  let ret = "";
504
504
  const handle = (val, name) => {
505
505
  if (typeof val === "string") {
506
- const e = new expressions_1.ConstantTranspiler().escape(val);
506
+ const e = expressions_1.ConstantTranspiler.escape(val);
507
507
  ret += name + ".set(" + e + ");\n";
508
508
  }
509
509
  else if (typeof val === "object") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler",
3
- "version": "2.6.42",
3
+ "version": "2.6.44",
4
4
  "description": "Transpiler",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/src/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "author": "abaplint",
29
29
  "license": "MIT",
30
30
  "dependencies": {
31
- "@abaplint/core": "^2.99.6",
31
+ "@abaplint/core": "^2.99.9",
32
32
  "source-map": "^0.7.4"
33
33
  },
34
34
  "devDependencies": {