@abaplint/cli 2.120.64 → 2.120.65

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 +359 -648
  2. package/package.json +2 -2
package/build/cli.js CHANGED
@@ -13314,7 +13314,7 @@ const version_1 = __webpack_require__(/*! ../../../version */ "../core/build/src
13314
13314
  class CreateData {
13315
13315
  getMatcher() {
13316
13316
  const areaHandle = (0, combi_1.seq)("AREA HANDLE", expressions_1.Source);
13317
- const typeHandle = (0, combi_1.seq)("TYPE HANDLE", expressions_1.Source);
13317
+ const typeHandle = (0, combi_1.seq)("TYPE HANDLE", expressions_1.SimpleSource3);
13318
13318
  const type = (0, combi_1.seq)((0, combi_1.alt)("TYPE", "TYPE REF TO", "TYPE TABLE OF", "TYPE TABLE OF REF TO", "TYPE SORTED TABLE OF", "TYPE HASHED TABLE OF", "TYPE STANDARD TABLE OF", "TYPE LINE OF"), (0, combi_1.alt)(expressions_1.TypeName, expressions_1.Dynamic));
13319
13319
  const like = (0, combi_1.seq)((0, combi_1.alt)("LIKE", "LIKE HASHED TABLE OF", "LIKE LINE OF", "LIKE STANDARD TABLE OF", "LIKE SORTED TABLE OF", "LIKE TABLE OF"), (0, combi_1.alt)(expressions_1.Source, expressions_1.Dynamic));
13320
13320
  const length = (0, combi_1.seq)("LENGTH", expressions_1.Source);
@@ -16556,7 +16556,7 @@ class Loop {
16556
16556
  getMatcher() {
16557
16557
  const where = (0, combi_1.seq)("WHERE", (0, combi_1.alt)(expressions_1.ComponentCond, (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, expressions_1.Dynamic)));
16558
16558
  const group = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.seq)("GROUP BY", loop_group_by_1.LoopGroupBy), { also: combi_1.AlsoIn.OpenABAP });
16559
- const step = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)("STEP", expressions_1.Source));
16559
+ const step = (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)("STEP", expressions_1.Source), { also: combi_1.AlsoIn.OpenABAP });
16560
16560
  const from = (0, combi_1.seq)("FROM", expressions_1.Source);
16561
16561
  const to = (0, combi_1.seq)("TO", expressions_1.Source);
16562
16562
  const usingKey = (0, combi_1.seq)("USING KEY", (0, combi_1.altPrio)(expressions_1.SimpleName, expressions_1.Dynamic));
@@ -29531,6 +29531,72 @@ function checkOffsetLength(source, sourceType, method, input) {
29531
29531
 
29532
29532
  /***/ },
29533
29533
 
29534
+ /***/ "../core/build/src/abap/5_syntax/expressions/_check_text_symbol.js"
29535
+ /*!*************************************************************************!*\
29536
+ !*** ../core/build/src/abap/5_syntax/expressions/_check_text_symbol.js ***!
29537
+ \*************************************************************************/
29538
+ (__unused_webpack_module, exports, __webpack_require__) {
29539
+
29540
+ "use strict";
29541
+
29542
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29543
+ if (k2 === undefined) k2 = k;
29544
+ var desc = Object.getOwnPropertyDescriptor(m, k);
29545
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
29546
+ desc = { enumerable: true, get: function() { return m[k]; } };
29547
+ }
29548
+ Object.defineProperty(o, k2, desc);
29549
+ }) : (function(o, m, k, k2) {
29550
+ if (k2 === undefined) k2 = k;
29551
+ o[k2] = m[k];
29552
+ }));
29553
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29554
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29555
+ }) : function(o, v) {
29556
+ o["default"] = v;
29557
+ });
29558
+ var __importStar = (this && this.__importStar) || (function () {
29559
+ var ownKeys = function(o) {
29560
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29561
+ var ar = [];
29562
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29563
+ return ar;
29564
+ };
29565
+ return ownKeys(o);
29566
+ };
29567
+ return function (mod) {
29568
+ if (mod && mod.__esModule) return mod;
29569
+ var result = {};
29570
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
29571
+ __setModuleDefault(result, mod);
29572
+ return result;
29573
+ };
29574
+ })();
29575
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
29576
+ exports.checkTextSymbol = checkTextSymbol;
29577
+ const Expressions = __importStar(__webpack_require__(/*! ../../2_statements/expressions */ "../core/build/src/abap/2_statements/expressions/index.js"));
29578
+ const basic_1 = __webpack_require__(/*! ../../types/basic */ "../core/build/src/abap/types/basic/index.js");
29579
+ const _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ "../core/build/src/abap/5_syntax/_syntax_input.js");
29580
+ // A text symbol, 'text'(001), is a character literal of type C. Unlike a plain
29581
+ // literal it does not convert when passed to a method parameter typed STRING,
29582
+ // the system reports it as not type-compatible. Returns true if an issue was reported.
29583
+ function checkTextSymbol(source, parameterType, input) {
29584
+ if (source === undefined || !(parameterType instanceof basic_1.StringType)) {
29585
+ return false;
29586
+ }
29587
+ const children = source.getChildren();
29588
+ const constant = children.length === 1 ? source.findDirectExpression(Expressions.Constant) : undefined;
29589
+ if ((constant === null || constant === void 0 ? void 0 : constant.findDirectExpression(Expressions.TextElementString)) === undefined) {
29590
+ return false;
29591
+ }
29592
+ const message = `Text symbol "${source.concatTokens()}" is a character literal, not type-compatible with a STRING parameter`;
29593
+ input.issues.push((0, _syntax_input_1.syntaxIssue)(input, source.getFirstToken(), message));
29594
+ return true;
29595
+ }
29596
+ //# sourceMappingURL=_check_text_symbol.js.map
29597
+
29598
+ /***/ },
29599
+
29534
29600
  /***/ "../core/build/src/abap/5_syntax/expressions/attribute_chain.js"
29535
29601
  /*!**********************************************************************!*\
29536
29602
  !*** ../core/build/src/abap/5_syntax/expressions/attribute_chain.js ***!
@@ -32908,6 +32974,7 @@ const _type_utils_1 = __webpack_require__(/*! ../_type_utils */ "../core/build/s
32908
32974
  const _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ "../core/build/src/abap/5_syntax/_syntax_input.js");
32909
32975
  const constant_1 = __webpack_require__(/*! ./constant */ "../core/build/src/abap/5_syntax/expressions/constant.js");
32910
32976
  const _check_offset_length_1 = __webpack_require__(/*! ./_check_offset_length */ "../core/build/src/abap/5_syntax/expressions/_check_offset_length.js");
