@abaplint/cli 2.102.60 → 2.102.62

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/cli.js +20 -2
  2. package/package.json +4 -4
package/build/cli.js CHANGED
@@ -1620,6 +1620,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
1620
1620
  exports.Token = void 0;
1621
1621
  const position_1 = __webpack_require__(/*! ../../../position */ "./node_modules/@abaplint/core/build/src/position.js");
1622
1622
  class Token {
1623
+ [Symbol.for("debug.description")]() {
1624
+ return `${this.constructor.name} ${this.str}`;
1625
+ }
1623
1626
  constructor(start, str) {
1624
1627
  this.start = start;
1625
1628
  this.str = str;
@@ -26313,12 +26316,16 @@ exports.SQLCompare = void 0;
26313
26316
  const Expressions = __webpack_require__(/*! ../../2_statements/expressions */ "./node_modules/@abaplint/core/build/src/abap/2_statements/expressions/index.js");
26314
26317
  const nodes_1 = __webpack_require__(/*! ../../nodes */ "./node_modules/@abaplint/core/build/src/abap/nodes/index.js");
26315
26318
  const basic_1 = __webpack_require__(/*! ../../types/basic */ "./node_modules/@abaplint/core/build/src/abap/types/basic/index.js");
26319
+ const source_1 = __webpack_require__(/*! ./source */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/source.js");
26316
26320
  const sql_source_1 = __webpack_require__(/*! ./sql_source */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/sql_source.js");
26317
26321
  class SQLCompare {
26318
26322
  runSyntax(node, scope, filename, tables) {
26319
26323
  var _a;
26320
26324
  let sourceType;
26321
26325
  let token;
26326
+ for (const s of node.findAllExpressions(Expressions.SimpleSource3)) {
26327
+ new source_1.Source().runSyntax(s, scope, filename);
26328
+ }
26322
26329
  for (const s of node.findAllExpressions(Expressions.SQLSource)) {
26323
26330
  for (const child of s.getChildren()) {
26324
26331
  if (child instanceof nodes_1.ExpressionNode) {
@@ -27123,6 +27130,9 @@ class ScopeData {
27123
27130
  }
27124
27131
  }
27125
27132
  class SpaghettiScopeNode extends ScopeData {
27133
+ [Symbol.for("debug.description")]() {
27134
+ return `SpaghettiSN ${this.identifier.sname} ${this.identifier.stype}`;
27135
+ }
27126
27136
  constructor(identifier, parent) {
27127
27137
  super();
27128
27138
  this.identifier = identifier;
@@ -34707,6 +34717,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
34707
34717
  exports.TypedIdentifier = void 0;
34708
34718
  const _identifier_1 = __webpack_require__(/*! ../4_file_information/_identifier */ "./node_modules/@abaplint/core/build/src/abap/4_file_information/_identifier.js");
34709
34719
  class TypedIdentifier extends _identifier_1.Identifier {
34720
+ [Symbol.for("debug.description")]() {
34721
+ return `${this.constructor.name} ${this.getName()}:${this.getType().constructor.name}`;
34722
+ }
34710
34723
  static from(id, type, meta) {
34711
34724
  return new TypedIdentifier(id.getToken(), id.getFilename(), type, meta);
34712
34725
  }
@@ -42583,6 +42596,9 @@ const _abstract_object_1 = __webpack_require__(/*! ./_abstract_object */ "./node
42583
42596
  const xml_utils_1 = __webpack_require__(/*! ../xml_utils */ "./node_modules/@abaplint/core/build/src/xml_utils.js");
42584
42597
  const abap_parser_1 = __webpack_require__(/*! ../abap/abap_parser */ "./node_modules/@abaplint/core/build/src/abap/abap_parser.js");
42585
42598
  class ABAPObject extends _abstract_object_1.AbstractObject {
42599
+ [Symbol.for("debug.description")]() {
42600
+ return `${this.constructor.name} ${this.getName()}`;
42601
+ }
42586
42602
  constructor(name) {
42587
42603
  super(name);
42588
42604
  this.parsed = [];
@@ -50095,7 +50111,7 @@ class Registry {
50095
50111
  }
50096
50112
  static abaplintVersion() {
50097
50113
  // magic, see build script "version.sh"
50098
- return "2.102.60";
50114
+ return "2.102.62";
50099
50115
  }
50100
50116
  getDDICReferences() {
50101
50117
  return this.ddicReferences;
@@ -52659,7 +52675,7 @@ class CheckSubrc extends _abap_rule_1.ABAPRule {
52659
52675
 
52660
52676
  If sy-dbcnt is checked after database statements, it is considered okay.
52661
52677
 
52662
- "SELECT SINGLE @abap_true FROM " is considered as an existence check
52678
+ "SELECT SINGLE @abap_true FROM " is considered as an existence check, also "SELECT COUNT( * )" is considered okay
52663
52679
 
52664
52680
  If IS ASSIGNED is checked after assigning, it is considered okay.
52665
52681
 
@@ -52710,6 +52726,8 @@ FIND statement with MATCH COUNT is considered okay if subrc is not checked`,
52710
52726
  else if (config.selectTable === true
52711
52727
  && statement.get() instanceof Statements.Select
52712
52728
  && statement.concatTokens().toUpperCase().startsWith("SELECT SINGLE ") === false
52729
+ && statement.concatTokens().toUpperCase().startsWith("SELECT COUNT( * ) ") === false
52730
+ && statement.concatTokens().toUpperCase().startsWith("SELECT COUNT(*) ") === false
52713
52731
  && this.isChecked(i, statements) === false
52714
52732
  && this.checksDbcnt(i, statements) === false) {
52715
52733
  issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.102.60",
3
+ "version": "2.102.62",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,16 +38,16 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.102.60",
41
+ "@abaplint/core": "^2.102.62",
42
42
  "@types/chai": "^4.3.9",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.4",
45
45
  "@types/mocha": "^10.0.3",
46
- "@types/node": "^20.8.7",
46
+ "@types/node": "^20.8.8",
47
47
  "@types/progress": "^2.0.6",
48
48
  "chai": "^4.3.10",
49
49
  "chalk": "^5.3.0",
50
- "eslint": "^8.51.0",
50
+ "eslint": "^8.52.0",
51
51
  "glob": "^7.2.3",
52
52
  "json5": "^2.2.3",
53
53
  "memfs": "^4.6.0",