@abaplint/transpiler-cli 2.7.48 → 2.7.50

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/bundle.js +31 -21
  2. package/package.json +3 -3
package/build/bundle.js CHANGED
@@ -20792,6 +20792,13 @@ class TypeUtils {
20792
20792
  return false;
20793
20793
  }
20794
20794
  }
20795
+ else if (source instanceof basic_1.ObjectReferenceType) {
20796
+ if (target instanceof basic_1.XSequenceType
20797
+ || target instanceof basic_1.IntegerType
20798
+ || target instanceof basic_1.XStringType) {
20799
+ return false;
20800
+ }
20801
+ }
20795
20802
  else if (source instanceof basic_1.XStringType) {
20796
20803
  if (target instanceof basic_1.CLikeType
20797
20804
  || target instanceof basic_1.IntegerType
@@ -27227,16 +27234,16 @@ const data_definition_1 = __webpack_require__(/*! ../expressions/data_definition
27227
27234
  const unknown_type_1 = __webpack_require__(/*! ../../types/basic/unknown_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/unknown_type.js");
27228
27235
  class Data {
27229
27236
  runSyntax(node, scope, filename) {
27237
+ const name = node.findFirstExpression(Expressions.DefinitionName);
27230
27238
  const dd = node.findFirstExpression(Expressions.DataDefinition);
27231
27239
  if (dd) {
27232
27240
  const id = new data_definition_1.DataDefinition().runSyntax(dd, scope, filename);
27233
27241
  if ((id === null || id === void 0 ? void 0 : id.getType().isGeneric()) === true
27234
27242
  && (id === null || id === void 0 ? void 0 : id.getType().containsVoid()) === false) {
27235
- throw new Error("DATA definition cannot be generic");
27243
+ throw new Error("DATA definition cannot be generic, " + name);
27236
27244
  }
27237
27245
  return id;
27238
27246
  }
27239
- const name = node.findFirstExpression(Expressions.DefinitionName);
27240
27247
  if (name) {
27241
27248
  return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), filename, new unknown_type_1.UnknownType("data, fallback"));
27242
27249
  }
@@ -33799,10 +33806,10 @@ class FloatingPointType extends _abstract_type_1.AbstractType {
33799
33806
  return this.length;
33800
33807
  }
33801
33808
  toText() {
33802
- return "```n LENGTH " + this.getLength() + "```";
33809
+ return "```f LENGTH " + this.getLength() + "```";
33803
33810
  }
33804
33811
  toABAP() {
33805
- return "n LENGTH " + this.getLength();
33812
+ return "f LENGTH " + this.getLength();
33806
33813
  }
33807
33814
  isGeneric() {
33808
33815
  return false;
@@ -46400,7 +46407,7 @@ class TableType extends _abstract_object_1.AbstractObject {
46400
46407
  super.setDirty();
46401
46408
  }
46402
46409
  buildTableOptions() {
46403
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
46410
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
46404
46411
  let primaryKey = undefined;
46405
46412
  if (((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.accessmode) === "S") {
46406
46413
  primaryKey = {
@@ -46409,34 +46416,36 @@ class TableType extends _abstract_object_1.AbstractObject {
46409
46416
  keyFields: [],
46410
46417
  name: "primary_key",
46411
46418
  };
46412
- for (const f of ((_c = this.parsedXML) === null || _c === void 0 ? void 0 : _c.dd42v) || []) {
46413
- if (f.keyname === "") {
46414
- primaryKey.keyFields.push(f.keyfield);
46415
- }
46416
- }
46417
46419
  }
46418
- else if (((_d = this.parsedXML) === null || _d === void 0 ? void 0 : _d.accessmode) === "H") {
46420
+ else if (((_c = this.parsedXML) === null || _c === void 0 ? void 0 : _c.accessmode) === "H") {
46419
46421
  primaryKey = {
46420
- isUnique: ((_e = this.parsedXML) === null || _e === void 0 ? void 0 : _e.keykind) === "U",
46422
+ isUnique: ((_d = this.parsedXML) === null || _d === void 0 ? void 0 : _d.keykind) === "U",
46421
46423
  type: basic_1.TableAccessType.hashed,
46422
46424
  keyFields: [],
46423
46425
  name: "primary_key",
46424
46426
  };
46425
- for (const f of ((_f = this.parsedXML) === null || _f === void 0 ? void 0 : _f.dd42v) || []) {
46426
- if (f.keyname === "") {
46427
- primaryKey.keyFields.push(f.keyfield);
46428
- }
46427
+ }
46428
+ for (const f of ((_e = this.parsedXML) === null || _e === void 0 ? void 0 : _e.dd42v) || []) {
46429
+ if (f.keyname === "") {
46430
+ primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.keyFields.push(f.keyfield);
46429
46431
  }
46430
46432
  }
46433
+ if (((_f = this.parsedXML) === null || _f === void 0 ? void 0 : _f.keydef) === "T" && (primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.keyFields.length) === 0) {
46434
+ primaryKey === null || primaryKey === void 0 ? void 0 : primaryKey.keyFields.push("table_line");
46435
+ }
46436
+ let keyType = Types.TableKeyType.user;
46437
+ if (((_g = this.parsedXML) === null || _g === void 0 ? void 0 : _g.keydef) === "D") {
46438
+ keyType = Types.TableKeyType.default;
46439
+ }
46431
46440
  const tableOptions = {
46432
46441
  withHeader: false,
46433
- keyType: Types.TableKeyType.user,
46442
+ keyType: keyType,
46434
46443
  primaryKey: primaryKey,
46435
46444
  secondary: [],
46436
46445
  };
46437
- for (const k of ((_g = this.parsedXML) === null || _g === void 0 ? void 0 : _g.dd43v) || []) {
46446
+ for (const k of ((_h = this.parsedXML) === null || _h === void 0 ? void 0 : _h.dd43v) || []) {
46438
46447
  const fields = [];
46439
- for (const f of ((_h = this.parsedXML) === null || _h === void 0 ? void 0 : _h.dd42v) || []) {
46448
+ for (const f of ((_j = this.parsedXML) === null || _j === void 0 ? void 0 : _j.dd42v) || []) {
46440
46449
  if (f.keyname === k.keyname) {
46441
46450
  fields.push(f.keyfield);
46442
46451
  }
@@ -46452,7 +46461,7 @@ class TableType extends _abstract_object_1.AbstractObject {
46452
46461
  default:
46453
46462
  break;
46454
46463
  }
46455
- (_j = tableOptions.secondary) === null || _j === void 0 ? void 0 : _j.push({
46464
+ (_k = tableOptions.secondary) === null || _k === void 0 ? void 0 : _k.push({
46456
46465
  name: k.keyname,
46457
46466
  type: accessType,
46458
46467
  keyFields: fields,
@@ -46543,6 +46552,7 @@ class TableType extends _abstract_object_1.AbstractObject {
46543
46552
  this.parsedXML.accessmode = dd40v.ACCESSMODE;
46544
46553
  this.parsedXML.keykind = dd40v.KEYKIND;
46545
46554
  this.parsedXML.ddtext = dd40v.DDTEXT;
46555
+ this.parsedXML.keydef = dd40v.KEYDEF;
46546
46556
  for (const x of (0, xml_utils_1.xmlToArray)((_a = values.DD42V) === null || _a === void 0 ? void 0 : _a.DD42V)) {
46547
46557
  this.parsedXML.dd42v.push({
46548
46558
  keyname: x.SECKEYNAME || "",
@@ -47582,7 +47592,7 @@ class Registry {
47582
47592
  }
47583
47593
  static abaplintVersion() {
47584
47594
  // magic, see build script "version.sh"
47585
- return "2.102.4";
47595
+ return "2.102.6";
47586
47596
  }
47587
47597
  getDDICReferences() {
47588
47598
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.7.48",
3
+ "version": "2.7.50",
4
4
  "description": "Transpiler - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -26,12 +26,12 @@
26
26
  "author": "abaplint",
27
27
  "license": "MIT",
28
28
  "devDependencies": {
29
- "@abaplint/transpiler": "^2.7.48",
29
+ "@abaplint/transpiler": "^2.7.50",
30
30
  "@types/glob": "^7.2.0",
31
31
  "glob": "=7.2.0",
32
32
  "@types/progress": "^2.0.5",
33
33
  "@types/node": "^20.4.4",
34
- "@abaplint/core": "^2.102.4",
34
+ "@abaplint/core": "^2.102.6",
35
35
  "progress": "^2.0.3",
36
36
  "webpack": "^5.88.2",
37
37
  "webpack-cli": "^5.1.4",