@abaplint/core 2.94.13 → 2.94.15
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 +36 -1
- package/build/src/abap/2_statements/expressions/field_length.js +1 -2
- package/build/src/abap/2_statements/expressions/field_offset.js +1 -2
- package/build/src/abap/2_statements/expressions/index.js +1 -0
- package/build/src/abap/2_statements/expressions/simple_field_chain2.js +20 -0
- package/build/src/abap/5_syntax/expressions/field_length.js +3 -13
- package/build/src/abap/5_syntax/expressions/field_offset.js +3 -13
- package/build/src/abap/5_syntax/statements/read_textpool.js +18 -0
- package/build/src/abap/5_syntax/syntax.js +2 -0
- package/build/src/objects/authorization_object_extension.js +21 -0
- package/build/src/objects/index.js +4 -1
- package/build/src/objects/restriction_field.js +21 -0
- package/build/src/objects/restriction_type.js +21 -0
- package/build/src/registry.js +1 -1
- package/build/src/rules/cloud_types.js +6 -1
- package/package.json +2 -2
package/build/abaplint.d.ts
CHANGED
|
@@ -339,6 +339,15 @@ declare class AuthorizationObjectClass extends AbstractObject {
|
|
|
339
339
|
getDescription(): string | undefined;
|
|
340
340
|
}
|
|
341
341
|
|
|
342
|
+
declare class AuthorizationObjectExtension extends AbstractObject {
|
|
343
|
+
getType(): string;
|
|
344
|
+
getAllowedNaming(): {
|
|
345
|
+
maxLength: number;
|
|
346
|
+
allowNamespace: boolean;
|
|
347
|
+
};
|
|
348
|
+
getDescription(): string | undefined;
|
|
349
|
+
}
|
|
350
|
+
|
|
342
351
|
declare class Back implements IStatement {
|
|
343
352
|
getMatcher(): IStatementRunnable;
|
|
344
353
|
}
|
|
@@ -2022,6 +2031,7 @@ declare namespace Expressions {
|
|
|
2022
2031
|
SelectLoop_2 as SelectLoop,
|
|
2023
2032
|
Select_3 as Select,
|
|
2024
2033
|
SimpleFieldChain,
|
|
2034
|
+
SimpleFieldChain2,
|
|
2025
2035
|
SimpleName,
|
|
2026
2036
|
SimpleSource1,
|
|
2027
2037
|
SimpleSource2,
|
|
@@ -4120,6 +4130,7 @@ declare namespace Objects {
|
|
|
4120
4130
|
AuthorizationCheckField,
|
|
4121
4131
|
AuthorizationGroup,
|
|
4122
4132
|
AuthorizationObjectClass,
|
|
4133
|
+
AuthorizationObjectExtension,
|
|
4123
4134
|
AuthorizationObject,
|
|
4124
4135
|
BehaviorDefinition,
|
|
4125
4136
|
BSPApplication,
|
|
@@ -4135,10 +4146,10 @@ declare namespace Objects {
|
|
|
4135
4146
|
ChangeDocument,
|
|
4136
4147
|
ChapterOfBookStructure,
|
|
4137
4148
|
CheckpointGroup,
|
|
4138
|
-
CommunicationScenario,
|
|
4139
4149
|
ClassCategory,
|
|
4140
4150
|
Class,
|
|
4141
4151
|
Classification,
|
|
4152
|
+
CommunicationScenario,
|
|
4142
4153
|
CompositeEnhancementImplementation,
|
|
4143
4154
|
CompositeEnhancementSpot,
|
|
4144
4155
|
ConceptsOfPackage,
|
|
@@ -4203,6 +4214,8 @@ declare namespace Objects {
|
|
|
4203
4214
|
Program,
|
|
4204
4215
|
ProxyObject,
|
|
4205
4216
|
PushChannel,
|
|
4217
|
+
RestrictionField,
|
|
4218
|
+
RestrictionType,
|
|
4206
4219
|
RFCService,
|
|
4207
4220
|
SAPScriptStyle,
|
|
4208
4221
|
SAPScript,
|
|
@@ -4696,6 +4709,24 @@ declare class Reserve implements IStatement {
|
|
|
4696
4709
|
getMatcher(): IStatementRunnable;
|
|
4697
4710
|
}
|
|
4698
4711
|
|
|
4712
|
+
declare class RestrictionField extends AbstractObject {
|
|
4713
|
+
getType(): string;
|
|
4714
|
+
getAllowedNaming(): {
|
|
4715
|
+
maxLength: number;
|
|
4716
|
+
allowNamespace: boolean;
|
|
4717
|
+
};
|
|
4718
|
+
getDescription(): string | undefined;
|
|
4719
|
+
}
|
|
4720
|
+
|
|
4721
|
+
declare class RestrictionType extends AbstractObject {
|
|
4722
|
+
getType(): string;
|
|
4723
|
+
getAllowedNaming(): {
|
|
4724
|
+
maxLength: number;
|
|
4725
|
+
allowNamespace: boolean;
|
|
4726
|
+
};
|
|
4727
|
+
getDescription(): string | undefined;
|
|
4728
|
+
}
|
|
4729
|
+
|
|
4699
4730
|
declare class Result {
|
|
4700
4731
|
private readonly tokens;
|
|
4701
4732
|
private readonly tokenIndex;
|
|
@@ -4989,6 +5020,10 @@ declare class SimpleFieldChain extends Expression {
|
|
|
4989
5020
|
getRunnable(): IStatementRunnable;
|
|
4990
5021
|
}
|
|
4991
5022
|
|
|
5023
|
+
declare class SimpleFieldChain2 extends Expression {
|
|
5024
|
+
getRunnable(): IStatementRunnable;
|
|
5025
|
+
}
|
|
5026
|
+
|
|
4992
5027
|
declare class SimpleName extends Expression {
|
|
4993
5028
|
getRunnable(): IStatementRunnable;
|
|
4994
5029
|
}
|
|
@@ -6,8 +6,7 @@ const tokens_1 = require("../../1_lexer/tokens");
|
|
|
6
6
|
const _1 = require(".");
|
|
7
7
|
class FieldLength extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
const
|
|
10
|
-
const normal = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.Plus)), (0, combi_1.altPrio)((0, combi_1.regex)(/^\d+$/), named));
|
|
9
|
+
const normal = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.tok)(tokens_1.Plus)), (0, combi_1.altPrio)((0, combi_1.regex)(/^\d+$/), _1.SimpleFieldChain2));
|
|
11
10
|
const length = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.altPrio)(normal, "*"), (0, combi_1.tok)(tokens_1.ParenRightW));
|
|
12
11
|
return length;
|
|
13
12
|
}
|
|
@@ -6,8 +6,7 @@ const tokens_1 = require("../../1_lexer/tokens");
|
|
|
6
6
|
const _1 = require(".");
|
|
7
7
|
class FieldOffset extends combi_1.Expression {
|
|
8
8
|
getRunnable() {
|
|
9
|
-
const
|
|
10
|
-
const offset = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Plus), (0, combi_1.altPrio)((0, combi_1.regex)(/^\d+$/), named));
|
|
9
|
+
const offset = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Plus), (0, combi_1.altPrio)((0, combi_1.regex)(/^\d+$/), _1.SimpleFieldChain2));
|
|
11
10
|
return offset;
|
|
12
11
|
}
|
|
13
12
|
}
|
|
@@ -155,6 +155,7 @@ __exportStar(require("./report_name"), exports);
|
|
|
155
155
|
__exportStar(require("./select_loop"), exports);
|
|
156
156
|
__exportStar(require("./select"), exports);
|
|
157
157
|
__exportStar(require("./simple_field_chain"), exports);
|
|
158
|
+
__exportStar(require("./simple_field_chain2"), exports);
|
|
158
159
|
__exportStar(require("./simple_name"), exports);
|
|
159
160
|
__exportStar(require("./simple_source1"), exports);
|
|
160
161
|
__exportStar(require("./simple_source2"), exports);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SimpleFieldChain2 = void 0;
|
|
4
|
+
const combi_1 = require("../combi");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
const tokens_1 = require("../../1_lexer/tokens");
|
|
7
|
+
const attribute_name_1 = require("./attribute_name");
|
|
8
|
+
class SimpleFieldChain2 extends combi_1.Expression {
|
|
9
|
+
getRunnable() {
|
|
10
|
+
const attr = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.InstanceArrow), attribute_name_1.AttributeName);
|
|
11
|
+
const comp = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.Dash), _1.ComponentName);
|
|
12
|
+
const chain = (0, combi_1.star)((0, combi_1.altPrio)(attr, comp));
|
|
13
|
+
const clas = (0, combi_1.seq)(_1.ClassName, (0, combi_1.tok)(tokens_1.StaticArrow), attribute_name_1.AttributeName);
|
|
14
|
+
const start = (0, combi_1.altPrio)(clas, _1.SourceField, _1.SourceFieldSymbol);
|
|
15
|
+
const ret = (0, combi_1.seq)(start, chain);
|
|
16
|
+
return ret;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.SimpleFieldChain2 = SimpleFieldChain2;
|
|
20
|
+
//# sourceMappingURL=simple_field_chain2.js.map
|
|
@@ -2,22 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FieldLength = void 0;
|
|
4
4
|
const Expressions = require("../../2_statements/expressions");
|
|
5
|
-
const
|
|
6
|
-
const source_field_symbol_1 = require("./source_field_symbol");
|
|
5
|
+
const field_chain_1 = require("./field_chain");
|
|
7
6
|
class FieldLength {
|
|
8
7
|
runSyntax(node, scope, filename) {
|
|
9
|
-
const field = node.findDirectExpression(Expressions.
|
|
8
|
+
const field = node.findDirectExpression(Expressions.SimpleFieldChain2);
|
|
10
9
|
if (field) {
|
|
11
|
-
|
|
12
|
-
const found = scope.findVariable(token.getStr());
|
|
13
|
-
if (found === undefined) {
|
|
14
|
-
throw new Error("\"" + field.getFirstToken().getStr() + "\" not found, FieldLength");
|
|
15
|
-
}
|
|
16
|
-
scope.addReference(token, found, _reference_1.ReferenceType.DataReadReference, filename);
|
|
17
|
-
}
|
|
18
|
-
const symbol = node.findDirectExpression(Expressions.SourceFieldSymbol);
|
|
19
|
-
if (symbol) {
|
|
20
|
-
new source_field_symbol_1.SourceFieldSymbol().runSyntax(symbol, scope, filename);
|
|
10
|
+
new field_chain_1.FieldChain().runSyntax(field, scope, filename);
|
|
21
11
|
}
|
|
22
12
|
}
|
|
23
13
|
}
|
|
@@ -2,22 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FieldOffset = void 0;
|
|
4
4
|
const Expressions = require("../../2_statements/expressions");
|
|
5
|
-
const
|
|
6
|
-
const source_field_symbol_1 = require("./source_field_symbol");
|
|
5
|
+
const field_chain_1 = require("./field_chain");
|
|
7
6
|
class FieldOffset {
|
|
8
7
|
runSyntax(node, scope, filename) {
|
|
9
|
-
const field = node.findDirectExpression(Expressions.
|
|
8
|
+
const field = node.findDirectExpression(Expressions.SimpleFieldChain2);
|
|
10
9
|
if (field) {
|
|
11
|
-
|
|
12
|
-
const found = scope.findVariable(token.getStr());
|
|
13
|
-
if (found === undefined) {
|
|
14
|
-
throw new Error("\"" + field.getFirstToken().getStr() + "\" not found, FieldOffset");
|
|
15
|
-
}
|
|
16
|
-
scope.addReference(token, found, _reference_1.ReferenceType.DataReadReference, filename);
|
|
17
|
-
}
|
|
18
|
-
const symbol = node.findDirectExpression(Expressions.SourceFieldSymbol);
|
|
19
|
-
if (symbol) {
|
|
20
|
-
new source_field_symbol_1.SourceFieldSymbol().runSyntax(symbol, scope, filename);
|
|
10
|
+
new field_chain_1.FieldChain().runSyntax(field, scope, filename);
|
|
21
11
|
}
|
|
22
12
|
}
|
|
23
13
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReadTextpool = void 0;
|
|
4
|
+
const Expressions = require("../../2_statements/expressions");
|
|
5
|
+
const source_1 = require("../expressions/source");
|
|
6
|
+
const target_1 = require("../expressions/target");
|
|
7
|
+
class ReadTextpool {
|
|
8
|
+
runSyntax(node, scope, filename) {
|
|
9
|
+
for (const s of node.findDirectExpressions(Expressions.Source)) {
|
|
10
|
+
new source_1.Source().runSyntax(s, scope, filename);
|
|
11
|
+
}
|
|
12
|
+
for (const t of node.findDirectExpressions(Expressions.Target)) {
|
|
13
|
+
new target_1.Target().runSyntax(t, scope, filename);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.ReadTextpool = ReadTextpool;
|
|
18
|
+
//# sourceMappingURL=read_textpool.js.map
|
|
@@ -46,6 +46,7 @@ const split_1 = require("./statements/split");
|
|
|
46
46
|
const assign_1 = require("./statements/assign");
|
|
47
47
|
const convert_1 = require("./statements/convert");
|
|
48
48
|
const describe_1 = require("./statements/describe");
|
|
49
|
+
const read_textpool_1 = require("./statements/read_textpool");
|
|
49
50
|
const find_1 = require("./statements/find");
|
|
50
51
|
const message_1 = require("./statements/message");
|
|
51
52
|
const get_time_1 = require("./statements/get_time");
|
|
@@ -264,6 +265,7 @@ if (Object.keys(map).length === 0) {
|
|
|
264
265
|
addToMap(new search_1.Search());
|
|
265
266
|
addToMap(new translate_1.Translate());
|
|
266
267
|
addToMap(new modify_internal_1.ModifyInternal());
|
|
268
|
+
addToMap(new read_textpool_1.ReadTextpool());
|
|
267
269
|
}
|
|
268
270
|
// -----------------------------------
|
|
269
271
|
class SyntaxLogic {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthorizationObjectExtension = void 0;
|
|
4
|
+
const _abstract_object_1 = require("./_abstract_object");
|
|
5
|
+
class AuthorizationObjectExtension extends _abstract_object_1.AbstractObject {
|
|
6
|
+
getType() {
|
|
7
|
+
return "SIA3";
|
|
8
|
+
}
|
|
9
|
+
getAllowedNaming() {
|
|
10
|
+
return {
|
|
11
|
+
maxLength: 100,
|
|
12
|
+
allowNamespace: true,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
getDescription() {
|
|
16
|
+
// todo
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.AuthorizationObjectExtension = AuthorizationObjectExtension;
|
|
21
|
+
//# sourceMappingURL=authorization_object_extension.js.map
|
|
@@ -20,6 +20,7 @@ __exportStar(require("./assignment_service_to_authorization_group"), exports);
|
|
|
20
20
|
__exportStar(require("./authorization_check_field"), exports);
|
|
21
21
|
__exportStar(require("./authorization_group"), exports);
|
|
22
22
|
__exportStar(require("./authorization_object_class"), exports);
|
|
23
|
+
__exportStar(require("./authorization_object_extension"), exports);
|
|
23
24
|
__exportStar(require("./authorization_object"), exports);
|
|
24
25
|
__exportStar(require("./behavior_definition"), exports);
|
|
25
26
|
__exportStar(require("./bsp_application"), exports);
|
|
@@ -34,9 +35,9 @@ __exportStar(require("./cds_metadata_extension"), exports);
|
|
|
34
35
|
__exportStar(require("./change_document"), exports);
|
|
35
36
|
__exportStar(require("./chapter_of_book_structure"), exports);
|
|
36
37
|
__exportStar(require("./checkpoint_group"), exports);
|
|
37
|
-
__exportStar(require("./communication_scenario"), exports);
|
|
38
38
|
__exportStar(require("./class"), exports);
|
|
39
39
|
__exportStar(require("./classification"), exports);
|
|
40
|
+
__exportStar(require("./communication_scenario"), exports);
|
|
40
41
|
__exportStar(require("./composite_enhancement_implementation"), exports);
|
|
41
42
|
__exportStar(require("./composite_enhancement_spot"), exports);
|
|
42
43
|
__exportStar(require("./concepts_of_package"), exports);
|
|
@@ -98,6 +99,8 @@ __exportStar(require("./personalization_object"), exports);
|
|
|
98
99
|
__exportStar(require("./program"), exports);
|
|
99
100
|
__exportStar(require("./proxy_object"), exports);
|
|
100
101
|
__exportStar(require("./push_channel"), exports);
|
|
102
|
+
__exportStar(require("./restriction_field"), exports);
|
|
103
|
+
__exportStar(require("./restriction_type"), exports);
|
|
101
104
|
__exportStar(require("./rfc_service"), exports);
|
|
102
105
|
__exportStar(require("./sapscript_style"), exports);
|
|
103
106
|
__exportStar(require("./sapscript"), exports);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RestrictionField = void 0;
|
|
4
|
+
const _abstract_object_1 = require("./_abstract_object");
|
|
5
|
+
class RestrictionField extends _abstract_object_1.AbstractObject {
|
|
6
|
+
getType() {
|
|
7
|
+
return "SIA5";
|
|
8
|
+
}
|
|
9
|
+
getAllowedNaming() {
|
|
10
|
+
return {
|
|
11
|
+
maxLength: 200,
|
|
12
|
+
allowNamespace: true,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
getDescription() {
|
|
16
|
+
// todo
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.RestrictionField = RestrictionField;
|
|
21
|
+
//# sourceMappingURL=restriction_field.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RestrictionType = void 0;
|
|
4
|
+
const _abstract_object_1 = require("./_abstract_object");
|
|
5
|
+
class RestrictionType extends _abstract_object_1.AbstractObject {
|
|
6
|
+
getType() {
|
|
7
|
+
return "SIA2";
|
|
8
|
+
}
|
|
9
|
+
getAllowedNaming() {
|
|
10
|
+
return {
|
|
11
|
+
maxLength: 200,
|
|
12
|
+
allowNamespace: true,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
getDescription() {
|
|
16
|
+
// todo
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.RestrictionType = RestrictionType;
|
|
21
|
+
//# sourceMappingURL=restriction_type.js.map
|
package/build/src/registry.js
CHANGED
|
@@ -38,11 +38,16 @@ class CloudTypes {
|
|
|
38
38
|
run(obj) {
|
|
39
39
|
if (this.reg.getConfig().getVersion() !== version_1.Version.Cloud
|
|
40
40
|
|| obj instanceof Objects.AssignmentServiceToAuthorizationGroup
|
|
41
|
+
|| obj instanceof Objects.AuthorizationCheckField
|
|
42
|
+
|| obj instanceof Objects.AuthorizationObject
|
|
43
|
+
|| obj instanceof Objects.AuthorizationObjectExtension
|
|
41
44
|
|| obj instanceof Objects.BehaviorDefinition
|
|
42
45
|
|| obj instanceof Objects.BusinessCatalog
|
|
43
46
|
|| obj instanceof Objects.BusinessCatalogAppAssignment
|
|
44
47
|
|| obj instanceof Objects.CDSMetadataExtension
|
|
48
|
+
|| obj instanceof Objects.RestrictionField
|
|
45
49
|
|| obj instanceof Objects.Class
|
|
50
|
+
|| obj instanceof Objects.CommunicationScenario
|
|
46
51
|
|| obj instanceof Objects.DataControl
|
|
47
52
|
|| obj instanceof Objects.DataDefinition
|
|
48
53
|
|| obj instanceof Objects.DataElement
|
|
@@ -50,12 +55,12 @@ class CloudTypes {
|
|
|
50
55
|
|| obj instanceof Objects.FunctionGroup
|
|
51
56
|
|| obj instanceof Objects.HttpService
|
|
52
57
|
|| obj instanceof Objects.IAMApp
|
|
53
|
-
|| obj instanceof Objects.CommunicationScenario
|
|
54
58
|
|| obj instanceof Objects.InboundService
|
|
55
59
|
|| obj instanceof Objects.Interface
|
|
56
60
|
|| obj instanceof Objects.LockObject
|
|
57
61
|
|| obj instanceof Objects.MessageClass
|
|
58
62
|
|| obj instanceof Objects.Package
|
|
63
|
+
|| obj instanceof Objects.RestrictionType
|
|
59
64
|
|| obj instanceof Objects.ServiceBinding
|
|
60
65
|
|| obj instanceof Objects.ServiceDefinition
|
|
61
66
|
|| obj instanceof Objects.Table
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/core",
|
|
3
|
-
"version": "2.94.
|
|
3
|
+
"version": "2.94.15",
|
|
4
4
|
"description": "abaplint - Core API",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"typings": "build/abaplint.d.ts",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"fast-xml-parser": "^4.0.12",
|
|
64
|
-
"json5": "^2.2.
|
|
64
|
+
"json5": "^2.2.3",
|
|
65
65
|
"vscode-languageserver-types": "^3.17.2"
|
|
66
66
|
}
|
|
67
67
|
}
|