@abaplint/core 2.94.12 → 2.94.14

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.
@@ -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
  }
@@ -4120,6 +4129,7 @@ declare namespace Objects {
4120
4129
  AuthorizationCheckField,
4121
4130
  AuthorizationGroup,
4122
4131
  AuthorizationObjectClass,
4132
+ AuthorizationObjectExtension,
4123
4133
  AuthorizationObject,
4124
4134
  BehaviorDefinition,
4125
4135
  BSPApplication,
@@ -4135,10 +4145,10 @@ declare namespace Objects {
4135
4145
  ChangeDocument,
4136
4146
  ChapterOfBookStructure,
4137
4147
  CheckpointGroup,
4138
- CommunicationScenario,
4139
4148
  ClassCategory,
4140
4149
  Class,
4141
4150
  Classification,
4151
+ CommunicationScenario,
4142
4152
  CompositeEnhancementImplementation,
4143
4153
  CompositeEnhancementSpot,
4144
4154
  ConceptsOfPackage,
@@ -4203,6 +4213,8 @@ declare namespace Objects {
4203
4213
  Program,
4204
4214
  ProxyObject,
4205
4215
  PushChannel,
4216
+ RestrictionField,
4217
+ RestrictionType,
4206
4218
  RFCService,
4207
4219
  SAPScriptStyle,
4208
4220
  SAPScript,
@@ -4696,6 +4708,24 @@ declare class Reserve implements IStatement {
4696
4708
  getMatcher(): IStatementRunnable;
4697
4709
  }
4698
4710
 
4711
+ declare class RestrictionField extends AbstractObject {
4712
+ getType(): string;
4713
+ getAllowedNaming(): {
4714
+ maxLength: number;
4715
+ allowNamespace: boolean;
4716
+ };
4717
+ getDescription(): string | undefined;
4718
+ }
4719
+
4720
+ declare class RestrictionType extends AbstractObject {
4721
+ getType(): string;
4722
+ getAllowedNaming(): {
4723
+ maxLength: number;
4724
+ allowNamespace: boolean;
4725
+ };
4726
+ getDescription(): string | undefined;
4727
+ }
4728
+
4699
4729
  declare class Result {
4700
4730
  private readonly tokens;
4701
4731
  private readonly tokenIndex;
@@ -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
@@ -63,7 +63,7 @@ class Registry {
63
63
  }
64
64
  static abaplintVersion() {
65
65
  // magic, see build script "version.sh"
66
- return "2.94.12";
66
+ return "2.94.14";
67
67
  }
68
68
  getDDICReferences() {
69
69
  return this.references;
@@ -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
@@ -34,7 +34,9 @@ class CyclicOO {
34
34
  shortDescription: `Finds cyclic OO references`,
35
35
  extendedInformation: `Runs for global INTF + CLAS objects
36
36
 
37
- Objects must be without syntax errors for this rule to take effect`,
37
+ Objects must be without syntax errors for this rule to take effect
38
+
39
+ References in testclass includes are ignored`,
38
40
  };
39
41
  }
40
42
  getConfig() {
@@ -101,7 +103,7 @@ Objects must be without syntax errors for this rule to take effect`,
101
103
  previous[obj.getName()] = true;
102
104
  const path = this.findCycle(obj.getName(), obj.getName(), previous);
103
105
  if (path) {
104
- const message = "Cyclic definition/usage: " + path;
106
+ const message = "Cyclic definition/usage: " + obj.getName() + " -> " + path;
105
107
  return [issue_1.Issue.atIdentifier(id, message, this.getMetadata().key, this.conf.severity)];
106
108
  }
107
109
  return [];
@@ -113,13 +115,13 @@ Objects must be without syntax errors for this rule to take effect`,
113
115
  }
114
116
  for (const e of this.edges[current]) {
115
117
  if (e === source) {
116
- return Object.keys(previous).join(" -> ") + " -> " + source;
118
+ return e;
117
119
  }
118
120
  if (previous[e] === undefined) { // dont revisit vertices
119
121
  previous[e] = true;
120
122
  const found = this.findCycle(source, e, previous);
121
123
  if (found) {
122
- return found;
124
+ return e + " -> " + found;
123
125
  }
124
126
  }
125
127
  }
@@ -134,7 +136,8 @@ Objects must be without syntax errors for this rule to take effect`,
134
136
  continue;
135
137
  }
136
138
  if (this.conf.skipTestclasses === true
137
- && r.position.getFilename().includes(".testclasses.abap")) {
139
+ && (r.position.getFilename().includes(".testclasses.")
140
+ || r.resolved.getFilename().includes(".testclasses."))) {
138
141
  continue;
139
142
  }
140
143
  if (r.referenceType === _reference_1.ReferenceType.ObjectOrientedReference
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.94.12",
3
+ "version": "2.94.14",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -52,7 +52,7 @@
52
52
  "@types/mocha": "^10.0.1",
53
53
  "@types/node": "^18.11.18",
54
54
  "chai": "^4.3.7",
55
- "eslint": "^8.30.0",
55
+ "eslint": "^8.31.0",
56
56
  "mocha": "^10.2.0",
57
57
  "c8": "^7.12.0",
58
58
  "source-map-support": "^0.5.21",