@abaplint/cli 2.105.19 → 2.105.21

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 +60 -7
  2. package/package.json +5 -5
package/build/cli.js CHANGED
@@ -22318,6 +22318,7 @@ class TypeUtils {
22318
22318
  }
22319
22319
  else if (type instanceof basic_1.StringType
22320
22320
  || type instanceof basic_1.AnyType
22321
+ || type instanceof basic_1.DataType
22321
22322
  || type instanceof basic_1.CharacterType
22322
22323
  || type instanceof basic_1.SimpleType
22323
22324
  || type instanceof cgeneric_type_1.CGenericType
@@ -22366,6 +22367,7 @@ class TypeUtils {
22366
22367
  || type instanceof basic_1.CSequenceType
22367
22368
  || type instanceof cgeneric_type_1.CGenericType
22368
22369
  || type instanceof basic_1.DateType
22370
+ || type instanceof basic_1.DataType
22369
22371
  || type instanceof basic_1.CLikeType
22370
22372
  || type instanceof basic_1.PackedType
22371
22373
  || type instanceof basic_1.TimeType) {
@@ -22596,7 +22598,9 @@ class TypeUtils {
22596
22598
  else if (target instanceof basic_1.CLikeType) {
22597
22599
  return this.isCharLikeStrict(source);
22598
22600
  }
22599
- else if (target instanceof basic_1.VoidType || target instanceof basic_1.AnyType) {
22601
+ else if (target instanceof basic_1.VoidType
22602
+ || target instanceof basic_1.AnyType
22603
+ || target instanceof basic_1.DataType) {
22600
22604
  return true;
22601
22605
  }
22602
22606
  return false;
@@ -22658,6 +22662,7 @@ class TypeUtils {
22658
22662
  }
22659
22663
  if (source instanceof basic_1.VoidType
22660
22664
  || source instanceof basic_1.AnyType
22665
+ || source instanceof basic_1.DataType
22661
22666
  || source instanceof basic_1.UnknownType) {
22662
22667
  return true;
22663
22668
  }
@@ -22702,6 +22707,7 @@ class TypeUtils {
22702
22707
  if (source instanceof basic_1.ObjectReferenceType
22703
22708
  || source instanceof basic_1.GenericObjectReferenceType
22704
22709
  || source instanceof basic_1.VoidType
22710
+ || source instanceof basic_1.DataType
22705
22711
  || source instanceof basic_1.AnyType
22706
22712
  || source instanceof basic_1.UnknownType) {
22707
22713
  return true;
@@ -22711,6 +22717,7 @@ class TypeUtils {
22711
22717
  else if (target instanceof basic_1.DataReference) {
22712
22718
  if (source instanceof basic_1.DataReference
22713
22719
  || source instanceof basic_1.VoidType
22720
+ || source instanceof basic_1.DataType
22714
22721
  || source instanceof basic_1.AnyType
22715
22722
  || source instanceof basic_1.UnknownType) {
22716
22723
  return true;
@@ -22723,6 +22730,7 @@ class TypeUtils {
22723
22730
  }
22724
22731
  else if (source instanceof basic_1.VoidType
22725
22732
  || source instanceof basic_1.AnyType
22733
+ || source instanceof basic_1.DataType
22726
22734
  || source instanceof basic_1.UnknownType) {
22727
22735
  return true;
22728
22736
  }
@@ -23619,7 +23627,7 @@ class BasicTypes {
23619
23627
  return new Types.DataReference(found);
23620
23628
  }
23621
23629
  else if (chain.concatTokens().toUpperCase() === "DATA") {
23622
- return new Types.DataReference(new Types.AnyType());
23630
+ return new Types.DataReference(new Types.DataType());
23623
23631
  }
23624
23632
  if (this.scope.isBadiDef(name) === true) {
23625
23633
  return new Types.VoidType(name);
@@ -24517,6 +24525,7 @@ class Dereference {
24517
24525
  runSyntax(type) {
24518
24526
  if (type instanceof basic_1.VoidType
24519
24527
  || type instanceof basic_1.AnyType
24528
+ || type instanceof basic_1.DataType
24520
24529
  || type === undefined
24521
24530
  || type instanceof basic_1.UnknownType) {
24522
24531
  return type;
@@ -26266,7 +26275,7 @@ class NewObject {
26266
26275
  new method_parameters_1.MethodParameters().checkExporting(parameters, scope, method, filename);
26267
26276
  }
26268
26277
  else if (requiredParameters.length > 0) {
26269
- throw new Error(`constructor parameter "${requiredParameters[0].getName()}" must be supplied` + name);
26278
+ throw new Error(`constructor parameter "${requiredParameters[0].getName()}" must be supplied, ` + name);
26270
26279
  }
26271
26280
  }
26272
26281
  defaultImportingType(method) {
@@ -29387,6 +29396,7 @@ class CreateObject {
29387
29396
  }
29388
29397
  else if (!(found instanceof basic_1.ObjectReferenceType)
29389
29398
  && !(found instanceof basic_1.AnyType)
29399
+ && !(found instanceof basic_1.DataType)
29390
29400
  && !(found instanceof basic_1.GenericObjectReferenceType)) {
29391
29401
  throw new Error("Target must be an object reference, " + t.concatTokens());
29392
29402
  }
@@ -30708,6 +30718,7 @@ class Loop {
30708
30718
  }
30709
30719
  else if (!(sourceType instanceof basic_1.TableType)
30710
30720
  && !(sourceType instanceof basic_1.AnyType)
30721
+ && !(sourceType instanceof basic_1.DataType)
30711
30722
  && !(sourceType instanceof basic_1.VoidType)
30712
30723
  && concat.startsWith("LOOP AT GROUP ") === false) {
30713
30724
  throw new Error("Loop, not a table type");
@@ -35925,6 +35936,7 @@ exports.CSequenceType = CSequenceType;
35925
35936
  Object.defineProperty(exports, "__esModule", ({ value: true }));
35926
35937
  exports.DataReference = void 0;
35927
35938
  const _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js");
35939
+ const any_type_1 = __webpack_require__(/*! ./any_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/any_type.js");
35928
35940
  class DataReference extends _abstract_type_1.AbstractType {
35929
35941
  constructor(type, qualifiedName) {
35930
35942
  super({ qualifiedName: qualifiedName });
@@ -35944,7 +35956,9 @@ class DataReference extends _abstract_type_1.AbstractType {
35944
35956
  return "REF TO " + this.type.toABAP();
35945
35957
  }
35946
35958
  isGeneric() {
35947
- // a DATA definition can be "REF TO data", so its not generic
35959
+ if (this.type instanceof any_type_1.AnyType) {
35960
+ return true;
35961
+ }
35948
35962
  return false;
35949
35963
  }
35950
35964
  containsVoid() {
@@ -35959,6 +35973,39 @@ exports.DataReference = DataReference;
35959
35973
 
35960
35974
  /***/ }),
35961
35975
 
35976
+ /***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/data_type.js":
35977
+ /*!*****************************************************************************!*\
35978
+ !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/data_type.js ***!
35979
+ \*****************************************************************************/
35980
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
35981
+
35982
+ "use strict";
35983
+
35984
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
35985
+ exports.DataType = void 0;
35986
+ const _abstract_type_1 = __webpack_require__(/*! ./_abstract_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/_abstract_type.js");
35987
+ class DataType extends _abstract_type_1.AbstractType {
35988
+ toText() {
35989
+ return "```data```";
35990
+ }
35991
+ toABAP() {
35992
+ return "data";
35993
+ }
35994
+ isGeneric() {
35995
+ return true;
35996
+ }
35997
+ containsVoid() {
35998
+ return false;
35999
+ }
36000
+ toCDS() {
36001
+ return "abap.TODO_DATA";
36002
+ }
36003
+ }
36004
+ exports.DataType = DataType;
36005
+ //# sourceMappingURL=data_type.js.map
36006
+
36007
+ /***/ }),
36008
+
35962
36009
  /***/ "./node_modules/@abaplint/core/build/src/abap/types/basic/date_type.js":
35963
36010
  /*!*****************************************************************************!*\
35964
36011
  !*** ./node_modules/@abaplint/core/build/src/abap/types/basic/date_type.js ***!
@@ -36309,6 +36356,7 @@ __exportStar(__webpack_require__(/*! ./character_type */ "./node_modules/@abapli
36309
36356
  __exportStar(__webpack_require__(/*! ./clike_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/clike_type.js"), exports);
36310
36357
  __exportStar(__webpack_require__(/*! ./csequence_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/csequence_type.js"), exports);
36311
36358
  __exportStar(__webpack_require__(/*! ./data_reference_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/data_reference_type.js"), exports);
36359
+ __exportStar(__webpack_require__(/*! ./data_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/data_type.js"), exports);
36312
36360
  __exportStar(__webpack_require__(/*! ./date_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/date_type.js"), exports);
36313
36361
  __exportStar(__webpack_require__(/*! ./decfloat_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat_type.js"), exports);
36314
36362
  __exportStar(__webpack_require__(/*! ./decfloat16_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/decfloat16_type.js"), exports);
@@ -39950,7 +39998,7 @@ class DDIC {
39950
39998
  case "TABLE":
39951
39999
  return new Types.TableType(new Types.AnyType(), { withHeader: false, keyType: Types.TableKeyType.default });
39952
40000
  case "DATA":
39953
- return new Types.AnyType({ qualifiedName: qualifiedName });
40001
+ return new Types.DataType({ qualifiedName: qualifiedName });
39954
40002
  case "NUMERIC":
39955
40003
  return new Types.NumericGenericType({ qualifiedName: qualifiedName });
39956
40004
  case "UTCLONG": // todo, take version into account
@@ -50177,7 +50225,7 @@ class TableType extends _abstract_object_1.AbstractObject {
50177
50225
  type = new Types.TableType(new basic_1.GenericObjectReferenceType(), tableOptions, this.getName());
50178
50226
  }
50179
50227
  else if (this.parsedXML.rowkind === "R" && this.parsedXML.rowtype === "DATA") {
50180
- type = new Types.TableType(new basic_1.DataReference(new basic_1.AnyType()), tableOptions, this.getName());
50228
+ type = new Types.TableType(new basic_1.DataReference(new Types.DataType()), tableOptions, this.getName());
50181
50229
  }
50182
50230
  else if (this.parsedXML.rowkind === "R" && this.parsedXML.rowtype !== undefined) {
50183
50231
  const lookup = ddic.lookupObject(this.parsedXML.rowtype);
@@ -51249,7 +51297,7 @@ class Registry {
51249
51297
  }
51250
51298
  static abaplintVersion() {
51251
51299
  // magic, see build script "version.sh"
51252
- return "2.105.19";
51300
+ return "2.105.21";
51253
51301
  }
51254
51302
  getDDICReferences() {
51255
51303
  return this.ddicReferences;
@@ -62052,6 +62100,11 @@ class KeepSingleParameterCallsOnOneLine extends _abap_rule_1.ABAPRule {
62052
62100
  }
62053
62101
  isSingleParameter(c) {
62054
62102
  if (c.findDirectExpression(Expressions.Source)) {
62103
+ for (const params of c.findAllExpressions(Expressions.ParameterListS)) {
62104
+ if (params.getChildren().length > 1) {
62105
+ return false;
62106
+ }
62107
+ }
62055
62108
  return true;
62056
62109
  }
62057
62110
  const list = c.findDirectExpression(Expressions.ParameterListS);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.105.19",
3
+ "version": "2.105.21",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -38,24 +38,24 @@
38
38
  },
39
39
  "homepage": "https://abaplint.org",
40
40
  "devDependencies": {
41
- "@abaplint/core": "^2.105.19",
41
+ "@abaplint/core": "^2.105.21",
42
42
  "@types/chai": "^4.3.11",
43
43
  "@types/glob": "^8.1.0",
44
44
  "@types/minimist": "^1.2.5",
45
45
  "@types/mocha": "^10.0.6",
46
- "@types/node": "^20.11.19",
46
+ "@types/node": "^20.11.20",
47
47
  "@types/progress": "^2.0.7",
48
48
  "chai": "^4.4.1",
49
49
  "chalk": "^5.3.0",
50
50
  "eslint": "^8.56.0",
51
51
  "glob": "^7.2.3",
52
52
  "json5": "^2.2.3",
53
- "memfs": "^4.7.6",
53
+ "memfs": "^4.7.7",
54
54
  "minimist": "^1.2.8",
55
55
  "mocha": "^10.3.0",
56
56
  "progress": "^2.0.3",
57
57
  "typescript": "^5.3.3",
58
- "webpack": "^5.90.2",
58
+ "webpack": "^5.90.3",
59
59
  "webpack-cli": "^5.1.4",
60
60
  "xml-js": "^1.6.11"
61
61
  },