@abaplint/cli 2.102.7 → 2.102.8

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 +24 -3
  2. package/package.json +3 -3
package/build/cli.js CHANGED
@@ -19249,7 +19249,12 @@ class BuiltInMethod extends _identifier_1.Identifier {
19249
19249
  this.row = row;
19250
19250
  }
19251
19251
  getRequiredParameters() {
19252
- return [];
19252
+ const ret = [];
19253
+ for (const i in this.method.mandatory) {
19254
+ const id = new tokens_1.Identifier(new position_1.Position(this.row, 1), i);
19255
+ ret.push(new _typed_identifier_1.TypedIdentifier(id, BuiltIn.filename, this.method.mandatory[i]));
19256
+ }
19257
+ return ret;
19253
19258
  }
19254
19259
  getOptional() {
19255
19260
  throw new Error("BuiltInMethod->Method not implemented.");
@@ -27640,10 +27645,15 @@ const Expressions = __webpack_require__(/*! ../../2_statements/expressions */ ".
27640
27645
  const _reference_1 = __webpack_require__(/*! ../_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
27641
27646
  class ClassLocalFriends {
27642
27647
  runSyntax(node, scope, filename) {
27643
- const found = node.findDirectExpression(Expressions.ClassName);
27648
+ const classNames = node.findAllExpressions(Expressions.ClassName);
27649
+ const found = classNames[0];
27644
27650
  if (found) {
27645
27651
  const token = found.getFirstToken();
27646
27652
  const name = token.getStr();
27653
+ if (scope.getParentObj().getType() === "CLAS"
27654
+ && name.toUpperCase() !== scope.getParentObj().getName().toUpperCase()) {
27655
+ throw new Error(`Befriending must be ` + scope.getParentObj().getName().toUpperCase());
27656
+ }
27647
27657
  const def = scope.findClassDefinition(name);
27648
27658
  if (def) {
27649
27659
  scope.addReference(token, def, _reference_1.ReferenceType.ObjectOrientedReference, filename);
@@ -27652,6 +27662,14 @@ class ClassLocalFriends {
27652
27662
  throw new Error(`Class ${name.toUpperCase()} not found`);
27653
27663
  }
27654
27664
  }
27665
+ for (let i = 1; i < classNames.length; i++) {
27666
+ const className = classNames[i].concatTokens();
27667
+ // make sure to check also DEFINITION DEFERRED
27668
+ const found = scope.existsObject(className);
27669
+ if (found.found === false) {
27670
+ throw new Error(`Class ${className.toUpperCase()} not found`);
27671
+ }
27672
+ }
27655
27673
  }
27656
27674
  }
27657
27675
  exports.ClassLocalFriends = ClassLocalFriends;
@@ -48538,7 +48556,7 @@ class Registry {
48538
48556
  }
48539
48557
  static abaplintVersion() {
48540
48558
  // magic, see build script "version.sh"
48541
- return "2.102.7";
48559
+ return "2.102.8";
48542
48560
  }
48543
48561
  getDDICReferences() {
48544
48562
  return this.ddicReferences;
@@ -52457,6 +52475,9 @@ class CyclomaticComplexity {
52457
52475
  }
52458
52476
  setConfig(conf) {
52459
52477
  this.conf = conf;
52478
+ if (this.conf.max === undefined) {
52479
+ this.conf.max = new CyclomaticComplexityConf().max;
52480
+ }
52460
52481
  }
52461
52482
  initialize(_reg) {
52462
52483
  return this;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.102.7",
3
+ "version": "2.102.8",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.102.7",
41
+ "@abaplint/core": "^2.102.8",
42
42
  "@types/chai": "^4.3.5",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.2",
@@ -47,7 +47,7 @@
47
47
  "@types/progress": "^2.0.5",
48
48
  "chai": "^4.3.7",
49
49
  "chalk": "^5.3.0",
50
- "eslint": "^8.45.0",
50
+ "eslint": "^8.46.0",
51
51
  "glob": "^7.2.3",
52
52
  "json5": "^2.2.3",
53
53
  "memfs": "^4.2.0",