@abaplint/cli 2.120.14 → 2.120.16

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 +25 -8
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -4766,7 +4766,7 @@ class FieldChain extends combi_1.Expression {
4766
4766
  getRunnable() {
4767
4767
  const attr = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.InstanceArrow), _1.AttributeName);
4768
4768
  const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), (0, combi_1.optPrio)(_1.ComponentName));
4769
- const chain = (0, combi_1.star)((0, combi_1.altPrio)(_1.Dereference, (0, _dynamic_access_1.dynAttr)(), attr, (0, _dynamic_access_1.dynComp)((0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength)), comp, _1.TableExpression));
4769
+ const chain = (0, combi_1.star)((0, combi_1.altPrio)(_1.Dereference, (0, _dynamic_access_1.dynAttr)(), attr, (0, _dynamic_access_1.dynComp)((0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength)), comp, (0, combi_1.tok)(tokens_1.AssociationName), _1.TableExpression));
4770
4770
  const clas = (0, combi_1.seq)(_1.ClassName, (0, combi_1.tok)(tokens_1.StaticArrow), _1.AttributeName);
4771
4771
  const start = (0, combi_1.altPrio)(clas, _1.SourceField, _1.SourceFieldSymbol);
4772
4772
  const after = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.DashW), (0, combi_1.seq)((0, combi_1.optPrio)(_1.TableBody), (0, combi_1.optPrio)(_1.FieldOffset), (0, combi_1.optPrio)(_1.FieldLength)));
@@ -10486,7 +10486,7 @@ class TableExpression extends combi_1.Expression {
10486
10486
  const fields = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.altPrio)(_1.ComponentChainSimple, _1.Dynamic), "=", _1.Source));
10487
10487
  const key = (0, combi_1.seq)("KEY", _1.SimpleName);
10488
10488
  const index = (0, combi_1.seq)("INDEX", _1.Source);
10489
- const ret = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.BracketLeftW), (0, combi_1.alt)(_1.Source, (0, combi_1.seq)((0, combi_1.optPrio)(key), (0, combi_1.opt)("COMPONENTS"), (0, combi_1.altPrio)(fields, index))), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WBracketRight), (0, combi_1.tok)(tokens_1.WBracketRightW)));
10489
+ const ret = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.BracketLeftW), (0, combi_1.alt)((0, combi_1.seq)(_1.Source, fields), _1.Source, (0, combi_1.seq)((0, combi_1.optPrio)(key), (0, combi_1.opt)("COMPONENTS"), (0, combi_1.altPrio)(fields, index))), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WBracketRight), (0, combi_1.tok)(tokens_1.WBracketRightW)));
10490
10490
  return (0, combi_1.ver)(version_1.Release.v740sp02, ret, { also: combi_1.AlsoIn.OpenABAP });
10491
10491
  }
10492
10492
  }
@@ -27357,10 +27357,15 @@ class TypeUtils {
27357
27357
  return false;
27358
27358
  }