32977
+ const _check_text_symbol_1 = __webpack_require__(/*! ./_check_text_symbol */ "../core/build/src/abap/5_syntax/expressions/_check_text_symbol.js");
32911
32978
  class MethodCallParam {
32912
32979
  static runSyntax(node, input, method) {
32913
32980
  if (!(node.get() instanceof Expressions.MethodCallParam)) {
@@ -32980,6 +33047,9 @@ class MethodCallParam {
32980
33047
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
32981
33048
  return;
32982
33049
  }
33050
+ else if ((0, _check_text_symbol_1.checkTextSymbol)(child, targetType, input)) {
33051
+ return;
33052
+ }
32983
33053
  else if (new _type_utils_1.TypeUtils(input.scope).isAssignableStrict(sourceType, targetType, child) === false) {
32984
33054
  const message = "Method parameter type not compatible";
32985
33055
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
@@ -33231,6 +33301,7 @@ const assert_error_1 = __webpack_require__(/*! ../assert_error */ "../core/build
33231
33301
  const field_chain_1 = __webpack_require__(/*! ./field_chain */ "../core/build/src/abap/5_syntax/expressions/field_chain.js");
33232
33302
  const _reference_1 = __webpack_require__(/*! ../_reference */ "../core/build/src/abap/5_syntax/_reference.js");
33233
33303
  const _check_offset_length_1 = __webpack_require__(/*! ./_check_offset_length */ "../core/build/src/abap/5_syntax/expressions/_check_offset_length.js");
33304
+ const _check_text_symbol_1 = __webpack_require__(/*! ./_check_text_symbol */ "../core/build/src/abap/5_syntax/expressions/_check_text_symbol.js");
33234
33305
  class MethodParameters {
33235
33306
  constructor() {
33236
33307
  this.requiredParameters = undefined;
@@ -33382,6 +33453,9 @@ class MethodParameters {
33382
33453
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
33383
33454
  continue;
33384
33455
  }
33456
+ else if ((0, _check_text_symbol_1.checkTextSymbol)(item.source, parameter.getType(), input)) {
33457
+ return;
33458
+ }
33385
33459
  else if (new _type_utils_1.TypeUtils(input.scope).isAssignableStrict(item.sourceType, parameter.getType(), item.source) === false) {
33386
33460
  const message = "Method parameter type not compatible, " + item.name;
33387
33461
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
@@ -34400,6 +34474,13 @@ class Select {
34400
34474
  const intoTable = node.findDirectExpression(Expressions.SQLIntoTable);
34401
34475
  if (intoTable) {
34402
34476
  const inline = intoTable.findFirstExpression(Expressions.InlineData);
34477
+ if (inline
34478
+ && intoTable.findDirectTokenByText("INTO") !== undefined
34479
+ && intoTable.findDirectTokenByText("CORRESPONDING") !== undefined
34480
+ && !(0, version_1.releaseAtLeast)(input.scope.getRelease(), version_1.Release.v755)) {
34481
+ const message = "INTO CORRESPONDING FIELDS OF TABLE with an inline declaration requires 7.55";
34482
+ input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
34483
+ }
34403
34484
  if (inline) {
34404
34485
  inline_data_1.InlineData.runSyntax(inline, input, this.buildTableType(fields, dbSources, input.scope, from));
34405
34486
  }
@@ -39562,6 +39643,9 @@ class CreateData {
39562
39643
  return;
39563
39644
  }
39564
39645
  }
39646
+ for (const s of node.findDirectExpressions(Expressions.SimpleSource3)) {
39647
+ source_1.Source.runSyntax(s, input);
39648
+ }
39565
39649
  for (const t of node.findDirectExpressions(Expressions.Target)) {
39566
39650
  target_1.Target.runSyntax(t, input);
39567
39651
  }
@@ -42863,14 +42947,21 @@ class Loop {
42863
42947
  // https://github.com/abap2xlsx/abap2xlsx/issues/1341
42864
42948
  const keyName = node.findExpressionAfterToken("KEY");
42865
42949
  let key = undefined;
42866
- if ((keyName === null || keyName === void 0 ? void 0 : keyName.get()) instanceof Expressions.SimpleName) {
42867
- // it might be dynamic, in that case we cannot check anything
42868
- key = (_b = topType.getOptions().secondary) === null || _b === void 0 ? void 0 : _b.find(k => k.name.toUpperCase() === keyName.getFirstToken().getStr().toUpperCase());
42950
+ const name = (keyName === null || keyName === void 0 ? void 0 : keyName.get()) instanceof Expressions.SimpleName ? keyName.getFirstToken().getStr().toUpperCase() : undefined;
42951
+ // it might be dynamic, in that case we cannot check anything; and
42952
+ // primary_key is the predefined name of the primary key every table has
42953
+ if (name !== undefined && name !== "PRIMARY_KEY") {
42954
+ key = (_b = topType.getOptions().secondary) === null || _b === void 0 ? void 0 : _b.find(k => k.name.toUpperCase() === name);
42869
42955
  if (key === undefined) {
42870
42956
  const message = "Key " + (keyName === null || keyName === void 0 ? void 0 : keyName.concatTokens()) + " not found in table type";
42871
42957
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
42872
42958
  return;
42873
42959
  }
42960
+ if (cond.findDirectTokenByText("OR") !== undefined) {
42961
+ const message = "Loop, secondary key requires an optimizable WHERE, top-level OR not allowed";
42962
+ input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
42963
+ return;
42964
+ }
42874
42965
  if (!(0, version_1.releaseAtLeast)(input.scope.getRelease(), version_1.Release.v740sp02)) {
42875
42966
  const compares = cond.findAllExpressionsRecursive(Expressions.ComponentCompare).map(c => c.concatTokens().toUpperCase());
42876
42967
  for (const keyField of key.keyFields) {
@@ -43533,6 +43624,7 @@ const _type_utils_1 = __webpack_require__(/*! ../_type_utils */ "../core/build/s
43533
43624
  const _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ "../core/build/src/abap/5_syntax/_syntax_input.js");
43534
43625
  const dereference_1 = __webpack_require__(/*! ../expressions/dereference */ "../core/build/src/abap/5_syntax/expressions/dereference.js");
43535
43626
  const basic_1 = __webpack_require__(/*! ../../types/basic */ "../core/build/src/abap/types/basic/index.js");
43627
+ const nodes_1 = __webpack_require__(/*! ../../nodes */ "../core/build/src/abap/nodes/index.js");
43536
43628
  class Move {
43537
43629
  runSyntax(node, input) {
43538
43630
  const targets = node.findDirectExpressions(Expressions.Target);
@@ -43564,6 +43656,13 @@ class Move {
43564
43656
  input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
43565
43657
  return;
43566
43658
  }
43659
+ if (inline === undefined
43660
+ && node.findDirectTokenByText("=") !== undefined
43661
+ && Move.isRefInferIntoGenericFieldSymbol(targets, source, targetType)) {
43662
+ const message = "REF #( ) cannot infer a type from a generic target, use REF data( ) or a named type";
43663
+ input.issues.push((0, _syntax_input_1.syntaxIssue)(input, source.getFirstToken(), message));
43664
+ return;
43665
+ }
43567
43666
  if (node.findDirectExpression(Expressions.Dereference)) {
43568
43667
  sourceType = dereference_1.Dereference.runSyntax(node, sourceType, input);
43569
43668
  }
@@ -43587,6 +43686,26 @@ class Move {
43587
43686
  return;
43588
43687
  }
43589
43688
  }
43689
+ /** target = REF #( ... ), with the single target being a field symbol typed "any" or "data",
43690
+ * the type of REF # is inferred from the target, which is generic */
43691
+ static isRefInferIntoGenericFieldSymbol(targets, source, targetType) {
43692
+ var _a;
43693
+ if (targets.length !== 1 || source === undefined) {
43694
+ return false;
43695
+ }
43696
+ else if (!(targetType instanceof basic_1.AnyType) && !(targetType instanceof basic_1.DataType)) {
43697
+ return false;
43698
+ }
43699
+ const targetChildren = targets[0].getChildren();
43700
+ if (targetChildren.length !== 1 || !(targetChildren[0].get() instanceof Expressions.TargetFieldSymbol)) {
43701
+ return false;
43702
+ }
43703
+ const first = source.getFirstChild();
43704
+ if (!(first instanceof nodes_1.TokenNode) || first.getFirstToken().getStr().toUpperCase() !== "REF") {
43705
+ return false;
43706
+ }
43707
+ return ((_a = source.findDirectExpression(Expressions.TypeNameOrInfer)) === null || _a === void 0 ? void 0 : _a.concatTokens()) === "#";
43708
+ }
43590
43709
  }
43591
43710
  exports.Move = Move;
43592
43711
  //# sourceMappingURL=move.js.map
@@ -49228,38 +49347,45 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
49228
49347
  exports.ArtifactsABAP = void 0;
49229
49348
  const Statements = __importStar(__webpack_require__(/*! ./2_statements/statements */ "../core/build/src/abap/2_statements/statements/index.js"));
49230
49349
  const Expressions = __importStar(__webpack_require__(/*! ./2_statements/expressions */ "../core/build/src/abap/2_statements/expressions/index.js"));
49231
- const combi_1 = __webpack_require__(/*! ./2_statements/combi */ "../core/build/src/abap/2_statements/combi.js");
49232
49350
  const Structures = __importStar(__webpack_require__(/*! ./3_structures/structures */ "../core/build/src/abap/3_structures/structures/index.js"));
49351
+ /*
49233
49352
  class List {
49234
- constructor() {
49235
- this.words = [];
49236
- }
49237
- add(keywords, source) {
49238
- for (const w of keywords) {
49239
- const index = this.find(w);
49240
- if (index >= 0) {
49241
- this.words[index].source.push(source);
49242
- }
49243
- else {
49244
- this.words.push({ word: w, source: [source] });
49245
- }
49246
- }
49247
- }
49248
- get() {
49249
- return this.words;
49353
+ private readonly words: IKeyword[];
49354
+
49355
+ public constructor() {
49356
+ this.words = [];
49357
+ }
49358
+
49359
+ public add(keywords: string[], source: string): void {
49360
+ for (const w of keywords) {
49361
+ const index = this.find(w);
49362
+ if (index >= 0) {
49363
+ this.words[index].source.push(source);
49364
+ } else {
49365
+ this.words.push({word: w, source: [source]});
49366
+ }
49250
49367
  }
49251
- find(keyword) {
49252
- for (let i = 0; i < this.words.length; i++) {
49253
- if (this.words[i].word === keyword) {
49254
- return i;
49255
- }
49256
- }
49257
- return -1;
49368
+ }
49369
+
49370
+ public get(): IKeyword[] {
49371
+ return this.words;
49372
+ }
49373
+
49374
+ private find(keyword: string): number {
49375
+ for (let i = 0; i < this.words.length; i++) {
49376
+ if (this.words[i].word === keyword) {
49377
+ return i;
49378
+ }
49258
49379
  }
49380
+ return -1;
49381
+ }
49259
49382
  }
49260
- function className(cla) {
49261
- return cla.constructor.name;
49383
+
49384
+
49385
+ function className(cla: any) {
49386
+ return cla.constructor.name;
49262
49387
  }
49388
+ */
49263
49389
  class ArtifactsABAP {
49264
49390
  static getStructures() {
49265
49391
  const ret = [];
@@ -49291,16 +49417,6 @@ class ArtifactsABAP {
49291
49417
  }
49292
49418
  return ret;
49293
49419
  }
49294
- static getKeywords() {
49295
- const list = new List();
49296
- for (const stat of this.getStatements()) {
49297
- list.add(combi_1.Combi.listKeywords(stat.getMatcher()), "statement_" + className(stat));
49298
- }
49299
- for (const expr of this.getExpressions()) {
49300
- list.add(combi_1.Combi.listKeywords(new expr().getRunnable()), "expression_" + className(expr));
49301
- }
49302
- return list.get();
49303
- }
49304
49420
  }
49305
49421
  exports.ArtifactsABAP = ArtifactsABAP;
49306
49422
  //# sourceMappingURL=artifacts.js.map
@@ -61173,6 +61289,9 @@ class AbstractObject {
61173
61289
  this.old = [];
61174
61290
  this.dirty = false;
61175
61291
  }
61292
+ getDescription() {
61293
+ return undefined;
61294
+ }
61176
61295
  getParsingIssues() {
61177
61296
  return this.old;
61178
61297
  }
@@ -61363,9 +61482,6 @@ class UnknownObject extends _abstract_object_1.AbstractObject {
61363
61482
  allowNamespace: true,
61364
61483
  };
61365
61484
  }
61366
- getDescription() {
61367
- return undefined;
61368
- }
61369
61485
  getParsingIssues() {
61370
61486
  const pos = new position_1.Position(1, 1);
61371
61487
  const file = this.getFiles()[0];
@@ -61400,10 +61516,6 @@ class ABAPQueryFunctionalArea extends _abstract_object_1.AbstractObject {
61400
61516
  allowNamespace: true,
61401
61517
  };
61402
61518
  }
61403
- getDescription() {
61404
- // todo
61405
- return undefined;
61406
- }
61407
61519
  }
61408
61520
  exports.ABAPQueryFunctionalArea = ABAPQueryFunctionalArea;
61409
61521
  //# sourceMappingURL=abap_query_functional_area.js.map
@@ -61431,10 +61543,6 @@ class ABAPQueryQuery extends _abstract_object_1.AbstractObject {
61431
61543
  allowNamespace: true,
61432
61544
  };
61433
61545
  }
61434
- getDescription() {
61435
- // todo
61436
- return undefined;
61437
- }
61438
61546
  }
61439
61547
  exports.ABAPQueryQuery = ABAPQueryQuery;
61440
61548
  //# sourceMappingURL=abap_query_query.js.map
@@ -61462,10 +61570,6 @@ class ActivationVariant extends _abstract_object_1.AbstractObject {
61462
61570
  allowNamespace: true,
61463
61571
  };
61464
61572
  }
61465
- getDescription() {
61466
- // todo
61467
- return undefined;
61468
- }
61469
61573
  }
61470
61574
  exports.ActivationVariant = ActivationVariant;
61471
61575
  //# sourceMappingURL=activation_variant.js.map
@@ -61493,10 +61597,6 @@ class APIReleaseState extends _abstract_object_1.AbstractObject {
61493
61597
  allowNamespace: true,
61494
61598
  };
61495
61599
  }
61496
- getDescription() {
61497
- // todo
61498
- return undefined;
61499
- }
61500
61600
  }
61501
61601
  exports.APIReleaseState = APIReleaseState;
61502
61602
  //# sourceMappingURL=api_release_state.js.map
@@ -61524,10 +61624,6 @@ class ApplicationDescriptorsFiori extends _abstract_object_1.AbstractObject {
61524
61624
  allowNamespace: true,
61525
61625
  };
61526
61626
  }
61527
- getDescription() {
61528
- // todo
61529
- return undefined;
61530
- }
61531
61627
  }
61532
61628
  exports.ApplicationDescriptorsFiori = ApplicationDescriptorsFiori;
61533
61629
  //# sourceMappingURL=application_descriptors_fiori.js.map
@@ -61555,10 +61651,6 @@ class ApplicationJobCatalogEntry extends _abstract_object_1.AbstractObject {
61555
61651
  allowNamespace: true,
61556
61652
  };
61557
61653
  }
61558
- getDescription() {
61559
- // todo
61560
- return undefined;
61561
- }
61562
61654
  }
61563
61655
  exports.ApplicationJobCatalogEntry = ApplicationJobCatalogEntry;
61564
61656
  //# sourceMappingURL=application_job_catalog_entry.js.map
@@ -61586,10 +61678,6 @@ class ApplicationJobTemplate extends _abstract_object_1.AbstractObject {
61586
61678
  allowNamespace: true,
61587
61679
  };
61588
61680
  }
61589
- getDescription() {
61590
- // todo
61591
- return undefined;
61592
- }
61593
61681
  }
61594
61682
  exports.ApplicationJobTemplate = ApplicationJobTemplate;
61595
61683
  //# sourceMappingURL=application_job_template.js.map
@@ -61617,10 +61705,6 @@ class ApplicationLogObject extends _abstract_object_1.AbstractObject {
61617
61705
  allowNamespace: true,
61618
61706
  };
61619
61707
  }
61620
- getDescription() {
61621
- // todo
61622
- return undefined;
61623
- }
61624
61708
  }
61625
61709
  exports.ApplicationLogObject = ApplicationLogObject;
61626
61710
  //# sourceMappingURL=application_log_object.js.map
@@ -61648,10 +61732,6 @@ class AssignmentServiceToAuthorizationGroup extends _abstract_object_1.AbstractO
61648
61732
  allowNamespace: true,
61649
61733
  };
61650
61734
  }
61651
- getDescription() {
61652
- // todo
61653
- return undefined;
61654
- }
61655
61735
  }
61656
61736
  exports.AssignmentServiceToAuthorizationGroup = AssignmentServiceToAuthorizationGroup;
61657
61737
  //# sourceMappingURL=assignment_service_to_authorization_group.js.map
@@ -61679,10 +61759,6 @@ class ATCCheckCategory extends _abstract_object_1.AbstractObject {
61679
61759
  allowNamespace: true,
61680
61760
  };
61681
61761
  }
61682
- getDescription() {
61683
- // todo
61684
- return undefined;
61685
- }
61686
61762
  }
61687
61763
  exports.ATCCheckCategory = ATCCheckCategory;
61688
61764
  //# sourceMappingURL=atc_check_category.js.map
@@ -61710,10 +61786,6 @@ class ATCCheckObject extends _abstract_object_1.AbstractObject {
61710
61786
  allowNamespace: true,
61711
61787
  };
61712
61788
  }
61713
- getDescription() {
61714
- // todo
61715
- return undefined;
61716
- }
61717
61789
  }
61718
61790
  exports.ATCCheckObject = ATCCheckObject;
61719
61791
  //# sourceMappingURL=atc_check_object.js.map
@@ -61741,10 +61813,6 @@ class ATCCheckVariant extends _abstract_object_1.AbstractObject {
61741
61813
  allowNamespace: true,
61742
61814
  };
61743
61815
  }
61744
- getDescription() {
61745
- // todo
61746
- return undefined;
61747
- }
61748
61816
  }
61749
61817
  exports.ATCCheckVariant = ATCCheckVariant;
61750
61818
  //# sourceMappingURL=atc_check_variant.js.map
@@ -61778,10 +61846,6 @@ class AuthorizationCheckField extends _abstract_object_1.AbstractObject {
61778
61846
  this.parsedXML = undefined;
61779
61847
  super.setDirty();
61780
61848
  }
61781
- getDescription() {
61782
- // todo
61783
- return undefined;
61784
- }
61785
61849
  getDataElementName() {
61786
61850
  var _a;
61787
61851
  this.parse();
@@ -61854,10 +61918,6 @@ class AuthorizationGroup extends _abstract_object_1.AbstractObject {
61854
61918
  allowNamespace: true,
61855
61919
  };
61856
61920
  }
61857
- getDescription() {
61858
- // todo
61859
- return undefined;
61860
- }
61861
61921
  }
