@abaplint/core 2.94.17 → 2.94.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/abaplint.d.ts +5 -0
- package/build/src/abap/2_statements/expressions/index.js +1 -0
- package/build/src/abap/2_statements/expressions/sql_field_and_value.js +14 -0
- package/build/src/abap/2_statements/statements/update_database.js +1 -2
- package/build/src/registry.js +1 -1
- package/build/src/rules/definitions_top.js +5 -2
- package/package.json +2 -2
package/build/abaplint.d.ts
CHANGED
|
@@ -2051,6 +2051,7 @@ declare namespace Expressions {
|
|
|
2051
2051
|
SQLCompareOperator,
|
|
2052
2052
|
SQLCompare,
|
|
2053
2053
|
SQLCond,
|
|
2054
|
+
SQLFieldAndValue,
|
|
2054
2055
|
SQLFieldListLoop,
|
|
2055
2056
|
SQLFieldList,
|
|
2056
2057
|
SQLFieldName,
|
|
@@ -5189,6 +5190,10 @@ declare class SQLField extends Expression {
|
|
|
5189
5190
|
getRunnable(): IStatementRunnable;
|
|
5190
5191
|
}
|
|
5191
5192
|
|
|
5193
|
+
declare class SQLFieldAndValue extends Expression {
|
|
5194
|
+
getRunnable(): IStatementRunnable;
|
|
5195
|
+
}
|
|
5196
|
+
|
|
5192
5197
|
declare class SQLFieldList extends Expression {
|
|
5193
5198
|
getRunnable(): IStatementRunnable;
|
|
5194
5199
|
}
|
|
@@ -175,6 +175,7 @@ __exportStar(require("./sql_client"), exports);
|
|
|
175
175
|
__exportStar(require("./sql_compare_operator"), exports);
|
|
176
176
|
__exportStar(require("./sql_compare"), exports);
|
|
177
177
|
__exportStar(require("./sql_cond"), exports);
|
|
178
|
+
__exportStar(require("./sql_field_and_value"), exports);
|
|
178
179
|
__exportStar(require("./sql_field_list_loop"), exports);
|
|
179
180
|
__exportStar(require("./sql_field_list"), exports);
|
|
180
181
|
__exportStar(require("./sql_field_name"), exports);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SQLFieldAndValue = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const sql_field_name_1 = require("./sql_field_name");
|
|
6
|
+
const sql_source_1 = require("./sql_source");
|
|
7
|
+
class SQLFieldAndValue extends combi_1.Expression {
|
|
8
|
+
getRunnable() {
|
|
9
|
+
const param = (0, combi_1.seq)(sql_field_name_1.SQLFieldName, "=", sql_source_1.SQLSource);
|
|
10
|
+
return param;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.SQLFieldAndValue = SQLFieldAndValue;
|
|
14
|
+
//# sourceMappingURL=sql_field_and_value.js.map
|
|
@@ -5,8 +5,7 @@ const combi_1 = require("../combi");
|
|
|
5
5
|
const expressions_1 = require("../expressions");
|
|
6
6
|
class UpdateDatabase {
|
|
7
7
|
getMatcher() {
|
|
8
|
-
const
|
|
9
|
-
const parameters = (0, combi_1.seq)(param, (0, combi_1.star)((0, combi_1.seq)((0, combi_1.opt)(","), param)));
|
|
8
|
+
const parameters = (0, combi_1.seq)(expressions_1.SQLFieldAndValue, (0, combi_1.star)((0, combi_1.seq)((0, combi_1.opt)(","), expressions_1.SQLFieldAndValue)));
|
|
10
9
|
const set = (0, combi_1.seq)("SET", (0, combi_1.alt)(parameters, expressions_1.Dynamic), (0, combi_1.opt)((0, combi_1.seq)("WHERE", expressions_1.SQLCond)));
|
|
11
10
|
const fromTable = (0, combi_1.seq)("FROM", (0, combi_1.opt)("TABLE"), expressions_1.SQLSource);
|
|
12
11
|
const ret = (0, combi_1.seq)("UPDATE", expressions_1.DatabaseTable, (0, combi_1.opt)(expressions_1.SQLClient), (0, combi_1.opt)(expressions_1.DatabaseConnection), (0, combi_1.opt)((0, combi_1.alt)(fromTable, set)));
|
package/build/src/registry.js
CHANGED
|
@@ -29,7 +29,7 @@ class DefinitionsTop extends _abap_rule_1.ABAPRule {
|
|
|
29
29
|
return {
|
|
30
30
|
key: "definitions_top",
|
|
31
31
|
title: "Place definitions in top of routine",
|
|
32
|
-
shortDescription: `Checks that definitions are placed at the beginning of METHODs and
|
|
32
|
+
shortDescription: `Checks that definitions are placed at the beginning of METHODs, FORMs and FUNCTIONs.`,
|
|
33
33
|
extendedInformation: `If the routine has inline definitions then no issues are reported
|
|
34
34
|
|
|
35
35
|
https://docs.abapopenchecks.org/checks/17/`,
|
|
@@ -56,7 +56,7 @@ https://docs.abapopenchecks.org/checks/17/`,
|
|
|
56
56
|
if (containsUnknown === true) {
|
|
57
57
|
return [];
|
|
58
58
|
}
|
|
59
|
-
const routines = structure.findAllStructuresMulti([Structures.Form, Structures.Method]);
|
|
59
|
+
const routines = structure.findAllStructuresMulti([Structures.Form, Structures.Method, Structures.FunctionModule]);
|
|
60
60
|
for (const r of routines) {
|
|
61
61
|
// one fix per routine
|
|
62
62
|
this.fixed = false;
|
|
@@ -83,6 +83,9 @@ https://docs.abapopenchecks.org/checks/17/`,
|
|
|
83
83
|
if (get instanceof _statement_1.Comment) {
|
|
84
84
|
continue;
|
|
85
85
|
}
|
|
86
|
+
else if (get instanceof Statements.FunctionModule) {
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
86
89
|
else if (get instanceof Statements.Form) {
|
|
87
90
|
continue;
|
|
88
91
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.94.
|
|
3
|
+
"version": "2.94.19",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"typescript": "^4.9.4"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"fast-xml-parser": "^4.0.
|
|
63
|
+
"fast-xml-parser": "^4.0.13",
|
|
64
64
|
"json5": "^2.2.3",
|
|
65
65
|
"vscode-languageserver-types": "^3.17.2"
|
|
66
66
|
}
|