@abaplint/core 2.93.73 → 2.93.75

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.
@@ -16,7 +16,8 @@ class SelectLoop extends combi_1.Expression {
16
16
  const bypass = "BYPASSING BUFFER";
17
17
  const pack = (0, combi_1.seq)("PACKAGE SIZE", _1.SQLSource);
18
18
  const tab = (0, combi_1.seq)(_1.SQLIntoTable, (0, combi_1.alt)(pack, (0, combi_1.seq)(_1.SQLFrom, pack), (0, combi_1.seq)(pack, _1.SQLFrom)));
19
- const perm = (0, combi_1.per)(_1.SQLFrom, where, sql_up_to_1.SQLUpTo, sql_order_by_1.SQLOrderBy, sql_having_1.SQLHaving, _1.SQLClient, bypass, _1.SQLGroupBy, _1.SQLForAllEntries, (0, combi_1.alt)(tab, sql_into_structure_1.SQLIntoStructure));
19
+ const packTab = (0, combi_1.seq)(pack, _1.SQLIntoTable);
20
+ const perm = (0, combi_1.per)(_1.SQLFrom, where, sql_up_to_1.SQLUpTo, sql_order_by_1.SQLOrderBy, sql_having_1.SQLHaving, _1.SQLClient, bypass, _1.SQLGroupBy, _1.SQLForAllEntries, (0, combi_1.alt)(tab, sql_into_structure_1.SQLIntoStructure, packTab));
20
21
  const strict = (0, combi_1.seq)(_1.SQLFrom, "FIELDS", sql_field_list_1.SQLFieldList, where, sql_into_structure_1.SQLIntoStructure, sql_up_to_1.SQLUpTo);
21
22
  const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_1.SQLFieldListLoop, perm), strict), (0, combi_1.optPrio)(sql_hints_1.SQLHints));
22
23
  return ret;
@@ -359,7 +359,7 @@ class BasicTypes {
359
359
  const name = typename.concatTokens();
360
360
  const type = (_b = this.scope.getDDIC().lookupDDLS(name)) === null || _b === void 0 ? void 0 : _b.type;
361
361
  if (type) {
362
- return new Types.TableType(type, options);
362
+ return new Types.TableType(new basic_1.VoidType("RapTodo"), options);
363
363
  }
364
364
  else if (this.scope.getDDIC().inErrorNamespace(name)) {
365
365
  return new Types.UnknownType(`DDLS ${name} not found`);
@@ -397,6 +397,9 @@ class BasicTypes {
397
397
  if (e === undefined) {
398
398
  e = node.findFirstExpression(Expressions.FormParamType);
399
399
  }
400
+ if (e === undefined) {
401
+ e = node.findFirstExpression(Expressions.FieldChain);
402
+ }
400
403
  const type = this.resolveLikeName(e, false);
401
404
  if (type === undefined) {
402
405
  return new Types.UnknownType("Type error, could not resolve \"" + name + "\", parseType");
@@ -115,7 +115,12 @@ class Source {
115
115
  else {
116
116
  this.addIfInferred(node, scope, filename, foundType);
117
117
  }
118
- return foundType ? foundType : bodyType;
118
+ if (foundType && !(foundType instanceof unknown_type_1.UnknownType)) {
119
+ return foundType;
120
+ }
121
+ else {
122
+ return bodyType;
123
+ }
119
124
  }
120
125
  case "CORRESPONDING":
121
126
  {
@@ -31,6 +31,7 @@ class Loop {
31
31
  throw new Error("No source type determined");
32
32
  }
33
33
  else if (sourceType instanceof basic_1.UnknownType) {
34
+ console.dir(sourceType);
34
35
  throw new Error("Loop, not a table type, " + sourceType.getError());
35
36
  }
36
37
  else if (sourceType instanceof basic_1.TableType
@@ -63,7 +63,7 @@ class Registry {
63
63
  }
64
64
  static abaplintVersion() {
65
65
  // magic, see build script "version.sh"
66
- return "2.93.73";
66
+ return "2.93.75";
67
67
  }
68
68
  getDDICReferences() {
69
69
  return this.references;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.93.73",
3
+ "version": "2.93.75",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -51,7 +51,7 @@
51
51
  "@types/mocha": "^10.0.0",
52
52
  "@types/node": "^18.11.9",
53
53
  "chai": "^4.3.6",
54
- "eslint": "^8.26.0",
54
+ "eslint": "^8.27.0",
55
55
  "mocha": "^10.1.0",
56
56
  "c8": "^7.12.0",
57
57
  "source-map-support": "^0.5.21",