61862
61922
  exports.AuthorizationGroup = AuthorizationGroup;
61863
61923
  //# sourceMappingURL=authorization_group.js.map
@@ -61885,10 +61945,6 @@ class AuthorizationObject extends _abstract_object_1.AbstractObject {
61885
61945
  allowNamespace: true,
61886
61946
  };
61887
61947
  }
61888
- getDescription() {
61889
- // todo
61890
- return undefined;
61891
- }
61892
61948
  }
61893
61949
  exports.AuthorizationObject = AuthorizationObject;
61894
61950
  //# sourceMappingURL=authorization_object.js.map
@@ -61916,10 +61972,6 @@ class AuthorizationObjectClass extends _abstract_object_1.AbstractObject {
61916
61972
  allowNamespace: false,
61917
61973
  };
61918
61974
  }
61919
- getDescription() {
61920
- // todo
61921
- return undefined;
61922
- }
61923
61975
  }
61924
61976
  exports.AuthorizationObjectClass = AuthorizationObjectClass;
61925
61977
  //# sourceMappingURL=authorization_object_class.js.map
@@ -61947,10 +61999,6 @@ class AuthorizationObjectExtension extends _abstract_object_1.AbstractObject {
61947
61999
  allowNamespace: true,
61948
62000
  };
61949
62001
  }
61950
- getDescription() {
61951
- // todo
61952
- return undefined;
61953
- }
61954
62002
  }
61955
62003
  exports.AuthorizationObjectExtension = AuthorizationObjectExtension;
61956
62004
  //# sourceMappingURL=authorization_object_extension.js.map
@@ -61978,10 +62026,6 @@ class BADIDefinition extends _abstract_object_1.AbstractObject {
61978
62026
  allowNamespace: true,
61979
62027
  };
61980
62028
  }
61981
- getDescription() {
61982
- // todo
61983
- return undefined;
61984
- }
61985
62029
  }
61986
62030
  exports.BADIDefinition = BADIDefinition;
61987
62031
  //# sourceMappingURL=badi_definition.js.map
@@ -62013,10 +62057,6 @@ class BehaviorDefinition extends _abstract_object_1.AbstractObject {
62013
62057
  allowNamespace: true,
62014
62058
  };
62015
62059
  }
62016
- getDescription() {
62017
- // todo
62018
- return undefined;
62019
- }
62020
62060
  setDirty() {
62021
62061
  this.parsedData = undefined;
62022
62062
  super.setDirty();
@@ -62087,10 +62127,6 @@ class BRFPlusSystemApplication extends _abstract_object_1.AbstractObject {
62087
62127
  allowNamespace: true,
62088
62128
  };
62089
62129
  }
62090
- getDescription() {
62091
- // todo
62092
- return undefined;
62093
- }
62094
62130
  }
62095
62131
  exports.BRFPlusSystemApplication = BRFPlusSystemApplication;
62096
62132
  //# sourceMappingURL=brf_plus_system_application.js.map
@@ -62118,10 +62154,6 @@ class BSPApplication extends _abstract_object_1.AbstractObject {
62118
62154
  allowNamespace: true,
62119
62155
  };
62120
62156
  }
62121
- getDescription() {
62122
- // todo
62123
- return undefined;
62124
- }
62125
62157
  }
62126
62158
  exports.BSPApplication = BSPApplication;
62127
62159
  //# sourceMappingURL=bsp_application.js.map
@@ -62149,10 +62181,6 @@ class BusinessAddInImplementation extends _abstract_object_1.AbstractObject {
62149
62181
  allowNamespace: true,
62150
62182
  };
62151
62183
  }
62152
- getDescription() {
62153
- // todo
62154
- return undefined;
62155
- }
62156
62184
  }
62157
62185
  exports.BusinessAddInImplementation = BusinessAddInImplementation;
62158
62186
  //# sourceMappingURL=business_add_in_implementation.js.map
@@ -62180,10 +62208,6 @@ class BusinessCatalog extends _abstract_object_1.AbstractObject {
62180
62208
  allowNamespace: true,
62181
62209
  };
62182
62210
  }
62183
- getDescription() {
62184
- // todo
62185
- return undefined;
62186
- }
62187
62211
  }
62188
62212
  exports.BusinessCatalog = BusinessCatalog;
62189
62213
  //# sourceMappingURL=business_catalog.js.map
@@ -62211,10 +62235,6 @@ class BusinessCatalogAppAssignment extends _abstract_object_1.AbstractObject {
62211
62235
  allowNamespace: true,
62212
62236
  };
62213
62237
  }
62214
- getDescription() {
62215
- // todo
62216
- return undefined;
62217
- }
62218
62238
  }
62219
62239
  exports.BusinessCatalogAppAssignment = BusinessCatalogAppAssignment;
62220
62240
  //# sourceMappingURL=business_catalog_app_assignment.js.map
@@ -62242,10 +62262,6 @@ class BusinessConfigurationMaintenanceObject extends _abstract_object_1.Abstract
62242
62262
  allowNamespace: true,
62243
62263
  };
62244
62264
  }
62245
- getDescription() {
62246
- // todo
62247
- return undefined;
62248
- }
62249
62265
  }
62250
62266
  exports.BusinessConfigurationMaintenanceObject = BusinessConfigurationMaintenanceObject;
62251
62267
  //# sourceMappingURL=business_configuration_maintenance_object.js.map
@@ -62273,10 +62289,6 @@ class BusinessConfigurationSet extends _abstract_object_1.AbstractObject {
62273
62289
  allowNamespace: true,
62274
62290
  };
62275
62291
  }
62276
- getDescription() {
62277
- // todo
62278
- return undefined;
62279
- }
62280
62292
  }
62281
62293
  exports.BusinessConfigurationSet = BusinessConfigurationSet;
62282
62294
  //# sourceMappingURL=business_configuration_set.js.map
@@ -62304,10 +62316,6 @@ class BusinessFunctionAssignment extends _abstract_object_1.AbstractObject {
62304
62316
  allowNamespace: true,
62305
62317
  };
62306
62318
  }
62307
- getDescription() {
62308
- // todo
62309
- return undefined;
62310
- }
62311
62319
  }
62312
62320
  exports.BusinessFunctionAssignment = BusinessFunctionAssignment;
62313
62321
  //# sourceMappingURL=business_function_assignment.js.map
@@ -62335,10 +62343,6 @@ class BusinessFunctionSetAssignment extends _abstract_object_1.AbstractObject {
62335
62343
  allowNamespace: true,
62336
62344
  };
62337
62345
  }
62338
- getDescription() {
62339
- // todo
62340
- return undefined;
62341
- }
62342
62346
  }
62343
62347
  exports.BusinessFunctionSetAssignment = BusinessFunctionSetAssignment;
62344
62348
  //# sourceMappingURL=business_function_set_assignment.js.map
@@ -62366,10 +62370,6 @@ class BusinessObjectModel extends _abstract_object_1.AbstractObject {
62366
62370
  allowNamespace: true,
62367
62371
  };
62368
62372
  }
62369
- getDescription() {
62370
- // todo
62371
- return undefined;
62372
- }
62373
62373
  }
62374
62374
  exports.BusinessObjectModel = BusinessObjectModel;
62375
62375
  //# sourceMappingURL=business_object_model.js.map
@@ -62397,10 +62397,6 @@ class BusinessObjectType extends _abstract_object_1.AbstractObject {
62397
62397
  allowNamespace: true,
62398
62398
  };
62399
62399
  }
62400
- getDescription() {
62401
- // todo
62402
- return undefined;
62403
- }
62404
62400
  }
62405
62401
  exports.BusinessObjectType = BusinessObjectType;
62406
62402
  //# sourceMappingURL=business_object_type.js.map
@@ -62428,10 +62424,6 @@ class CDSEntityBuffer extends _abstract_object_1.AbstractObject {
62428
62424
  allowNamespace: true,
62429
62425
  };
62430
62426
  }
62431
- getDescription() {
62432
- // todo
62433
- return undefined;
62434
- }
62435
62427
  }
62436
62428
  exports.CDSEntityBuffer = CDSEntityBuffer;
62437
62429
  //# sourceMappingURL=cds_entity_buffer.js.map
@@ -62465,6 +62457,11 @@ class CDSMetadataExtension extends _abstract_object_1.AbstractObject {
62465
62457
  allowNamespace: true,
62466
62458
  };
62467
62459
  }
62460
+ setDirty() {
62461
+ this.parsedData = undefined;
62462
+ this.parserError = undefined;
62463
+ super.setDirty();
62464
+ }
62468
62465
  hasParserError() {
62469
62466
  return this.parserError;
62470
62467
  }
@@ -62483,10 +62480,6 @@ class CDSMetadataExtension extends _abstract_object_1.AbstractObject {
62483
62480
  this.dirty = false;
62484
62481
  return { updated: true, runtime: Date.now() - start };
62485
62482
  }
62486
- getDescription() {
62487
- // todo
62488
- return undefined;
62489
- }
62490
62483
  findSourceFile() {
62491
62484
  return this.getFiles().find(f => f.getFilename().endsWith(".asddlxs") || f.getFilename().endsWith(".acds"));
62492
62485
  }
@@ -62517,10 +62510,6 @@ class CDSType extends _abstract_object_1.AbstractObject {
62517
62510
  allowNamespace: true,
62518
62511
  };
62519
62512
  }
62520
- getDescription() {
62521
- // todo
62522
- return undefined;
62523
- }
62524
62513
  }
62525
62514
  exports.CDSType = CDSType;
62526
62515
  //# sourceMappingURL=cds_type.js.map
@@ -62548,10 +62537,6 @@ class ChangeDocument extends _abstract_object_1.AbstractObject {
62548
62537
  allowNamespace: true,
62549
62538
  };
62550
62539
  }
62551
- getDescription() {
62552
- // todo
62553
- return undefined;
62554
- }
62555
62540
  }
62556
62541
  exports.ChangeDocument = ChangeDocument;
62557
62542
  //# sourceMappingURL=change_document.js.map
@@ -62579,10 +62564,6 @@ class ChapterOfBookStructure extends _abstract_object_1.AbstractObject {
62579
62564
  allowNamespace: true,
62580
62565
  };
62581
62566
  }
62582
- getDescription() {
62583
- // todo
62584
- return undefined;
62585
- }
62586
62567
  }
62587
62568
  exports.ChapterOfBookStructure = ChapterOfBookStructure;
62588
62569
  //# sourceMappingURL=chapter_of_book_structure.js.map
@@ -62610,10 +62591,6 @@ class CheckpointGroup extends _abstract_object_1.AbstractObject {
62610
62591
  allowNamespace: true,
62611
62592
  };
62612
62593
  }
62613
- getDescription() {
62614
- // todo
62615
- return undefined;
62616
- }
62617
62594
  }
62618
62595
  exports.CheckpointGroup = CheckpointGroup;
62619
62596
  //# sourceMappingURL=checkpoint_group.js.map
@@ -62761,10 +62738,6 @@ class Classification extends _abstract_object_1.AbstractObject {
62761
62738
  allowNamespace: true,
62762
62739
  };
62763
62740
  }
62764
- getDescription() {
62765
- // todo
62766
- return undefined;
62767
- }
62768
62741
  }
62769
62742
  exports.Classification = Classification;
62770
62743
  //# sourceMappingURL=classification.js.map
@@ -62792,10 +62765,6 @@ class CommunicationScenario extends _abstract_object_1.AbstractObject {
62792
62765
  allowNamespace: true,
62793
62766
  };
62794
62767
  }
62795
- getDescription() {
62796
- // todo
62797
- return undefined;
62798
- }
62799
62768
  }
62800
62769
  exports.CommunicationScenario = CommunicationScenario;
62801
62770
  //# sourceMappingURL=communication_scenario.js.map
@@ -62823,10 +62792,6 @@ class CompositeEnhancementImplementation extends _abstract_object_1.AbstractObje
62823
62792
  allowNamespace: true,
62824
62793
  };
62825
62794
  }
62826
- getDescription() {
62827
- // todo
62828
- return undefined;
62829
- }
62830
62795
  }
62831
62796
  exports.CompositeEnhancementImplementation = CompositeEnhancementImplementation;
62832
62797
  //# sourceMappingURL=composite_enhancement_implementation.js.map
@@ -62854,10 +62819,6 @@ class CompositeEnhancementSpot extends _abstract_object_1.AbstractObject {
62854
62819
  allowNamespace: true,
62855
62820
  };
62856
62821
  }
62857
- getDescription() {
62858
- // todo
62859
- return undefined;
62860
- }
62861
62822
  }
62862
62823
  exports.CompositeEnhancementSpot = CompositeEnhancementSpot;
62863
62824
  //# sourceMappingURL=composite_enhancement_spot.js.map
@@ -62886,10 +62847,6 @@ class ConceptsOfPackage extends _abstract_object_1.AbstractObject {
62886
62847
  customRegex: new RegExp(/^(\/[A-Z_\d]{3,8}\/)?[A-Z_-\d<> ]+$/i),
62887
62848
  };
