@abaplint/cli 2.119.34 → 2.119.36
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 +29 -6
- package/package.json +2 -2
package/build/cli.js
CHANGED
|
@@ -7569,17 +7569,17 @@ const _select_core_1 = __webpack_require__(/*! ./_select_core */ "../core/build/
|
|
|
7569
7569
|
class SQLCompare extends combi_1.Expression {
|
|
7570
7570
|
getRunnable() {
|
|
7571
7571
|
const subSelect = (0, combi_1.ver)(version_1.Version.v750, sql_set_op_group_1.SQLSetOpGroup, version_1.Version.OpenABAP);
|
|
7572
|
+
const simpleSubSelect = (0, combi_1.seq)("(", "SELECT", (0, _select_core_1.buildSelectCore)(undefined, false), ")");
|
|
7573
|
+
const simpleScalarSubSelect = (0, combi_1.ver)(version_1.Version.v740sp08, simpleSubSelect, version_1.Version.OpenABAP);
|
|
7572
7574
|
const between = (0, combi_1.seq)("BETWEEN", _1.SQLSource, "AND", _1.SQLSource);
|
|
7573
7575
|
const like = (0, combi_1.seq)("LIKE", _1.SQLSource, (0, combi_1.optPrio)((0, combi_1.seq)("ESCAPE", _1.SQLSource)));
|
|
7574
7576
|
const nul = (0, combi_1.seq)("IS", (0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)("NULL", (0, combi_1.ver)(version_1.Version.v753, "INITIAL")));
|
|
7575
|
-
const sub = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("ALL", "ANY", "SOME")), subSelect);
|
|
7577
|
+
const sub = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("ALL", "ANY", "SOME")), (0, combi_1.altPrio)(subSelect, simpleScalarSubSelect));
|
|
7576
7578
|
const source = new _1.SQLSource();
|
|
7577
7579
|
const arith = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.altPrio)("+", "-", "*", "/"), _1.SQLFieldName)), version_1.Version.OpenABAP);
|
|
7578
7580
|
const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
|
|
7579
7581
|
const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(_1.SimpleSource3, paren)), version_1.Version.OpenABAP);
|
|
7580
7582
|
const rett = (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLCase, _1.SQLAggregation, _1.SQLFunction, _1.ConstantString, (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLPath, _1.SQLFieldName), (0, combi_1.optPrio)(arith)), at), (0, combi_1.altPrio)((0, combi_1.seq)(_1.SQLCompareOperator, (0, combi_1.altPrio)(sub, _1.SQLCase, _1.SQLAggregation, _1.SQLFunction, (0, combi_1.seq)(source, (0, combi_1.optPrio)(arith)))), (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)(_1.SQLIn, like, between)), nul));
|
|
7581
|
-
// simple subquery for pre-v750 versions: EXISTS ( SELECT ... )
|
|
7582
|
-
const simpleSubSelect = (0, combi_1.seq)("(", "SELECT", (0, _select_core_1.buildSelectCore)(undefined, false), ")");
|
|
7583
7583
|
const exists = (0, combi_1.seq)("EXISTS", (0, combi_1.altPrio)(subSelect, simpleSubSelect));
|
|
7584
7584
|
return (0, combi_1.altPrio)(exists, _1.Dynamic, rett);
|
|
7585
7585
|
}
|
|
@@ -60082,9 +60082,10 @@ class FunctionGroup extends _abap_object_1.ABAPObject {
|
|
|
60082
60082
|
}
|
|
60083
60083
|
}
|
|
60084
60084
|
findTextFile() {
|
|
60085
|
-
const
|
|
60085
|
+
const name = this.getName().replace(/\//g, "#");
|
|
60086
|
+
const regex = new RegExp(name + "\\.fugr\\.(#\\w+#)?sapl" + name.replace(/^#\w+#/, "") + "\\.xml", "i");
|
|
60086
60087
|
for (const f of this.getFiles()) {
|
|
60087
|
-
if (f.getFilename()
|
|
60088
|
+
if (regex.test(f.getFilename())) {
|
|
60088
60089
|
return f;
|
|
60089
60090
|
}
|
|
60090
60091
|
}
|
|
@@ -66162,7 +66163,7 @@ class Registry {
|
|
|
66162
66163
|
}
|
|
66163
66164
|
static abaplintVersion() {
|
|
66164
66165
|
// magic, see build script "version.js"
|
|
66165
|
-
return "2.119.
|
|
66166
|
+
return "2.119.36";
|
|
66166
66167
|
}
|
|
66167
66168
|
getDDICReferences() {
|
|
66168
66169
|
return this.ddicReferences;
|
|
@@ -86542,6 +86543,7 @@ const _irule_1 = __webpack_require__(/*! ./_irule */ "../core/build/src/rules/_i
|
|
|
86542
86543
|
const version_1 = __webpack_require__(/*! ../version */ "../core/build/src/version.js");
|
|
86543
86544
|
const _abap_object_1 = __webpack_require__(/*! ../objects/_abap_object */ "../core/build/src/objects/_abap_object.js");
|
|
86544
86545
|
const syntax_1 = __webpack_require__(/*! ../abap/5_syntax/syntax */ "../core/build/src/abap/5_syntax/syntax.js");
|
|
86546
|
+
const _typed_identifier_1 = __webpack_require__(/*! ../abap/types/_typed_identifier */ "../core/build/src/abap/types/_typed_identifier.js");
|
|
86545
86547
|
const _scope_type_1 = __webpack_require__(/*! ../abap/5_syntax/_scope_type */ "../core/build/src/abap/5_syntax/_scope_type.js");
|
|
86546
86548
|
const _reference_1 = __webpack_require__(/*! ../abap/5_syntax/_reference */ "../core/build/src/abap/5_syntax/_reference.js");
|
|
86547
86549
|
const edit_helper_1 = __webpack_require__(/*! ../edit_helper */ "../core/build/src/edit_helper.js");
|
|
@@ -86642,10 +86644,16 @@ DATA(percentage) = CONV decfloat34( comment_number / abs_statement_number ) * 10
|
|
|
86642
86644
|
}
|
|
86643
86645
|
const file = obj.getABAPFileByName(identifier.getFilename());
|
|
86644
86646
|
const writeStatement = edit_helper_1.EditHelper.findStatement(next, file);
|
|
86647
|
+
if (writeStatement === undefined) {
|
|
86648
|
+
continue;
|
|
86649
|
+
}
|
|
86645
86650
|
const statementType = writeStatement === null || writeStatement === void 0 ? void 0 : writeStatement.get();
|
|
86646
86651
|
if (statementType === undefined) {
|
|
86647
86652
|
continue;
|
|
86648
86653
|
}
|
|
86654
|
+
else if (this.statementHasGenericRead(node, writeStatement)) {
|
|
86655
|
+
continue;
|
|
86656
|
+
}
|
|
86649
86657
|
// for now only allow some specific target statements, todo refactor
|
|
86650
86658
|
if (!(statementType instanceof Statements.Move
|
|
86651
86659
|
|| statementType instanceof Statements.Catch
|
|
@@ -86733,6 +86741,21 @@ DATA(percentage) = CONV decfloat34( comment_number / abs_statement_number ) * 10
|
|
|
86733
86741
|
}
|
|
86734
86742
|
return undefined;
|
|
86735
86743
|
}
|
|
86744
|
+
statementHasGenericRead(node, statement) {
|
|
86745
|
+
for (const ref of node.getData().references) {
|
|
86746
|
+
if (ref.referenceType !== _reference_1.ReferenceType.DataReadReference
|
|
86747
|
+
|| ref.resolved === undefined
|
|
86748
|
+
|| statement.includesToken(ref.position.getToken()) === false
|
|
86749
|
+
|| !(ref.resolved instanceof _typed_identifier_1.TypedIdentifier)) {
|
|
86750
|
+
continue;
|
|
86751
|
+
}
|
|
86752
|
+
else if (ref.resolved.getType().isGeneric() === true
|
|
86753
|
+
|| ref.resolved.getType().containsVoid() === true) {
|
|
86754
|
+
return true;
|
|
86755
|
+
}
|
|
86756
|
+
}
|
|
86757
|
+
return false;
|
|
86758
|
+
}
|
|
86736
86759
|
isLocalDefinition(node, identifier) {
|
|
86737
86760
|
const { start, end } = node.calcCoverage();
|
|
86738
86761
|
if (identifier.getStart().isAfter(start) && identifier.getStart().isBefore(end)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.119.
|
|
3
|
+
"version": "2.119.36",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://abaplint.org",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@abaplint/core": "^2.119.
|
|
41
|
+
"@abaplint/core": "^2.119.36",
|
|
42
42
|
"@types/chai": "^4.3.20",
|
|
43
43
|
"@types/minimist": "^1.2.5",
|
|
44
44
|
"@types/mocha": "^10.0.10",
|