@abaplint/core 2.102.61 → 2.102.63

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.
@@ -2195,6 +2195,7 @@ declare namespace Expressions {
2195
2195
  SQLPath,
2196
2196
  SQLSourceSimple,
2197
2197
  SQLSource,
2198
+ SQLSourceNoSpace,
2198
2199
  SQLTarget,
2199
2200
  SQLUpTo,
2200
2201
  StringTemplateFormatting,
@@ -5527,6 +5528,10 @@ declare class SQLSource extends Expression {
5527
5528
  getRunnable(): IStatementRunnable;
5528
5529
  }
5529
5530
 
5531
+ declare class SQLSourceNoSpace extends Expression {
5532
+ getRunnable(): IStatementRunnable;
5533
+ }
5534
+
5530
5535
  declare class SQLSourceSimple extends Expression {
5531
5536
  getRunnable(): IStatementRunnable;
5532
5537
  }
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Token = void 0;
4
4
  const position_1 = require("../../../position");
5
5
  class Token {
6
+ [Symbol.for("debug.description")]() {
7
+ return `${this.constructor.name} ${this.str}`;
8
+ }
6
9
  constructor(start, str) {
7
10
  this.start = start;
8
11
  this.str = str;
@@ -199,6 +199,7 @@ __exportStar(require("./sql_order_by"), exports);
199
199
  __exportStar(require("./sql_path"), exports);
200
200
  __exportStar(require("./sql_source_simple"), exports);
201
201
  __exportStar(require("./sql_source"), exports);
202
+ __exportStar(require("./sql_source_no_space"), exports);
202
203
  __exportStar(require("./sql_target"), exports);
203
204
  __exportStar(require("./sql_up_to"), exports);
204
205
  __exportStar(require("./string_template_formatting"), exports);
@@ -8,7 +8,7 @@ const version_1 = require("../../../version");
8
8
  class SQLIn extends combi_1.Expression {
9
9
  getRunnable() {
10
10
  const val = new _1.SQLSource();
11
- const short = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.At), _1.SimpleSource3);
11
+ const short = new _1.SQLSourceNoSpace();
12
12
  const listOld = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeft), (0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v740sp05, short), val), (0, combi_1.starPrio)((0, combi_1.seq)(",", val)), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.ParenRight), (0, combi_1.tok)(tokens_1.ParenRightW), (0, combi_1.tok)(tokens_1.WParenRightW)));
13
13
  const listNew = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), val, (0, combi_1.starPrio)((0, combi_1.seq)(",", (0, combi_1.altPrio)(short, val))), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRight), (0, combi_1.tok)(tokens_1.WParenRightW)));
14
14
  const list = (0, combi_1.alt)(listOld, (0, combi_1.ver)(version_1.Version.v740sp02, listNew)); // version is a guess, https://github.com/abaplint/abaplint/issues/2530
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLSourceNoSpace = void 0;
4
+ const combi_1 = require("../combi");
5
+ const version_1 = require("../../../version");
6
+ const tokens_1 = require("../../1_lexer/tokens");
7
+ const _1 = require(".");
8
+ class SQLSourceNoSpace extends combi_1.Expression {
9
+ getRunnable() {
10
+ const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
11
+ const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.At), (0, combi_1.altPrio)(_1.SimpleSource3, paren)));
12
+ return (0, combi_1.alt)(_1.SQLAliasField, _1.SimpleSource3, at);
13
+ }
14
+ }
15
+ exports.SQLSourceNoSpace = SQLSourceNoSpace;
16
+ //# sourceMappingURL=sql_source_no_space.js.map
@@ -4,12 +4,16 @@ exports.SQLCompare = void 0;
4
4
  const Expressions = require("../../2_statements/expressions");
5
5
  const nodes_1 = require("../../nodes");
6
6
  const basic_1 = require("../../types/basic");
7
+ const source_1 = require("./source");
7
8
  const sql_source_1 = require("./sql_source");
8
9
  class SQLCompare {
9
10
  runSyntax(node, scope, filename, tables) {
10
11
  var _a;
11
12
  let sourceType;
12
13
  let token;
14
+ for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
15
+ new source_1.Source().runSyntax(s, scope, filename);
16
+ }
13
17
  for (const s of node.findAllExpressions(Expressions.SQLSource)) {
14
18
  for (const child of s.getChildren()) {
15
19
  if (child instanceof nodes_1.ExpressionNode) {
@@ -23,6 +23,9 @@ class ScopeData {
23
23
  }
24
24
  }
25
25
  class SpaghettiScopeNode extends ScopeData {
26
+ [Symbol.for("debug.description")]() {
27
+ return `SpaghettiSN ${this.identifier.sname} ${this.identifier.stype}`;
28
+ }
26
29
  constructor(identifier, parent) {
27
30
  super();
28
31
  this.identifier = identifier;
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TypedIdentifier = void 0;
4
4
  const _identifier_1 = require("../4_file_information/_identifier");
5
5
  class TypedIdentifier extends _identifier_1.Identifier {
6
+ [Symbol.for("debug.description")]() {
7
+ return `${this.constructor.name} ${this.getName()}:${this.getType().constructor.name}`;
8
+ }
6
9
  static from(id, type, meta) {
7
10
  return new TypedIdentifier(id.getToken(), id.getFilename(), type, meta);
8
11
  }
@@ -5,6 +5,9 @@ const _abstract_object_1 = require("./_abstract_object");
5
5
  const xml_utils_1 = require("../xml_utils");
6
6
  const abap_parser_1 = require("../abap/abap_parser");
7
7
  class ABAPObject extends _abstract_object_1.AbstractObject {
8
+ [Symbol.for("debug.description")]() {
9
+ return `${this.constructor.name} ${this.getName()}`;
10
+ }
8
11
  constructor(name) {
9
12
  super(name);
10
13
  this.parsed = [];
@@ -65,7 +65,7 @@ class Registry {
65
65
  }
66
66
  static abaplintVersion() {
67
67
  // magic, see build script "version.sh"
68
- return "2.102.61";
68
+ return "2.102.63";
69
69
  }
70
70
  getDDICReferences() {
71
71
  return this.ddicReferences;
@@ -552,6 +552,7 @@ Make sure to test the downported code, it might not always be completely correct
552
552
  };
553
553
  const candidates = [high.findAllExpressionsRecursive(Expressions.SQLTarget),
554
554
  high.findAllExpressionsRecursive(Expressions.SQLSource),
555
+ high.findAllExpressionsRecursive(Expressions.SQLSourceNoSpace),
555
556
  high.findAllExpressionsRecursive(Expressions.SQLSourceSimple)].flat();
556
557
  for (const c of candidates.reverse()) {
557
558
  if (c.getFirstToken() instanceof tokens_1.WAt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.102.61",
3
+ "version": "2.102.63",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",