@abaplint/cli 2.113.232 → 2.113.233
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 +37 -3
- package/package.json +4 -4
package/build/cli.js
CHANGED
|
@@ -23979,9 +23979,30 @@ class TypeUtils {
|
|
|
23979
23979
|
return true;
|
|
23980
23980
|
}
|
|
23981
23981
|
else if (source instanceof basic_1.StructureType) {
|
|
23982
|
-
|
|
23982
|
+
const targetDeep = this.structureContainsString(target);
|
|
23983
|
+
const sourceDeep = this.structureContainsString(source);
|
|
23984
|
+
if (targetDeep && !sourceDeep) {
|
|
23983
23985
|
return false;
|
|
23984
23986
|
}
|
|
23987
|
+
const targetComponents = target.getComponents();
|
|
23988
|
+
const sourceComponents = source.getComponents();
|
|
23989
|
+
if (targetComponents.length !== sourceComponents.length) {
|
|
23990
|
+
if (targetDeep === true || sourceDeep === true) {
|
|
23991
|
+
return false;
|
|
23992
|
+
}
|
|
23993
|
+
}
|
|
23994
|
+
for (let i = 0; i < targetComponents.length; i++) {
|
|
23995
|
+
if (sourceComponents[i] === undefined) {
|
|
23996
|
+
continue;
|
|
23997
|
+
}
|
|
23998
|
+
// hmm
|
|
23999
|
+
if (sourceComponents[i].type instanceof basic_1.StringType && !(targetComponents[i].type instanceof basic_1.StringType)) {
|
|
24000
|
+
return false;
|
|
24001
|
+
}
|
|
24002
|
+
else if (!(sourceComponents[i].type instanceof basic_1.StringType) && targetComponents[i].type instanceof basic_1.StringType) {
|
|
24003
|
+
return false;
|
|
24004
|
+
}
|
|
24005
|
+
}
|
|
23985
24006
|
return true;
|
|
23986
24007
|
}
|
|
23987
24008
|
else if (target.containsVoid() === true) {
|
|
@@ -25977,7 +25998,7 @@ class FieldAssignment {
|
|
|
25977
25998
|
const text = c.concatTokens();
|
|
25978
25999
|
if (text !== "-" && context instanceof basic_1.StructureType) {
|
|
25979
26000
|
context = context.getComponentByName(text);
|
|
25980
|
-
if (context === undefined
|
|
26001
|
+
if (context === undefined) {
|
|
25981
26002
|
const message = `field ${text} does not exist in structure`;
|
|
25982
26003
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
25983
26004
|
return;
|
|
@@ -33131,6 +33152,7 @@ const _object_oriented_1 = __webpack_require__(/*! ../_object_oriented */ "./nod
|
|
|
33131
33152
|
const _scope_type_1 = __webpack_require__(/*! ../_scope_type */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_scope_type.js");
|
|
33132
33153
|
const _reference_1 = __webpack_require__(/*! ../_reference */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_reference.js");
|
|
33133
33154
|
const _syntax_input_1 = __webpack_require__(/*! ../_syntax_input */ "./node_modules/@abaplint/core/build/src/abap/5_syntax/_syntax_input.js");
|
|
33155
|
+
const visibility_1 = __webpack_require__(/*! ../../4_file_information/visibility */ "./node_modules/@abaplint/core/build/src/abap/4_file_information/visibility.js");
|
|
33134
33156
|
class MethodImplementation {
|
|
33135
33157
|
runSyntax(node, input) {
|
|
33136
33158
|
const helper = new _object_oriented_1.ObjectOriented(input.scope);
|
|
@@ -33144,6 +33166,13 @@ class MethodImplementation {
|
|
|
33144
33166
|
return;
|
|
33145
33167
|
}
|
|
33146
33168
|
const { method: methodDefinition } = helper.searchMethodName(classDefinition, methodName);
|
|
33169
|
+
if (classDefinition.isForTesting()
|
|
33170
|
+
&& (methodDefinition === null || methodDefinition === void 0 ? void 0 : methodDefinition.getVisibility()) !== visibility_1.Visibility.Private
|
|
33171
|
+
&& ["SETUP", "TEARDOWN", "CLASS_SETUP", "CLASS_TEARDOWN"].includes(methodName.toUpperCase())) {
|
|
33172
|
+
const message = "Special test method \"" + methodName + "\" must be private";
|
|
33173
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
33174
|
+
return;
|
|
33175
|
+
}
|
|
33147
33176
|
const start = node.getFirstToken().getStart();
|
|
33148
33177
|
if ((methodDefinition === null || methodDefinition === void 0 ? void 0 : methodDefinition.isStatic()) === false) {
|
|
33149
33178
|
input.scope.push(_scope_type_1.ScopeType.MethodInstance, methodName, start, input.filename);
|
|
@@ -33984,6 +34013,11 @@ class ReadTable {
|
|
|
33984
34013
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
33985
34014
|
return;
|
|
33986
34015
|
}
|
|
34016
|
+
else if (sourceType instanceof basic_1.TableType && sourceType.getAccessType() === basic_1.TableAccessType.hashed) {
|
|
34017
|
+
const message = "INDEX on hashed table not possible";
|
|
34018
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
34019
|
+
return;
|
|
34020
|
+
}
|
|
33987
34021
|
}
|
|
33988
34022
|
const fromSource = node.findExpressionAfterToken("FROM");
|
|
33989
34023
|
if (fromSource) {
|
|
@@ -54737,7 +54771,7 @@ class Registry {
|
|
|
54737
54771
|
}
|
|
54738
54772
|
static abaplintVersion() {
|
|
54739
54773
|
// magic, see build script "version.sh"
|
|
54740
|
-
return "2.113.
|
|
54774
|
+
return "2.113.233";
|
|
54741
54775
|
}
|
|
54742
54776
|
getDDICReferences() {
|
|
54743
54777
|
return this.ddicReferences;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/cli",
|
|
3
|
-
"version": "2.113.
|
|
3
|
+
"version": "2.113.233",
|
|
4
4
|
"description": "abaplint - Command Line Interface",
|
|
5
5
|
"funding": "https://github.com/sponsors/larshp",
|
|
6
6
|
"bin": {
|
|
@@ -38,16 +38,16 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://abaplint.org",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@abaplint/core": "^2.113.
|
|
41
|
+
"@abaplint/core": "^2.113.233",
|
|
42
42
|
"@types/chai": "^4.3.20",
|
|
43
43
|
"@types/minimist": "^1.2.5",
|
|
44
44
|
"@types/mocha": "^10.0.10",
|
|
45
|
-
"@types/node": "^24.
|
|
45
|
+
"@types/node": "^24.9.1",
|
|
46
46
|
"@types/progress": "^2.0.7",
|
|
47
47
|
"chai": "^4.5.0",
|
|
48
48
|
"p-limit": "^3.1.0",
|
|
49
49
|
"chalk": "^5.6.2",
|
|
50
|
-
"eslint": "^9.
|
|
50
|
+
"eslint": "^9.38.0",
|
|
51
51
|
"glob": "^11.0.3",
|
|
52
52
|
"json5": "^2.2.3",
|
|
53
53
|
"memfs": "^4.49.0",
|