@abaplint/core 2.82.1 → 2.82.5

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.
@@ -84,7 +84,10 @@ class Lexer {
84
84
  const col = this.stream.getCol();
85
85
  const row = this.stream.getRow();
86
86
  let whiteBefore = false;
87
- const prev = this.stream.prevChar();
87
+ let prev = this.stream.prevChar();
88
+ if (s.length === 2) {
89
+ prev = this.stream.prevPrevChar().substr(0, 1);
90
+ }
88
91
  if (prev === " " || prev === "\n" || prev === "\t" || prev === ":") {
89
92
  whiteBefore = true;
90
93
  }
@@ -547,10 +547,11 @@ class BasicTypes {
547
547
  if (this.scope.existsObject(name).found === true) {
548
548
  return undefined;
549
549
  }
550
- if (this.scope.getDDIC().inErrorNamespace(name) === true) {
550
+ else if (this.scope.getDDIC().inErrorNamespace(name) === true) {
551
551
  throw new Error("resolveConstantValue, not found: " + name);
552
552
  }
553
553
  else {
554
+ this.scope.addReference(first.getFirstToken(), undefined, _reference_1.ReferenceType.ObjectOrientedVoidReference, this.filename, { ooName: name.toUpperCase() });
554
555
  return undefined;
555
556
  }
556
557
  }
@@ -10,7 +10,7 @@ const source_1 = require("./source");
10
10
  const sql_for_all_entries_1 = require("./sql_for_all_entries");
11
11
  const _scope_type_1 = require("../_scope_type");
12
12
  class Select {
13
- runSyntax(node, scope, filename) {
13
+ runSyntax(node, scope, filename, skipImplicitInto = false) {
14
14
  var _a, _b;
15
15
  const token = node.getFirstToken();
16
16
  const from = node.findDirectExpression(Expressions.SQLFrom);
@@ -30,7 +30,8 @@ class Select {
30
30
  new target_1.Target().runSyntax(t, scope, filename);
31
31
  }
32
32
  // check implicit into, the target field is implict equal to the table name
33
- if (node.findDirectExpression(Expressions.SQLIntoTable) === undefined
33
+ if (skipImplicitInto === false
34
+ && node.findDirectExpression(Expressions.SQLIntoTable) === undefined
34
35
  && node.findDirectExpression(Expressions.SQLIntoStructure) === undefined) {
35
36
  const fields = (_a = node.findFirstExpression(Expressions.SQLAggregation)) === null || _a === void 0 ? void 0 : _a.concatTokens();
36
37
  const c = new RegExp(/^count\(\s*\*\s*\)$/, "i");
@@ -5,9 +5,11 @@ const Expressions = require("../../2_statements/expressions");
5
5
  const select_1 = require("../expressions/select");
6
6
  class Select {
7
7
  runSyntax(node, scope, filename) {
8
- const s = node.findDirectExpression(Expressions.Select);
9
- if (s) {
10
- new select_1.Select().runSyntax(s, scope, filename);
8
+ const selects = node.findDirectExpressions(Expressions.Select);
9
+ for (let i = 0; i < selects.length; i++) {
10
+ const last = i === selects.length - 1;
11
+ const s = selects[i];
12
+ new select_1.Select().runSyntax(s, scope, filename, last === false);
11
13
  }
12
14
  }
13
15
  }
@@ -68,7 +68,7 @@ class Registry {
68
68
  }
69
69
  static abaplintVersion() {
70
70
  // magic, see build script "version.sh"
71
- return "2.82.1";
71
+ return "2.82.5";
72
72
  }
73
73
  getDDICReferences() {
74
74
  return this.references;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.82.1",
3
+ "version": "2.82.5",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",