@abaplint/core 2.119.44 → 2.119.46

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.
Files changed (77) hide show
  1. package/build/abaplint.d.ts +360 -5
  2. package/build/src/abap/2_statements/expressions/_select_core.js +9 -7
  3. package/build/src/abap/2_statements/expressions/assign_source.js +9 -3
  4. package/build/src/abap/2_statements/expressions/database_table.js +8 -0
  5. package/build/src/abap/2_statements/expressions/select.js +1 -1
  6. package/build/src/abap/2_statements/expressions/select_cte.js +2 -1
  7. package/build/src/abap/2_statements/expressions/sql_client.js +1 -1
  8. package/build/src/abap/2_statements/expressions/sql_from.js +9 -8
  9. package/build/src/abap/2_statements/expressions/sql_from_source.js +2 -1
  10. package/build/src/abap/2_statements/statements/add.js +2 -1
  11. package/build/src/abap/2_statements/statements/assert.js +2 -1
  12. package/build/src/abap/2_statements/statements/assign.js +8 -3
  13. package/build/src/abap/2_statements/statements/at.js +2 -1
  14. package/build/src/abap/2_statements/statements/authority_check.js +2 -1
  15. package/build/src/abap/2_statements/statements/call.js +2 -1
  16. package/build/src/abap/2_statements/statements/call_function.js +1 -1
  17. package/build/src/abap/2_statements/statements/call_transformation.js +2 -1
  18. package/build/src/abap/2_statements/statements/class_deferred.js +2 -1
  19. package/build/src/abap/2_statements/statements/class_definition_load.js +2 -1
  20. package/build/src/abap/2_statements/statements/commit.js +2 -1
  21. package/build/src/abap/2_statements/statements/commit_entities.js +1 -1
  22. package/build/src/abap/2_statements/statements/create_data.js +1 -1
  23. package/build/src/abap/2_statements/statements/create_object.js +1 -1
  24. package/build/src/abap/2_statements/statements/delete_database.js +2 -1
  25. package/build/src/abap/2_statements/statements/delete_internal.js +3 -1
  26. package/build/src/abap/2_statements/statements/divide.js +2 -1
  27. package/build/src/abap/2_statements/statements/endform.js +2 -2
  28. package/build/src/abap/2_statements/statements/endfunction.js +2 -1
  29. package/build/src/abap/2_statements/statements/endwith.js +1 -1
  30. package/build/src/abap/2_statements/statements/export.js +4 -3
  31. package/build/src/abap/2_statements/statements/form.js +2 -1
  32. package/build/src/abap/2_statements/statements/free.js +2 -1
  33. package/build/src/abap/2_statements/statements/function_module.js +2 -1
  34. package/build/src/abap/2_statements/statements/function_pool.js +2 -1
  35. package/build/src/abap/2_statements/statements/get_reference.js +2 -1
  36. package/build/src/abap/2_statements/statements/get_time.js +2 -1
  37. package/build/src/abap/2_statements/statements/import.js +5 -4
  38. package/build/src/abap/2_statements/statements/insert_database.js +2 -1
  39. package/build/src/abap/2_statements/statements/interface_deferred.js +2 -1
  40. package/build/src/abap/2_statements/statements/interface_load.js +2 -1
  41. package/build/src/abap/2_statements/statements/loop.js +1 -1
  42. package/build/src/abap/2_statements/statements/loop_extract.js +2 -1
  43. package/build/src/abap/2_statements/statements/message.js +2 -1
  44. package/build/src/abap/2_statements/statements/method_def.js +8 -4
  45. package/build/src/abap/2_statements/statements/method_implementation.js +3 -1
  46. package/build/src/abap/2_statements/statements/modify_database.js +2 -1
  47. package/build/src/abap/2_statements/statements/multiply.js +2 -1
  48. package/build/src/abap/2_statements/statements/perform.js +1 -1
  49. package/build/src/abap/2_statements/statements/raise.js +2 -1
  50. package/build/src/abap/2_statements/statements/raise_entity_event.js +2 -1
  51. package/build/src/abap/2_statements/statements/raise_event.js +2 -1
  52. package/build/src/abap/2_statements/statements/read_table.js +3 -2
  53. package/build/src/abap/2_statements/statements/rollback.js +2 -1
  54. package/build/src/abap/2_statements/statements/rollback_entities.js +1 -1
  55. package/build/src/abap/2_statements/statements/set_handler.js +2 -1
  56. package/build/src/abap/2_statements/statements/set_locks.js +1 -1
  57. package/build/src/abap/2_statements/statements/static.js +3 -2
  58. package/build/src/abap/2_statements/statements/subtract.js +2 -1
  59. package/build/src/abap/2_statements/statements/test_injection.js +2 -1
  60. package/build/src/abap/2_statements/statements/test_seam.js +1 -1
  61. package/build/src/abap/2_statements/statements/update_database.js +4 -3
  62. package/build/src/abap/2_statements/statements/wait.js +4 -3
  63. package/build/src/abap/2_statements/statements/with.js +1 -1
  64. package/build/src/abap/5_syntax/_current_scope.js +1 -2
  65. package/build/src/abap/5_syntax/expressions/select.js +15 -3
  66. package/build/src/abap/5_syntax/statements/delete_internal.js +4 -3
  67. package/build/src/abap/5_syntax/statements/loop.js +8 -0
  68. package/build/src/abap/5_syntax/statements/modify_internal.js +7 -0
  69. package/build/src/abap/5_syntax/statements/select_loop.js +1 -1
  70. package/build/src/cds/cds_parser.js +8 -8
  71. package/build/src/config.js +24 -15
  72. package/build/src/ddl/ddl_parser.js +2 -2
  73. package/build/src/registry.js +1 -1
  74. package/build/src/rules/index.js +1 -0
  75. package/build/src/rules/sy_read_restriction.js +152 -0
  76. package/build/src/version.js +2 -65
  77. package/package.json +1 -1
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultRelease = exports.defaultVersion = exports.Release = exports.ReleaseList = exports.LanguageVersion = exports.Version = void 0;
3
+ exports.defaultRelease = exports.Release = exports.ReleaseList = exports.LanguageVersion = exports.Version = void 0;
4
4
  exports.releaseAtLeast = releaseAtLeast;
