@abaplint/core 2.112.10 → 2.112.11
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 +20 -0
- package/build/src/abap/2_statements/expressions/message_class.js +1 -1
- package/build/src/abap/2_statements/statements/ranges.js +1 -1
- package/build/src/abap/3_structures/structures/class_definition.js +1 -1
- package/build/src/abap/3_structures/structures/index.js +1 -1
- package/build/src/abap/3_structures/structures/interface.js +2 -2
- package/build/src/abap/3_structures/structures/private_section.js +2 -2
- package/build/src/abap/3_structures/structures/protected_section.js +2 -2
- package/build/src/abap/3_structures/structures/public_section.js +2 -2
- package/build/src/abap/3_structures/structures/{section_section.js → section_contents.js} +2 -2
- package/build/src/abap/5_syntax/expressions/string_template.js +1 -1
- package/build/src/abap/5_syntax/statements/loop.js +5 -2
- package/build/src/abap/5_syntax/statements/ranges.js +1 -1
- package/build/src/ddic.js +1 -0
- package/build/src/objects/abap_query_functional_area.js +21 -0
- package/build/src/objects/abap_query_query.js +21 -0
- package/build/src/objects/index.js +2 -0
- package/build/src/registry.js +1 -1
- package/package.json +3 -3
package/build/abaplint.d.ts
CHANGED
|
@@ -33,6 +33,24 @@ export declare abstract class ABAPObject extends AbstractObject {
|
|
|
33
33
|
protected findTexts(parsed: any): void;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
declare class ABAPQueryFunctionalArea extends AbstractObject {
|
|
37
|
+
getType(): string;
|
|
38
|
+
getAllowedNaming(): {
|
|
39
|
+
maxLength: number;
|
|
40
|
+
allowNamespace: boolean;
|
|
41
|
+
};
|
|
42
|
+
getDescription(): string | undefined;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
declare class ABAPQueryQuery extends AbstractObject {
|
|
46
|
+
getType(): string;
|
|
47
|
+
getAllowedNaming(): {
|
|
48
|
+
maxLength: number;
|
|
49
|
+
allowNamespace: boolean;
|
|
50
|
+
};
|
|
51
|
+
getDescription(): string | undefined;
|
|
52
|
+
}
|
|
53
|
+
|
|
36
54
|
declare class Abstract extends Expression {
|
|
37
55
|
getRunnable(): IStatementRunnable;
|
|
38
56
|
}
|
|
@@ -4713,6 +4731,8 @@ declare class ObjectReferenceType extends AbstractType {
|
|
|
4713
4731
|
|
|
4714
4732
|
declare namespace Objects {
|
|
4715
4733
|
export {
|
|
4734
|
+
ABAPQueryFunctionalArea,
|
|
4735
|
+
ABAPQueryQuery,
|
|
4716
4736
|
ActivationVariant,
|
|
4717
4737
|
APIReleaseState,
|
|
4718
4738
|
ApplicationJobCatalogEntry,
|
|
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
|
|
|
5
5
|
class MessageClass extends combi_1.Expression {
|
|
6
6
|
getRunnable() {
|
|
7
7
|
// "&1" can be used for almost anything(field names, method names etc.) in macros
|
|
8
|
-
return (0, combi_1.regex)(/^>?
|
|
8
|
+
return (0, combi_1.regex)(/^>?[\w\/]+#?@?\/?!?&?>?\$?$/);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
exports.MessageClass = MessageClass;
|
|
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
|
|
|
7
7
|
class Ranges {
|
|
8
8
|
getMatcher() {
|
|
9
9
|
const occurs = (0, combi_1.seq)("OCCURS", expressions_1.Source);
|
|
10
|
-
const ret = (0, combi_1.seq)("RANGES", expressions_1.SimpleName, "FOR", expressions_1.
|
|
10
|
+
const ret = (0, combi_1.seq)("RANGES", expressions_1.SimpleName, "FOR", expressions_1.SimpleFieldChain2, (0, combi_1.opt)(occurs));
|
|
11
11
|
return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -8,7 +8,7 @@ const protected_section_1 = require("./protected_section");
|
|
|
8
8
|
const public_section_1 = require("./public_section");
|
|
9
9
|
class ClassDefinition {
|
|
10
10
|
getMatcher() {
|
|
11
|
-
const body = (0, _combi_1.seq)((0, _combi_1.opt)((0, _combi_1.sta)(Statements.SetExtendedCheck)), (0, _combi_1.star)((0, _combi_1.sta)(Statements.TypePools)), (0, _combi_1.opt)((0, _combi_1.sub)(public_section_1.PublicSection)), (0, _combi_1.
|
|
11
|
+
const body = (0, _combi_1.seq)((0, _combi_1.opt)((0, _combi_1.sta)(Statements.SetExtendedCheck)), (0, _combi_1.star)((0, _combi_1.sta)(Statements.TypePools)), (0, _combi_1.opt)((0, _combi_1.sub)(public_section_1.PublicSection)), (0, _combi_1.opt)((0, _combi_1.sub)(protected_section_1.ProtectedSection)), (0, _combi_1.opt)((0, _combi_1.sub)(private_section_1.PrivateSection)), (0, _combi_1.opt)((0, _combi_1.sta)(Statements.SetExtendedCheck)));
|
|
12
12
|
return (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.ClassDefinition), body, (0, _combi_1.sta)(Statements.EndClass));
|
|
13
13
|
}
|
|
14
14
|
}
|
|
@@ -53,7 +53,7 @@ __exportStar(require("./private_section"), exports);
|
|
|
53
53
|
__exportStar(require("./protected_section"), exports);
|
|
54
54
|
__exportStar(require("./provide"), exports);
|
|
55
55
|
__exportStar(require("./public_section"), exports);
|
|
56
|
-
__exportStar(require("./
|
|
56
|
+
__exportStar(require("./section_contents"), exports);
|
|
57
57
|
__exportStar(require("./select"), exports);
|
|
58
58
|
__exportStar(require("./statics"), exports);
|
|
59
59
|
__exportStar(require("./test_injection"), exports);
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Interface = void 0;
|
|
4
4
|
const Statements = require("../../2_statements/statements");
|
|
5
5
|
const _combi_1 = require("./_combi");
|
|
6
|
-
const
|
|
6
|
+
const section_contents_1 = require("./section_contents");
|
|
7
7
|
class Interface {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
const intf = (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Interface), (0, _combi_1.star)((0, _combi_1.sub)(
|
|
9
|
+
const intf = (0, _combi_1.beginEnd)((0, _combi_1.sta)(Statements.Interface), (0, _combi_1.star)((0, _combi_1.sub)(section_contents_1.SectionContents)), (0, _combi_1.sta)(Statements.EndInterface));
|
|
10
10
|
return intf;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PrivateSection = void 0;
|
|
4
4
|
const Statements = require("../../2_statements/statements");
|
|
5
5
|
const _combi_1 = require("./_combi");
|
|
6
|
-
const
|
|
6
|
+
const section_contents_1 = require("./section_contents");
|
|
7
7
|
class PrivateSection {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Private), (0, _combi_1.opt)((0, _combi_1.sub)(
|
|
9
|
+
return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Private), (0, _combi_1.opt)((0, _combi_1.sub)(section_contents_1.SectionContents)));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.PrivateSection = PrivateSection;
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ProtectedSection = void 0;
|
|
4
4
|
const Statements = require("../../2_statements/statements");
|
|
5
5
|
const _combi_1 = require("./_combi");
|
|
6
|
-
const
|
|
6
|
+
const section_contents_1 = require("./section_contents");
|
|
7
7
|
class ProtectedSection {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Protected), (0, _combi_1.opt)((0, _combi_1.sub)(
|
|
9
|
+
return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Protected), (0, _combi_1.opt)((0, _combi_1.sub)(section_contents_1.SectionContents)));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.ProtectedSection = ProtectedSection;
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PublicSection = void 0;
|
|
4
4
|
const Statements = require("../../2_statements/statements");
|
|
5
5
|
const _combi_1 = require("./_combi");
|
|
6
|
-
const
|
|
6
|
+
const section_contents_1 = require("./section_contents");
|
|
7
7
|
class PublicSection {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Public), (0, _combi_1.opt)((0, _combi_1.sub)(
|
|
9
|
+
return (0, _combi_1.seq)((0, _combi_1.sta)(Statements.Public), (0, _combi_1.opt)((0, _combi_1.sub)(section_contents_1.SectionContents)));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.PublicSection = PublicSection;
|
|
@@ -11,8 +11,8 @@ const data_1 = require("./data");
|
|
|
11
11
|
const _1 = require(".");
|
|
12
12
|
class SectionContents {
|
|
13
13
|
getMatcher() {
|
|
14
|
-
return (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.MethodDef), (0, _combi_1.sta)(Statements.InterfaceDef), (0, _combi_1.sta)(Statements.Data), (0, _combi_1.sta)(Statements.ClassData), (0, _combi_1.sta)(Statements.Events), (0, _combi_1.sta)(Statements.Constant), (0, _combi_1.sta)(Statements.Aliases), (0, _combi_1.sta)(Statements.TypePools), (0, _combi_1.sta)(Statements.InterfaceLoad), (0, _combi_1.sta)(Statements.ClassDefinitionLoad), (0, _combi_1.sub)(types_1.Types), (0, _combi_1.sub)(constants_1.Constants), (0, _combi_1.sub)(type_enum_1.TypeEnum), (0, _combi_1.sub)(_1.TypeMesh), (0, _combi_1.sub)(data_1.Data), (0, _combi_1.sub)(class_data_1.ClassData), (0, _combi_1.sta)(Statements.Type)));
|
|
14
|
+
return (0, _combi_1.star)((0, _combi_1.alt)((0, _combi_1.sta)(Statements.MethodDef), (0, _combi_1.sta)(Statements.InterfaceDef), (0, _combi_1.sta)(Statements.Data), (0, _combi_1.sta)(Statements.ClassData), (0, _combi_1.sta)(Statements.Events), (0, _combi_1.sta)(Statements.Constant), (0, _combi_1.sta)(Statements.Aliases), (0, _combi_1.sta)(Statements.TypePools), (0, _combi_1.sta)(Statements.InterfaceLoad), (0, _combi_1.sta)(Statements.ClassDefinitionLoad), (0, _combi_1.sta)(Statements.Include), (0, _combi_1.sub)(types_1.Types), (0, _combi_1.sub)(constants_1.Constants), (0, _combi_1.sub)(type_enum_1.TypeEnum), (0, _combi_1.sub)(_1.TypeMesh), (0, _combi_1.sub)(data_1.Data), (0, _combi_1.sub)(class_data_1.ClassData), (0, _combi_1.sta)(Statements.Type)));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
exports.SectionContents = SectionContents;
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=section_contents.js.map
|
|
@@ -39,7 +39,7 @@ class StringTemplate {
|
|
|
39
39
|
&& !(type instanceof basic_1.NumericGenericType)
|
|
40
40
|
&& !(type instanceof basic_1.NumericType)
|
|
41
41
|
&& !(type instanceof basic_1.AnyType)) {
|
|
42
|
-
const message =
|
|
42
|
+
const message = `Cannot apply ALPHA to this type (${type.constructor.name})`;
|
|
43
43
|
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, format.getFirstToken(), message));
|
|
44
44
|
return new basic_1.VoidType(_syntax_input_1.CheckSyntaxKey);
|
|
45
45
|
}
|
|
@@ -30,8 +30,11 @@ class Loop {
|
|
|
30
30
|
let rowType = undefined;
|
|
31
31
|
const concat = node.concatTokens().toUpperCase();
|
|
32
32
|
if (sourceType === undefined) {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
// if its a dynpro table control loop, then dont issue error
|
|
34
|
+
if (concat !== "LOOP.") {
|
|
35
|
+
const message = "No source type determined";
|
|
36
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, node.getFirstToken(), message));
|
|
37
|
+
}
|
|
35
38
|
return;
|
|
36
39
|
}
|
|
37
40
|
else if (sourceType instanceof basic_1.UnknownType) {
|
|
@@ -10,7 +10,7 @@ class Ranges {
|
|
|
10
10
|
runSyntax(node, input) {
|
|
11
11
|
var _a;
|
|
12
12
|
const nameToken = (_a = node.findFirstExpression(Expressions.SimpleName)) === null || _a === void 0 ? void 0 : _a.getFirstToken();
|
|
13
|
-
const typeExpression = node.findFirstExpression(Expressions.
|
|
13
|
+
const typeExpression = node.findFirstExpression(Expressions.SimpleFieldChain2);
|
|
14
14
|
if (typeExpression === undefined) {
|
|
15
15
|
throw new assert_error_1.AssertError("Ranges, unexpected node");
|
|
16
16
|
}
|
package/build/src/ddic.js
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ABAPQueryFunctionalArea = void 0;
|
|
4
|
+
const _abstract_object_1 = require("./_abstract_object");
|
|
5
|
+
class ABAPQueryFunctionalArea extends _abstract_object_1.AbstractObject {
|
|
6
|
+
getType() {
|
|
7
|
+
return "AQSG";
|
|
8
|
+
}
|
|
9
|
+
getAllowedNaming() {
|
|
10
|
+
return {
|
|
11
|
+
maxLength: 60, // todo
|
|
12
|
+
allowNamespace: true,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
getDescription() {
|
|
16
|
+
// todo
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.ABAPQueryFunctionalArea = ABAPQueryFunctionalArea;
|
|
21
|
+
//# sourceMappingURL=abap_query_functional_area.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ABAPQueryQuery = void 0;
|
|
4
|
+
const _abstract_object_1 = require("./_abstract_object");
|
|
5
|
+
class ABAPQueryQuery extends _abstract_object_1.AbstractObject {
|
|
6
|
+
getType() {
|
|
7
|
+
return "AQQU";
|
|
8
|
+
}
|
|
9
|
+
getAllowedNaming() {
|
|
10
|
+
return {
|
|
11
|
+
maxLength: 60, // todo
|
|
12
|
+
allowNamespace: true,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
getDescription() {
|
|
16
|
+
// todo
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.ABAPQueryQuery = ABAPQueryQuery;
|
|
21
|
+
//# sourceMappingURL=abap_query_query.js.map
|
|
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./abap_query_functional_area"), exports);
|
|
18
|
+
__exportStar(require("./abap_query_query"), exports);
|
|
17
19
|
__exportStar(require("./activation_variant"), exports);
|
|
18
20
|
__exportStar(require("./api_release_state"), exports);
|
|
19
21
|
__exportStar(require("./application_job_catalog_entry"), exports);
|
package/build/src/registry.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.112.
|
|
3
|
+
"version": "2.112.11",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
},
|
|
51
51
|
"homepage": "https://abaplint.org",
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@microsoft/api-extractor": "^7.47.
|
|
53
|
+
"@microsoft/api-extractor": "^7.47.5",
|
|
54
54
|
"@types/chai": "^4.3.17",
|
|
55
55
|
"@types/mocha": "^10.0.7",
|
|
56
|
-
"@types/node": "^22.0
|
|
56
|
+
"@types/node": "^22.1.0",
|
|
57
57
|
"chai": "^4.5.0",
|
|
58
58
|
"eslint": "^8.57.0",
|
|
59
59
|
"mocha": "^10.7.0",
|