@abaplint/cli 2.105.6 → 2.105.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 +13 -4
  2. package/package.json +3 -3
package/build/cli.js CHANGED
@@ -22291,6 +22291,9 @@ class TypeUtils {
22291
22291
  }
22292
22292
  return true;
22293
22293
  }
22294
+ else if (type instanceof basic_1.TableType && type.isWithHeader()) {
22295
+ return this.isCharLikeStrict(type.getRowType());
22296
+ }
22294
22297
  else if (type instanceof basic_1.StringType
22295
22298
  || type instanceof basic_1.AnyType
22296
22299
  || type instanceof basic_1.CharacterType
@@ -22360,6 +22363,9 @@ class TypeUtils {
22360
22363
  }
22361
22364
  return true;
22362
22365
  }
22366
+ else if (type instanceof basic_1.TableType && type.isWithHeader()) {
22367
+ return this.isHexLike(type.getRowType());
22368
+ }
22363
22369
  else if (type instanceof basic_1.XStringType
22364
22370
  || type instanceof basic_1.HexType
22365
22371
  || type instanceof basic_1.VoidType
@@ -29003,7 +29009,7 @@ class Concatenate {
29003
29009
  }
29004
29010
  else if (target) {
29005
29011
  const type = new target_1.Target().runSyntax(target, scope, filename);
29006
- const compatible = byteMode ? new _type_utils_1.TypeUtils(scope).isHexLike(type) : new _type_utils_1.TypeUtils(scope).isCharLike(type);
29012
+ const compatible = byteMode ? new _type_utils_1.TypeUtils(scope).isHexLike(type) : new _type_utils_1.TypeUtils(scope).isCharLikeStrict(type);
29007
29013
  if (compatible === false) {
29008
29014
  throw new Error("Target type not compatible");
29009
29015
  }
@@ -29017,7 +29023,7 @@ class Concatenate {
29017
29023
  linesMode = false;
29018
29024
  continue;
29019
29025
  }
29020
- const compatible = byteMode ? new _type_utils_1.TypeUtils(scope).isHexLike(type) : new _type_utils_1.TypeUtils(scope).isCharLike(type);
29026
+ const compatible = byteMode ? new _type_utils_1.TypeUtils(scope).isHexLike(type) : new _type_utils_1.TypeUtils(scope).isCharLikeStrict(type);
29021
29027
  if (compatible === false) {
29022
29028
  throw new Error("Source type not compatible");
29023
29029
  }
@@ -29364,11 +29370,14 @@ class CreateObject {
29364
29370
  }
29365
29371
  const source = p.findDirectExpression(Expressions.Source);
29366
29372
  const sourceType = new source_1.Source().runSyntax(source, scope, filename);
29373
+ const calculated = (source === null || source === void 0 ? void 0 : source.findFirstExpression(Expressions.MethodCallChain)) !== undefined
29374
+ || (source === null || source === void 0 ? void 0 : source.findFirstExpression(Expressions.StringTemplate)) !== undefined
29375
+ || (source === null || source === void 0 ? void 0 : source.findFirstExpression(Expressions.ArithOperator)) !== undefined;
29367
29376
  const found = allImporting === null || allImporting === void 0 ? void 0 : allImporting.find(p => p.getName().toUpperCase() === name);
29368
29377
  if (found === undefined) {
29369
29378
  throw new Error(`constructor parameter "${name}" does not exist`);
29370
29379
  }
29371
- else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(sourceType, found.getType()) === false) {
29380
+ else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(sourceType, found.getType(), calculated) === false) {
29372
29381
  throw new Error(`constructor parameter "${name}" type not compatible`);
29373
29382
  }
29374
29383
  requiredImporting.delete(name);
@@ -51106,7 +51115,7 @@ class Registry {
51106
51115
  }
51107
51116
  static abaplintVersion() {
51108
51117
  // magic, see build script "version.sh"
51109
- return "2.105.6";
51118
+ return "2.105.8";
51110
51119
  }
51111
51120
  getDDICReferences() {
51112
51121
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.105.6",
3
+ "version": "2.105.8",
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.105.6",
41
+ "@abaplint/core": "^2.105.8",
42
42
  "@types/chai": "^4.3.11",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.5",
45
45
  "@types/mocha": "^10.0.6",
46
- "@types/node": "^20.10.5",
46
+ "@types/node": "^20.10.6",
47
47
  "@types/progress": "^2.0.7",
48
48
  "chai": "^4.3.10",
49
49
  "chalk": "^5.3.0",