@abaplint/core 2.105.2 → 2.105.4

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.
@@ -4676,6 +4676,29 @@ declare namespace Objects {
4676
4676
  MessagingChannel,
4677
4677
  MIMEObject,
4678
4678
  Namespace,
4679
+ NeptuneAPI,
4680
+ NeptuneApp,
4681
+ NeptuneCustomColor,
4682
+ NeptuneCustomJSHelper,
4683
+ NeptuneDocumentation,
4684
+ NeptuneEnhancement,
4685
+ NeptuneLaunchpadLayout,
4686
+ NeptuneLaunchpad,
4687
+ NeptuneLoginPage,
4688
+ NeptuneMediaLibrary,
4689
+ NeptuneMediaPack,
4690
+ NeptuneMetadata,
4691
+ NeptuneMobileClient,
4692
+ NeptuneOData,
4693
+ NeptunePolicy,
4694
+ NeptuneRFCMapping,
4695
+ NeptuneRichTextTemplate,
4696
+ NeptuneSplashScreen,
4697
+ NeptuneStickyBanner,
4698
+ NeptuneTileGroup,
4699
+ NeptuneTileLayout,
4700
+ NeptuneTile,
4701
+ NeptuneURLAlias,
4679
4702
  NumberRange,
4680
4703
  Oauth2Profile,
4681
4704
  ObjectCharacteristic,
@@ -4703,6 +4726,7 @@ declare namespace Objects {
4703
4726
  SharedMemory,
4704
4727
  SmartForm,
4705
4728
  SmartStyle,
4729
+ StandardTask,
4706
4730
  SwitchAssignmentHierarchy,
4707
4731
  SwitchAssignments,
4708
4732
  TableType,
@@ -4721,30 +4745,7 @@ declare namespace Objects {
4721
4745
  WebDynproApplication,
4722
4746
  WebDynproComponentConfiguration,
4723
4747
  WebDynproComponent,
4724
- WebMIME,
4725
- NeptuneMetadata,
4726
- NeptuneApp,
4727
- NeptuneAPI,
4728
- NeptuneLaunchpad,
4729
- NeptuneTileGroup,
4730
- NeptuneTile,
4731
- NeptunePolicy,
4732
- NeptuneLaunchpadLayout,
4733
- NeptuneTileLayout,
4734
- NeptuneEnhancement,
4735
- NeptuneLoginPage,
4736
- NeptuneStickyBanner,
4737
- NeptuneSplashScreen,
4738
- NeptuneCustomColor,
4739
- NeptuneRichTextTemplate,
4740
- NeptuneCustomJSHelper,
4741
- NeptuneDocumentation,
4742
- NeptuneRFCMapping,
4743
- NeptuneMediaLibrary,
4744
- NeptuneMediaPack,
4745
- NeptuneURLAlias,
4746
- NeptuneOData,
4747
- NeptuneMobileClient
4748
+ WebMIME
4748
4749
  }
4749
4750
  }
4750
4751
  export { Objects }
@@ -5839,6 +5840,15 @@ declare class SQLUpTo extends Expression {
5839
5840
  getRunnable(): IStatementRunnable;
5840
5841
  }
5841
5842
 
5843
+ declare class StandardTask extends AbstractObject {
5844
+ getType(): string;
5845
+ getAllowedNaming(): {
5846
+ maxLength: number;
5847
+ allowNamespace: boolean;
5848
+ };
5849
+ getDescription(): string | undefined;
5850
+ }
5851
+
5842
5852
  declare class StartOfSelection implements IStatement {
5843
5853
  getMatcher(): IStatementRunnable;
5844
5854
  }
@@ -8,7 +8,8 @@ class DeleteMemory {
8
8
  getMatcher() {
9
9
  const memory = (0, combi_1.seq)("MEMORY ID", expressions_1.Source);
10
10
  const id = (0, combi_1.seq)("ID", expressions_1.Source);
11
- const shared = (0, combi_1.seq)("SHARED MEMORY", expressions_1.Field, "(", expressions_1.Field, ")", id);
11
+ const client = (0, combi_1.seq)("CLIENT", expressions_1.Source);
12
+ const shared = (0, combi_1.seq)("SHARED MEMORY", expressions_1.Field, "(", expressions_1.Field, ")", (0, combi_1.optPrio)(client), id);
12
13
  const ret = (0, combi_1.seq)("DELETE FROM", (0, combi_1.alt)(memory, shared));
13
14
  return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
14
15
  }
@@ -295,6 +295,9 @@ class TypeUtils {
295
295
  }
296
296
  return true;
297
297
  }
298
+ else if (target instanceof basic_1.CLikeType) {
299
+ return this.isCharLikeStrict(source);
300
+ }
298
301
  else if (target instanceof basic_1.VoidType || target instanceof basic_1.AnyType) {
299
302
  return true;
300
303
  }
@@ -329,6 +332,8 @@ class TypeUtils {
329
332
  else if (source instanceof basic_1.ObjectReferenceType) {
330
333
  if (target instanceof basic_1.XSequenceType
331
334
  || target instanceof basic_1.IntegerType
335
+ || target instanceof basic_1.StructureType
336
+ || target instanceof basic_1.TableType
332
337
  || target instanceof basic_1.XStringType) {
333
338
  return false;
334
339
  }
@@ -99,6 +99,29 @@ __exportStar(require("./message_class"), exports);
99
99
  __exportStar(require("./messaging_channel"), exports);
100
100
  __exportStar(require("./mime_object"), exports);
101
101
  __exportStar(require("./namespace"), exports);
102
+ __exportStar(require("./neptune_api"), exports);
103
+ __exportStar(require("./neptune_app"), exports);
104
+ __exportStar(require("./neptune_custom_color"), exports);
105
+ __exportStar(require("./neptune_custom_js_helper"), exports);
106
+ __exportStar(require("./neptune_documentation"), exports);
107
+ __exportStar(require("./neptune_enhancement"), exports);
108
+ __exportStar(require("./neptune_launchpad_layout"), exports);
109
+ __exportStar(require("./neptune_launchpad"), exports);
110
+ __exportStar(require("./neptune_login_page"), exports);
111
+ __exportStar(require("./neptune_media_library"), exports);
112
+ __exportStar(require("./neptune_media_pack"), exports);
113
+ __exportStar(require("./neptune_metadata"), exports);
114
+ __exportStar(require("./neptune_mobile_client"), exports);
115
+ __exportStar(require("./neptune_odata"), exports);
116
+ __exportStar(require("./neptune_policy"), exports);
117
+ __exportStar(require("./neptune_rfc_mapping"), exports);
118
+ __exportStar(require("./neptune_rich_text_template"), exports);
119
+ __exportStar(require("./neptune_splash_screen"), exports);
120
+ __exportStar(require("./neptune_sticky_banner"), exports);
121
+ __exportStar(require("./neptune_tile_group"), exports);
122
+ __exportStar(require("./neptune_tile_layout"), exports);
123
+ __exportStar(require("./neptune_tile"), exports);
124
+ __exportStar(require("./neptune_url_alias"), exports);
102
125
  __exportStar(require("./number_range"), exports);
103
126
  __exportStar(require("./oauth2_profile"), exports);
104
127
  __exportStar(require("./object_characteristic"), exports);
@@ -123,6 +146,7 @@ __exportStar(require("./service_definition"), exports);
123
146
  __exportStar(require("./shared_memory"), exports);
124
147
  __exportStar(require("./smart_form"), exports);
125
148
  __exportStar(require("./smart_style"), exports);
149
+ __exportStar(require("./standard_task"), exports);
126
150
  __exportStar(require("./switch_assignment_hierarchy"), exports);
127
151
  __exportStar(require("./switch_assignments"), exports);
128
152
  __exportStar(require("./table_type"), exports);
@@ -140,27 +164,4 @@ __exportStar(require("./web_dynpro_application"), exports);
140
164
  __exportStar(require("./web_dynpro_component_configuration"), exports);
141
165
  __exportStar(require("./web_dynpro_component"), exports);
142
166
  __exportStar(require("./web_mime"), exports);
143
- __exportStar(require("./neptune_metadata"), exports);
144
- __exportStar(require("./neptune_app"), exports);
145
- __exportStar(require("./neptune_api"), exports);
146
- __exportStar(require("./neptune_launchpad"), exports);
147
- __exportStar(require("./neptune_tile_group"), exports);
148
- __exportStar(require("./neptune_tile"), exports);
149
- __exportStar(require("./neptune_policy"), exports);
150
- __exportStar(require("./neptune_launchpad_layout"), exports);
151
- __exportStar(require("./neptune_tile_layout"), exports);
152
- __exportStar(require("./neptune_enhancement"), exports);
153
- __exportStar(require("./neptune_login_page"), exports);
154
- __exportStar(require("./neptune_sticky_banner"), exports);
155
- __exportStar(require("./neptune_splash_screen"), exports);
156
- __exportStar(require("./neptune_custom_color"), exports);
157
- __exportStar(require("./neptune_rich_text_template"), exports);
158
- __exportStar(require("./neptune_custom_js_helper"), exports);
159
- __exportStar(require("./neptune_documentation"), exports);
160
- __exportStar(require("./neptune_rfc_mapping"), exports);
161
- __exportStar(require("./neptune_media_library"), exports);
162
- __exportStar(require("./neptune_media_pack"), exports);
163
- __exportStar(require("./neptune_url_alias"), exports);
164
- __exportStar(require("./neptune_odata"), exports);
165
- __exportStar(require("./neptune_mobile_client"), exports);
166
167
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StandardTask = void 0;
4
+ const _abstract_object_1 = require("./_abstract_object");
5
+ class StandardTask extends _abstract_object_1.AbstractObject {
6
+ getType() {
7
+ return "PDTS";
8
+ }
9
+ getAllowedNaming() {
10
+ return {
11
+ maxLength: 30,
12
+ allowNamespace: true,
13
+ };
14
+ }
15
+ getDescription() {
16
+ // todo
17
+ return undefined;
18
+ }
19
+ }
20
+ exports.StandardTask = StandardTask;
21
+ //# sourceMappingURL=standard_task.js.map
@@ -65,7 +65,7 @@ class Registry {
65
65
  }
66
66
  static abaplintVersion() {
67
67
  // magic, see build script "version.sh"
68
- return "2.105.2";
68
+ return "2.105.4";
69
69
  }
70
70
  getDDICReferences() {
71
71
  return this.ddicReferences;
@@ -51,7 +51,9 @@ STATICS: use CLASS-DATA instead
51
51
 
52
52
  DESCRIBE TABLE LINES: use lines() instead (quickfix exists)
53
53
 
54
- TEST-SEAMS: https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-test-seams-as-temporary-workaround`,
54
+ TEST-SEAMS: https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#use-test-seams-as-temporary-workaround
55
+
56
+ BREAK points`,
55
57
  tags: [_irule_1.RuleTag.Styleguide, _irule_1.RuleTag.SingleFile],
56
58
  };
57
59
  }
@@ -11,17 +11,17 @@ class NoPrefixesConf extends _basic_rule_config_1.BasicRuleConfig {
11
11
  constructor() {
12
12
  super(...arguments);
13
13
  /** DATA, CLASS-DATA, DATA BEGIN OF, CLASS-DATA BEGIN OF, FINAL(), DATA(), case insensitive regex */
14
- this.data = "^[lg]._";
14
+ this.data = "^[lg].?_";
15
15
  /** STATICS, STATICS BEGIN OF, case insensitive regex */
16
16
  this.statics = "";
17
17
  /** FIELD-SYMBOLS and inline FIELD-SYMBOLS(), case insensitive regex */
18
- this.fieldSymbols = "^<l._";
18
+ this.fieldSymbols = "^<l.?_";
19
19
  /** CONSTANTS, CONSTANTS BEGIN OF, case insensitive regex */
20
20
  this.constants = "^[lg]c_";
21
21
  /** TYPES, ENUM, MESH, case insensitive regex */
22
22
  this.types = "^ty_";
23
23
  /** importing, exporting, returning and changing parameters, case insensitive regex */
24
- this.methodParameters = "^[ierc]._";
24
+ this.methodParameters = "^[ierc].?_";
25
25
  // todo, public localClass: string = "";
26
26
  // todo, public localInterface: string = "";
27
27
  // todo, public functionModuleParameters: string = "";
@@ -43,6 +43,9 @@ class NoPrefixes extends _abap_rule_1.ABAPRule {
43
43
  title: "No Prefixes",
44
44
  shortDescription: `Dont use hungarian notation`,
45
45
  extendedInformation: `
46
+ Note: not prefixing TYPES will require changing the errorNamespace in the abaplint configuration,
47
+ allowing all types to become voided, abaplint will then provide less precise syntax errors.
48
+
46
49
  https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-encodings-esp-hungarian-notation-and-prefixes
47
50
 
48
51
  https://github.com/SAP/styleguides/blob/main/clean-abap/sub-sections/AvoidEncodings.md`,
@@ -6,6 +6,7 @@ const _abap_rule_1 = require("./_abap_rule");
6
6
  const _irule_1 = require("./_irule");
7
7
  const Statements = require("../abap/2_statements/statements");
8
8
  const issue_1 = require("../issue");
9
+ const _statement_1 = require("../abap/2_statements/statements/_statement");
9
10
  class ReduceProceduralCodeConf extends _basic_rule_config_1.BasicRuleConfig {
10
11
  constructor() {
11
12
  super(...arguments);
@@ -25,7 +26,9 @@ class ReduceProceduralCode extends _abap_rule_1.ABAPRule {
25
26
  shortDescription: `Checks FORM and FUNCTION-MODULE have few statements`,
26
27
  extendedInformation: `Delegate logic to a class method instead of using FORM or FUNCTION-MODULE.
27
28
 
28
- https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-object-orientation-to-procedural-programming`,
29
+ https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#prefer-object-orientation-to-procedural-programming
30
+
31
+ Comments are not counted as statements.`,
29
32
  tags: [_irule_1.RuleTag.SingleFile, _irule_1.RuleTag.Styleguide],
30
33
  badExample: `FORM foo.
31
34
  DATA lv_bar TYPE i.
@@ -71,6 +74,9 @@ ENDFORM.`,
71
74
  }
72
75
  doCount = undefined;
73
76
  }
77
+ else if (statement.get() instanceof _statement_1.Comment) {
78
+ continue;
79
+ }
74
80
  else if (doCount !== undefined) {
75
81
  count = count + 1;
76
82
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.105.2",
3
+ "version": "2.105.4",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",
@@ -53,9 +53,9 @@
53
53
  "@microsoft/api-extractor": "^7.38.5",
54
54
  "@types/chai": "^4.3.11",
55
55
  "@types/mocha": "^10.0.6",
56
- "@types/node": "^20.10.4",
56
+ "@types/node": "^20.10.5",
57
57
  "chai": "^4.3.10",
58
- "eslint": "^8.55.0",
58
+ "eslint": "^8.56.0",
59
59
  "mocha": "^10.2.0",
60
60
  "c8": "^8.0.1",
61
61
  "source-map-support": "^0.5.21",