62888
62849
  }
62889
- getDescription() {
62890
- // todo
62891
- return undefined;
62892
- }
62893
62850
  }
62894
62851
  exports.ConceptsOfPackage = ConceptsOfPackage;
62895
62852
  //# sourceMappingURL=concepts_of_package.js.map
@@ -62917,10 +62874,6 @@ class CustomDataBrowserObject extends _abstract_object_1.AbstractObject {
62917
62874
  allowNamespace: true,
62918
62875
  };
62919
62876
  }
62920
- getDescription() {
62921
- // todo
62922
- return undefined;
62923
- }
62924
62877
  }
62925
62878
  exports.CustomDataBrowserObject = CustomDataBrowserObject;
62926
62879
  //# sourceMappingURL=custom_data_browser_object.js.map
@@ -62948,10 +62901,6 @@ class CustomerEnhancementProject extends _abstract_object_1.AbstractObject {
62948
62901
  allowNamespace: true,
62949
62902
  };
62950
62903
  }
62951
- getDescription() {
62952
- // todo
62953
- return undefined;
62954
- }
62955
62904
  }
62956
62905
  exports.CustomerEnhancementProject = CustomerEnhancementProject;
62957
62906
  //# sourceMappingURL=customer_enhancement_project.js.map
@@ -62979,10 +62928,6 @@ class CustomizingAttributes extends _abstract_object_1.AbstractObject {
62979
62928
  allowNamespace: true,
62980
62929
  };
62981
62930
  }
62982
- getDescription() {
62983
- // todo
62984
- return undefined;
62985
- }
62986
62931
  }
62987
62932
  exports.CustomizingAttributes = CustomizingAttributes;
62988
62933
  //# sourceMappingURL=customizing_attributes.js.map
@@ -63010,10 +62955,6 @@ class CustomizingImgActivity extends _abstract_object_1.AbstractObject {
63010
62955
  allowNamespace: true,
63011
62956
  };
63012
62957
  }
63013
- getDescription() {
63014
- // todo
63015
- return undefined;
63016
- }
63017
62958
  }
63018
62959
  exports.CustomizingImgActivity = CustomizingImgActivity;
63019
62960
  //# sourceMappingURL=customizing_img_activity.js.map
@@ -63041,10 +62982,6 @@ class CustomizingTransaction extends _abstract_object_1.AbstractObject {
63041
62982
  allowNamespace: true,
63042
62983
  };
63043
62984
  }
63044
- getDescription() {
63045
- // todo
63046
- return undefined;
63047
- }
63048
62985
  }
63049
62986
  exports.CustomizingTransaction = CustomizingTransaction;
63050
62987
  //# sourceMappingURL=customizing_transaction.js.map
@@ -63072,10 +63009,6 @@ class DataControl extends _abstract_object_1.AbstractObject {
63072
63009
  allowNamespace: true,
63073
63010
  };
63074
63011
  }
63075
- getDescription() {
63076
- // todo
63077
- return undefined;
63078
- }
63079
63012
  }
63080
63013
  exports.DataControl = DataControl;
63081
63014
  //# sourceMappingURL=data_control.js.map
@@ -63644,10 +63577,6 @@ class DatastoreObject extends _abstract_object_1.AbstractObject {
63644
63577
  allowNamespace: true,
63645
63578
  };
63646
63579
  }
63647
- getDescription() {
63648
- // todo
63649
- return undefined;
63650
- }
63651
63580
  }
63652
63581
  exports.DatastoreObject = DatastoreObject;
63653
63582
  //# sourceMappingURL=datastore_object.js.map
@@ -63675,10 +63604,6 @@ class DialogModule extends _abstract_object_1.AbstractObject {
63675
63604
  allowNamespace: true,
63676
63605
  };
63677
63606
  }
63678
- getDescription() {
63679
- // todo
63680
- return undefined;
63681
- }
63682
63607
  }
63683
63608
  exports.DialogModule = DialogModule;
63684
63609
  //# sourceMappingURL=dialog_module.js.map
@@ -63706,10 +63631,6 @@ class Documentation extends _abstract_object_1.AbstractObject {
63706
63631
  allowNamespace: true,
63707
63632
  };
63708
63633
  }
63709
- getDescription() {
63710
- // todo
63711
- return undefined;
63712
- }
63713
63634
  }
63714
63635
  exports.Documentation = Documentation;
63715
63636
  //# sourceMappingURL=documentation.js.map
@@ -63913,11 +63834,13 @@ class Domain extends _abstract_object_1.AbstractObject {
63913
63834
  getFixedValues() {
63914
63835
  var _a;
63915
63836
  var _b;
63837
+ this.parse();
63916
63838
  return (_b = (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.values) !== null && _b !== void 0 ? _b : [];
63917
63839
  }
63918
63840
  getFixedValuesTranslations() {
63919
63841
  var _a;
63920
63842
  var _b;
63843
+ this.parse();
63921
63844
  return (_b = (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.valuesTranslations) !== null && _b !== void 0 ? _b : [];
63922
63845
  }
63923
63846
  getAFFFile() {
@@ -63950,10 +63873,6 @@ class EcattTestConfiguration extends _abstract_object_1.AbstractObject {
63950
63873
  allowNamespace: true,
63951
63874
  };
63952
63875
  }
63953
- getDescription() {
63954
- // todo
63955
- return undefined;
63956
- }
63957
63876
  }
63958
63877
  exports.EcattTestConfiguration = EcattTestConfiguration;
63959
63878
  //# sourceMappingURL=ecatt_test_configuration.js.map
@@ -63981,10 +63900,6 @@ class EcattTestDataContainer extends _abstract_object_1.AbstractObject {
63981
63900
  allowNamespace: true,
63982
63901
  };
63983
63902
  }
63984
- getDescription() {
63985
- // todo
63986
- return undefined;
63987
- }
63988
63903
  }
63989
63904
  exports.EcattTestDataContainer = EcattTestDataContainer;
63990
63905
  //# sourceMappingURL=ecatt_test_data_container.js.map
@@ -64012,10 +63927,6 @@ class EcattTestScript extends _abstract_object_1.AbstractObject {
64012
63927
  allowNamespace: true,
64013
63928
  };
64014
63929
  }
64015
- getDescription() {
64016
- // todo
64017
- return undefined;
64018
- }
64019
63930
  }
64020
63931
  exports.EcattTestScript = EcattTestScript;
64021
63932
  //# sourceMappingURL=ecatt_test_script.js.map
@@ -64043,10 +63954,6 @@ class EmailTemplate extends _abstract_object_1.AbstractObject {
64043
63954
  allowNamespace: true,
64044
63955
  };
64045
63956
  }
64046
- getDescription() {
64047
- // todo
64048
- return undefined;
64049
- }
64050
63957
  }
64051
63958
  exports.EmailTemplate = EmailTemplate;
64052
63959
  //# sourceMappingURL=email_template.js.map
@@ -64128,10 +64035,6 @@ class EnhancementSpot extends _abstract_object_1.AbstractObject {
64128
64035
  getType() {
64129
64036
  return "ENHS";
64130
64037
  }
64131
- getDescription() {
64132
- // todo
64133
- return undefined;
64134
- }
64135
64038
  getAllowedNaming() {
64136
64039
  return {
64137
64040
  maxLength: 30,
@@ -64191,10 +64094,6 @@ class EntityType extends _abstract_object_1.AbstractObject {
64191
64094
  allowNamespace: true,
64192
64095
  };
64193
64096
  }
64194
- getDescription() {
64195
- // todo
64196
- return undefined;
64197
- }
64198
64097
  }
64199
64098
  exports.EntityType = EntityType;
64200
64099
  //# sourceMappingURL=entity_type.js.map
@@ -64222,10 +64121,6 @@ class EventBinding extends _abstract_object_1.AbstractObject {
64222
64121
  allowNamespace: true,
64223
64122
  };
64224
64123
  }
64225
- getDescription() {
64226
- // todo
64227
- return undefined;
64228
- }
64229
64124
  }
64230
64125
  exports.EventBinding = EventBinding;
64231
64126
  //# sourceMappingURL=event_binding.js.map
@@ -64253,10 +64148,6 @@ class EventConsumer extends _abstract_object_1.AbstractObject {
64253
64148
  allowNamespace: true,
64254
64149
  };
64255
64150
  }
64256
- getDescription() {
64257
- // todo
64258
- return undefined;
64259
- }
64260
64151
  }
64261
64152
  exports.EventConsumer = EventConsumer;
64262
64153
  //# sourceMappingURL=event_consumer.js.map
@@ -64348,10 +64239,6 @@ class FieldCatalog extends _abstract_object_1.AbstractObject {
64348
64239
  allowNamespace: true,
64349
64240
  };
64350
64241
  }
64351
- getDescription() {
64352
- // todo
64353
- return undefined;
64354
- }
64355
64242
  }
64356
64243
  exports.FieldCatalog = FieldCatalog;
64357
64244
  //# sourceMappingURL=field_catalog.js.map
@@ -64379,10 +64266,6 @@ class FormObjectForm extends _abstract_object_1.AbstractObject {
64379
64266
  allowNamespace: true,
64380
64267
  };
64381
64268
  }
64382
- getDescription() {
64383
- // todo
64384
- return undefined;
64385
- }
64386
64269
  }
64387
64270
  exports.FormObjectForm = FormObjectForm;
64388
64271
  //# sourceMappingURL=form_object_form.js.map
@@ -64410,10 +64293,6 @@ class FormObjectInterface extends _abstract_object_1.AbstractObject {
64410
64293
  allowNamespace: true,
64411
64294
  };
64412
64295
  }
64413
- getDescription() {
64414
- // todo
64415
- return undefined;
64416
- }
64417
64296
  }
64418
64297
  exports.FormObjectInterface = FormObjectInterface;
64419
64298
  //# sourceMappingURL=form_object_interface.js.map
@@ -64441,10 +64320,6 @@ class FormatType extends _abstract_object_1.AbstractObject {
64441
64320
  allowNamespace: true,
64442
64321
  };
64443
64322
  }
64444
- getDescription() {
64445
- // todo
64446
- return undefined;
64447
- }
64448
64323
  }
64449
64324
  exports.FormatType = FormatType;
64450
64325
  //# sourceMappingURL=format_type.js.map
@@ -64677,10 +64552,6 @@ class GatewayModel extends _abstract_object_1.AbstractObject {
64677
64552
  allowNamespace: true,
64678
64553
  };
64679
64554
  }
64680
- getDescription() {
64681
- // todo
64682
- return undefined;
64683
- }
64684
64555
  }
64685
64556
  exports.GatewayModel = GatewayModel;
64686
64557
  //# sourceMappingURL=gateway_model.js.map
@@ -64708,10 +64579,6 @@ class GatewayModelMetadata extends _abstract_object_1.AbstractObject {
64708
64579
  allowNamespace: true,
64709
64580
  };
64710
64581
  }
64711
- getDescription() {
64712
- // todo
64713
- return undefined;
64714
- }
64715
64582
  }
64716
64583
  exports.GatewayModelMetadata = GatewayModelMetadata;
64717
64584
  //# sourceMappingURL=gateway_model_metadata.js.map
@@ -64739,10 +64606,6 @@ class GatewayODataGroupAndAssignment extends _abstract_object_1.AbstractObject {
64739
64606
  allowNamespace: true,
64740
64607
  };
64741
64608
  }
64742
- getDescription() {
64743
- // todo
64744
- return undefined;
64745
- }
64746
64609
  }
64747
64610
  exports.GatewayODataGroupAndAssignment = GatewayODataGroupAndAssignment;
64748
64611
  //# sourceMappingURL=gateway_odata_group_and_assignment.js.map
@@ -64770,10 +64633,6 @@ class GatewayProject extends _abstract_object_1.AbstractObject {
64770
64633
  allowNamespace: true,
64771
64634
  };
64772
64635
  }
64773
- getDescription() {
64774
- // todo
64775
- return undefined;
64776
- }
64777
64636
  }
64778
64637
  exports.GatewayProject = GatewayProject;
64779
64638
  //# sourceMappingURL=gateway_project.js.map
@@ -64801,10 +64660,6 @@ class GatewayService extends _abstract_object_1.AbstractObject {
64801
64660
  allowNamespace: true,
64802
64661
  };
64803
64662
  }
64804
- getDescription() {
64805
- // todo
64806
- return undefined;
64807
- }
64808
64663
  }
64809
64664
  exports.GatewayService = GatewayService;
64810
64665
  //# sourceMappingURL=gateway_service.js.map
@@ -64832,10 +64687,6 @@ class GatewayServiceGroupsMetadata extends _abstract_object_1.AbstractObject {
64832
64687
  allowNamespace: true,
64833
64688
  };
64834
64689
  }