5
- exports.fromABAP = fromABAP;
6
- exports.fromKernel = fromKernel;
7
- exports.fromCloud = fromCloud;
8
- exports.fromOP = fromOP;
9
5
  exports.versionToABAPRelease = versionToABAPRelease;
10
6
  exports.getPreviousVersion = getPreviousVersion;
11
7
  /** @deprecated Use ABAPRelease and Release instead */
@@ -34,7 +30,6 @@ var Version;
34
30
  * Release.Newest + {@link LanguageVersion.Cloud} pair.
35
31
  */
36
32
  Version["Cloud"] = "Cloud";
37
- Version["Newest"] = "Newest";
38
33
  })(Version || (exports.Version = Version = {}));
39
34
  /**
40
35
  * Dialect / flavor axis, orthogonal to the on-prem/cloud release track.
@@ -142,62 +137,6 @@ exports.Release = Object.freeze(Object.assign(Object.assign({}, Object.fromEntri
142
137
  function releaseAtLeast(running, required) {
143
138
  return running.ordinal >= required.ordinal;
144
139
  }
145
- // Lookup maps for the four constructor functions
146
- const byAbap = new Map();
147
- const byKernel = new Map();
148
- const byOp = new Map();
149
- const byCloud = new Map();
150
- for (const r of exports.ReleaseList) {
151
- if (r.abap !== null) {
152
- byAbap.set(r.abap, r);
153
- }
154
- if (r.kernel !== null) {
155
- byKernel.set(r.kernel, r);
156
- }
157
- if (r.cloud !== null) {
158
- byCloud.set(r.cloud, r);
159
- }
160
- if (r.op !== null) {
161
- // fromOP returns the *last* row at that op (the full on-prem release),
162
- // so we overwrite on each iteration — later rows win.
163
- byOp.set(r.op, r);
164
- }
165
- }
166
- /** Look up a release by its ABAP name, e.g. "7.90", "740SP05", "9.16" */
167
- function fromABAP(abap) {
168
- const found = byAbap.get(abap);
169
- if (found === undefined) {
170
- throw new Error("Unknown ABAP release: " + abap);
171
- }
172
- return found;
173
- }
174
- /** Look up a release by its kernel release number, e.g. 753, 790, 916 */
175
- function fromKernel(kernel) {
176
- const found = byKernel.get(kernel);
177
- if (found === undefined) {
178
- throw new Error("Unknown kernel release: " + kernel);
179
- }
180
- return found;
181
- }
182
- /** Look up a release by its cloud release number, e.g. 793, 916 */
183
- function fromCloud(cloud) {
184
- const found = byCloud.get(cloud);
185
- if (found === undefined) {
186
- throw new Error("Unknown cloud release: " + cloud);
187
- }
188
- return found;
189
- }
190
- /**
191
- * Look up a release by its on-prem release number, e.g. 758, 816.
192
- * Returns the *last* cloud row at that op number, which is the full on-prem release.
193
- */
194
- function fromOP(op) {
195
- const found = byOp.get(op);
196
- if (found === undefined) {
197
- throw new Error("Unknown on-prem release: " + op);
198
- }
199
- return found;
200
- }
201
140
  // ---------------------------------------------------------------------------
202
141
  // Deprecated compatibility layer — keeps existing callers working
203
142
  // ---------------------------------------------------------------------------
@@ -217,7 +156,6 @@ const byDeprecated = Object.freeze({
217
156
  [Version.v757]: exports.Release["v757"],
218
157
  [Version.v758]: exports.Release["v758"],
219
158
  [Version.v816]: exports.Release["v816"],
220
- [Version.Newest]: exports.Release["Newest"],
221
159
  [Version.Cloud]: exports.Release["Newest"], // Cloud → Newest sentinel
222
160
  [Version.OpenABAP]: exports.Release["v702"], // OpenABAP shares v702 release identity
223
161
  });
@@ -228,8 +166,7 @@ function versionToABAPRelease(v) {
228
166
  }
229
167
  return found;
230
168
  }
231
- exports.defaultVersion = Version.v758;
232
- exports.defaultRelease = exports.Release.v758;
169
+ exports.defaultRelease = exports.Release.Newest;
233
170
  function getPreviousVersion(v) {
234
171
  if (v === Version.OpenABAP) {
235
172
  return Version.v702;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/core",
3
- "version": "2.119.44",
3
+ "version": "2.119.46",
4
4
  "description": "abaplint - Core API",
5
5
  "main": "build/src/index.js",
6
6
  "typings": "build/abaplint.d.ts",