@abaplint/cli 2.102.63 → 2.102.65

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 +14 -7
  2. package/package.json +3 -3
package/build/cli.js CHANGED
@@ -20225,7 +20225,7 @@ BuiltIn.methods = [
20225
20225
  {
20226
20226
  name: "LINE_INDEX",
20227
20227
  mandatory: {
20228
- "val": basic_1.CLikeType.get(),
20228
+ "val": new basic_1.AnyType(),
20229
20229
  },
20230
20230
  return: basic_1.IntegerType.get(),
20231
20231
  version: version_1.Version.v740sp02,
@@ -21966,9 +21966,10 @@ class TypeUtils {
21966
21966
  }
21967
21967
  return true;
21968
21968
  }
21969
- else if (target instanceof basic_1.CharacterType) {
21970
- return false;
21969
+ else if (target instanceof basic_1.VoidType || target instanceof basic_1.AnyType) {
21970
+ return true;
21971
21971
  }
21972
+ return false;
21972
21973
  }
21973
21974
  else if (source instanceof basic_1.Integer8Type) {
21974
21975
  if (target instanceof basic_1.IntegerType || target instanceof basic_1.StringType) {
@@ -50138,7 +50139,7 @@ class Registry {
50138
50139
  }
50139
50140
  static abaplintVersion() {
50140
50141
  // magic, see build script "version.sh"
50141
- return "2.102.63";
50142
+ return "2.102.65";
50142
50143
  }
50143
50144
  getDDICReferences() {
50144
50145
  return this.ddicReferences;
@@ -67397,6 +67398,7 @@ class SlowParameterPassing {
67397
67398
  key: "slow_parameter_passing",
67398
67399
  title: "Slow Parameter Passing",
67399
67400
  shortDescription: `Detects slow pass by value passing for methods where parameter is not changed`,
67401
+ extendedInformation: `Method parameters defined in interfaces is not checked`,
67400
67402
  tags: [_irule_1.RuleTag.Performance],
67401
67403
  };
67402
67404
  }
@@ -67419,17 +67421,22 @@ class SlowParameterPassing {
67419
67421
  const methods = this.listMethodNodes(top);
67420
67422
  for (const m of methods) {
67421
67423
  const vars = m.getData().vars;
67424
+ if (m.getIdentifier().sname.includes("~")) {
67425
+ // skip methods defined in interfaces
67426
+ // todo: checking for just "~" is not correct, there might be ALIASES
67427
+ continue;
67428
+ }
67422
67429
  for (const v in vars) {
67423
67430
  const id = vars[v];
67424
67431
  if (id.getMeta().includes("pass_by_value" /* IdentifierMeta.PassByValue */) === false) {
67425
67432
  continue;
67426
67433
  }
67434
+ else if (this.reg.isFileDependency(id.getFilename()) === true) {
67435
+ continue;
67436
+ }
67427
67437
  const writes = this.listWritePositions(m, id);
67428
67438
  if (writes.length === 0) {
67429
67439
  const message = "Parameter " + id.getName() + " passed by VALUE but not changed";
67430
- if (this.reg.isFileDependency(id.getFilename()) === true) {
67431
- continue;
67432
- }
67433
67440
  issues.push(issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.getConfig().severity));
67434
67441
  }
67435
67442
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.102.63",
3
+ "version": "2.102.65",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,12 +38,12 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.102.63",
41
+ "@abaplint/core": "^2.102.65",
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.8",
46
+ "@types/node": "^20.8.9",
47
47
  "@types/progress": "^2.0.6",
48
48
  "chai": "^4.3.10",
49
49
  "chalk": "^5.3.0",