@abaplint/cli 2.102.4 → 2.102.6

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 +31 -21
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -21739,6 +21739,13 @@ class TypeUtils {
21739
21739
  return false;
21740
21740
  }
21741
21741
  }
21742
+ else if (source instanceof basic_1.ObjectReferenceType) {
21743
+ if (target instanceof basic_1.XSequenceType
21744
+ || target instanceof basic_1.IntegerType
21745
+ || target instanceof basic_1.XStringType) {
21746
+ return false;
21747
+ }
21748
+ }
21742
21749
  else if (source instanceof basic_1.XStringType) {
21743
21750
  if (target instanceof basic_1.CLikeType
21744
21751
  || target instanceof basic_1.IntegerType
@@ -28174,16 +28181,16 @@ const data_definition_1 = __webpack_require__(/*! ../expressions/data_definition
28174
28181
  const unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js");
28175
28182
  class Data {
28176
28183
  runSyntax(node, scope, filename) {
28184
+ const name = node.findFirstExpression(Expressions.DefinitionName);
28177
28185
  const dd = node.findFirstExpression(Expressions.DataDefinition);
28178
28186
  if (dd) {
28179
28187
  const id = new data_definition_1.DataDefinition().runSyntax(dd, scope, filename);
28180
28188
  if ((id === null || id === void 0 ? void 0 : id.getType().isGeneric()) === true
28181
28189
  && (id === null || id === void 0 ? void 0 : id.getType().containsVoid()) === false) {
28182
- throw new Error("DATA definition cannot be generic");
28190
+ throw new Error("DATA definition cannot be generic, " + name);
28183
28191
  }
28184
28192
  return id;
28185
28193
  }
28186
- const name = node.findFirstExpression(Expressions.DefinitionName);
28187
28194
  if (name) {
28188
28195
  return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), filename, new unknown_type_1.UnknownType("data, fallback"));
28189
28196
  }
@@ -34746,10 +34753,10 @@ class FloatingPointType extends _abstract_type_1.AbstractType {
34746
34753
  return this.length;
34747
34754
  }
34748
34755
  toText() {
34749
- return "```n LENGTH " + this.getLength() + "```";
34756
+ return "```f LENGTH " + this.getLength() + "```";
34750
34757
  }
34751
34758
  toABAP() {
34752
- return "n LENGTH " + this.getLength();
34759
+ return "f LENGTH " + this.getLength();
34753
34760
  }
34754
34761
  isGeneric() {
34755
34762
  return false;
@@ -47347,7 +47354,7 @@ class TableType extends _abstract_object_1.AbstractObject {
47347
47354
  super.setDirty();
47348
47355
  }
47349
47356
  buildTableOptions() {
47350
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
47357
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
47351
47358
  let primaryKey = undefined;
47352
47359
  if (((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.accessmode) === "S") {
47353
47360
  primaryKey = {
@@ -47356,34 +47363,36 @@ class TableType extends _abstract_object_1.AbstractObject {
47356
47363
  keyFields: [],
47357
47364
  name: "primary_key",
47358
47365
  };
47359
- for (const f of ((_c = this.parsedXML) === null || _c === void 0 ? void 0 : _c.dd42v) || []) {
47360
- if (f.keyname === "") {
47361
- primaryKey.keyFields.push(f.keyfield);
47362
- }
47363
- }
47364
47366
  }
47365
- else if (((_d = this.parsedXML) === null || _d === void 0 ? void 0 : _d.accessmode) === "H") {
47367
+ else if (((_c = this.parsedXML) === null || _c === void 0 ? void 0 : _c.accessmode) === "H") {
47366
47368
  primaryKey = {
47367
- isUnique: ((_e = this.parsedXML) === null || _e === void 0 ? void 0 : _e.keykind) === "U",
47369
+ isUnique: ((_d = this.parsedXML) === null || _d === void 0 ? void 0 : _d.keykind) === "U",
47368
47370
  type: basic_1.TableAccessType.hashed,
47369
47371
  keyFields: [],
47370
47372
  name: "primary_key",
47371
47373
  };
47372
- for (const f of ((_f = this.parsedXML) === null || _f === void 0 ? void 0 : _f.dd42v) || []) {
47373
- if (f.keyname === "") {
47374
- primaryKey.keyFields.push(f.keyfield);
47375
- }
47374
+ }
47375
+ for (const f of ((_e = this.parsedXML) === null || _e === void 0 ? void 0 : _e.dd42v) || []) {
47376
+ if (f.keyname === "") {
47377
+ primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.keyFields.push(f.keyfield);
47376
47378
  }
47377
47379
  }
47380
+ if (((_f = this.parsedXML) === null || _f === void 0 ? void 0 : _f.keydef) === "T" && (primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.keyFields.length) === 0) {
47381
+ primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.keyFields.push("table_line");
47382
+ }
47383
+ let keyType = Types.TableKeyType.user;
47384
+ if (((_g = this.parsedXML) === null || _g === void 0 ? void 0 : _g.keydef) === "D") {
47385
+ keyType = Types.TableKeyType.default;
47386
+ }
47378
47387
  const tableOptions = {
47379
47388
  withHeader: false,
47380
- keyType: Types.TableKeyType.user,
47389
+ keyType: keyType,
47381
47390
  primaryKey: primaryKey,
47382
47391
  secondary: [],
47383
47392
  };
47384
- for (const k of ((_g = this.parsedXML) === null || _g === void 0 ? void 0 : _g.dd43v) || []) {
47393
+ for (const k of ((_h = this.parsedXML) === null || _h === void 0 ? void 0 : _h.dd43v) || []) {
47385
47394
  const fields = [];
47386
- for (const f of ((_h = this.parsedXML) === null || _h === void 0 ? void 0 : _h.dd42v) || []) {
47395
+ for (const f of ((_j = this.parsedXML) === null || _j === void 0 ? void 0 : _j.dd42v) || []) {
47387
47396
  if (f.keyname === k.keyname) {
47388
47397
  fields.push(f.keyfield);
47389
47398
  }
@@ -47399,7 +47408,7 @@ class TableType extends _abstract_object_1.AbstractObject {
47399
47408
  default:
47400
47409
  break;
47401
47410
  }
47402
- (_j = tableOptions.secondary) === null || _j === void 0 ? void 0 : _j.push({
47411
+ (_k = tableOptions.secondary) === null || _k === void 0 ? void 0 : _k.push({
47403
47412
  name: k.keyname,
47404
47413
  type: accessType,
47405
47414
  keyFields: fields,
@@ -47490,6 +47499,7 @@ class TableType extends _abstract_object_1.AbstractObject {
47490
47499
  this.parsedXML.accessmode = dd40v.ACCESSMODE;
47491
47500
  this.parsedXML.keykind = dd40v.KEYKIND;
47492
47501
  this.parsedXML.ddtext = dd40v.DDTEXT;
47502
+ this.parsedXML.keydef = dd40v.KEYDEF;
47493
47503
  for (const x of (0, xml_utils_1.xmlToArray)((_a = values.DD42V) === null || _a === void 0 ? void 0 : _a.DD42V)) {
47494
47504
  this.parsedXML.dd42v.push({
47495
47505
  keyname: x.SECKEYNAME || "",
@@ -48529,7 +48539,7 @@ class Registry {
48529
48539
  }
48530
48540
  static abaplintVersion() {
48531
48541
  // magic, see build script "version.sh"
48532
- return "2.102.4";
48542
+ return "2.102.6";
48533
48543
  }
48534
48544
  getDDICReferences() {
48535
48545
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.102.4",
3
+ "version": "2.102.6",
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.4",
41
+ "@abaplint/core": "^2.102.6",
42
42
  "@types/chai": "^4.3.5",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.2",