64835
- getDescription() {
64836
- // todo
64837
- return undefined;
64838
- }
64839
64690
  }
64840
64691
  exports.GatewayServiceGroupsMetadata = GatewayServiceGroupsMetadata;
64841
64692
  //# sourceMappingURL=gateway_service_groups_metadata.js.map
@@ -64863,10 +64714,6 @@ class GatewayVocabularyAnnotation extends _abstract_object_1.AbstractObject {
64863
64714
  allowNamespace: true,
64864
64715
  };
64865
64716
  }
64866
- getDescription() {
64867
- // todo
64868
- return undefined;
64869
- }
64870
64717
  }
64871
64718
  exports.GatewayVocabularyAnnotation = GatewayVocabularyAnnotation;
64872
64719
  //# sourceMappingURL=gateway_vocabulary_annotation.js.map
@@ -64894,10 +64741,6 @@ class GeneralHierarchyStorageExtrensionName extends _abstract_object_1.AbstractO
64894
64741
  allowNamespace: true,
64895
64742
  };
64896
64743
  }
64897
- getDescription() {
64898
- // todo
64899
- return undefined;
64900
- }
64901
64744
  }
64902
64745
  exports.GeneralHierarchyStorageExtrensionName = GeneralHierarchyStorageExtrensionName;
64903
64746
  //# sourceMappingURL=general_hierarchy_storage_extrension_name.js.map
@@ -64925,10 +64768,6 @@ class GeneralStorageStructure extends _abstract_object_1.AbstractObject {
64925
64768
  allowNamespace: true,
64926
64769
  };
64927
64770
  }
64928
- getDescription() {
64929
- // todo
64930
- return undefined;
64931
- }
64932
64771
  }
64933
64772
  exports.GeneralStorageStructure = GeneralStorageStructure;
64934
64773
  //# sourceMappingURL=general_storage_structure.js.map
@@ -64956,10 +64795,6 @@ class GeneralText extends _abstract_object_1.AbstractObject {
64956
64795
  allowNamespace: true,
64957
64796
  };
64958
64797
  }
64959
- getDescription() {
64960
- // todo
64961
- return undefined;
64962
- }
64963
64798
  }
64964
64799
  exports.GeneralText = GeneralText;
64965
64800
  //# sourceMappingURL=general_text.js.map
@@ -64987,10 +64822,6 @@ class HttpService extends _abstract_object_1.AbstractObject {
64987
64822
  allowNamespace: true,
64988
64823
  };
64989
64824
  }
64990
- getDescription() {
64991
- // todo
64992
- return undefined;
64993
- }
64994
64825
  }
64995
64826
  exports.HttpService = HttpService;
64996
64827
  //# sourceMappingURL=http_service.js.map
@@ -65018,10 +64849,6 @@ class IACBinaryData extends _abstract_object_1.AbstractObject {
65018
64849
  allowNamespace: true,
65019
64850
  };
65020
64851
  }
65021
- getDescription() {
65022
- // todo
65023
- return undefined;
65024
- }
65025
64852
  }
65026
64853
  exports.IACBinaryData = IACBinaryData;
65027
64854
  //# sourceMappingURL=iac_binary_data.js.map
@@ -65049,10 +64876,6 @@ class IACLanguageResource extends _abstract_object_1.AbstractObject {
65049
64876
  allowNamespace: true,
65050
64877
  };
65051
64878
  }
65052
- getDescription() {
65053
- // todo
65054
- return undefined;
65055
- }
65056
64879
  }
65057
64880
  exports.IACLanguageResource = IACLanguageResource;
65058
64881
  //# sourceMappingURL=iac_language_resource.js.map
@@ -65080,10 +64903,6 @@ class IACService extends _abstract_object_1.AbstractObject {
65080
64903
  allowNamespace: true,
65081
64904
  };
65082
64905
  }
65083
- getDescription() {
65084
- // todo
65085
- return undefined;
65086
- }
65087
64906
  }
65088
64907
  exports.IACService = IACService;
65089
64908
  //# sourceMappingURL=iac_service.js.map
@@ -65111,10 +64930,6 @@ class IACTemplate extends _abstract_object_1.AbstractObject {
65111
64930
  allowNamespace: true,
65112
64931
  };
65113
64932
  }
65114
- getDescription() {
65115
- // todo
65116
- return undefined;
65117
- }
65118
64933
  }
65119
64934
  exports.IACTemplate = IACTemplate;
65120
64935
  //# sourceMappingURL=iac_template.js.map
@@ -65142,10 +64957,6 @@ class IAMApp extends _abstract_object_1.AbstractObject {
65142
64957
  allowNamespace: true,
65143
64958
  };
65144
64959
  }
65145
- getDescription() {
65146
- // todo
65147
- return undefined;
65148
- }
65149
64960
  }
65150
64961
  exports.IAMApp = IAMApp;
65151
64962
  //# sourceMappingURL=iam_app.js.map
@@ -65178,10 +64989,6 @@ class ICFService extends _abstract_object_1.AbstractObject {
65178
64989
  this.parsedXML = undefined;
65179
64990
  super.setDirty();
65180
64991
  }
65181
- getDescription() {
65182
- // todo
65183
- return undefined;
65184
- }
65185
64992
  getURL() {
65186
64993
  var _a;
65187
64994
  this.parse();
@@ -65243,10 +65050,6 @@ class Idoc extends _abstract_object_1.AbstractObject {
65243
65050
  allowNamespace: true,
65244
65051
  };
65245
65052
  }
65246
- getDescription() {
65247
- // todo
65248
- return undefined;
65249
- }
65250
65053
  }
65251
65054
  exports.Idoc = Idoc;
65252
65055
  //# sourceMappingURL=idoc.js.map
@@ -65274,10 +65077,6 @@ class IdocExtension extends _abstract_object_1.AbstractObject {
65274
65077
  allowNamespace: false,
65275
65078
  };
65276
65079
  }
65277
- getDescription() {
65278
- // todo
65279
- return undefined;
65280
- }
65281
65080
  }
65282
65081
  exports.IdocExtension = IdocExtension;
65283
65082
  //# sourceMappingURL=idoc_extension.js.map
@@ -65305,10 +65104,6 @@ class InboundService extends _abstract_object_1.AbstractObject {
65305
65104
  allowNamespace: true,
65306
65105
  };
65307
65106
  }
65308
- getDescription() {
65309
- // todo
65310
- return undefined;
65311
- }
65312
65107
  }
65313
65108
  exports.InboundService = InboundService;
65314
65109
  //# sourceMappingURL=inbound_service.js.map
@@ -65530,10 +65325,6 @@ class InfoArea extends _abstract_object_1.AbstractObject {
65530
65325
  allowNamespace: true,
65531
65326
  };
65532
65327
  }
65533
- getDescription() {
65534
- // todo
65535
- return undefined;
65536
- }
65537
65328
  }
65538
65329
  exports.InfoArea = InfoArea;
65539
65330
  //# sourceMappingURL=info_area.js.map
@@ -65561,10 +65352,6 @@ class InfoObject extends _abstract_object_1.AbstractObject {
65561
65352
  allowNamespace: true,
65562
65353
  };
65563
65354
  }
65564
- getDescription() {
65565
- // todo
65566
- return undefined;
65567
- }
65568
65355
  }
65569
65356
  exports.InfoObject = InfoObject;
65570
65357
  //# sourceMappingURL=info_object.js.map
@@ -65682,10 +65469,6 @@ class KnowledgeTransferDocument extends _abstract_object_1.AbstractObject {
65682
65469
  allowNamespace: true,
65683
65470
  };
65684
65471
  }
65685
- getDescription() {
65686
- // todo
65687
- return undefined;
65688
- }
65689
65472
  }
65690
65473
  exports.KnowledgeTransferDocument = KnowledgeTransferDocument;
65691
65474
  //# sourceMappingURL=knowledge_transfer_document.js.map
@@ -65816,10 +65599,6 @@ class MaintenanceAndTransportObject extends _abstract_object_1.AbstractObject {
65816
65599
  getType() {
65817
65600
  return "TOBJ";
65818
65601
  }
65819
- getDescription() {
65820
- // todo
65821
- return undefined;
65822
- }
65823
65602
  getAllowedNaming() {
65824
65603
  return {
65825
65604
  maxLength: 31,
@@ -66013,10 +65792,6 @@ class MessagingChannel extends _abstract_object_1.AbstractObject {
66013
65792
  allowNamespace: true,
66014
65793
  };
66015
65794
  }
66016
- getDescription() {
66017
- // todo
66018
- return undefined;
66019
- }
66020
65795
  }
66021
65796
  exports.MessagingChannel = MessagingChannel;
66022
65797
  //# sourceMappingURL=messaging_channel.js.map
@@ -66050,6 +65825,7 @@ class MIMEObject extends _abstract_object_1.AbstractObject {
66050
65825
  }
66051
65826
  isFolder() {
66052
65827
  var _a;
65828
+ this.parse();
66053
65829
  return ((_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.FOLDER) === "X";
66054
65830
  }
66055
65831
  getAllowedNaming() {
@@ -66071,10 +65847,6 @@ class MIMEObject extends _abstract_object_1.AbstractObject {
66071
65847
  this.parsedXML = undefined;
66072
65848
  super.setDirty();
66073
65849
  }
66074
- getDescription() {
66075
- // this object type does not have a description
66076
- return undefined;
66077
- }
66078
65850
  parse() {
66079
65851
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
66080
65852
  if (this.parsedXML) {
@@ -66122,10 +65894,6 @@ class Namespace extends _abstract_object_1.AbstractObject {
66122
65894
  customRegex: new RegExp(/^\/[A-Z_\d]{3,8}\/$/i),
66123
65895
  };
66124
65896
  }
66125
- getDescription() {
66126
- // todo
66127
- return undefined;
66128
- }
66129
65897
  }
66130
65898
  exports.Namespace = Namespace;
66131
65899
  //# sourceMappingURL=namespace.js.map
@@ -66154,10 +65922,6 @@ class NeptuneAPI extends _abstract_object_1.AbstractObject {
66154
65922
  customRegex: /.*/i,
66155
65923
  };
66156
65924
  }
66157
- getDescription() {
66158
- // todo
66159
- return undefined;
66160
- }
66161
65925
  }
66162
65926
  exports.NeptuneAPI = NeptuneAPI;
66163
65927
  //# sourceMappingURL=neptune_api.js.map
@@ -66185,10 +65949,6 @@ class NeptuneApp extends _abstract_object_1.AbstractObject {
66185
65949
  allowNamespace: true,
66186
65950
  };
66187
65951
  }
66188
- getDescription() {
66189
- // todo
66190
- return undefined;
66191
- }
66192
65952
  }
66193
65953
  exports.NeptuneApp = NeptuneApp;
66194
65954
  //# sourceMappingURL=neptune_app.js.map
@@ -66216,10 +65976,6 @@ class NeptuneCustomColor extends _abstract_object_1.AbstractObject {
66216
65976
  allowNamespace: true,
66217
65977
  };
66218
65978
  }
66219
- getDescription() {
66220
- // todo
66221
- return undefined;
66222
- }
66223
65979
  }
66224
65980
  exports.NeptuneCustomColor = NeptuneCustomColor;
66225
65981
  //# sourceMappingURL=neptune_custom_color.js.map
@@ -66247,10 +66003,6 @@ class NeptuneCustomJSHelper extends _abstract_object_1.AbstractObject {
66247
66003
  allowNamespace: true,
66248
66004
  };
66249
66005
  }
66250
- getDescription() {
66251
- // todo
66252
- return undefined;
66253
- }
66254
66006
  }
66255
66007
  exports.NeptuneCustomJSHelper = NeptuneCustomJSHelper;
66256
66008
  //# sourceMappingURL=neptune_custom_js_helper.js.map
@@ -66278,10 +66030,6 @@ class NeptuneDocumentation extends _abstract_object_1.AbstractObject {
66278
66030
  allowNamespace: true,
66279
66031
  };
66280
66032
  }
66281
- getDescription() {
66282
- // todo
66283
- return undefined;
66284
- }
66285
66033
  }
66286
66034
  exports.NeptuneDocumentation = NeptuneDocumentation;
66287
66035
  //# sourceMappingURL=neptune_documentation.js.map
@@ -66309,10 +66057,6 @@ class NeptuneEnhancement extends _abstract_object_1.AbstractObject {
66309
66057
  allowNamespace: true,
66310
66058
  };
66311
66059
  }
66312
- getDescription() {
66313
- // todo
66314
- return undefined;
66315
- }
66316
66060
  }
66317
66061
  exports.NeptuneEnhancement = NeptuneEnhancement;
66318
66062
  //# sourceMappingURL=neptune_enhancement.js.map
@@ -66340,10 +66084,6 @@ class NeptuneLaunchpad extends _abstract_object_1.AbstractObject {
66340
66084
  allowNamespace: true,
66341
66085
  };
66342
66086
  }
