@abaplint/cli 2.102.30 → 2.102.31

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 +12 -2
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -21481,6 +21481,7 @@ exports.TypeUtils = void 0;
21481
21481
  const types_1 = __webpack_require__(/*! ../types */ "./node_modules/@abaplint/core/build/src/abap/types/index.js");
21482
21482
  const basic_1 = __webpack_require__(/*! ../types/basic */ "./node_modules/@abaplint/core/build/src/abap/types/basic/index.js");
21483
21483
  const cgeneric_type_1 = __webpack_require__(/*! ../types/basic/cgeneric_type */ "./node_modules/@abaplint/core/build/src/abap/types/basic/cgeneric_type.js");
21484
+ // todo: refactor to static? for performance
21484
21485
  class TypeUtils {
21485
21486
  constructor(scope) {
21486
21487
  this.scope = scope;
@@ -21775,6 +21776,11 @@ class TypeUtils {
21775
21776
  return false;
21776
21777
  }
21777
21778
  }
21779
+ else if (source instanceof basic_1.IntegerType) {
21780
+ if (target instanceof basic_1.StringType || target instanceof basic_1.Integer8Type) {
21781
+ return false;
21782
+ }
21783
+ }
21778
21784
  else if (source instanceof basic_1.FloatType) {
21779
21785
  if (target instanceof basic_1.IntegerType) {
21780
21786
  return false;
@@ -29321,6 +29327,7 @@ const target_1 = __webpack_require__(/*! ../expressions/target */ "./node_module
29321
29327
  const fstarget_1 = __webpack_require__(/*! ../expressions/fstarget */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/fstarget.js");
29322
29328
  const basic_1 = __webpack_require__(/*! ../../types/basic */ "./node_modules/@abaplint/core/build/src/abap/types/basic/index.js");
29323
29329
  const inline_data_1 = __webpack_require__(/*! ../expressions/inline_data */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/expressions/inline_data.js");
29330
+ const _type_utils_1 = __webpack_require__(/*! ../_type_utils */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_type_utils.js");
29324
29331
  class InsertInternal {
29325
29332
  runSyntax(node, scope, filename) {
29326
29333
  let targetType;
@@ -29328,7 +29335,7 @@ class InsertInternal {
29328
29335
  if (t) {
29329
29336
  targetType = new target_1.Target().runSyntax(t, scope, filename);
29330
29337
  }
29331
- if (targetType instanceof basic_1.TableType) {
29338
+ if (targetType instanceof basic_1.TableType && node.findDirectTokenByText("LINES") === undefined) {
29332
29339
  targetType = targetType.getRowType();
29333
29340
  }
29334
29341
  let source = node.findDirectExpression(Expressions.SimpleSource4);
@@ -29346,6 +29353,9 @@ class InsertInternal {
29346
29353
  new fstarget_1.FSTarget().runSyntax(afterAssigning, scope, filename, sourceType);
29347
29354
  }
29348
29355
  }
29356
+ if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(sourceType, targetType) === false) {
29357
+ throw new Error("Types not compatible");
29358
+ }
29349
29359
  const afterInto = node.findExpressionAfterToken("INTO");
29350
29360
  if ((afterInto === null || afterInto === void 0 ? void 0 : afterInto.get()) instanceof Expressions.Target && sourceType) {
29351
29361
  const inline = afterInto.findDirectExpression(Expressions.InlineData);
@@ -48749,7 +48759,7 @@ class Registry {
48749
48759
  }
48750
48760
  static abaplintVersion() {
48751
48761
  // magic, see build script "version.sh"
48752
- return "2.102.30";
48762
+ return "2.102.31";
48753
48763
  }
48754
48764
  getDDICReferences() {
48755
48765
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.102.30",
3
+ "version": "2.102.31",
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.30",
41
+ "@abaplint/core": "^2.102.31",
42
42
  "@types/chai": "^4.3.5",
43
43
  "@types/glob": "^7.2.0",
44
44
  "@types/minimist": "^1.2.2",