@abaplint/cli 2.120.17 → 2.120.19
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.
- package/build/cli.js +312 -128
- package/package.json +2 -2
package/build/cli.js
CHANGED
|
@@ -6139,7 +6139,7 @@ class MessageSource extends combi_1.Expression {
|
|
|
6139
6139
|
getRunnable() {
|
|
6140
6140
|
const msgid = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), _1.MessageClass, (0, combi_1.tok)(tokens_1.ParenRightW));
|
|
6141
6141
|
const simple = (0, combi_1.seq)(_1.MessageTypeAndNumber, (0, combi_1.opt)(msgid));
|
|
6142
|
-
const mess1 = (0, combi_1.seq)("ID", _1.
|
|
6142
|
+
const mess1 = (0, combi_1.seq)("ID", _1.SimpleSource3, "TYPE", _1.SimpleSource3, "NUMBER", (0, combi_1.altPrio)(_1.MessageNumber, _1.SimpleSource3));
|
|
6143
6143
|
return (0, combi_1.altPrio)(simple, mess1);
|
|
6144
6144
|
}
|
|
6145
6145
|
}
|
|
@@ -7563,7 +7563,7 @@ class Source extends combi_1.Expression {
|
|
|
7563
7563
|
const value = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("VALUE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ValueBody, rparenNoSpace, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
7564
7564
|
const cond = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("COND", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.CondBody, rparenNoSpace, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
7565
7565
|
const reff = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("REF", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, (0, combi_1.optPrio)("OPTIONAL"), rparen), { also: combi_1.AlsoIn.OpenABAP });
|
|
7566
|
-
const exact = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("EXACT", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, rparen, (0, combi_1.optPrio)(after)));
|
|
7566
|
+
const exact = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("EXACT", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), Source, rparen, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
7567
7567
|
const filter = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.seq)("FILTER", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.FilterBody, rparen), { also: combi_1.AlsoIn.OpenABAP });
|
|
7568
7568
|
const reduce = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.seq)("REDUCE", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), _1.ReduceBody, rparen, (0, combi_1.optPrio)(after)), { also: combi_1.AlsoIn.OpenABAP });
|
|
7569
7569
|
const prefix1 = (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WDashW), (0, combi_1.tok)(tokens_1.WPlusW));
|
|
@@ -27609,7 +27609,7 @@ class TypeUtils {
|
|
|
27609
27609
|
return this.isAssignable(source, target);
|
|
27610
27610
|
}
|
|
27611
27611
|
isAssignableStrict(source, target, node) {
|
|
27612
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
27612
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
27613
27613
|
const calculated = node ? this.isCalculated(node) : false;
|
|
27614
27614
|
/*
|
|
27615
27615
|
console.dir(source);
|
|
@@ -27620,6 +27620,17 @@ class TypeUtils {
|
|
|
27620
27620
|
&& (target instanceof basic_1.XStringType || target instanceof basic_1.XSequenceType)) {
|
|
27621
27621
|
return false;
|
|
27622
27622
|
}
|
|
27623
|
+
if (target instanceof basic_1.NumericType
|
|
27624
|
+
&& (source instanceof basic_1.CharacterType || source instanceof basic_1.StringType)
|
|
27625
|
+
&& ((_a = source.getAbstractTypeData()) === null || _a === void 0 ? void 0 : _a.derivedFromConstant) === true) {
|
|
27626
|
+
const constant = node === null || node === void 0 ? void 0 : node.concatTokens();
|
|
27627
|
+
if (constant !== undefined
|
|
27628
|
+
&& ((constant.startsWith("'") && constant.endsWith("'"))
|
|
27629
|
+
|| (constant.startsWith("`") && constant.endsWith("`")))
|
|
27630
|
+
&& /^\d*$/.test(constant.substring(1, constant.length - 1)) === false) {
|
|
27631
|
+
return false;
|
|
27632
|
+
}
|
|
27633
|
+
}
|
|
27623
27634
|
if (calculated) {
|
|
27624
27635
|
return this.isAssignable(source, target);
|
|
27625
27636
|
}
|
|
@@ -27636,25 +27647,25 @@ class TypeUtils {
|
|
|
27636
27647
|
}
|
|
27637
27648
|
if (source instanceof basic_1.CharacterType) {
|
|
27638
27649
|
if (target instanceof basic_1.CharacterType) {
|
|
27639
|
-
if (((
|
|
27650
|
+
if (((_b = source.getAbstractTypeData()) === null || _b === void 0 ? void 0 : _b.derivedFromConstant) === true) {
|
|
27640
27651
|
return source.getLength() <= target.getLength();
|
|
27641
27652
|
}
|
|
27642
27653
|
return source.getLength() === target.getLength();
|
|
27643
27654
|
}
|
|
27644
27655
|
else if (target instanceof basic_1.IntegerType) {
|
|
27645
|
-
if (((
|
|
27656
|
+
if (((_c = source.getAbstractTypeData()) === null || _c === void 0 ? void 0 : _c.derivedFromConstant) === true) {
|
|
27646
27657
|
return true;
|
|
27647
27658
|
}
|
|
27648
27659
|
return false;
|
|
27649
27660
|
}
|
|
27650
27661
|
else if (target instanceof basic_1.XStringType) {
|
|
27651
|
-
if (((
|
|
27662
|
+
if (((_d = source.getAbstractTypeData()) === null || _d === void 0 ? void 0 : _d.derivedFromConstant) === true) {
|
|
27652
27663
|
return (node === null || node === void 0 ? void 0 : node.concatTokens()) !== "''";
|
|
27653
27664
|
}
|
|
27654
27665
|
return false;
|
|
27655
27666
|
}
|
|
27656
27667
|
else if (target instanceof basic_1.StringType) {
|
|
27657
|
-
if (((
|
|
27668
|
+
if (((_e = source.getAbstractTypeData()) === null || _e === void 0 ? void 0 : _e.derivedFromConstant) === true) {
|
|
27658
27669
|
return true;
|
|
27659
27670
|
}
|
|
27660
27671
|
return false;
|
|
@@ -27662,7 +27673,7 @@ class TypeUtils {
|
|
|
27662
27673
|
}
|
|
27663
27674
|
else if (source instanceof basic_1.HexType) {
|
|
27664
27675
|
if (target instanceof basic_1.HexType) {
|
|
27665
|
-
if (((
|
|
27676
|
+
if (((_f = source.getAbstractTypeData()) === null || _f === void 0 ? void 0 : _f.derivedFromConstant) === true) {
|
|
27666
27677
|
return source.getLength() <= target.getLength();
|
|
27667
27678
|
}
|
|
27668
27679
|
return source.getLength() === target.getLength();
|
|
@@ -27671,7 +27682,7 @@ class TypeUtils {
|
|
|
27671
27682
|
return false;
|
|
27672
27683
|
}
|
|
27673
27684
|
else if (target instanceof basic_1.IntegerType || target instanceof basic_1.Integer8Type) {
|
|
27674
|
-
if (((
|
|
27685
|
+
if (((_g = source.getAbstractTypeData()) === null || _g === void 0 ? void 0 : _g.derivedFromConstant) === true) {
|
|
27675
27686
|
return true;
|
|
27676
27687
|
}
|
|
27677
27688
|
return false;
|
|
@@ -27682,13 +27693,13 @@ class TypeUtils {
|
|
|
27682
27693
|
return false;
|
|
27683
27694
|
}
|
|
27684
27695
|
else if (target instanceof basic_1.CharacterType) {
|
|
27685
|
-
if (((
|
|
27696
|
+
if (((_h = source.getAbstractTypeData()) === null || _h === void 0 ? void 0 : _h.derivedFromConstant) === true) {
|
|
27686
27697
|
return true;
|
|
27687
27698
|
}
|
|
27688
27699
|
return false;
|
|
27689
27700
|
}
|
|
27690
27701
|
else if (target instanceof basic_1.IntegerType) {
|
|
27691
|
-
if (((
|
|
27702
|
+
if (((_j = source.getAbstractTypeData()) === null || _j === void 0 ? void 0 : _j.derivedFromConstant) === true) {
|
|
27692
27703
|
return true;
|
|
27693
27704
|
}
|
|
27694
27705
|
return false;
|
|
@@ -27698,7 +27709,7 @@ class TypeUtils {
|
|
|
27698
27709
|
return false;
|
|
27699
27710
|
}
|
|
27700
27711
|
else if (target instanceof basic_1.XSequenceType || target instanceof basic_1.XStringType) {
|
|
27701
|
-
if (((
|
|
27712
|
+
if (((_k = source.getAbstractTypeData()) === null || _k === void 0 ? void 0 : _k.derivedFromConstant) === true) {
|
|
27702
27713
|
return true;
|
|
27703
27714
|
}
|
|
27704
27715
|
return false;
|
|
@@ -27742,7 +27753,7 @@ class TypeUtils {
|
|
|
27742
27753
|
return false;
|
|
27743
27754
|
}
|
|
27744
27755
|
else if (target instanceof basic_1.Integer8Type || target instanceof basic_1.PackedType) {
|
|
27745
|
-
if (((
|
|
27756
|
+
if (((_l = source.getAbstractTypeData()) === null || _l === void 0 ? void 0 : _l.derivedFromConstant) === true) {
|
|
27746
27757
|
return true;
|
|
27747
27758
|
}
|
|
27748
27759
|
return false;
|
|
@@ -31958,6 +31969,9 @@ class MessageSource {
|
|
|
31958
31969
|
for (const f of node.findDirectExpressions(Expressions.Source)) {
|
|
31959
31970
|
source_1.Source.runSyntax(f, input);
|
|
31960
31971
|
}
|
|
31972
|
+
for (const f of node.findDirectExpressions(Expressions.SimpleSource3)) {
|
|
31973
|
+
source_1.Source.runSyntax(f, input);
|
|
31974
|
+
}
|
|
31961
31975
|
if (node.getFirstToken().getStr().toUpperCase() === "ID") {
|
|
31962
31976
|
const id = (_a = node.findExpressionAfterToken("ID")) === null || _a === void 0 ? void 0 : _a.concatTokens();
|
|
31963
31977
|
let number = (_b = node.findDirectExpression(Expressions.MessageNumber)) === null || _b === void 0 ? void 0 : _b.concatTokens();
|
|
@@ -35458,7 +35472,7 @@ class Target {
|
|
|
35458
35472
|
&& !(context instanceof basic_1.VoidType)
|
|
35459
35473
|
&& !(context instanceof unknown_type_1.UnknownType)
|
|
35460
35474
|
&& !(context instanceof unknown_type_1.UnknownType)) {
|
|
35461
|
-
const message =
|
|
35475
|
+
const message = `Not an internal table, "${node.concatTokens()}"`;
|
|
35462
35476
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
35463
35477
|
return basic_1.VoidType.get(_syntax_input_1.CheckSyntaxKey);
|
|
35464
35478
|
}
|
|
@@ -60041,21 +60055,22 @@ class ABAPObject extends _abstract_object_1.AbstractObject {
|
|
|
60041
60055
|
return this.textsTranslations;
|
|
60042
60056
|
}
|
|
60043
60057
|
findTexts(parsed) {
|
|
60044
|
-
var _a, _b, _c, _d, _e, _f;
|
|
60045
|
-
var
|
|
60058
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
60059
|
+
var _j;
|
|
60046
60060
|
this.texts = {};
|
|
60047
60061
|
if (((_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.TPOOL) === null || _d === void 0 ? void 0 : _d.item) === undefined) {
|
|
60048
60062
|
return;
|
|
60049
60063
|
}
|
|
60050
|
-
for (const t of (0, xml_utils_1.xmlToArray)(parsed.abapGit["asx:abap"]["asx:values"].TPOOL.item)) {
|
|
60051
|
-
const id = (
|
|
60064
|
+
for (const t of (0, xml_utils_1.xmlToArray)((_h = (_g = (_f = (_e = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _e === void 0 ? void 0 : _e["asx:abap"]) === null || _f === void 0 ? void 0 : _f["asx:values"]) === null || _g === void 0 ? void 0 : _g.TPOOL) === null || _h === void 0 ? void 0 : _h.item)) {
|
|
60065
|
+
const id = typeof (t === null || t === void 0 ? void 0 : t.ID) === "string" ? t.ID.toUpperCase() : undefined;
|
|
60052
60066
|
if (id === undefined) {
|
|
60053
60067
|
continue;
|
|
60054
60068
|
}
|
|
60055
60069
|
if (id !== "R" && t.KEY === undefined) {
|
|
60056
60070
|
continue;
|
|
60057
60071
|
}
|
|
60058
|
-
const
|
|
60072
|
+
const rawKey = (_j = t.KEY) !== null && _j !== void 0 ? _j : t.ID;
|
|
60073
|
+
const key = typeof rawKey === "string" ? rawKey.toUpperCase() : undefined;
|
|
60059
60074
|
if (key === undefined) {
|
|
60060
60075
|
continue;
|
|
60061
60076
|
}
|
|
@@ -60066,8 +60081,8 @@ class ABAPObject extends _abstract_object_1.AbstractObject {
|
|
|
60066
60081
|
}
|
|
60067
60082
|
}
|
|
60068
60083
|
findTextsTranslations(parsed) {
|
|
60069
|
-
var _a, _b, _c, _d, _e
|
|
60070
|
-
var
|
|
60084
|
+
var _a, _b, _c, _d, _e;
|
|
60085
|
+
var _f;
|
|
60071
60086
|
this.textsTranslations = [];
|
|
60072
60087
|
const values = (_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.I18N_TPOOL) === null || _d === void 0 ? void 0 : _d.item;
|
|
60073
60088
|
if (values === undefined) {
|
|
@@ -60076,7 +60091,8 @@ class ABAPObject extends _abstract_object_1.AbstractObject {
|
|
|
60076
60091
|
for (const langItem of (0, xml_utils_1.xmlToArray)(values)) {
|
|
60077
60092
|
const textElements = {};
|
|
60078
60093
|
for (const item of (0, xml_utils_1.xmlToArray)((_e = langItem.TEXTPOOL) === null || _e === void 0 ? void 0 : _e.item)) {
|
|
60079
|
-
const
|
|
60094
|
+
const rawKey = (_f = item.KEY) !== null && _f !== void 0 ? _f : item.ID;
|
|
60095
|
+
const key = typeof rawKey === "string" ? rawKey.toUpperCase() : undefined;
|
|
60080
60096
|
if (key !== undefined) {
|
|
60081
60097
|
textElements[key] = { entry: (0, xml_utils_1.unescape)(item.ENTRY), maxLength: parseInt(item.LENGTH, 10) };
|
|
60082
60098
|
}
|
|
@@ -60237,11 +60253,14 @@ function parseNumber(value) {
|
|
|
60237
60253
|
return parseInt(value, 10);
|
|
60238
60254
|
}
|
|
60239
60255
|
function parseDynpros(parsed) {
|
|
60240
|
-
var _a, _b, _c, _d;
|
|
60256
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
60241
60257
|
const dynpros = [];
|
|
60242
60258
|
const xmlDynpros = (_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.DYNPROS;
|
|
60243
60259
|
if (xmlDynpros !== undefined) {
|
|
60244
60260
|
for (const d of (0, xml_utils_1.xmlToArray)(xmlDynpros.item)) {
|
|
60261
|
+
if ((d === null || d === void 0 ? void 0 : d.HEADER) === undefined) {
|
|
60262
|
+
continue;
|
|
60263
|
+
}
|
|
60245
60264
|
const fields = [];
|
|
60246
60265
|
for (const f of (0, xml_utils_1.xmlToArray)((_d = d.FIELDS) === null || _d === void 0 ? void 0 : _d.RPY_DYFATC)) {
|
|
60247
60266
|
fields.push({
|
|
@@ -60256,10 +60275,10 @@ function parseDynpros(parsed) {
|
|
|
60256
60275
|
});
|
|
60257
60276
|
}
|
|
60258
60277
|
dynpros.push({
|
|
60259
|
-
number: d.HEADER.SCREEN,
|
|
60260
|
-
description: d.HEADER.DESCRIPT,
|
|
60261
|
-
nextScreen: d.HEADER.NEXTSCREEN,
|
|
60262
|
-
type: d.HEADER.TYPE,
|
|
60278
|
+
number: (_e = d.HEADER) === null || _e === void 0 ? void 0 : _e.SCREEN,
|
|
60279
|
+
description: (_f = d.HEADER) === null || _f === void 0 ? void 0 : _f.DESCRIPT,
|
|
60280
|
+
nextScreen: (_g = d.HEADER) === null || _g === void 0 ? void 0 : _g.NEXTSCREEN,
|
|
60281
|
+
type: (_h = d.HEADER) === null || _h === void 0 ? void 0 : _h.TYPE,
|
|
60263
60282
|
fields: fields,
|
|
60264
60283
|
});
|
|
60265
60284
|
}
|
|
@@ -60746,7 +60765,7 @@ class AuthorizationCheckField extends _abstract_object_1.AbstractObject {
|
|
|
60746
60765
|
}
|
|
60747
60766
|
}
|
|
60748
60767
|
parse() {
|
|
60749
|
-
var _a;
|
|
60768
|
+
var _a, _b, _c, _d, _e, _f;
|
|
60750
60769
|
if (this.parsedXML) {
|
|
60751
60770
|
return { updated: false, runtime: 0 };
|
|
60752
60771
|
}
|
|
@@ -60755,10 +60774,10 @@ class AuthorizationCheckField extends _abstract_object_1.AbstractObject {
|
|
|
60755
60774
|
const parsed = super.parseRaw2();
|
|
60756
60775
|
if (parsed === undefined
|
|
60757
60776
|
|| parsed.abapGit === undefined
|
|
60758
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
60777
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
60759
60778
|
return { updated: false, runtime: 0 };
|
|
60760
60779
|
}
|
|
60761
|
-
this.parsedXML.rollname = (
|
|
60780
|
+
this.parsedXML.rollname = (_f = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.AUTHX) === null || _f === void 0 ? void 0 : _f.ROLLNAME;
|
|
60762
60781
|
const end = Date.now();
|
|
60763
60782
|
return { updated: true, runtime: end - start };
|
|
60764
60783
|
}
|
|
@@ -61605,17 +61624,16 @@ class Class extends _abap_object_1.ABAPObject {
|
|
|
61605
61624
|
}
|
|
61606
61625
|
/////////////////////////
|
|
61607
61626
|
parseXML() {
|
|
61627
|
+
var _a, _b, _c, _d, _e;
|
|
61608
61628
|
if (this.parsedXML !== undefined) {
|
|
61609
61629
|
return;
|
|
61610
61630
|
}
|
|
61611
61631
|
this.parsedXML = {};
|
|
61612
61632
|
const parsed = super.parseRaw2();
|
|
61613
|
-
if (parsed === undefined
|
|
61614
|
-
|| parsed.abapGit["asx:abap"] === undefined
|
|
61615
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
61633
|
+
if (((_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
61616
61634
|
return;
|
|
61617
61635
|
}
|
|
61618
|
-
const vseo = parsed.abapGit["asx:abap"]["asx:values"].VSEOCLASS;
|
|
61636
|
+
const vseo = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.VSEOCLASS;
|
|
61619
61637
|
if (vseo === undefined) {
|
|
61620
61638
|
return;
|
|
61621
61639
|
}
|
|
@@ -62296,6 +62314,11 @@ class DataElement extends _abstract_object_1.AbstractObject {
|
|
|
62296
62314
|
this.parse();
|
|
62297
62315
|
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.textsTranslations;
|
|
62298
62316
|
}
|
|
62317
|
+
getDtelMaster() {
|
|
62318
|
+
var _a;
|
|
62319
|
+
this.parse();
|
|
62320
|
+
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.dtelmaster;
|
|
62321
|
+
}
|
|
62299
62322
|
parseType(reg) {
|
|
62300
62323
|
var _a;
|
|
62301
62324
|
const references = [];
|
|
@@ -62373,6 +62396,7 @@ class DataElement extends _abstract_object_1.AbstractObject {
|
|
|
62373
62396
|
datatype: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DATATYPE,
|
|
62374
62397
|
leng: dd04v === null || dd04v === void 0 ? void 0 : dd04v.LENG,
|
|
62375
62398
|
decimals: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DECIMALS,
|
|
62399
|
+
dtelmaster: dd04v === null || dd04v === void 0 ? void 0 : dd04v.DTELMASTER,
|
|
62376
62400
|
texts: {
|
|
62377
62401
|
short: dd04v === null || dd04v === void 0 ? void 0 : dd04v.SCRTEXT_S,
|
|
62378
62402
|
medium: dd04v === null || dd04v === void 0 ? void 0 : dd04v.SCRTEXT_M,
|
|
@@ -62809,6 +62833,7 @@ class EnhancementImplementation extends _abstract_object_1.AbstractObject {
|
|
|
62809
62833
|
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.description;
|
|
62810
62834
|
}
|
|
62811
62835
|
parse() {
|
|
62836
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
62812
62837
|
if (this.parsedXML) {
|
|
62813
62838
|
return { updated: false, runtime: 0 };
|
|
62814
62839
|
}
|
|
@@ -62817,11 +62842,11 @@ class EnhancementImplementation extends _abstract_object_1.AbstractObject {
|
|
|
62817
62842
|
const parsed = super.parseRaw2();
|
|
62818
62843
|
if (parsed === undefined
|
|
62819
62844
|
|| parsed.abapGit === undefined
|
|
62820
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
62845
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
62821
62846
|
return { updated: false, runtime: 0 };
|
|
62822
62847
|
}
|
|
62823
|
-
this.parsedXML.className = parsed.abapGit["asx:abap"]["asx:values"].CLASS;
|
|
62824
|
-
this.parsedXML.description = parsed.abapGit["asx:abap"]["asx:values"].SHORTTEXT;
|
|
62848
|
+
this.parsedXML.className = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.CLASS;
|
|
62849
|
+
this.parsedXML.description = (_h = (_g = (_f = parsed.abapGit) === null || _f === void 0 ? void 0 : _f["asx:abap"]) === null || _g === void 0 ? void 0 : _g["asx:values"]) === null || _h === void 0 ? void 0 : _h.SHORTTEXT;
|
|
62825
62850
|
const end = Date.now();
|
|
62826
62851
|
return { updated: true, runtime: end - start };
|
|
62827
62852
|
}
|
|
@@ -62869,13 +62894,13 @@ class EnhancementSpot extends _abstract_object_1.AbstractObject {
|
|
|
62869
62894
|
}
|
|
62870
62895
|
/////////////////
|
|
62871
62896
|
parseXML() {
|
|
62872
|
-
var _a, _b;
|
|
62897
|
+
var _a, _b, _c, _d;
|
|
62873
62898
|
const parsed = super.parseRaw2();
|
|
62874
62899
|
if (parsed === undefined) {
|
|
62875
62900
|
return [];
|
|
62876
62901
|
}
|
|
62877
62902
|
const ret = [];
|
|
62878
|
-
for (const b of (0, xml_utils_1.xmlToArray)((_b = (_a = parsed.abapGit["asx:abap"]["asx:values"]) === null ||
|
|
62903
|
+
for (const b of (0, xml_utils_1.xmlToArray)((_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.BADI_DATA) === null || _d === void 0 ? void 0 : _d.ENH_BADI_DATA)) {
|
|
62879
62904
|
ret.push({
|
|
62880
62905
|
name: b.BADI_NAME,
|
|
62881
62906
|
interface: b.INTERFACE_NAME,
|
|
@@ -63318,33 +63343,45 @@ class FunctionGroup extends _abap_object_1.ABAPObject {
|
|
|
63318
63343
|
if (found === undefined) {
|
|
63319
63344
|
return {};
|
|
63320
63345
|
}
|
|
63321
|
-
|
|
63322
|
-
|
|
63346
|
+
try {
|
|
63347
|
+
const parsed = new fast_xml_parser_1.XMLParser({ parseTagValue: false, ignoreAttributes: true, trimValues: false }).parse(found.getRaw());
|
|
63348
|
+
this.findTexts(parsed);
|
|
63349
|
+
}
|
|
63350
|
+
catch (_b) {
|
|
63351
|
+
this.texts = {};
|
|
63352
|
+
}
|
|
63323
63353
|
}
|
|
63324
63354
|
return (_a = this.texts["I"]) !== null && _a !== void 0 ? _a : {};
|
|
63325
63355
|
}
|
|
63326
63356
|
/////////////////////////////////
|
|
63327
63357
|
parseXML() {
|
|
63328
|
-
var _a, _b, _c;
|
|
63358
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
63329
63359
|
this.includes = [];
|
|
63330
63360
|
this.modules = [];
|
|
63331
63361
|
const parsed = this.parseRaw2();
|
|
63332
63362
|
if (parsed === undefined) {
|
|
63333
63363
|
return;
|
|
63334
63364
|
}
|
|
63335
|
-
this.description = (_a = parsed.abapGit["asx:abap"]["asx:values"]) === null ||
|
|
63365
|
+
this.description = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.AREAT;
|
|
63336
63366
|
this.dynpros = (0, _dynpros_1.parseDynpros)(parsed);
|
|
63337
63367
|
// INCLUDES
|
|
63338
|
-
const includes = (
|
|
63368
|
+
const includes = (_f = (_e = (_d = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _d === void 0 ? void 0 : _d["asx:abap"]) === null || _e === void 0 ? void 0 : _e["asx:values"]) === null || _f === void 0 ? void 0 : _f.INCLUDES;
|
|
63339
63369
|
if (includes !== undefined) {
|
|
63340
63370
|
for (const i of (0, xml_utils_1.xmlToArray)(includes.SOBJ_NAME)) {
|
|
63341
|
-
|
|
63371
|
+
if (typeof i === "string") {
|
|
63372
|
+
this.includes.push(i);
|
|
63373
|
+
}
|
|
63342
63374
|
}
|
|
63343
63375
|
}
|
|
63344
63376
|
// FUNCTION MODULES
|
|
63345
|
-
const functions = (
|
|
63377
|
+
const functions = (_j = (_h = (_g = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _g === void 0 ? void 0 : _g["asx:abap"]) === null || _h === void 0 ? void 0 : _h["asx:values"]) === null || _j === void 0 ? void 0 : _j.FUNCTIONS;
|
|
63346
63378
|
for (const module of (0, xml_utils_1.xmlToArray)(functions === null || functions === void 0 ? void 0 : functions.item)) {
|
|
63347
|
-
|
|
63379
|
+
try {
|
|
63380
|
+
this.modules.push(new types_1.FunctionModuleDefinition(module));
|
|
63381
|
+
}
|
|
63382
|
+
catch (_k) {
|
|
63383
|
+
// Ignore malformed function module metadata.
|
|
63384
|
+
}
|
|
63348
63385
|
}
|
|
63349
63386
|
}
|
|
63350
63387
|
findTextFile() {
|
|
@@ -63900,6 +63937,7 @@ class ICFService extends _abstract_object_1.AbstractObject {
|
|
|
63900
63937
|
return (_a = this.parsedXML) === null || _a === void 0 ? void 0 : _a.handlers;
|
|
63901
63938
|
}
|
|
63902
63939
|
parse() {
|
|
63940
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
63903
63941
|
if (this.parsedXML) {
|
|
63904
63942
|
return { updated: false, runtime: 0 };
|
|
63905
63943
|
}
|
|
@@ -63908,17 +63946,17 @@ class ICFService extends _abstract_object_1.AbstractObject {
|
|
|
63908
63946
|
const parsed = super.parseRaw2();
|
|
63909
63947
|
if (parsed === undefined
|
|
63910
63948
|
|| parsed.abapGit === undefined
|
|
63911
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
63949
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
63912
63950
|
return { updated: false, runtime: 0 };
|
|
63913
63951
|
}
|
|
63914
|
-
const table = parsed.abapGit["asx:abap"]["asx:values"].ICFHANDLER_TABLE;
|
|
63952
|
+
const table = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.ICFHANDLER_TABLE;
|
|
63915
63953
|
this.parsedXML.handlers = [];
|
|
63916
63954
|
for (const h of (0, xml_utils_1.xmlToArray)(table)) {
|
|
63917
63955
|
if (h.ICFHANDLER !== undefined) {
|
|
63918
63956
|
this.parsedXML.handlers.push(h.ICFHANDLER.ICFHANDLER);
|
|
63919
63957
|
}
|
|
63920
63958
|
}
|
|
63921
|
-
this.parsedXML.url = parsed.abapGit["asx:abap"]["asx:values"].URL;
|
|
63959
|
+
this.parsedXML.url = (_h = (_g = (_f = parsed.abapGit) === null || _f === void 0 ? void 0 : _f["asx:abap"]) === null || _g === void 0 ? void 0 : _g["asx:values"]) === null || _h === void 0 ? void 0 : _h.URL;
|
|
63922
63960
|
const end = Date.now();
|
|
63923
63961
|
return { updated: true, runtime: end - start };
|
|
63924
63962
|
}
|
|
@@ -64341,16 +64379,17 @@ class Interface extends _abap_object_1.ABAPObject {
|
|
|
64341
64379
|
}
|
|
64342
64380
|
/////////////////////////
|
|
64343
64381
|
parseXML() {
|
|
64382
|
+
var _a, _b, _c, _d, _e;
|
|
64344
64383
|
if (this.parsedXML !== undefined) {
|
|
64345
64384
|
return;
|
|
64346
64385
|
}
|
|
64347
64386
|
this.parsedXML = {};
|
|
64348
64387
|
const parsed = super.parseRaw2();
|
|
64349
64388
|
if (parsed === undefined
|
|
64350
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
64389
|
+
|| ((_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
64351
64390
|
return;
|
|
64352
64391
|
}
|
|
64353
|
-
const vseo = parsed.abapGit["asx:abap"]["asx:values"].VSEOINTERF;
|
|
64392
|
+
const vseo = (_e = (_d = (_c = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.VSEOINTERF;
|
|
64354
64393
|
if (vseo === undefined) {
|
|
64355
64394
|
this.parsedXML.description = "";
|
|
64356
64395
|
this.parsedXML.name = "";
|
|
@@ -64454,7 +64493,7 @@ class LockObject extends _abstract_object_1.AbstractObject {
|
|
|
64454
64493
|
}
|
|
64455
64494
|
}
|
|
64456
64495
|
parse() {
|
|
64457
|
-
var _a, _b;
|
|
64496
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
64458
64497
|
if (this.parsedXML) {
|
|
64459
64498
|
return { updated: false, runtime: 0 };
|
|
64460
64499
|
}
|
|
@@ -64463,11 +64502,11 @@ class LockObject extends _abstract_object_1.AbstractObject {
|
|
|
64463
64502
|
const parsed = super.parseRaw2();
|
|
64464
64503
|
if (parsed === undefined
|
|
64465
64504
|
|| parsed.abapGit === undefined
|
|
64466
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
64505
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
64467
64506
|
return { updated: false, runtime: 0 };
|
|
64468
64507
|
}
|
|
64469
|
-
this.parsedXML.primaryTable = (
|
|
64470
|
-
this.parsedXML.description = (
|
|
64508
|
+
this.parsedXML.primaryTable = (_f = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.DD25V) === null || _f === void 0 ? void 0 : _f.ROOTTAB;
|
|
64509
|
+
this.parsedXML.description = (_k = (_j = (_h = (_g = parsed.abapGit) === null || _g === void 0 ? void 0 : _g["asx:abap"]) === null || _h === void 0 ? void 0 : _h["asx:values"]) === null || _j === void 0 ? void 0 : _j.DD25V) === null || _k === void 0 ? void 0 : _k.DDTEXT;
|
|
64471
64510
|
const end = Date.now();
|
|
64472
64511
|
return { updated: true, runtime: end - start };
|
|
64473
64512
|
}
|
|
@@ -64555,7 +64594,7 @@ class MaintenanceAndTransportObject extends _abstract_object_1.AbstractObject {
|
|
|
64555
64594
|
}
|
|
64556
64595
|
}
|
|
64557
64596
|
parse() {
|
|
64558
|
-
var _a, _b, _c, _d;
|
|
64597
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
64559
64598
|
if (this.parsedXML) {
|
|
64560
64599
|
return { updated: false, runtime: 0 };
|
|
64561
64600
|
}
|
|
@@ -64564,12 +64603,12 @@ class MaintenanceAndTransportObject extends _abstract_object_1.AbstractObject {
|
|
|
64564
64603
|
const parsed = super.parseRaw2();
|
|
64565
64604
|
if (parsed === undefined
|
|
64566
64605
|
|| parsed.abapGit === undefined
|
|
64567
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
64606
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
64568
64607
|
return { updated: false, runtime: 0 };
|
|
64569
64608
|
}
|
|
64570
|
-
this.parsedXML.area = (
|
|
64571
|
-
this.parsedXML.objectName = (
|
|
64572
|
-
this.parsedXML.objectType = (
|
|
64609
|
+
this.parsedXML.area = (_g = (_f = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.TOBJ) === null || _f === void 0 ? void 0 : _f.TVDIR) === null || _g === void 0 ? void 0 : _g.AREA;
|
|
64610
|
+
this.parsedXML.objectName = (_l = (_k = (_j = (_h = parsed.abapGit) === null || _h === void 0 ? void 0 : _h["asx:abap"]) === null || _j === void 0 ? void 0 : _j["asx:values"]) === null || _k === void 0 ? void 0 : _k.OBJH) === null || _l === void 0 ? void 0 : _l.OBJECTNAME;
|
|
64611
|
+
this.parsedXML.objectType = (_q = (_p = (_o = (_m = parsed.abapGit) === null || _m === void 0 ? void 0 : _m["asx:abap"]) === null || _o === void 0 ? void 0 : _o["asx:values"]) === null || _p === void 0 ? void 0 : _p.OBJH) === null || _q === void 0 ? void 0 : _q.OBJECTTYPE;
|
|
64573
64612
|
const end = Date.now();
|
|
64574
64613
|
return { updated: true, runtime: end - start };
|
|
64575
64614
|
}
|
|
@@ -64642,7 +64681,7 @@ class MessageClass extends _abstract_object_1.AbstractObject {
|
|
|
64642
64681
|
}
|
|
64643
64682
|
/////////////////////////////////
|
|
64644
64683
|
parseXML() {
|
|
64645
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
64684
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
64646
64685
|
if (this.xml !== undefined) {
|
|
64647
64686
|
return;
|
|
64648
64687
|
}
|
|
@@ -64656,16 +64695,16 @@ class MessageClass extends _abstract_object_1.AbstractObject {
|
|
|
64656
64695
|
if (parsed === undefined) {
|
|
64657
64696
|
return;
|
|
64658
64697
|
}
|
|
64659
|
-
this.xml.topName = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]["asx:values"]) === null ||
|
|
64660
|
-
this.xml.description = (
|
|
64661
|
-
const t100 = (
|
|
64698
|
+
this.xml.topName = (_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.T100A) === null || _d === void 0 ? void 0 : _d.ARBGB;
|
|
64699
|
+
this.xml.description = (_h = (_g = (_f = (_e = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _e === void 0 ? void 0 : _e["asx:abap"]) === null || _f === void 0 ? void 0 : _f["asx:values"]) === null || _g === void 0 ? void 0 : _g.T100A) === null || _h === void 0 ? void 0 : _h.STEXT;
|
|
64700
|
+
const t100 = (_l = (_k = (_j = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _j === void 0 ? void 0 : _j["asx:abap"]) === null || _k === void 0 ? void 0 : _k["asx:values"]) === null || _l === void 0 ? void 0 : _l.T100;
|
|
64662
64701
|
if (t100 === undefined) {
|
|
64663
64702
|
return;
|
|
64664
64703
|
}
|
|
64665
64704
|
for (const msg of (0, xml_utils_1.xmlToArray)(t100.T100)) {
|
|
64666
64705
|
this.xml.parsedMessages.push(new message_1.Message(msg.MSGNR, (0, xml_utils_1.unescape)(msg.TEXT), msg.ARBGB));
|
|
64667
64706
|
}
|
|
64668
|
-
const t100_texts = (
|
|
64707
|
+
const t100_texts = (_p = (_o = (_m = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _m === void 0 ? void 0 : _m["asx:abap"]) === null || _o === void 0 ? void 0 : _o["asx:values"]) === null || _p === void 0 ? void 0 : _p.T100_TEXTS;
|
|
64669
64708
|
if (t100_texts === undefined) {
|
|
64670
64709
|
return;
|
|
64671
64710
|
}
|
|
@@ -64763,6 +64802,7 @@ class MIMEObject extends _abstract_object_1.AbstractObject {
|
|
|
64763
64802
|
return undefined;
|
|
64764
64803
|
}
|
|
64765
64804
|
parse() {
|
|
64805
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
64766
64806
|
if (this.parsedXML) {
|
|
64767
64807
|
return { updated: false, runtime: 0 };
|
|
64768
64808
|
}
|
|
@@ -64771,12 +64811,12 @@ class MIMEObject extends _abstract_object_1.AbstractObject {
|
|
|
64771
64811
|
const parsed = super.parseRaw2();
|
|
64772
64812
|
if (parsed === undefined
|
|
64773
64813
|
|| parsed.abapGit === undefined
|
|
64774
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
64814
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
64775
64815
|
return { updated: false, runtime: 0 };
|
|
64776
64816
|
}
|
|
64777
|
-
this.parsedXML.URL = parsed.abapGit["asx:abap"]["asx:values"].URL;
|
|
64778
|
-
this.parsedXML.CLASS = parsed.abapGit["asx:abap"]["asx:values"].CLASS;
|
|
64779
|
-
this.parsedXML.FOLDER = parsed.abapGit["asx:abap"]["asx:values"].FOLDER;
|
|
64817
|
+
this.parsedXML.URL = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.URL;
|
|
64818
|
+
this.parsedXML.CLASS = (_h = (_g = (_f = parsed.abapGit) === null || _f === void 0 ? void 0 : _f["asx:abap"]) === null || _g === void 0 ? void 0 : _g["asx:values"]) === null || _h === void 0 ? void 0 : _h.CLASS;
|
|
64819
|
+
this.parsedXML.FOLDER = (_l = (_k = (_j = parsed.abapGit) === null || _j === void 0 ? void 0 : _j["asx:abap"]) === null || _k === void 0 ? void 0 : _k["asx:values"]) === null || _l === void 0 ? void 0 : _l.FOLDER;
|
|
64780
64820
|
const end = Date.now();
|
|
64781
64821
|
return { updated: true, runtime: end - start };
|
|
64782
64822
|
}
|
|
@@ -65624,10 +65664,10 @@ class Oauth2Profile extends _abstract_object_1.AbstractObject {
|
|
|
65624
65664
|
return undefined;
|
|
65625
65665
|
}
|
|
65626
65666
|
listScopes() {
|
|
65627
|
-
var _a, _b, _c;
|
|
65667
|
+
var _a, _b, _c, _d, _e;
|
|
65628
65668
|
const ret = [];
|
|
65629
65669
|
const parsed = super.parseRaw2();
|
|
65630
|
-
for (const t of (0, xml_utils_1.xmlToArray)((_c = (_b = (_a = parsed.abapGit["asx:abap"]["asx:values"]) === null ||
|
|
65670
|
+
for (const t of (0, xml_utils_1.xmlToArray)((_e = (_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.PROFILE) === null || _d === void 0 ? void 0 : _d.T_SCOPES) === null || _e === void 0 ? void 0 : _e.OA2P_SCOPES)) {
|
|
65631
65671
|
ret.push(t.SCOPE);
|
|
65632
65672
|
}
|
|
65633
65673
|
return ret;
|
|
@@ -65912,7 +65952,7 @@ class Program extends _abap_object_1.ABAPObject {
|
|
|
65912
65952
|
}
|
|
65913
65953
|
////////////////////////////
|
|
65914
65954
|
parseXML() {
|
|
65915
|
-
var _a, _b, _c;
|
|
65955
|
+
var _a, _b, _c, _d;
|
|
65916
65956
|
if (this.parsedXML !== undefined) {
|
|
65917
65957
|
return;
|
|
65918
65958
|
}
|
|
@@ -65930,11 +65970,11 @@ class Program extends _abap_object_1.ABAPObject {
|
|
|
65930
65970
|
}
|
|
65931
65971
|
let description = "";
|
|
65932
65972
|
const selectionTexts = {};
|
|
65933
|
-
for (const t of (0, xml_utils_1.xmlToArray)((_c = (_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]["asx:values"]) === null ||
|
|
65973
|
+
for (const t of (0, xml_utils_1.xmlToArray)((_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.TPOOL) === null || _d === void 0 ? void 0 : _d.item)) {
|
|
65934
65974
|
if ((t === null || t === void 0 ? void 0 : t.ID) === "R") {
|
|
65935
65975
|
description = t.ENTRY ? (0, xml_utils_1.unescape)(t.ENTRY) : "";
|
|
65936
65976
|
}
|
|
65937
|
-
else if ((t === null || t === void 0 ? void 0 : t.ID) === "S" && t.KEY
|
|
65977
|
+
else if ((t === null || t === void 0 ? void 0 : t.ID) === "S" && typeof t.KEY === "string") {
|
|
65938
65978
|
selectionTexts[t.KEY.toUpperCase()] = { entry: t.ENTRY ? (0, xml_utils_1.unescape)(t.ENTRY) : "", maxLength: parseInt(t.LENGTH, 10) };
|
|
65939
65979
|
}
|
|
65940
65980
|
}
|
|
@@ -66001,20 +66041,19 @@ class ProxyObject extends _abstract_object_1.AbstractObject {
|
|
|
66001
66041
|
return { updated: true, runtime: end - start };
|
|
66002
66042
|
}
|
|
66003
66043
|
parseXML() {
|
|
66004
|
-
var _a, _b;
|
|
66044
|
+
var _a, _b, _c, _d, _e;
|
|
66005
66045
|
const result = { proxyData: [] };
|
|
66006
66046
|
const parsed = super.parseRaw2();
|
|
66007
66047
|
if (parsed === undefined
|
|
66008
66048
|
|| parsed.abapGit === undefined
|
|
66009
|
-
|| ((_a = parsed.abapGit["asx:abap"]) === null ||
|
|
66049
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
66010
66050
|
return result;
|
|
66011
66051
|
}
|
|
66012
|
-
const values = parsed.abapGit["asx:abap"]["asx:values"];
|
|
66013
|
-
result.proxyData = (0, xml_utils_1.xmlToArray)((
|
|
66052
|
+
const values = (_d = (_c = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"];
|
|
66053
|
+
result.proxyData = (0, xml_utils_1.xmlToArray)((_e = values.PROXY_DATA) === null || _e === void 0 ? void 0 : _e.item);
|
|
66014
66054
|
return result;
|
|
66015
66055
|
}
|
|
66016
66056
|
generateABAPObjects() {
|
|
66017
|
-
var _a, _b, _c, _d, _e;
|
|
66018
66057
|
this.parse();
|
|
66019
66058
|
const result = [];
|
|
66020
66059
|
if (!this.parsedXML) {
|
|
@@ -66022,7 +66061,7 @@ class ProxyObject extends _abstract_object_1.AbstractObject {
|
|
|
66022
66061
|
}
|
|
66023
66062
|
// Find interface definition
|
|
66024
66063
|
const intfItem = this.parsedXML.proxyData.find(i => i.R3_TYPE === "INTF");
|
|
66025
|
-
if (!intfItem ||
|
|
66064
|
+
if (!intfItem || typeof intfItem.R3_NAME !== "string") {
|
|
66026
66065
|
return result;
|
|
66027
66066
|
}
|
|
66028
66067
|
const intfName = intfItem.R3_NAME.toLowerCase();
|
|
@@ -66031,10 +66070,10 @@ class ProxyObject extends _abstract_object_1.AbstractObject {
|
|
|
66031
66070
|
// Build interface code
|
|
66032
66071
|
let code = `INTERFACE ${intfName} PUBLIC.\n`;
|
|
66033
66072
|
for (const method of methods) {
|
|
66034
|
-
|
|
66035
|
-
if (!methodName) {
|
|
66073
|
+
if (typeof method.R3_NAME !== "string") {
|
|
66036
66074
|
continue;
|
|
66037
66075
|
}
|
|
66076
|
+
const methodName = method.R3_NAME.toLowerCase();
|
|
66038
66077
|
// Find parameters for this method
|
|
66039
66078
|
const importingParameters = this.parsedXML.proxyData.filter(i => i.R3_TYPE === "PAIM" && i.OBJ_NAME1 === method.OBJ_NAME1);
|
|
66040
66079
|
const exportingParameters = this.parsedXML.proxyData.filter(i => i.R3_TYPE === "PAEX" && i.OBJ_NAME1 === method.OBJ_NAME1);
|
|
@@ -66043,8 +66082,8 @@ class ProxyObject extends _abstract_object_1.AbstractObject {
|
|
|
66043
66082
|
code += ` IMPORTING\n`;
|
|
66044
66083
|
for (let i = 0; i < importingParameters.length; i++) {
|
|
66045
66084
|
const param = importingParameters[i];
|
|
66046
|
-
const paramName =
|
|
66047
|
-
const paramType =
|
|
66085
|
+
const paramName = typeof param.OBJ_NAME2 === "string" ? param.OBJ_NAME2.toLowerCase() : undefined;
|
|
66086
|
+
const paramType = typeof param.OBJ_NAME_R === "string" ? param.OBJ_NAME_R.toLowerCase() : undefined;
|
|
66048
66087
|
const isLast = i === importingParameters.length - 1 && exportingParameters.length === 0;
|
|
66049
66088
|
code += ` ${paramName} TYPE ${paramType}${isLast ? "." : ""}\n`;
|
|
66050
66089
|
}
|
|
@@ -66053,8 +66092,8 @@ class ProxyObject extends _abstract_object_1.AbstractObject {
|
|
|
66053
66092
|
code += ` EXPORTING\n`;
|
|
66054
66093
|
for (let i = 0; i < exportingParameters.length; i++) {
|
|
66055
66094
|
const param = exportingParameters[i];
|
|
66056
|
-
const paramName =
|
|
66057
|
-
const paramType =
|
|
66095
|
+
const paramName = typeof param.OBJ_NAME2 === "string" ? param.OBJ_NAME2.toLowerCase() : undefined;
|
|
66096
|
+
const paramType = typeof param.OBJ_NAME_R === "string" ? param.OBJ_NAME_R.toLowerCase() : undefined;
|
|
66058
66097
|
const isLast = i === exportingParameters.length - 1;
|
|
66059
66098
|
code += ` ${paramName} TYPE ${paramType}${isLast ? "." : ""}\n`;
|
|
66060
66099
|
}
|
|
@@ -67885,7 +67924,7 @@ class Table extends _abstract_object_1.AbstractObject {
|
|
|
67885
67924
|
return false;
|
|
67886
67925
|
}
|
|
67887
67926
|
parseXML() {
|
|
67888
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
67927
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
|
|
67889
67928
|
const parsed = super.parseRaw2();
|
|
67890
67929
|
if (parsed === undefined) {
|
|
67891
67930
|
return;
|
|
@@ -67895,19 +67934,22 @@ class Table extends _abstract_object_1.AbstractObject {
|
|
|
67895
67934
|
return;
|
|
67896
67935
|
}
|
|
67897
67936
|
// enhancement category
|
|
67898
|
-
if (((_b = (_a = parsed.abapGit["asx:abap"]["asx:values"]) === null ||
|
|
67937
|
+
if (((_d = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.DD02V) === null || _d === void 0 ? void 0 : _d.EXCLASS) === undefined) {
|
|
67899
67938
|
this.parsedData.enhancementCategory = EnhancementCategory.NotClassified;
|
|
67900
67939
|
}
|
|
67901
67940
|
else {
|
|
67902
|
-
this.parsedData.enhancementCategory = (
|
|
67941
|
+
this.parsedData.enhancementCategory = (_h = (_g = (_f = (_e = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _e === void 0 ? void 0 : _e["asx:abap"]) === null || _f === void 0 ? void 0 : _f["asx:values"]) === null || _g === void 0 ? void 0 : _g.DD02V) === null || _h === void 0 ? void 0 : _h.EXCLASS;
|
|
67903
67942
|
}
|
|
67904
67943
|
// table category
|
|
67905
|
-
this.parsedData.tableCategory = (
|
|
67906
|
-
this.parsedData.description = (
|
|
67907
|
-
this.parsedData.dataClass = (
|
|
67944
|
+
this.parsedData.tableCategory = (_m = (_l = (_k = (_j = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _j === void 0 ? void 0 : _j["asx:abap"]) === null || _k === void 0 ? void 0 : _k["asx:values"]) === null || _l === void 0 ? void 0 : _l.DD02V) === null || _m === void 0 ? void 0 : _m.TABCLASS;
|
|
67945
|
+
this.parsedData.description = (_r = (_q = (_p = (_o = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _o === void 0 ? void 0 : _o["asx:abap"]) === null || _p === void 0 ? void 0 : _p["asx:values"]) === null || _q === void 0 ? void 0 : _q.DD02V) === null || _r === void 0 ? void 0 : _r.DDTEXT;
|
|
67946
|
+
this.parsedData.dataClass = (_v = (_u = (_t = (_s = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _s === void 0 ? void 0 : _s["asx:abap"]) === null || _t === void 0 ? void 0 : _t["asx:values"]) === null || _u === void 0 ? void 0 : _u.DD09L) === null || _v === void 0 ? void 0 : _v.TABART;
|
|
67908
67947
|
// fields
|
|
67909
|
-
const fields = (
|
|
67948
|
+
const fields = (_y = (_x = (_w = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _w === void 0 ? void 0 : _w["asx:abap"]) === null || _x === void 0 ? void 0 : _x["asx:values"]) === null || _y === void 0 ? void 0 : _y.DD03P_TABLE;
|
|
67910
67949
|
for (const field of (0, xml_utils_1.xmlToArray)(fields === null || fields === void 0 ? void 0 : fields.DD03P)) {
|
|
67950
|
+
if (typeof (field === null || field === void 0 ? void 0 : field.FIELDNAME) !== "string") {
|
|
67951
|
+
continue;
|
|
67952
|
+
}
|
|
67911
67953
|
this.parsedData.fields.push({
|
|
67912
67954
|
FIELDNAME: field.FIELDNAME,
|
|
67913
67955
|
ROLLNAME: field.ROLLNAME,
|
|
@@ -67927,13 +67969,13 @@ class Table extends _abstract_object_1.AbstractObject {
|
|
|
67927
67969
|
});
|
|
67928
67970
|
}
|
|
67929
67971
|
// secondary indexes
|
|
67930
|
-
const indexes = (
|
|
67972
|
+
const indexes = (_1 = (_0 = (_z = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _z === void 0 ? void 0 : _z["asx:abap"]) === null || _0 === void 0 ? void 0 : _0["asx:values"]) === null || _1 === void 0 ? void 0 : _1.DD12V;
|
|
67931
67973
|
;
|
|
67932
67974
|
this.parsedData.secondaryIndexes = [];
|
|
67933
67975
|
for (const index of (0, xml_utils_1.xmlToArray)(indexes === null || indexes === void 0 ? void 0 : indexes.DD12V)) {
|
|
67934
67976
|
const indexName = index.INDEXNAME;
|
|
67935
67977
|
const indexFields = [];
|
|
67936
|
-
const indexFieldsXml = (
|
|
67978
|
+
const indexFieldsXml = (_4 = (_3 = (_2 = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _2 === void 0 ? void 0 : _2["asx:abap"]) === null || _3 === void 0 ? void 0 : _3["asx:values"]) === null || _4 === void 0 ? void 0 : _4.DD17V;
|
|
67937
67979
|
for (const indexField of (0, xml_utils_1.xmlToArray)(indexFieldsXml === null || indexFieldsXml === void 0 ? void 0 : indexFieldsXml.DD17V)) {
|
|
67938
67980
|
if (indexField.INDEXNAME === indexName) {
|
|
67939
67981
|
// assumption: fields are listed by POSITION in the xml
|
|
@@ -68156,7 +68198,7 @@ class TableType extends _abstract_object_1.AbstractObject {
|
|
|
68156
68198
|
}
|
|
68157
68199
|
////////////////////
|
|
68158
68200
|
parseXML() {
|
|
68159
|
-
var _a, _b;
|
|
68201
|
+
var _a, _b, _c, _d;
|
|
68160
68202
|
if (this.parsedXML !== undefined) {
|
|
68161
68203
|
return;
|
|
68162
68204
|
}
|
|
@@ -68168,11 +68210,14 @@ class TableType extends _abstract_object_1.AbstractObject {
|
|
|
68168
68210
|
if (parsed === undefined || parsed.abapGit === undefined) {
|
|
68169
68211
|
return;
|
|
68170
68212
|
}
|
|
68171
|
-
const values = parsed.abapGit["asx:abap"]["asx:values"];
|
|
68213
|
+
const values = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"];
|
|
68172
68214
|
if (values === undefined) {
|
|
68173
68215
|
return;
|
|
68174
68216
|
}
|
|
68175
68217
|
const dd40v = values.DD40V;
|
|
68218
|
+
if (dd40v === undefined) {
|
|
68219
|
+
return;
|
|
68220
|
+
}
|
|
68176
68221
|
this.parsedXML.rowtype = dd40v.ROWTYPE ? dd40v.ROWTYPE : "";
|
|
68177
68222
|
this.parsedXML.rowkind = dd40v.ROWKIND ? dd40v.ROWKIND : "";
|
|
68178
68223
|
this.parsedXML.datatype = dd40v.DATATYPE;
|
|
@@ -68182,13 +68227,13 @@ class TableType extends _abstract_object_1.AbstractObject {
|
|
|
68182
68227
|
this.parsedXML.keykind = dd40v.KEYKIND;
|
|
68183
68228
|
this.parsedXML.ddtext = dd40v.DDTEXT;
|
|
68184
68229
|
this.parsedXML.keydef = dd40v.KEYDEF;
|
|
68185
|
-
for (const x of (0, xml_utils_1.xmlToArray)((
|
|
68230
|
+
for (const x of (0, xml_utils_1.xmlToArray)((_c = values.DD42V) === null || _c === void 0 ? void 0 : _c.DD42V)) {
|
|
68186
68231
|
this.parsedXML.dd42v.push({
|
|
68187
68232
|
keyname: x.SECKEYNAME || "",
|
|
68188
68233
|
keyfield: x.KEYFIELD || "",
|
|
68189
68234
|
});
|
|
68190
68235
|
}
|
|
68191
|
-
for (const x of (0, xml_utils_1.xmlToArray)((
|
|
68236
|
+
for (const x of (0, xml_utils_1.xmlToArray)((_d = values.DD43V) === null || _d === void 0 ? void 0 : _d.DD43V)) {
|
|
68192
68237
|
this.parsedXML.dd43v.push({
|
|
68193
68238
|
keyname: x.SECKEYNAME || "",
|
|
68194
68239
|
accessmode: x.ACCESSMODE || "",
|
|
@@ -68564,7 +68609,7 @@ class View extends _abstract_object_1.AbstractObject {
|
|
|
68564
68609
|
}
|
|
68565
68610
|
///////////////
|
|
68566
68611
|
parseXML() {
|
|
68567
|
-
var _a, _b, _c;
|
|
68612
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
68568
68613
|
this.parsedData = {
|
|
68569
68614
|
header: {
|
|
68570
68615
|
VIEWCLASS: "",
|
|
@@ -68577,13 +68622,18 @@ class View extends _abstract_object_1.AbstractObject {
|
|
|
68577
68622
|
if (parsed === undefined || parsed.abapGit === undefined) {
|
|
68578
68623
|
return;
|
|
68579
68624
|
}
|
|
68580
|
-
const header = (_a = parsed.abapGit["asx:abap"]["asx:values"]) === null ||
|
|
68625
|
+
const header = (_c = (_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === null || _c === void 0 ? void 0 : _c.DD25V;
|
|
68581
68626
|
this.parsedData.header = {
|
|
68582
68627
|
VIEWCLASS: (header === null || header === void 0 ? void 0 : header.VIEWCLASS) || "",
|
|
68583
68628
|
DDTEXT: (header === null || header === void 0 ? void 0 : header.DDTEXT) || "",
|
|
68584
68629
|
};
|
|
68585
|
-
const fields = (
|
|
68630
|
+
const fields = (_f = (_e = (_d = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _d === void 0 ? void 0 : _d["asx:abap"]) === null || _e === void 0 ? void 0 : _e["asx:values"]) === null || _f === void 0 ? void 0 : _f.DD27P_TABLE;
|
|
68586
68631
|
for (const field of (0, xml_utils_1.xmlToArray)(fields === null || fields === void 0 ? void 0 : fields.DD27P)) {
|
|
68632
|
+
if (typeof (field === null || field === void 0 ? void 0 : field.VIEWFIELD) !== "string"
|
|
68633
|
+
|| typeof (field === null || field === void 0 ? void 0 : field.TABNAME) !== "string"
|
|
68634
|
+
|| typeof (field === null || field === void 0 ? void 0 : field.FIELDNAME) !== "string") {
|
|
68635
|
+
continue;
|
|
68636
|
+
}
|
|
68587
68637
|
this.parsedData.fields.push({
|
|
68588
68638
|
VIEWFIELD: field.VIEWFIELD,
|
|
68589
68639
|
TABNAME: field.TABNAME,
|
|
@@ -68591,7 +68641,7 @@ class View extends _abstract_object_1.AbstractObject {
|
|
|
68591
68641
|
KEYFLAG: field.KEYFLAG,
|
|
68592
68642
|
});
|
|
68593
68643
|
}
|
|
68594
|
-
const join = (
|
|
68644
|
+
const join = (_j = (_h = (_g = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _g === void 0 ? void 0 : _g["asx:abap"]) === null || _h === void 0 ? void 0 : _h["asx:values"]) === null || _j === void 0 ? void 0 : _j.DD28J_TABLE;
|
|
68595
68645
|
for (const j of (0, xml_utils_1.xmlToArray)(join === null || join === void 0 ? void 0 : join.DD28J)) {
|
|
68596
68646
|
this.parsedData.join.push({
|
|
68597
68647
|
LTAB: j.LTAB,
|
|
@@ -68846,7 +68896,7 @@ class WebMIME extends _abstract_object_1.AbstractObject {
|
|
|
68846
68896
|
return undefined;
|
|
68847
68897
|
}
|
|
68848
68898
|
parse() {
|
|
68849
|
-
var _a;
|
|
68899
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
68850
68900
|
if (this.parsedXML) {
|
|
68851
68901
|
return { updated: false, runtime: 0 };
|
|
68852
68902
|
}
|
|
@@ -68855,11 +68905,14 @@ class WebMIME extends _abstract_object_1.AbstractObject {
|
|
|
68855
68905
|
const parsed = super.parseRaw2();
|
|
68856
68906
|
if (parsed === undefined
|
|
68857
68907
|
|| parsed.abapGit === undefined
|
|
68858
|
-
|| parsed.abapGit["asx:abap"]["asx:values"] === undefined) {
|
|
68908
|
+
|| ((_b = (_a = parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
68859
68909
|
return { updated: false, runtime: 0 };
|
|
68860
68910
|
}
|
|
68861
|
-
this.parsedXML.description = parsed.abapGit["asx:abap"]["asx:values"].TEXT;
|
|
68862
|
-
for (const param of (0, xml_utils_1.xmlToArray)((
|
|
68911
|
+
this.parsedXML.description = (_e = (_d = (_c = parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.TEXT;
|
|
68912
|
+
for (const param of (0, xml_utils_1.xmlToArray)((_j = (_h = (_g = (_f = parsed.abapGit) === null || _f === void 0 ? void 0 : _f["asx:abap"]) === null || _g === void 0 ? void 0 : _g["asx:values"]) === null || _h === void 0 ? void 0 : _h.PARAMS) === null || _j === void 0 ? void 0 : _j.WWWPARAMS)) {
|
|
68913
|
+
if (typeof (param === null || param === void 0 ? void 0 : param.NAME) !== "string") {
|
|
68914
|
+
continue;
|
|
68915
|
+
}
|
|
68863
68916
|
this.parsedXML.params[param.NAME.toLowerCase()] = param.VALUE;
|
|
68864
68917
|
}
|
|
68865
68918
|
const end = Date.now();
|
|
@@ -69460,7 +69513,7 @@ class Registry {
|
|
|
69460
69513
|
}
|
|
69461
69514
|
static abaplintVersion() {
|
|
69462
69515
|
// magic, see build script "version.js"
|
|
69463
|
-
return "2.120.
|
|
69516
|
+
return "2.120.19";
|
|
69464
69517
|
}
|
|
69465
69518
|
getDDICReferences() {
|
|
69466
69519
|
return this.ddicReferences;
|
|
@@ -74184,6 +74237,8 @@ const objects_1 = __webpack_require__(/*! ../objects */ "../core/build/src/objec
|
|
|
74184
74237
|
const _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ "../core/build/src/abap/5_syntax/_reference.js");
|
|
74185
74238
|
const basic_1 = __webpack_require__(/*! ../abap/types/basic */ "../core/build/src/abap/types/basic/index.js");
|
|
74186
74239
|
const _statement_1 = __webpack_require__(/*! ../abap/2_statements/statements/_statement */ "../core/build/src/abap/2_statements/statements/_statement.js");
|
|
74240
|
+
const statements_1 = __webpack_require__(/*! ../abap/2_statements/statements */ "../core/build/src/abap/2_statements/statements/index.js");
|
|
74241
|
+
const expressions_1 = __webpack_require__(/*! ../abap/2_statements/expressions */ "../core/build/src/abap/2_statements/expressions/index.js");
|
|
74187
74242
|
class ClearExportingParametersConf extends _basic_rule_config_1.BasicRuleConfig {
|
|
74188
74243
|
constructor() {
|
|
74189
74244
|
super(...arguments);
|
|
@@ -74215,6 +74270,8 @@ Note: EXPORTING parameters passed by VALUE are always initialized and are theref
|
|
|
74215
74270
|
Reading and writing the parameter in the same statement (e.g. "ev_result = ev_result + 1") is reported,
|
|
74216
74271
|
as the source is evaluated before the parameter is assigned.
|
|
74217
74272
|
Objects containing parser or syntax errors are not reported.
|
|
74273
|
+
"IS SUPPLIED"/"IS REQUESTED" checks are not considered reads, and "GET REFERENCE OF" plus
|
|
74274
|
+
"ASSIGN ... TO <fs>" are considered writes, as the value can be written via the reference.
|
|
74218
74275
|
|
|
74219
74276
|
Class and interface method implementations and function modules are checked.`,
|
|
74220
74277
|
tags: [_irule_1.RuleTag.Styleguide],
|
|
@@ -74340,6 +74397,16 @@ ENDCLASS.`,
|
|
|
74340
74397
|
}
|
|
74341
74398
|
const pos = reference.position.getStart();
|
|
74342
74399
|
if (reference.referenceType === _reference_1.ReferenceType.DataReadReference) {
|
|
74400
|
+
if (this.isSuppliedOrRequested(reference, obj)) {
|
|
74401
|
+
continue; // "IS SUPPLIED" / "IS REQUESTED" does not read the value
|
|
74402
|
+
}
|
|
74403
|
+
if (this.isReferenceOrAssign(reference, obj)) {
|
|
74404
|
+
// "GET REFERENCE OF" and "ASSIGN ... TO <fs>" may be used for writing the value
|
|
74405
|
+
if (earliestWrite === undefined || pos.isBefore(earliestWrite.position.getStart())) {
|
|
74406
|
+
earliestWrite = reference;
|
|
74407
|
+
}
|
|
74408
|
+
continue;
|
|
74409
|
+
}
|
|
74343
74410
|
if (firstRead === undefined || pos.isBefore(firstRead.position.getStart())) {
|
|
74344
74411
|
firstRead = reference;
|
|
74345
74412
|
}
|
|
@@ -74362,6 +74429,46 @@ ENDCLASS.`,
|
|
|
74362
74429
|
const message = `EXPORTING parameter "${parameter.getName().toLowerCase()}" read before it is cleared or assigned`;
|
|
74363
74430
|
return issue_1.Issue.atIdentifier(firstRead.position, message, this.getMetadata().key, this.conf.severity);
|
|
74364
74431
|
}
|
|
74432
|
+
isReferenceOrAssign(reference, obj) {
|
|
74433
|
+
const file = obj.getABAPFileByName(reference.position.getFilename());
|
|
74434
|
+
const pos = reference.position.getStart();
|
|
74435
|
+
for (const statement of (file === null || file === void 0 ? void 0 : file.getStatements()) || []) {
|
|
74436
|
+
const start = statement.getStart();
|
|
74437
|
+
const end = statement.getEnd();
|
|
74438
|
+
if (pos.equals(start) === false && (pos.isAfter(start) === false || pos.isBefore(end) === false)) {
|
|
74439
|
+
continue;
|
|
74440
|
+
}
|
|
74441
|
+
const type = statement.get();
|
|
74442
|
+
return type instanceof statements_1.GetReference || type instanceof statements_1.Assign;
|
|
74443
|
+
}
|
|
74444
|
+
return false;
|
|
74445
|
+
}
|
|
74446
|
+
isSuppliedOrRequested(reference, obj) {
|
|
74447
|
+
const file = obj.getABAPFileByName(reference.position.getFilename());
|
|
74448
|
+
const pos = reference.position.getStart();
|
|
74449
|
+
for (const statement of (file === null || file === void 0 ? void 0 : file.getStatements()) || []) {
|
|
74450
|
+
const start = statement.getStart();
|
|
74451
|
+
const end = statement.getEnd();
|
|
74452
|
+
if (pos.equals(start) === false && (pos.isAfter(start) === false || pos.isBefore(end) === false)) {
|
|
74453
|
+
continue;
|
|
74454
|
+
}
|
|
74455
|
+
for (const compare of statement.findAllExpressionsRecursive(expressions_1.Compare)) {
|
|
74456
|
+
const upper = compare.concatTokens().toUpperCase();
|
|
74457
|
+
if (upper.includes(" IS SUPPLIED") === false
|
|
74458
|
+
&& upper.includes(" IS REQUESTED") === false
|
|
74459
|
+
&& upper.includes(" IS NOT SUPPLIED") === false
|
|
74460
|
+
&& upper.includes(" IS NOT REQUESTED") === false) {
|
|
74461
|
+
continue;
|
|
74462
|
+
}
|
|
74463
|
+
const cStart = compare.getFirstToken().getStart();
|
|
74464
|
+
const cEnd = compare.getLastToken().getEnd();
|
|
74465
|
+
if ((pos.equals(cStart) || pos.isAfter(cStart)) && pos.isBefore(cEnd)) {
|
|
74466
|
+
return true;
|
|
74467
|
+
}
|
|
74468
|
+
}
|
|
74469
|
+
}
|
|
74470
|
+
return false;
|
|
74471
|
+
}
|
|
74365
74472
|
statementStart(reference, obj) {
|
|
74366
74473
|
const file = obj.getABAPFileByName(reference.position.getFilename());
|
|
74367
74474
|
for (const statement of (file === null || file === void 0 ? void 0 : file.getStatements()) || []) {
|
|
@@ -92413,11 +92520,18 @@ Consider using ABAP Doc for documentation.`,
|
|
|
92413
92520
|
return this.checkXML(xml, file);
|
|
92414
92521
|
}
|
|
92415
92522
|
checkXML(xml, file) {
|
|
92416
|
-
|
|
92417
|
-
|
|
92523
|
+
var _a, _b, _c, _d, _e;
|
|
92524
|
+
let parsed;
|
|
92525
|
+
try {
|
|
92526
|
+
parsed = new fast_xml_parser_1.XMLParser({ parseTagValue: false, ignoreAttributes: true, trimValues: false }).parse(xml);
|
|
92527
|
+
}
|
|
92528
|
+
catch (_f) {
|
|
92418
92529
|
return [];
|
|
92419
92530
|
}
|
|
92420
|
-
|
|
92531
|
+
if (((_b = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _a === void 0 ? void 0 : _a["asx:abap"]) === null || _b === void 0 ? void 0 : _b["asx:values"]) === undefined) {
|
|
92532
|
+
return [];
|
|
92533
|
+
}
|
|
92534
|
+
const desc = (_e = (_d = (_c = parsed === null || parsed === void 0 ? void 0 : parsed.abapGit) === null || _c === void 0 ? void 0 : _c["asx:abap"]) === null || _d === void 0 ? void 0 : _d["asx:values"]) === null || _e === void 0 ? void 0 : _e.DESCRIPTIONS;
|
|
92421
92535
|
if (desc === undefined) {
|
|
92422
92536
|
return [];
|
|
92423
92537
|
}
|
|
@@ -98755,6 +98869,40 @@ class XMLConsistency {
|
|
|
98755
98869
|
const issues = [];
|
|
98756
98870
|
const texts = obj.getTexts();
|
|
98757
98871
|
const maxLengths = obj.getTextMaxLengths();
|
|
98872
|
+
const hasLabelTexts = (texts === null || texts === void 0 ? void 0 : texts.short) !== undefined
|
|
98873
|
+
|| (texts === null || texts === void 0 ? void 0 : texts.medium) !== undefined
|
|
98874
|
+
|| (texts === null || texts === void 0 ? void 0 : texts.long) !== undefined
|
|
98875
|
+
|| (texts === null || texts === void 0 ? void 0 : texts.heading) !== undefined;
|
|
98876
|
+
if ((texts === null || texts === void 0 ? void 0 : texts.short) !== undefined) {
|
|
98877
|
+
const issue = this.checkRequiredField(file, "SCRLEN1", maxLengths === null || maxLengths === void 0 ? void 0 : maxLengths.short);
|
|
98878
|
+
if (issue) {
|
|
98879
|
+
issues.push(issue);
|
|
98880
|
+
}
|
|
98881
|
+
}
|
|
98882
|
+
if ((texts === null || texts === void 0 ? void 0 : texts.medium) !== undefined) {
|
|
98883
|
+
const issue = this.checkRequiredField(file, "SCRLEN2", maxLengths === null || maxLengths === void 0 ? void 0 : maxLengths.medium);
|
|
98884
|
+
if (issue) {
|
|
98885
|
+
issues.push(issue);
|
|
98886
|
+
}
|
|
98887
|
+
}
|
|
98888
|
+
if ((texts === null || texts === void 0 ? void 0 : texts.long) !== undefined) {
|
|
98889
|
+
const issue = this.checkRequiredField(file, "SCRLEN3", maxLengths === null || maxLengths === void 0 ? void 0 : maxLengths.long);
|
|
98890
|
+
if (issue) {
|
|
98891
|
+
issues.push(issue);
|
|
98892
|
+
}
|
|
98893
|
+
}
|
|
98894
|
+
if ((texts === null || texts === void 0 ? void 0 : texts.heading) !== undefined) {
|
|
98895
|
+
const issue = this.checkRequiredField(file, "HEADLEN", maxLengths === null || maxLengths === void 0 ? void 0 : maxLengths.heading);
|
|
98896
|
+
if (issue) {
|
|
98897
|
+
issues.push(issue);
|
|
98898
|
+
}
|
|
98899
|
+
}
|
|
98900
|
+
if (hasLabelTexts) {
|
|
98901
|
+
const issue = this.checkRequiredField(file, "DTELMASTER", obj.getDtelMaster());
|
|
98902
|
+
if (issue) {
|
|
98903
|
+
issues.push(issue);
|
|
98904
|
+
}
|
|
98905
|
+
}
|
|
98758
98906
|
for (const issue of [
|
|
98759
98907
|
this.checkTextLength(file, "DDTEXT", obj.getDescription(), 60),
|
|
98760
98908
|
this.checkTextLength(file, "SCRTEXT_S", texts === null || texts === void 0 ? void 0 : texts.short, maxLengths === null || maxLengths === void 0 ? void 0 : maxLengths.short),
|
|
@@ -98782,6 +98930,12 @@ class XMLConsistency {
|
|
|
98782
98930
|
}
|
|
98783
98931
|
return issues;
|
|
98784
98932
|
}
|
|
98933
|
+
checkRequiredField(file, fieldName, value) {
|
|
98934
|
+
if (value === undefined || value === "") {
|
|
98935
|
+
return issue_1.Issue.atRow(file, 1, `Missing required field ${fieldName} in DD04V`, this.getMetadata().key, this.conf.severity);
|
|
98936
|
+
}
|
|
98937
|
+
return undefined;
|
|
98938
|
+
}
|
|
98785
98939
|
runDomain(obj, file) {
|
|
98786
98940
|
var _a, _b;
|
|
98787
98941
|
const maxTextLength = 60;
|
|
@@ -100191,15 +100345,15 @@ function xmlToArray(data) {
|
|
|
100191
100345
|
}
|
|
100192
100346
|
}
|
|
100193
100347
|
function unescape(str) {
|
|
100194
|
-
if (str
|
|
100348
|
+
if (typeof str !== "string") {
|
|
100195
100349
|
return "";
|
|
100196
100350
|
}
|
|
100197
|
-
|
|
100198
|
-
|
|
100199
|
-
|
|
100200
|
-
|
|
100201
|
-
|
|
100202
|
-
return
|
|
100351
|
+
let result = str.replace(/&/g, "&");
|
|
100352
|
+
result = result.replace(/>/g, ">");
|
|
100353
|
+
result = result.replace(/</g, "<");
|
|
100354
|
+
result = result.replace(/"/g, "\"");
|
|
100355
|
+
result = result.replace(/'/g, "'");
|
|
100356
|
+
return result;
|
|
100203
100357
|
}
|
|
100204
100358
|
//# sourceMappingURL=xml_utils.js.map
|
|
100205
100359
|
|
|
@@ -100218,13 +100372,19 @@ exports.ApackDependencyProvider = void 0;
|
|
|
100218
100372
|
const xml_js_1 = __webpack_require__(/*! xml-js */ "./node_modules/xml-js/lib/index.js");
|
|
100219
100373
|
class ApackDependencyProvider {
|
|
100220
100374
|
static fromManifest(manifestContents) {
|
|
100221
|
-
var _a, _b;
|
|
100375
|
+
var _a, _b, _c, _d, _e;
|
|
100222
100376
|
if (!manifestContents || !manifestContents.length) {
|
|
100223
100377
|
return [];
|
|
100224
100378
|
}
|
|
100225
100379
|
const result = [];
|
|
100226
|
-
|
|
100227
|
-
|
|
100380
|
+
let manifest;
|
|
100381
|
+
try {
|
|
100382
|
+
manifest = (0, xml_js_1.xml2js)(manifestContents, { compact: true });
|
|
100383
|
+
}
|
|
100384
|
+
catch (_f) {
|
|
100385
|
+
return [];
|
|
100386
|
+
}
|
|
100387
|
+
let apackDependencies = (_d = (_c = (_b = (_a = manifest === null || manifest === void 0 ? void 0 : manifest["asx:abap"]) === null || _a === void 0 ? void 0 : _a["asx:values"]) === null || _b === void 0 ? void 0 : _b["DATA"]) === null || _c === void 0 ? void 0 : _c["DEPENDENCIES"]) === null || _d === void 0 ? void 0 : _d.item;
|
|
100228
100388
|
if (!apackDependencies) {
|
|
100229
100389
|
return [];
|
|
100230
100390
|
}
|
|
@@ -100232,9 +100392,13 @@ class ApackDependencyProvider {
|
|
|
100232
100392
|
apackDependencies = [apackDependencies];
|
|
100233
100393
|
}
|
|
100234
100394
|
for (const dependency of apackDependencies) {
|
|
100395
|
+
const url = (_e = dependency === null || dependency === void 0 ? void 0 : dependency["GIT_URL"]) === null || _e === void 0 ? void 0 : _e["_text"];
|
|
100396
|
+
if (typeof url !== "string") {
|
|
100397
|
+
continue;
|
|
100398
|
+
}
|
|
100235
100399
|
result.push({
|
|
100236
100400
|
files: "/src/**/*.*",
|
|
100237
|
-
url
|
|
100401
|
+
url,
|
|
100238
100402
|
});
|
|
100239
100403
|
}
|
|
100240
100404
|
return result;
|
|
@@ -101339,6 +101503,28 @@ exports.Total = Total;
|
|
|
101339
101503
|
|
|
101340
101504
|
/***/ },
|
|
101341
101505
|
|
|
101506
|
+
/***/ "./build/src/git_clone.js"
|
|
101507
|
+
/*!********************************!*\
|
|
101508
|
+
!*** ./build/src/git_clone.js ***!
|
|
101509
|
+
\********************************/
|
|
101510
|
+
(__unused_webpack_module, exports) {
|
|
101511
|
+
|
|
101512
|
+
"use strict";
|
|
101513
|
+
|
|
101514
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
101515
|
+
exports.buildGitCloneArguments = buildGitCloneArguments;
|
|
101516
|
+
function buildGitCloneArguments(url, branch) {
|
|
101517
|
+
const args = ["clone", "--quiet", "--depth", "1"];
|
|
101518
|
+
if (branch) {
|
|
101519
|
+
args.push("-b", branch);
|
|
101520
|
+
}
|
|
101521
|
+
args.push("--", url, ".");
|
|
101522
|
+
return args;
|
|
101523
|
+
}
|
|
101524
|
+
//# sourceMappingURL=git_clone.js.map
|
|
101525
|
+
|
|
101526
|
+
/***/ },
|
|
101527
|
+
|
|
101342
101528
|
/***/ "./build/src/index.js"
|
|
101343
101529
|
/*!****************************!*\
|
|
101344
101530
|
!*** ./build/src/index.js ***!
|
|
@@ -101397,6 +101583,7 @@ const _format_1 = __webpack_require__(/*! ./formatters/_format */ "./build/src/f
|
|
|
101397
101583
|
const file_operations_1 = __webpack_require__(/*! ./file_operations */ "./build/src/file_operations.js");
|
|
101398
101584
|
const apack_dependency_provider_1 = __webpack_require__(/*! ./apack_dependency_provider */ "./build/src/apack_dependency_provider.js");
|
|
101399
101585
|
const fixes_1 = __webpack_require__(/*! ./fixes */ "./build/src/fixes.js");
|
|
101586
|
+
const git_clone_1 = __webpack_require__(/*! ./git_clone */ "./build/src/git_clone.js");
|
|
101400
101587
|
const rename_1 = __webpack_require__(/*! ./rename */ "./build/src/rename.js");
|
|
101401
101588
|
exports.GENERIC_ERROR = "generic_error";
|
|
101402
101589
|
class Progress {
|
|
@@ -101518,11 +101705,8 @@ async function loadDependencies(config, compress, bar, base) {
|
|
|
101518
101705
|
if (d.url) {
|
|
101519
101706
|
process.stderr.write("Clone: " + d.url + "\n");
|
|
101520
101707
|
const dir = fs.mkdtempSync(path.join(os.tmpdir(), "abaplint-"));
|
|
101521
|
-
|
|
101522
|
-
|
|
101523
|
-
branch = "-b " + d.branch + " ";
|
|
101524
|
-
}
|
|
101525
|
-
childProcess.execSync("git clone --quiet --depth 1 " + branch + d.url + " .", { cwd: dir, stdio: "inherit" });
|
|
101708
|
+
const args = (0, git_clone_1.buildGitCloneArguments)(d.url, d.branch);
|
|
101709
|
+
childProcess.execFileSync("git", args, { cwd: dir, stdio: "inherit" });
|
|
101526
101710
|
const names = file_operations_1.FileOperations.loadFileNames(file_operations_1.FileOperations.toUnixPath(dir) + d.files);
|
|
101527
101711
|
files = files.concat(await file_operations_1.FileOperations.loadFiles(compress, names, bar));
|
|
101528
101712
|
file_operations_1.FileOperations.deleteFolderRecursive(dir);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.120.
|
|
3
|
+
"version": "2.120.19",
|
|
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.
|
|
42
|
+
"@abaplint/core": "^2.120.19",
|
|
43
43
|
"@types/chai": "^4.3.20",
|
|
44
44
|
"@types/minimist": "^1.2.5",
|
|
45
45
|
"@types/mocha": "^10.0.10",
|