66343
- getDescription() {
66344
- // todo
66345
- return undefined;
66346
- }
66347
66087
  }
66348
66088
  exports.NeptuneLaunchpad = NeptuneLaunchpad;
66349
66089
  //# sourceMappingURL=neptune_launchpad.js.map
@@ -66371,10 +66111,6 @@ class NeptuneLaunchpadLayout extends _abstract_object_1.AbstractObject {
66371
66111
  allowNamespace: true,
66372
66112
  };
66373
66113
  }
66374
- getDescription() {
66375
- // todo
66376
- return undefined;
66377
- }
66378
66114
  }
66379
66115
  exports.NeptuneLaunchpadLayout = NeptuneLaunchpadLayout;
66380
66116
  //# sourceMappingURL=neptune_launchpad_layout.js.map
@@ -66402,10 +66138,6 @@ class NeptuneLoginPage extends _abstract_object_1.AbstractObject {
66402
66138
  allowNamespace: true,
66403
66139
  };
66404
66140
  }
66405
- getDescription() {
66406
- // todo
66407
- return undefined;
66408
- }
66409
66141
  }
66410
66142
  exports.NeptuneLoginPage = NeptuneLoginPage;
66411
66143
  //# sourceMappingURL=neptune_login_page.js.map
@@ -66433,10 +66165,6 @@ class NeptuneMediaLibrary extends _abstract_object_1.AbstractObject {
66433
66165
  allowNamespace: true,
66434
66166
  };
66435
66167
  }
66436
- getDescription() {
66437
- // todo
66438
- return undefined;
66439
- }
66440
66168
  }
66441
66169
  exports.NeptuneMediaLibrary = NeptuneMediaLibrary;
66442
66170
  //# sourceMappingURL=neptune_media_library.js.map
@@ -66464,10 +66192,6 @@ class NeptuneMediaPack extends _abstract_object_1.AbstractObject {
66464
66192
  allowNamespace: true,
66465
66193
  };
66466
66194
  }
66467
- getDescription() {
66468
- // todo
66469
- return undefined;
66470
- }
66471
66195
  }
66472
66196
  exports.NeptuneMediaPack = NeptuneMediaPack;
66473
66197
  //# sourceMappingURL=neptune_media_pack.js.map
@@ -66495,10 +66219,6 @@ class NeptuneMetadata extends _abstract_object_1.AbstractObject {
66495
66219
  allowNamespace: true,
66496
66220
  };
66497
66221
  }
66498
- getDescription() {
66499
- // todo
66500
- return undefined;
66501
- }
66502
66222
  }
66503
66223
  exports.NeptuneMetadata = NeptuneMetadata;
66504
66224
  //# sourceMappingURL=neptune_metadata.js.map
@@ -66526,10 +66246,6 @@ class NeptuneMobileClient extends _abstract_object_1.AbstractObject {
66526
66246
  allowNamespace: true,
66527
66247
  };
66528
66248
  }
66529
- getDescription() {
66530
- // todo
66531
- return undefined;
66532
- }
66533
66249
  }
66534
66250
  exports.NeptuneMobileClient = NeptuneMobileClient;
66535
66251
  //# sourceMappingURL=neptune_mobile_client.js.map
@@ -66557,10 +66273,6 @@ class NeptuneOData extends _abstract_object_1.AbstractObject {
66557
66273
  allowNamespace: true,
66558
66274
  };
66559
66275
  }
66560
- getDescription() {
66561
- // todo
66562
- return undefined;
66563
- }
66564
66276
  }
66565
66277
  exports.NeptuneOData = NeptuneOData;
66566
66278
  //# sourceMappingURL=neptune_odata.js.map
@@ -66588,10 +66300,6 @@ class NeptunePolicy extends _abstract_object_1.AbstractObject {
66588
66300
  allowNamespace: true,
66589
66301
  };
66590
66302
  }
66591
- getDescription() {
66592
- // todo
66593
- return undefined;
66594
- }
66595
66303
  }
66596
66304
  exports.NeptunePolicy = NeptunePolicy;
66597
66305
  //# sourceMappingURL=neptune_policy.js.map
@@ -66619,10 +66327,6 @@ class NeptuneRFCMapping extends _abstract_object_1.AbstractObject {
66619
66327
  allowNamespace: true,
66620
66328
  };
66621
66329
  }
66622
- getDescription() {
66623
- // todo
66624
- return undefined;
66625
- }
66626
66330
  }
66627
66331
  exports.NeptuneRFCMapping = NeptuneRFCMapping;
66628
66332
  //# sourceMappingURL=neptune_rfc_mapping.js.map
@@ -66650,10 +66354,6 @@ class NeptuneRichTextTemplate extends _abstract_object_1.AbstractObject {
66650
66354
  allowNamespace: true,
66651
66355
  };
66652
66356
  }
66653
- getDescription() {
66654
- // todo
66655
- return undefined;
66656
- }
66657
66357
  }
66658
66358
  exports.NeptuneRichTextTemplate = NeptuneRichTextTemplate;
66659
66359
  //# sourceMappingURL=neptune_rich_text_template.js.map
@@ -66681,10 +66381,6 @@ class NeptuneSplashScreen extends _abstract_object_1.AbstractObject {
66681
66381
  allowNamespace: true,
66682
66382
  };
66683
66383
  }
66684
- getDescription() {
66685
- // todo
66686
- return undefined;
66687
- }
66688
66384
  }
66689
66385
  exports.NeptuneSplashScreen = NeptuneSplashScreen;
66690
66386
  //# sourceMappingURL=neptune_splash_screen.js.map
@@ -66712,10 +66408,6 @@ class NeptuneStickyBanner extends _abstract_object_1.AbstractObject {
66712
66408
  allowNamespace: true,
66713
66409
  };
66714
66410
  }
66715
- getDescription() {
66716
- // todo
66717
- return undefined;
66718
- }
66719
66411
  }
66720
66412
  exports.NeptuneStickyBanner = NeptuneStickyBanner;
66721
66413
  //# sourceMappingURL=neptune_sticky_banner.js.map
@@ -66743,10 +66435,6 @@ class NeptuneTile extends _abstract_object_1.AbstractObject {
66743
66435
  allowNamespace: true,
66744
66436
  };
66745
66437
  }
66746
- getDescription() {
66747
- // todo
66748
- return undefined;
66749
- }
66750
66438
  }
66751
66439
  exports.NeptuneTile = NeptuneTile;
66752
66440
  //# sourceMappingURL=neptune_tile.js.map
@@ -66774,10 +66462,6 @@ class NeptuneTileGroup extends _abstract_object_1.AbstractObject {
66774
66462
  allowNamespace: true,
66775
66463
  };
66776
66464
  }
66777
- getDescription() {
66778
- // todo
66779
- return undefined;
66780
- }
66781
66465
  }
66782
66466
  exports.NeptuneTileGroup = NeptuneTileGroup;
66783
66467
  //# sourceMappingURL=neptune_tile_group.js.map
@@ -66805,10 +66489,6 @@ class NeptuneTileLayout extends _abstract_object_1.AbstractObject {
66805
66489
  allowNamespace: true,
66806
66490
  };
66807
66491
  }
66808
- getDescription() {
66809
- // todo
66810
- return undefined;
66811
- }
66812
66492
  }
66813
66493
  exports.NeptuneTileLayout = NeptuneTileLayout;
66814
66494
  //# sourceMappingURL=neptune_tile_layout.js.map
@@ -66836,10 +66516,6 @@ class NeptuneURLAlias extends _abstract_object_1.AbstractObject {
66836
66516
  allowNamespace: true,
66837
66517
  };
66838
66518
  }
66839
- getDescription() {
66840
- // todo
66841
- return undefined;
66842
- }
66843
66519
  }
66844
66520
  exports.NeptuneURLAlias = NeptuneURLAlias;
66845
66521
  //# sourceMappingURL=neptune_url_alias.js.map
@@ -66933,10 +66609,6 @@ class Oauth2Profile extends _abstract_object_1.AbstractObject {
66933
66609
  allowNamespace: true,
66934
66610
  };
66935
66611
  }
66936
- getDescription() {
66937
- // todo
66938
- return undefined;
66939
- }
66940
66612
  listScopes() {
66941
66613
  var _a, _b, _c, _d, _e;
66942
66614
  const ret = [];
@@ -66973,10 +66645,6 @@ class ObjectCharacteristic extends _abstract_object_1.AbstractObject {
66973
66645
  allowNamespace: true,
66974
66646
  };
66975
66647
  }
66976
- getDescription() {
66977
- // todo
66978
- return undefined;
66979
- }
66980
66648
  }
66981
66649
  exports.ObjectCharacteristic = ObjectCharacteristic;
66982
66650
  //# sourceMappingURL=object_characteristic.js.map
@@ -67004,10 +66672,6 @@ class OutboundService extends _abstract_object_1.AbstractObject {
67004
66672
  allowNamespace: true,
67005
66673
  };
67006
66674
  }
67007
- getDescription() {
67008
- // todo
67009
- return undefined;
67010
- }
67011
66675
  }
67012
66676
  exports.OutboundService = OutboundService;
67013
66677
  //# sourceMappingURL=outbound_service.js.map
@@ -67035,10 +66699,6 @@ class Package extends _abstract_object_1.AbstractObject {
67035
66699
  allowNamespace: true,
67036
66700
  };
67037
66701
  }
67038
- getDescription() {
67039
- // todo
67040
- return undefined;
67041
- }
67042
66702
  }
67043
66703
  exports.Package = Package;
67044
66704
  //# sourceMappingURL=package.js.map
@@ -67066,10 +66726,6 @@ class PackageInterface extends _abstract_object_1.AbstractObject {
67066
66726
  allowNamespace: true,
67067
66727
  };
67068
66728
  }
67069
- getDescription() {
67070
- // todo
67071
- return undefined;
67072
- }
67073
66729
  }
67074
66730
  exports.PackageInterface = PackageInterface;
67075
66731
  //# sourceMappingURL=package_interface.js.map
@@ -67097,10 +66753,6 @@ class PageFormat extends _abstract_object_1.AbstractObject {
67097
66753
  allowNamespace: true,
67098
66754
  };
67099
66755
  }
67100
- getDescription() {
67101
- // todo
67102
- return undefined;
67103
- }
67104
66756
  }
67105
66757
  exports.PageFormat = PageFormat;
67106
66758
  //# sourceMappingURL=page_format.js.map
@@ -67128,10 +66780,6 @@ class Parameter extends _abstract_object_1.AbstractObject {
67128
66780
  allowNamespace: true,
67129
66781
  };
67130
66782
  }
67131
- getDescription() {
67132
- // todo
67133
- return undefined;
67134
- }
67135
66783
  }
67136
66784
  exports.Parameter = Parameter;
67137
66785
  //# sourceMappingURL=parameter.js.map
@@ -67159,10 +66807,6 @@ class PersonalizationObject extends _abstract_object_1.AbstractObject {
67159
66807
  allowNamespace: true,
67160
66808
  };
67161
66809
  }
67162
- getDescription() {
67163
- // todo
67164
- return undefined;
67165
- }
67166
66810
  }
67167
66811
  exports.PersonalizationObject = PersonalizationObject;
67168
66812
  //# sourceMappingURL=personalization_object.js.map
@@ -67407,10 +67051,6 @@ class PushChannel extends _abstract_object_1.AbstractObject {
67407
67051
  allowNamespace: true,
67408
67052
  };
67409
67053
  }
67410
- getDescription() {
67411
- // todo
67412
- return undefined;
67413
- }
67414
67054
  }
67415
67055
  exports.PushChannel = PushChannel;
67416
67056
  //# sourceMappingURL=push_channel.js.map
@@ -67438,10 +67078,6 @@ class QueryUserGroup extends _abstract_object_1.AbstractObject {
67438
67078
  allowNamespace: true,
67439
67079
  };
67440
67080
  }
67441
- getDescription() {
67442
- // todo
67443
- return undefined;
67444
- }
67445
67081
  }
67446
67082
  exports.QueryUserGroup = QueryUserGroup;
67447
67083
  //# sourceMappingURL=query_user_group.js.map
@@ -68408,10 +68044,6 @@ class RestrictionField extends _abstract_object_1.AbstractObject {
68408
68044
  allowNamespace: true,
68409
68045
  };
68410
68046
  }
68411
- getDescription() {
68412
- // todo
68413
- return undefined;
68414
- }
68415
68047
  }
68416
68048
  exports.RestrictionField = RestrictionField;
68417
68049
  //# sourceMappingURL=restriction_field.js.map
@@ -68439,10 +68071,6 @@ class RestrictionType extends _abstract_object_1.AbstractObject {
68439
68071
  allowNamespace: true,
68440
68072
  };
68441
68073
  }
68442
- getDescription() {
68443
- // todo
68444
- return undefined;
68445
- }
68446
68074
  }
68447
68075
  exports.RestrictionType = RestrictionType;
68448
68076
  //# sourceMappingURL=restriction_type.js.map