27359
27359
  isCharLikeField(type) {
27360
+ if (type instanceof basic_1.StructureType
27361
+ || (type instanceof basic_1.TableType && type.isWithHeader())) {
27362
+ return this.isCharLikeStrict(type);
27363
+ }
27360
27364
  return type instanceof basic_1.CharacterType
27361
27365
  || type instanceof basic_1.NumericType
27362
27366
  || type instanceof basic_1.DateType
27363
27367
  || type instanceof basic_1.TimeType
27368
+ || type instanceof cgeneric_type_1.CGenericType
27364
27369
  || type instanceof basic_1.CLikeType
27365
27370
  || type instanceof basic_1.AnyType
27366
27371
  || type instanceof basic_1.UnknownType
@@ -41533,9 +41538,13 @@ class InsertInternal {
41533
41538
  && node.findDirectTokenByText("LINES") === undefined) {
41534
41539
  targetType = targetType.getRowType();
41535
41540
  }
41536
- let source = node.findDirectExpression(Expressions.SimpleSource4);
41537
- if (source === undefined) {
41538
- source = node.findDirectExpression(Expressions.Source);
41541
+ const initial = node.findDirectTokenByText("INITIAL") !== undefined;
41542
+ let source;
41543
+ if (initial === false) {
41544
+ source = node.findDirectExpression(Expressions.SimpleSource4);
41545
+ if (source === undefined) {
41546
+ source = node.findDirectExpression(Expressions.Source);
41547
+ }
41539
41548
  }
41540
41549
  const sourceType = source ? source_1.Source.runSyntax(source, input, targetType) : targetType;
41541
41550
  if (targetType === undefined
@@ -41557,7 +41566,7 @@ class InsertInternal {
41557
41566
  fstarget_1.FSTarget.runSyntax(afterAssigning, input, sourceType);
41558
41567
  }
41559
41568
  }
41560
- if (node.findDirectTokenByText("INITIAL") === undefined) {
41569
+ if (initial === false) {
41561
41570
  let error = false;
41562
41571
  if (sourceType instanceof basic_1.IntegerType && targetType instanceof basic_1.Integer8Type) {
41563
41572
  error = true;
@@ -46710,6 +46719,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
46710
46719
  exports.ClassData = void 0;
46711
46720
  const Expressions = __importStar(__webpack_require__(/*! ../../2_statements/expressions */ "../core/build/src/abap/2_statements/expressions/index.js"));
46712
46721
  const Statements = __importStar(__webpack_require__(/*! ../../2_statements/statements */ "../core/build/src/abap/2_statements/statements/index.js"));
46722
+ const Structures = __importStar(__webpack_require__(/*! ../../3_structures/structures */ "../core/build/src/abap/3_structures/structures/index.js"));
46713
46723
  const nodes_1 = __webpack_require__(/*! ../../nodes */ "../core/build/src/abap/nodes/index.js");
46714
46724
  const _typed_identifier_1 = __webpack_require__(/*! ../../types/_typed_identifier */ "../core/build/src/abap/types/_typed_identifier.js");
46715
46725
  const Basic = __importStar(__webpack_require__(/*! ../../types/basic */ "../core/build/src/abap/types/basic/index.js"));
@@ -46728,7 +46738,14 @@ class ClassData {
46728
46738
  values[found.getName()] = found.getValue();
46729
46739
  }
46730
46740
  }
46731
- // todo, nested structures and INCLUDES
46741
+ else if (c instanceof nodes_1.StructureNode && ctyp instanceof Structures.ClassData) {
46742
+ const found = new ClassData().runSyntax(c, input);
46743
+ if (found) {
46744
+ components.push({ name: found.getName(), type: found.getType() });
46745
+ values[found.getName()] = found.getValue();
46746
+ }
46747
+ }
46748
+ // todo, INCLUDES
46732
46749
  }
46733
46750
  return new _typed_identifier_1.TypedIdentifier(name, input.filename, new Basic.StructureType(components), ["static" /* IdentifierMeta.Static */], values);
46734
46751
  }
@@ -69433,7 +69450,7 @@ class Registry {
69433
69450
  }
69434
69451
  static abaplintVersion() {
69435
69452
  // magic, see build script "version.js"
69436
- return "2.120.14";
69453
+ return "2.120.16";
69437
69454
  }
69438
69455
  getDDICReferences() {
69439
69456
  return this.ddicReferences;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/cli",
3
- "version": "2.120.14",
3
+ "version": "2.120.16",
4
4
  "description": "abaplint - Command Line Interface",
5
5
  "funding": "https://github.com/sponsors/larshp",
6
6
  "bin": {
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "homepage": "https://abaplint.org",
41
41
  "devDependencies": {
42
- "@abaplint/core": "^2.120.14",
42
+ "@abaplint/core": "^2.120.16",
43
43
  "@types/chai": "^4.3.20",
44
44
  "@types/minimist": "^1.2.5",
45
45
  "@types/mocha": "^10.0.10",