@abaplint/transpiler-cli 2.7.38 → 2.7.40
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/bundle.js +21 -3
- package/package.json +4 -4
package/build/bundle.js
CHANGED
|
@@ -20258,6 +20258,7 @@ const _typed_identifier_1 = __webpack_require__(/*! ../types/_typed_identifier *
|
|
|
20258
20258
|
const basic_1 = __webpack_require__(/*! ../types/basic */ "./node_modules/@abaplint/core/build/src/abap/types/basic/index.js");
|
|
20259
20259
|
const ddic_1 = __webpack_require__(/*! ../../ddic */ "./node_modules/@abaplint/core/build/src/ddic.js");
|
|
20260
20260
|
const _object_oriented_1 = __webpack_require__(/*! ./_object_oriented */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_object_oriented.js");
|
|
20261
|
+
const _reference_1 = __webpack_require__(/*! ./_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
|
|
20261
20262
|
class Procedural {
|
|
20262
20263
|
constructor(reg, scope) {
|
|
20263
20264
|
this.scope = scope;
|
|
@@ -20331,7 +20332,19 @@ class Procedural {
|
|
|
20331
20332
|
if (param.type === undefined || param.type === "") {
|
|
20332
20333
|
found = new basic_1.AnyType();
|
|
20333
20334
|
}
|
|
20334
|
-
else {
|
|
20335
|
+
else if (param.type.includes("=>")) {
|
|
20336
|
+
// then its a type from global INTF or CLAS
|
|
20337
|
+
const [clas, name] = param.type.split("=>");
|
|
20338
|
+
const def = this.scope.findObjectDefinition(clas);
|
|
20339
|
+
if (def) {
|
|
20340
|
+
const type = def.getTypeDefinitions().getByName(name);
|
|
20341
|
+
if (type) {
|
|
20342
|
+
this.scope.addReference(nameToken, type, _reference_1.ReferenceType.TypeReference, filename);
|
|
20343
|
+
found = type.getType();
|
|
20344
|
+
}
|
|
20345
|
+
}
|
|
20346
|
+
}
|
|
20347
|
+
if (found === undefined) {
|
|
20335
20348
|
found = ddic.lookup(param.type).type;
|
|
20336
20349
|
}
|
|
20337
20350
|
if (param.direction === types_1.FunctionModuleParameterDirection.tables) {
|
|
@@ -23942,10 +23955,12 @@ class MethodParameters {
|
|
|
23942
23955
|
}
|
|
23943
23956
|
for (const item of items) {
|
|
23944
23957
|
const parameter = allImporting.find(p => p.getName().toUpperCase() === item.name);
|
|
23958
|
+
const calculated = item.source.findFirstExpression(Expressions.MethodCallChain) !== undefined
|
|
23959
|
+
|| item.source.findFirstExpression(Expressions.ArithOperator) !== undefined;
|
|
23945
23960
|
if (parameter === undefined) {
|
|
23946
23961
|
throw new Error("Method importing parameter \"" + item.name + "\" does not exist");
|
|
23947
23962
|
}
|
|
23948
|
-
else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(item.sourceType, parameter.getType()) === false) {
|
|
23963
|
+
else if (new _type_utils_1.TypeUtils(scope).isAssignableStrict(item.sourceType, parameter.getType(), calculated) === false) {
|
|
23949
23964
|
throw new Error("Method parameter type not compatible, " + item.name);
|
|
23950
23965
|
}
|
|
23951
23966
|
this.requiredParameters.delete(item.name);
|
|
@@ -47525,7 +47540,7 @@ class Registry {
|
|
|
47525
47540
|
}
|
|
47526
47541
|
static abaplintVersion() {
|
|
47527
47542
|
// magic, see build script "version.sh"
|
|
47528
|
-
return "2.102.
|
|
47543
|
+
return "2.102.3";
|
|
47529
47544
|
}
|
|
47530
47545
|
getDDICReferences() {
|
|
47531
47546
|
return this.ddicReferences;
|
|
@@ -62897,6 +62912,8 @@ class PreferPragmas extends _abap_rule_1.ABAPRule {
|
|
|
62897
62912
|
shortDescription: `prefer pragmas over pseudo comments `,
|
|
62898
62913
|
extendedInformation: `https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-pragmas-to-pseudo-comments`,
|
|
62899
62914
|
tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],
|
|
62915
|
+
badExample: `DATA foo1 TYPE i. "#EC NEEDED`,
|
|
62916
|
+
goodExample: `DATA foo2 TYPE i ##NEEDED.`,
|
|
62900
62917
|
};
|
|
62901
62918
|
}
|
|
62902
62919
|
getConfig() {
|
|
@@ -82856,6 +82873,7 @@ const parseXml = function(xmlData) {
|
|
|
82856
82873
|
if(tagExp.length > 0 && tagExp.lastIndexOf("/") === tagExp.length - 1){
|
|
82857
82874
|
if(tagName[tagName.length - 1] === "/"){ //remove trailing '/'
|
|
82858
82875
|
tagName = tagName.substr(0, tagName.length - 1);
|
|
82876
|
+
jPath = jPath.substr(0, jPath.length - 1);
|
|
82859
82877
|
tagExp = tagName;
|
|
82860
82878
|
}else{
|
|
82861
82879
|
tagExp = tagExp.substr(0, tagExp.length - 1);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.40",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"author": "abaplint",
|
|
27
27
|
"license": "MIT",
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@abaplint/transpiler": "^2.7.
|
|
29
|
+
"@abaplint/transpiler": "^2.7.40",
|
|
30
30
|
"@types/glob": "^7.2.0",
|
|
31
31
|
"glob": "=7.2.0",
|
|
32
32
|
"@types/progress": "^2.0.5",
|
|
33
33
|
"@types/node": "^20.4.2",
|
|
34
|
-
"@abaplint/core": "^2.102.
|
|
34
|
+
"@abaplint/core": "^2.102.3",
|
|
35
35
|
"progress": "^2.0.3",
|
|
36
|
-
"webpack": "^5.88.
|
|
36
|
+
"webpack": "^5.88.2",
|
|
37
37
|
"webpack-cli": "^5.1.4",
|
|
38
38
|
"typescript": "^5.1.6"
|
|
39
39
|
}
|