@@ -68470,10 +68098,6 @@ class RFCService extends _abstract_object_1.AbstractObject {
68470
68098
  allowNamespace: true,
68471
68099
  };
68472
68100
  }
68473
- getDescription() {
68474
- // todo
68475
- return undefined;
68476
- }
68477
68101
  }
68478
68102
  exports.RFCService = RFCService;
68479
68103
  //# sourceMappingURL=rfc_service.js.map
@@ -68501,10 +68125,6 @@ class SAPScript extends _abstract_object_1.AbstractObject {
68501
68125
  allowNamespace: true,
68502
68126
  };
68503
68127
  }
68504
- getDescription() {
68505
- // todo
68506
- return undefined;
68507
- }
68508
68128
  }
68509
68129
  exports.SAPScript = SAPScript;
68510
68130
  //# sourceMappingURL=sapscript.js.map
@@ -68532,10 +68152,6 @@ class SAPScriptStyle extends _abstract_object_1.AbstractObject {
68532
68152
  allowNamespace: true,
68533
68153
  };
68534
68154
  }
68535
- getDescription() {
68536
- // todo
68537
- return undefined;
68538
- }
68539
68155
  }
68540
68156
  exports.SAPScriptStyle = SAPScriptStyle;
68541
68157
  //# sourceMappingURL=sapscript_style.js.map
@@ -68563,10 +68179,6 @@ class ScreenVariant extends _abstract_object_1.AbstractObject {
68563
68179
  allowNamespace: true,
68564
68180
  };
68565
68181
  }
68566
- getDescription() {
68567
- // todo
68568
- return undefined;
68569
- }
68570
68182
  }
68571
68183
  exports.ScreenVariant = ScreenVariant;
68572
68184
  //# sourceMappingURL=screen_variant.js.map
@@ -68594,10 +68206,6 @@ class SearchHelp extends _abstract_object_1.AbstractObject {
68594
68206
  allowNamespace: true,
68595
68207
  };
68596
68208
  }
68597
- getDescription() {
68598
- // todo
68599
- return undefined;
68600
- }
68601
68209
  }
68602
68210
  exports.SearchHelp = SearchHelp;
68603
68211
  //# sourceMappingURL=search_help.js.map
@@ -68625,10 +68233,6 @@ class ServiceBinding extends _abstract_object_1.AbstractObject {
68625
68233
  allowNamespace: true,
68626
68234
  };
68627
68235
  }
68628
- getDescription() {
68629
- // todo
68630
- return undefined;
68631
- }
68632
68236
  }
68633
68237
  exports.ServiceBinding = ServiceBinding;
68634
68238
  //# sourceMappingURL=service_binding.js.map
@@ -68656,10 +68260,6 @@ class ServiceDefinition extends _abstract_object_1.AbstractObject {
68656
68260
  allowNamespace: true,
68657
68261
  };
68658
68262
  }
68659
- getDescription() {
68660
- // todo
68661
- return undefined;
68662
- }
68663
68263
  }
68664
68264
  exports.ServiceDefinition = ServiceDefinition;
68665
68265
  //# sourceMappingURL=service_definition.js.map
@@ -68687,10 +68287,6 @@ class SharedMemory extends _abstract_object_1.AbstractObject {
68687
68287
  allowNamespace: true,
68688
68288
  };
68689
68289
  }
68690
- getDescription() {
68691
- // todo
68692
- return undefined;
68693
- }
68694
68290
  }
68695
68291
  exports.SharedMemory = SharedMemory;
68696
68292
  //# sourceMappingURL=shared_memory.js.map
@@ -68718,10 +68314,6 @@ class SmartForm extends _abstract_object_1.AbstractObject {
68718
68314
  allowNamespace: true,
68719
68315
  };
68720
68316
  }
68721
- getDescription() {
68722
- // todo
68723
- return undefined;
68724
- }
68725
68317
  }
68726
68318
  exports.SmartForm = SmartForm;
68727
68319
  //# sourceMappingURL=smart_form.js.map
@@ -68749,10 +68341,6 @@ class SmartStyle extends _abstract_object_1.AbstractObject {
68749
68341
  allowNamespace: true,
68750
68342
  };
68751
68343
  }
68752
- getDescription() {
68753
- // todo
68754
- return undefined;
68755
- }
68756
68344
  }
68757
68345
  exports.SmartStyle = SmartStyle;
68758
68346
  //# sourceMappingURL=smart_style.js.map
@@ -68780,10 +68368,6 @@ class StandardTask extends _abstract_object_1.AbstractObject {
68780
68368
  allowNamespace: true,
68781
68369
  };
68782
68370
  }
68783
- getDescription() {
68784
- // todo
68785
- return undefined;
68786
- }
68787
68371
  }
68788
68372
  exports.StandardTask = StandardTask;
68789
68373
  //# sourceMappingURL=standard_task.js.map
@@ -68811,10 +68395,6 @@ class SwitchAssignmentHierarchy extends _abstract_object_1.AbstractObject {
68811
68395
  allowNamespace: true,
68812
68396
  };
68813
68397
  }
68814
- getDescription() {
68815
- // todo
68816
- return undefined;
68817
- }
68818
68398
  }
68819
68399
  exports.SwitchAssignmentHierarchy = SwitchAssignmentHierarchy;
68820
68400
  //# sourceMappingURL=switch_assignment_hierarchy.js.map
@@ -68842,10 +68422,6 @@ class SwitchAssignments extends _abstract_object_1.AbstractObject {
68842
68422
  allowNamespace: true,
68843
68423
  };
68844
68424
  }
68845
- getDescription() {
68846
- // todo
68847
- return undefined;
68848
- }
68849
68425
  }
68850
68426
  exports.SwitchAssignments = SwitchAssignments;
68851
68427
  //# sourceMappingURL=switch_assignments.js.map
@@ -69565,10 +69141,6 @@ class TechnicalJobDefinition extends _abstract_object_1.AbstractObject {
69565
69141
  allowNamespace: true,
69566
69142
  };
69567
69143
  }
69568
- getDescription() {
69569
- // todo
69570
- return undefined;
69571
- }
69572
69144
  }
69573
69145
  exports.TechnicalJobDefinition = TechnicalJobDefinition;
69574
69146
  //# sourceMappingURL=technical_job_definition.js.map
@@ -69670,10 +69242,6 @@ class TransactionVariant extends _abstract_object_1.AbstractObject {
69670
69242
  allowNamespace: true,
69671
69243
  };
69672
69244
  }
69673
- getDescription() {
69674
- // todo
69675
- return undefined;
69676
- }
69677
69245
  }
69678
69246
  exports.TransactionVariant = TransactionVariant;
69679
69247
  //# sourceMappingURL=transaction_variant.js.map
@@ -69701,10 +69269,6 @@ class Transformation extends _abstract_object_1.AbstractObject {
69701
69269
  allowNamespace: true,
69702
69270
  };
69703
69271
  }
69704
- getDescription() {
69705
- // todo
69706
- return undefined;
69707
- }
69708
69272
  }
69709
69273
  exports.Transformation = Transformation;
69710
69274
  //# sourceMappingURL=transformation.js.map
@@ -69975,10 +69539,6 @@ class ViewCluster extends _abstract_object_1.AbstractObject {
69975
69539
  allowNamespace: true,
69976
69540
  };
69977
69541
  }
69978
- getDescription() {
69979
- // todo
69980
- return undefined;
69981
- }
69982
69542
  }
69983
69543
  exports.ViewCluster = ViewCluster;
69984
69544
  //# sourceMappingURL=view_cluster.js.map
@@ -70006,10 +69566,6 @@ class VirtualEndPoint extends _abstract_object_1.AbstractObject {
70006
69566
  allowNamespace: true,
70007
69567
  };
70008
69568
  }
70009
- getDescription() {
70010
- // todo
70011
- return undefined;
70012
- }
70013
69569
  }
70014
69570
  exports.VirtualEndPoint = VirtualEndPoint;
70015
69571
  //# sourceMappingURL=virtual_end_point.js.map
@@ -70037,10 +69593,6 @@ class WebDynproApplication extends _abstract_object_1.AbstractObject {
70037
69593
  allowNamespace: true,
70038
69594
  };
70039
69595
  }
70040
- getDescription() {
70041
- // todo
70042
- return undefined;
70043
- }
70044
69596
  }
70045
69597
  exports.WebDynproApplication = WebDynproApplication;
70046
69598
  //# sourceMappingURL=web_dynpro_application.js.map
@@ -70068,10 +69620,6 @@ class WebDynproApplicationConfiguration extends _abstract_object_1.AbstractObjec
70068
69620
  allowNamespace: true,
70069
69621
  };
70070
69622
  }
70071
- getDescription() {
70072
- // todo
70073
- return undefined;
70074
- }
70075
69623
  }
70076
69624
  exports.WebDynproApplicationConfiguration = WebDynproApplicationConfiguration;
70077
69625
  //# sourceMappingURL=web_dynpro_application_configuration.js.map
@@ -70099,10 +69647,6 @@ class WebDynproComponent extends _abstract_object_1.AbstractObject {
70099
69647
  allowNamespace: true,
70100
69648
  };
70101
69649
  }
70102
- getDescription() {
70103
- // todo
70104
- return undefined;
70105
- }
70106
69650
  }
70107
69651
  exports.WebDynproComponent = WebDynproComponent;
70108
69652
  //# sourceMappingURL=web_dynpro_component.js.map
@@ -70130,10 +69674,6 @@ class WebDynproComponentConfiguration extends _abstract_object_1.AbstractObject
70130
69674
  allowNamespace: true,
70131
69675
  };
70132
69676
  }
70133
- getDescription() {
70134
- // todo
70135
- return undefined;
70136
- }
70137
69677
  }
70138
69678
  exports.WebDynproComponentConfiguration = WebDynproComponentConfiguration;
70139
69679
  //# sourceMappingURL=web_dynpro_component_configuration.js.map
@@ -70241,10 +69781,6 @@ class WebReportingTemplate extends _abstract_object_1.AbstractObject {
70241
69781
  allowNamespace: true,
70242
69782
  };
70243
69783
  }
70244
- getDescription() {
70245
- // todo
70246
- return undefined;
70247
- }
70248
69784
  }
70249
69785
  exports.WebReportingTemplate = WebReportingTemplate;
70250
69786
  //# sourceMappingURL=web_reporting_template.js.map
@@ -70809,7 +70345,7 @@ class Registry {
70809
70345
  }
70810
70346
  static abaplintVersion() {
70811
70347
  // magic, see build script "version.js"
70812
- return "2.120.64";
70348
+ return "2.120.65";
70813
70349
  }
70814
70350
  getDDICReferences() {
70815
70351
  return this.ddicReferences;
@@ -81402,8 +80938,8 @@ class ElseAfterAllReturns extends _abap_rule_1.ABAPRule {
81402
80938
  continue;
81403
80939
  }
81404
80940
  const fix = edit_helper_1.EditHelper.merge(edit_helper_1.EditHelper.replaceRange(file, elseStatement.getFirstToken().getStart(), elseStatement.getLastToken().getEnd(), "ENDIF."), edit_helper_1.EditHelper.deleteStatement(file, endifStatement));
81405
- // eslint-disable-next-line max-len
81406
- issues.push(issue_1.Issue.atStatement(file, elseStatement, "Redundant ELSE: all prior branches exit unconditionally", this.getMetadata().key, this.conf.severity, fix));
80941
+ const message = "Redundant ELSE: all prior branches exit unconditionally";
80942
+ issues.push(issue_1.Issue.atStatement(file, elseStatement, message, this.getMetadata().key, this.conf.severity, fix));
81407
80943
  }
81408
80944
  }
81409
80945
  return issues;
@@ -84439,6 +83975,8 @@ const Statements = __importStar(__webpack_require__(/*! ../abap/2_statements/sta
84439
83975
  const Expressions = __importStar(__webpack_require__(/*! ../abap/2_statements/expressions */ "../core/build/src/abap/2_statements/expressions/index.js"));
84440
83976
  const _irule_1 = __webpack_require__(/*! ./_irule */ "../core/build/src/rules/_irule.js");
84441
83977
  const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "../core/build/src/edit_helper.js");
83978
+ const syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ "../core/build/src/abap/5_syntax/syntax.js");
83979
+ const _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ "../core/build/src/abap/5_syntax/_reference.js");
84442
83980
  // todo: abstract methods from superclass parents(might be multiple), if class is not abstract
84443
83981
  class ImplementMethodsConf extends _basic_rule_config_1.BasicRuleConfig {
84444
83982
  }
@@ -84549,7 +84087,7 @@ class ImplementMethods extends _abap_rule_1.ABAPRule {
84549
84087
  return undefined;
84550
84088
  }
