@abaplint/cli 2.102.2 → 2.102.3
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 +21 -3
- package/package.json +3 -3
package/build/cli.js
CHANGED
|
@@ -21205,6 +21205,7 @@ const _typed_identifier_1 = __webpack_require__(/*! ../types/_typed_identifier *
|
|
|
21205
21205
|
const basic_1 = __webpack_require__(/*! ../types/basic */ "./node_modules/@abaplint/core/build/src/abap/types/basic/index.js");
|
|
21206
21206
|
const ddic_1 = __webpack_require__(/*! ../../ddic */ "./node_modules/@abaplint/core/build/src/ddic.js");
|
|
21207
21207
|
const _object_oriented_1 = __webpack_require__(/*! ./_object_oriented */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js");
|
|
21208
|
+
const _reference_1 = __webpack_require__(/*! ./_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
|
|
21208
21209
|
class Procedural {
|
|
21209
21210
|
constructor(reg, scope) {
|
|
21210
21211
|
this.scope = scope;
|
|
@@ -21278,7 +21279,19 @@ class Procedural {
|
|
|
21278
21279
|
if (param.type === undefined || param.type === "") {
|
|
21279
21280
|
found = new basic_1.AnyType();
|
|
21280
21281
|
}
|
|
21281
|
-
else {
|
|
21282
|
+
else if (param.type.includes("=>")) {
|
|
21283
|
+
// then its a type from global INTF or CLAS
|
|
21284
|
+
const [clas, name] = param.type.split("=>");
|
|
21285
|
+
const def = this.scope.findObjectDefinition(clas);
|
|
21286
|
+
if (def) {
|
|
21287
|
+
const type = def.getTypeDefinitions().getByName(name);
|
|
21288
|
+
if (type) {
|
|
21289
|
+
this.scope.addReference(nameToken, type, _reference_1.ReferenceType.TypeReference, filename);
|
|
21290
|
+
found = type.getType();
|
|
21291
|
+
}
|
|
21292
|
+
}
|
|
21293
|
+
}
|
|
21294
|
+
if (found === undefined) {
|
|
21282
21295
|
found = ddic.lookup(param.type).type;
|
|
21283
21296
|
}
|
|
21284
21297
|
if (param.direction === types_1.FunctionModuleParameterDirection.tables) {
|
|
@@ -24889,10 +24902,12 @@ class MethodParameters {
|
|
|
24889
24902
|
}
|
|
24890
24903
|
for (const item of items) {
|
|
24891
24904
|
const parameter = allImporting.find(p => p.getName().toUpperCase() === item.name);
|
|
24905
|
+
const calculated = item.source.findFirstExpression(Expressions.MethodCallChain) !== undefined
|
|
24906
|
+
|| item.source.findFirstExpression(Expressions.ArithOperator) !== undefined;
|
|
24892
24907
|
if (parameter === undefined) {
|
|
24893
24908
|
throw new Error("Method importing parameter \"" + item.name + "\" does not exist");
|
|
24894
24909
|
}
|
|
24895
|
-
else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(item.sourceType, parameter.getType()) === false) {
|
|
24910
|
+
else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(item.sourceType, parameter.getType(), calculated) === false) {
|
|
24896
24911
|
throw new Error("Method parameter type not compatible, " + item.name);
|
|
24897
24912
|
}
|
|
24898
24913
|
this.requiredParameters.delete(item.name);
|
|
@@ -48472,7 +48487,7 @@ class Registry {
|
|
|
48472
48487
|
}
|
|
48473
48488
|
static abaplintVersion() {
|
|
48474
48489
|
// magic, see build script "version.sh"
|
|
48475
|
-
return "2.102.
|
|
48490
|
+
return "2.102.3";
|
|
48476
48491
|
}
|
|
48477
48492
|
getDDICReferences() {
|
|
48478
48493
|
return this.ddicReferences;
|
|
@@ -63844,6 +63859,8 @@ class PreferPragmas extends _abap_rule_1.ABAPRule {
|
|
|
63844
63859
|
shortDescription: `prefer pragmas over pseudo comments `,
|
|
63845
63860
|
extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-pragmas-to-pseudo-comments`,
|
|
63846
63861
|
tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],
|
|
63862
|
+
badExample: `DATA foo1 TYPE i. "#EC NEEDED`,
|
|
63863
|
+
goodExample: `DATA foo2 TYPE i ##NEEDED.`,
|
|
63847
63864
|
};
|
|
63848
63865
|
}
|
|
63849
63866
|
getConfig() {
|
|
@@ -71782,6 +71799,7 @@ const parseXml = function(xmlData) {
|
|
|
71782
71799
|
if(tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1){
|
|
71783
71800
|
if(tagName[tagName.length - 1] === "/"){ //remove trailing '/'
|
|
71784
71801
|
tagName = tagName.substr(0, tagName.length - 1);
|
|
71802
|
+
jPath = jPath.substr(0, jPath.length - 1);
|
|
71785
71803
|
tagExp = tagName;
|
|
71786
71804
|
}else{
|
|
71787
71805
|
tagExp = tagExp.substr(0, tagExp.length - 1);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.102.
|
|
3
|
+
"version": "2.102.3",
|
|
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.102.
|
|
41
|
+
"@abaplint/core": "^2.102.3",
|
|
42
42
|
"@types/chai": "^4.3.5",
|
|
43
43
|
"@types/glob": "^7.2.0",
|
|
44
44
|
"@types/minimist": "^1.2.2",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"mocha": "^10.2.0",
|
|
56
56
|
"progress": "^2.0.3",
|
|
57
57
|
"typescript": "^5.1.6",
|
|
58
|
-
"webpack": "^5.88.
|
|
58
|
+
"webpack": "^5.88.2",
|
|
59
59
|
"webpack-cli": "^5.1.4",
|
|
60
60
|
"xml-js": "^1.6.11"
|
|
61
61
|
},
|