84551
84089
  findInterface(identifier, name) {
84552
- const idef = this.findInterfaceByName(name);
84090
+ const idef = this.findInterfaceByName(name, identifier);
84553
84091
  if (idef === undefined) {
84554
84092
  const message = "Implemented interface \"" + name + "\" not found";
84555
84093
  const issue = issue_1.Issue.atIdentifier(identifier, message, this.getMetadata().key, this.conf.severity);
@@ -84557,24 +84095,45 @@ class ImplementMethods extends _abap_rule_1.ABAPRule {
84557
84095
  }
84558
84096
  return idef;
84559
84097
  }
84560
- findInterfaceByName(name) {
84098
+ findInterfaceByName(name, usedAt) {
84561
84099
  var _a;
84562
- let idef = undefined;
84563
84100
  const intf = this.reg.getObject("INTF", name);
84564
- if (intf === undefined) {
84565
- // lookup in localfiles
84101
+ const global = (_a = intf === null || intf === void 0 ? void 0 : intf.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().listInterfaceDefinitions()[0];
84102
+ let local = undefined;
84103
+ for (const file of this.obj.getABAPFiles()) {
84104
+ local = file.getInfo().getInterfaceDefinitionByName(name);
84105
+ if (local) {
84106
+ break;
84107
+ }
84108
+ }
84109
+ if (local === undefined || global === undefined) {
84110
+ return global || local;
84111
+ }
84112
+ // both a local and a global interface exist with the same name, use what the syntax check resolved
84113
+ const resolved = this.findResolvedInterface(name, usedAt);
84114
+ if (resolved !== undefined) {
84566
84115
  for (const file of this.obj.getABAPFiles()) {
84567
- const found = file.getInfo().getInterfaceDefinitionByName(name);
84568
- if (found) {
84569
- idef = found;
84570
- break;
84116
+ for (const idef of file.getInfo().listInterfaceDefinitions()) {
84117
+ if (idef.identifier.equals(resolved)) {
84118
+ return idef;
84119
+ }
84571
84120
  }
84572
84121
  }
84573
84122
  }
84574
- else {
84575
- idef = (_a = intf.getMainABAPFile()) === null || _a === void 0 ? void 0 : _a.getInfo().listInterfaceDefinitions()[0];
84123
+ return global;
84124
+ }
84125
+ findResolvedInterface(name, usedAt) {
84126
+ var _a, _b, _c;
84127
+ const scope = new syntax_1.SyntaxLogic(this.reg, this.obj).run().spaghetti.lookupPosition(usedAt.getStart(), usedAt.getFilename());
84128
+ const upper = name.toUpperCase();
84129
+ for (const ref of (scope === null || scope === void 0 ? void 0 : scope.getData().references) || []) {
84130
+ if (ref.referenceType === _reference_1.ReferenceType.ObjectOrientedReference
84131
+ && ((_a = ref.extra) === null || _a === void 0 ? void 0 : _a.ooType) === "INTF"
84132
+ && ((_c = (_b = ref.extra) === null || _b === void 0 ? void 0 : _b.ooName) === null || _c === void 0 ? void 0 : _c.toUpperCase()) === upper) {
84133
+ return ref.resolved;
84134
+ }
84576
84135
  }
84577
- return idef;
84136
+ return undefined;
84578
84137
  }
84579
84138
  /** including implemented super interfaces */
84580
84139
  findInterfaceMethods(idef) {
@@ -84693,7 +84252,7 @@ class ImplementMethods extends _abap_rule_1.ABAPRule {
84693
84252
  }
84694
84253
  if (found === undefined) {
84695
84254
  for (const i of def.interfaces) {
84696
- const idef = this.findInterfaceByName(i.name);
84255
+ const idef = this.findInterfaceByName(i.name, def.identifier);
84697
84256
  if (idef === undefined) {
84698
84257
  continue;
84699
84258
  }
@@ -85385,6 +84944,7 @@ __exportStar(__webpack_require__(/*! ./prefer_string_template */ "../core/build/
85385
84944
  __exportStar(__webpack_require__(/*! ./prefer_returning_to_exporting */ "../core/build/src/rules/prefer_returning_to_exporting.js"), exports);
85386
84945
  __exportStar(__webpack_require__(/*! ./prefer_xsdbool */ "../core/build/src/rules/prefer_xsdbool.js"), exports);
85387
84946
  __exportStar(__webpack_require__(/*! ./preferred_compare_operator */ "../core/build/src/rules/preferred_compare_operator.js"), exports);
84947
+ __exportStar(__webpack_require__(/*! ./preferred_parameter_ignored */ "../core/build/src/rules/preferred_parameter_ignored.js"), exports);
85388
84948
  __exportStar(__webpack_require__(/*! ./prefix_is_current_class */ "../core/build/src/rules/prefix_is_current_class.js"), exports);
85389
84949
  __exportStar(__webpack_require__(/*! ./reduce_procedural_code */ "../core/build/src/rules/reduce_procedural_code.js"), exports);
85390
84950
  __exportStar(__webpack_require__(/*! ./reduce_string_templates */ "../core/build/src/rules/reduce_string_templates.js"), exports);
@@ -94426,6 +93986,157 @@ exports.PreferredCompareOperator = PreferredCompareOperator;
94426
93986
 
94427
93987
  /***/ },
94428
93988
 
93989
+ /***/ "../core/build/src/rules/preferred_parameter_ignored.js"
93990
+ /*!**************************************************************!*\
93991
+ !*** ../core/build/src/rules/preferred_parameter_ignored.js ***!
93992
+ \**************************************************************/
93993
+ (__unused_webpack_module, exports, __webpack_require__) {
93994
+
93995
+ "use strict";
93996
+
93997
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
93998
+ if (k2 === undefined) k2 = k;
93999
+ var desc = Object.getOwnPropertyDescriptor(m, k);
94000
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
94001
+ desc = { enumerable: true, get: function() { return m[k]; } };
94002
+ }
94003
+ Object.defineProperty(o, k2, desc);
94004
+ }) : (function(o, m, k, k2) {
94005
+ if (k2 === undefined) k2 = k;
94006
+ o[k2] = m[k];
94007
+ }));
94008
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
94009
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
94010
+ }) : function(o, v) {
94011
+ o["default"] = v;
94012
+ });
94013
+ var __importStar = (this && this.__importStar) || (function () {
94014
+ var ownKeys = function(o) {
94015
+ ownKeys = Object.getOwnPropertyNames || function (o) {
94016
+ var ar = [];
94017
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
94018
+ return ar;
94019
+ };
94020
+ return ownKeys(o);
94021
+ };
94022
+ return function (mod) {
94023
+ if (mod && mod.__esModule) return mod;
94024
+ var result = {};
94025
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
94026
+ __setModuleDefault(result, mod);
94027
+ return result;
94028
+ };
94029
+ })();
94030
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
94031
+ exports.PreferredParameterIgnored = exports.PreferredParameterIgnoredConf = void 0;
94032
+ const Expressions = __importStar(__webpack_require__(/*! ../abap/2_statements/expressions */ "../core/build/src/abap/2_statements/expressions/index.js"));
94033
+ const issue_1 = __webpack_require__(/*! ../issue */ "../core/build/src/issue.js");
94034
+ const _basic_rule_config_1 = __webpack_require__(/*! ./_basic_rule_config */ "../core/build/src/rules/_basic_rule_config.js");
94035
+ const _abap_rule_1 = __webpack_require__(/*! ./_abap_rule */ "../core/build/src/rules/_abap_rule.js");
94036
+ const _irule_1 = __webpack_require__(/*! ./_irule */ "../core/build/src/rules/_irule.js");
94037
+ const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "../core/build/src/edit_helper.js");
94038
+ class PreferredParameterIgnoredConf extends _basic_rule_config_1.BasicRuleConfig {
94039
+ }
94040
+ exports.PreferredParameterIgnoredConf = PreferredParameterIgnoredConf;
94041
+ class PreferredParameterIgnored extends _abap_rule_1.ABAPRule {
94042
+ constructor() {
94043
+ super(...arguments);
94044
+ this.conf = new PreferredParameterIgnoredConf();
94045
+ }
94046
+ getMetadata() {
94047
+ return {
94048
+ key: "preferred_parameter_ignored",
94049
+ title: "PREFERRED PARAMETER is ignored",
94050
+ shortDescription: `PREFERRED PARAMETER on an IMPORTING clause that still has a mandatory
94051
+ parameter. The addition names the parameter a positional call fills, which only
94052
+ means something when every parameter may be left out - so with a mandatory one
94053
+ present it does nothing.`,
94054
+ extendedInformation: `\`PREFERRED PARAMETER\` names the importing parameter that a call filling exactly
94055
+ one parameter positionally fills. That question only arises when a parameter
94056
+ may be LEFT OUT, so the addition is ignored while any importing parameter is
94057
+ neither \`OPTIONAL\` nor carries a \`DEFAULT\`.
94058
+
94059
+ The compiler warns "Declare the parameter as OPTIONAL. The addition PREFERRED
94060
+ PARAMETER is ignored if non-optional parameters are used", yet it still lets a
94061
+ call leave the preferred parameter out. So the quick fix declares the mandatory
94062
+ importing parameters OPTIONAL, as the compiler asks: every call that compiles
94063
+ today keeps compiling. Removing the addition instead would turn the calls that
94064
+ leave the preferred parameter out into syntax errors.`,
94065
+ tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Quickfix],
94066
+ badExample: `METHODS meth
94067
+ IMPORTING
94068
+ val TYPE string
94069
+ other TYPE i OPTIONAL
94070
+ PREFERRED PARAMETER val.`,
94071
+ goodExample: `METHODS meth
94072
+ IMPORTING
94073
+ val TYPE string OPTIONAL
94074
+ other TYPE i OPTIONAL
94075
+ PREFERRED PARAMETER val.`,
94076
+ };
94077
+ }
94078
+ getConfig() {
94079
+ return this.conf;
94080
+ }
94081
+ setConfig(conf) {
94082
+ this.conf = conf;
94083
+ }
94084
+ runParsed(file) {
94085
+ var _a;
94086
+ var _b;
94087
+ const issues = [];
94088
+ for (const statement of file.getStatements()) {
94089
+ const importing = statement.findFirstExpression(Expressions.MethodDefImporting);
94090
+ if (importing === undefined) {
94091
+ continue;
94092
+ }
94093
+ const preferred = this.preferredTokens(importing);
94094
+ if (preferred === undefined) {
94095
+ continue;
94096
+ }
94097
+ const mandatory = this.mandatoryParameters(importing);
94098
+ if (mandatory.length === 0) {
94099
+ continue;
94100
+ }
94101
+ const fix = edit_helper_1.EditHelper.mergeList(mandatory.map(p => edit_helper_1.EditHelper.insertAt(file, p.getLastToken().getEnd(), " OPTIONAL")));
94102
+ const name = (_b = (_a = mandatory[0].findFirstExpression(Expressions.MethodParamName)) === null || _a === void 0 ? void 0 : _a.concatTokens()) !== null && _b !== void 0 ? _b : mandatory[0].concatTokens();
94103
+ const message = `PREFERRED PARAMETER is ignored while ${name} is not optional`;
94104
+ issues.push(issue_1.Issue.atStatement(file, statement, message, this.getMetadata().key, this.conf.severity, fix));
94105
+ }
94106
+ return issues;
94107
+ }
94108
+ ////////////////
94109
+ /** The span of `PREFERRED PARAMETER <name>`, or undefined when the clause
94110
+ * does not carry the addition. */
94111
+ preferredTokens(importing) {
94112
+ const tokens = importing.getTokens();
94113
+ for (let i = 0; i + 2 < tokens.length; i++) {
94114
+ if (tokens[i].getStr().toUpperCase() === "PREFERRED"
94115
+ && tokens[i + 1].getStr().toUpperCase() === "PARAMETER") {
94116
+ return { start: tokens[i].getStart(), end: tokens[i + 2].getEnd() };
94117
+ }
94118
+ }
94119
+ return undefined;
94120
+ }
94121
+ /** The importing parameters that are neither OPTIONAL nor have a DEFAULT,
94122
+ * empty when every one of them may be left out. */
94123
+ mandatoryParameters(importing) {
94124
+ const ret = [];
94125
+ for (const param of importing.findDirectExpressions(Expressions.MethodParamOptional)) {
94126
+ const concat = param.concatTokens().toUpperCase();
94127
+ if (concat.endsWith(" OPTIONAL") || concat.includes(" DEFAULT ")) {
94128
+ continue;
94129
+ }
94130
+ ret.push(param);
94131
+ }
94132
+ return ret;
94133
+ }
94134
+ }
94135
+ exports.PreferredParameterIgnored = PreferredParameterIgnored;
94136
+ //# sourceMappingURL=preferred_parameter_ignored.js.map
94137
+
94138
+ /***/ },
94139
+
94429
94140
  /***/ "../core/build/src/rules/prefix_is_current_class.js"
94430
94141
  /*!**********************************************************!*\
94431
94142
  !*** ../core/build/src/rules/prefix_is_current_class.js ***!