@abaplint/core 2.119.43 → 2.119.45

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 (374) hide show
  1. package/build/abaplint.d.ts +506 -7
  2. package/build/src/abap/2_statements/combi.js +100 -39
  3. package/build/src/abap/2_statements/expand_macros.js +6 -4
  4. package/build/src/abap/2_statements/expressions/_dynamic_access.js +2 -2
  5. package/build/src/abap/2_statements/expressions/_select_core.js +14 -12
  6. package/build/src/abap/2_statements/expressions/assign_source.js +10 -4
  7. package/build/src/abap/2_statements/expressions/cast.js +1 -1
  8. package/build/src/abap/2_statements/expressions/compare.js +2 -2
  9. package/build/src/abap/2_statements/expressions/component_compare.js +1 -1
  10. package/build/src/abap/2_statements/expressions/component_compare_simple.js +1 -1
  11. package/build/src/abap/2_statements/expressions/cond.js +1 -1
  12. package/build/src/abap/2_statements/expressions/corresponding_body.js +1 -1
  13. package/build/src/abap/2_statements/expressions/data_definition.js +1 -1
  14. package/build/src/abap/2_statements/expressions/database_table.js +8 -0
  15. package/build/src/abap/2_statements/expressions/find_type.js +1 -1
  16. package/build/src/abap/2_statements/expressions/for.js +2 -2
  17. package/build/src/abap/2_statements/expressions/function_exporting_parameter.js +1 -1
  18. package/build/src/abap/2_statements/expressions/index.js +9 -0
  19. package/build/src/abap/2_statements/expressions/inlinedata.js +1 -1
  20. package/build/src/abap/2_statements/expressions/inlinefs.js +1 -1
  21. package/build/src/abap/2_statements/expressions/loop_source.js +1 -1
  22. package/build/src/abap/2_statements/expressions/message_source_source.js +1 -1
  23. package/build/src/abap/2_statements/expressions/new_object.js +1 -1
  24. package/build/src/abap/2_statements/expressions/reduce_next.js +1 -1
  25. package/build/src/abap/2_statements/expressions/select.js +2 -2
  26. package/build/src/abap/2_statements/expressions/select_cte.js +7 -6
  27. package/build/src/abap/2_statements/expressions/source.js +11 -11
  28. package/build/src/abap/2_statements/expressions/sql_aggregation.js +9 -9
  29. package/build/src/abap/2_statements/expressions/sql_association_entry.js +1 -1
  30. package/build/src/abap/2_statements/expressions/sql_associations_list.js +1 -1
  31. package/build/src/abap/2_statements/expressions/sql_case.js +1 -1
  32. package/build/src/abap/2_statements/expressions/sql_client.js +2 -2
  33. package/build/src/abap/2_statements/expressions/sql_compare.js +7 -6
  34. package/build/src/abap/2_statements/expressions/sql_cte_associations.js +1 -1
  35. package/build/src/abap/2_statements/expressions/sql_cte_hierarchy.js +1 -1
  36. package/build/src/abap/2_statements/expressions/sql_field.js +4 -4
  37. package/build/src/abap/2_statements/expressions/sql_field_list.js +1 -1
  38. package/build/src/abap/2_statements/expressions/sql_field_list_loop.js +2 -2
  39. package/build/src/abap/2_statements/expressions/sql_field_list_loop_greedy.js +2 -2
  40. package/build/src/abap/2_statements/expressions/sql_from.js +9 -8
  41. package/build/src/abap/2_statements/expressions/sql_from_source.js +4 -3
  42. package/build/src/abap/2_statements/expressions/sql_function.js +363 -31
  43. package/build/src/abap/2_statements/expressions/sql_function_input.js +1 -1
  44. package/build/src/abap/2_statements/expressions/sql_group_by.js +2 -2
  45. package/build/src/abap/2_statements/expressions/sql_hierarchy_accessor.js +1 -1
  46. package/build/src/abap/2_statements/expressions/sql_hierarchy_aggregate.js +1 -1
  47. package/build/src/abap/2_statements/expressions/sql_hierarchy_source.js +1 -1
  48. package/build/src/abap/2_statements/expressions/sql_in.js +2 -2
  49. package/build/src/abap/2_statements/expressions/sql_into_list.js +1 -1
  50. package/build/src/abap/2_statements/expressions/sql_join.js +1 -1
  51. package/build/src/abap/2_statements/expressions/sql_like_regexpr.js +19 -0
  52. package/build/src/abap/2_statements/expressions/sql_locate_regexpr.js +18 -0
  53. package/build/src/abap/2_statements/expressions/sql_occurrences_regexpr.js +15 -0
  54. package/build/src/abap/2_statements/expressions/sql_options.js +2 -2
  55. package/build/src/abap/2_statements/expressions/sql_over.js +2 -2
  56. package/build/src/abap/2_statements/expressions/sql_path_for_column.js +1 -1
  57. package/build/src/abap/2_statements/expressions/sql_path_for_entity.js +1 -1
  58. package/build/src/abap/2_statements/expressions/sql_path_segment.js +3 -3
  59. package/build/src/abap/2_statements/expressions/sql_privileged_access.js +1 -1
  60. package/build/src/abap/2_statements/expressions/sql_regexpr_from.js +17 -0
  61. package/build/src/abap/2_statements/expressions/sql_regexpr_group.js +17 -0
  62. package/build/src/abap/2_statements/expressions/sql_regexpr_occurrence.js +17 -0
  63. package/build/src/abap/2_statements/expressions/sql_regexpr_pattern.js +18 -0
  64. package/build/src/abap/2_statements/expressions/sql_replace_regexpr.js +22 -0
  65. package/build/src/abap/2_statements/expressions/sql_set_op.js +1 -1
  66. package/build/src/abap/2_statements/expressions/sql_set_op_group.js +2 -2
  67. package/build/src/abap/2_statements/expressions/sql_source.js +1 -1
  68. package/build/src/abap/2_statements/expressions/sql_source_no_space.js +1 -1
  69. package/build/src/abap/2_statements/expressions/sql_source_simple.js +1 -1
  70. package/build/src/abap/2_statements/expressions/sql_substring_regexpr.js +18 -0
  71. package/build/src/abap/2_statements/expressions/sql_target.js +2 -2
  72. package/build/src/abap/2_statements/expressions/string_template.js +1 -1
  73. package/build/src/abap/2_statements/expressions/string_template_formatting.js +2 -2
  74. package/build/src/abap/2_statements/expressions/table_expression.js +1 -1
  75. package/build/src/abap/2_statements/expressions/type.js +1 -1
  76. package/build/src/abap/2_statements/expressions/type_table.js +1 -1
  77. package/build/src/abap/2_statements/expressions/type_table_key.js +1 -1
  78. package/build/src/abap/2_statements/expressions/value_body.js +1 -1
  79. package/build/src/abap/2_statements/result.js +6 -0
  80. package/build/src/abap/2_statements/statement_parser.js +8 -5
  81. package/build/src/abap/2_statements/statements/add.js +2 -1
  82. package/build/src/abap/2_statements/statements/add_corresponding.js +1 -1
  83. package/build/src/abap/2_statements/statements/append.js +1 -1
  84. package/build/src/abap/2_statements/statements/assert.js +2 -1
  85. package/build/src/abap/2_statements/statements/assign.js +8 -3
  86. package/build/src/abap/2_statements/statements/assign_local_copy.js +1 -1
  87. package/build/src/abap/2_statements/statements/at.js +2 -1
  88. package/build/src/abap/2_statements/statements/at_line_selection.js +1 -1
  89. package/build/src/abap/2_statements/statements/at_pf.js +1 -1
  90. package/build/src/abap/2_statements/statements/at_selection_screen.js +1 -1
  91. package/build/src/abap/2_statements/statements/at_user_command.js +1 -1
  92. package/build/src/abap/2_statements/statements/authority_check.js +2 -1
  93. package/build/src/abap/2_statements/statements/back.js +1 -1
  94. package/build/src/abap/2_statements/statements/break.js +1 -1
  95. package/build/src/abap/2_statements/statements/break_id.js +1 -1
  96. package/build/src/abap/2_statements/statements/call.js +2 -1
  97. package/build/src/abap/2_statements/statements/call_badi.js +1 -1
  98. package/build/src/abap/2_statements/statements/call_database.js +1 -1
  99. package/build/src/abap/2_statements/statements/call_dialog.js +1 -1
  100. package/build/src/abap/2_statements/statements/call_function.js +5 -5
  101. package/build/src/abap/2_statements/statements/call_kernel.js +1 -1
  102. package/build/src/abap/2_statements/statements/call_ole.js +1 -1
  103. package/build/src/abap/2_statements/statements/call_screen.js +1 -1
  104. package/build/src/abap/2_statements/statements/call_selection_screen.js +1 -1
  105. package/build/src/abap/2_statements/statements/call_subscreen.js +1 -1
  106. package/build/src/abap/2_statements/statements/call_transaction.js +1 -1
  107. package/build/src/abap/2_statements/statements/call_transformation.js +2 -1
  108. package/build/src/abap/2_statements/statements/case_type.js +1 -1
  109. package/build/src/abap/2_statements/statements/catch_system_exceptions.js +1 -1
  110. package/build/src/abap/2_statements/statements/chain.js +1 -1
  111. package/build/src/abap/2_statements/statements/check_select_options.js +1 -1
  112. package/build/src/abap/2_statements/statements/class_deferred.js +2 -1
  113. package/build/src/abap/2_statements/statements/class_definition.js +1 -1
  114. package/build/src/abap/2_statements/statements/class_definition_load.js +2 -1
  115. package/build/src/abap/2_statements/statements/close_cursor.js +1 -1
  116. package/build/src/abap/2_statements/statements/close_dataset.js +1 -1
  117. package/build/src/abap/2_statements/statements/commit.js +2 -1
  118. package/build/src/abap/2_statements/statements/commit_entities.js +1 -1
  119. package/build/src/abap/2_statements/statements/communication.js +1 -1
  120. package/build/src/abap/2_statements/statements/compute.js +1 -1
  121. package/build/src/abap/2_statements/statements/contexts.js +1 -1
  122. package/build/src/abap/2_statements/statements/controls.js +1 -1
  123. package/build/src/abap/2_statements/statements/convert.js +2 -2
  124. package/build/src/abap/2_statements/statements/create_data.js +2 -2
  125. package/build/src/abap/2_statements/statements/create_object.js +2 -2
  126. package/build/src/abap/2_statements/statements/create_ole.js +1 -1
  127. package/build/src/abap/2_statements/statements/define.js +1 -1
  128. package/build/src/abap/2_statements/statements/delete_cluster.js +1 -1
  129. package/build/src/abap/2_statements/statements/delete_database.js +2 -1
  130. package/build/src/abap/2_statements/statements/delete_dataset.js +1 -1
  131. package/build/src/abap/2_statements/statements/delete_dynpro.js +1 -1
  132. package/build/src/abap/2_statements/statements/delete_internal.js +3 -1
  133. package/build/src/abap/2_statements/statements/delete_memory.js +1 -1
  134. package/build/src/abap/2_statements/statements/delete_report.js +1 -1
  135. package/build/src/abap/2_statements/statements/delete_textpool.js +1 -1
  136. package/build/src/abap/2_statements/statements/demand.js +1 -1
  137. package/build/src/abap/2_statements/statements/describe.js +1 -1
  138. package/build/src/abap/2_statements/statements/detail.js +1 -1
  139. package/build/src/abap/2_statements/statements/divide.js +2 -1
  140. package/build/src/abap/2_statements/statements/editor_call.js +1 -1
  141. package/build/src/abap/2_statements/statements/end_chain.js +1 -1
  142. package/build/src/abap/2_statements/statements/end_enhancement.js +1 -1
  143. package/build/src/abap/2_statements/statements/end_enhancement_section.js +1 -1
  144. package/build/src/abap/2_statements/statements/end_of_page.js +1 -1
  145. package/build/src/abap/2_statements/statements/end_of_selection.js +1 -1
  146. package/build/src/abap/2_statements/statements/end_test_seam.js +1 -1
  147. package/build/src/abap/2_statements/statements/endcatch.js +1 -1
  148. package/build/src/abap/2_statements/statements/enddefine.js +1 -1
  149. package/build/src/abap/2_statements/statements/endexec.js +1 -1
  150. package/build/src/abap/2_statements/statements/endform.js +2 -2
  151. package/build/src/abap/2_statements/statements/endfunction.js +2 -1
  152. package/build/src/abap/2_statements/statements/endmodule.js +1 -1
  153. package/build/src/abap/2_statements/statements/endon.js +1 -1
  154. package/build/src/abap/2_statements/statements/endprovide.js +1 -1
  155. package/build/src/abap/2_statements/statements/endwith.js +1 -1
  156. package/build/src/abap/2_statements/statements/enhancement.js +1 -1
  157. package/build/src/abap/2_statements/statements/enhancement_point.js +1 -1
  158. package/build/src/abap/2_statements/statements/enhancement_section.js +1 -1
  159. package/build/src/abap/2_statements/statements/exec_sql.js +1 -1
  160. package/build/src/abap/2_statements/statements/export.js +4 -3
  161. package/build/src/abap/2_statements/statements/export_dynpro.js +1 -1
  162. package/build/src/abap/2_statements/statements/extract.js +1 -1
  163. package/build/src/abap/2_statements/statements/fetch_next_cursor.js +1 -1
  164. package/build/src/abap/2_statements/statements/field.js +1 -1
  165. package/build/src/abap/2_statements/statements/field_group.js +1 -1
  166. package/build/src/abap/2_statements/statements/fields.js +1 -1
  167. package/build/src/abap/2_statements/statements/form.js +2 -1
  168. package/build/src/abap/2_statements/statements/format.js +1 -1
  169. package/build/src/abap/2_statements/statements/free.js +2 -1
  170. package/build/src/abap/2_statements/statements/free_memory.js +1 -1
  171. package/build/src/abap/2_statements/statements/free_object.js +1 -1
  172. package/build/src/abap/2_statements/statements/function_module.js +2 -1
  173. package/build/src/abap/2_statements/statements/function_pool.js +2 -1
  174. package/build/src/abap/2_statements/statements/generate_dynpro.js +1 -1
  175. package/build/src/abap/2_statements/statements/generate_report.js +1 -1
  176. package/build/src/abap/2_statements/statements/generate_subroutine.js +1 -1
  177. package/build/src/abap/2_statements/statements/get.js +1 -1
  178. package/build/src/abap/2_statements/statements/get_badi.js +1 -1
  179. package/build/src/abap/2_statements/statements/get_cursor.js +1 -1
  180. package/build/src/abap/2_statements/statements/get_dataset.js +1 -1
  181. package/build/src/abap/2_statements/statements/get_locale.js +1 -1
  182. package/build/src/abap/2_statements/statements/get_parameter.js +1 -1
  183. package/build/src/abap/2_statements/statements/get_permissions.js +1 -1
  184. package/build/src/abap/2_statements/statements/get_pf_status.js +1 -1
  185. package/build/src/abap/2_statements/statements/get_property.js +1 -1
  186. package/build/src/abap/2_statements/statements/get_reference.js +2 -1
  187. package/build/src/abap/2_statements/statements/get_run_time.js +1 -1
  188. package/build/src/abap/2_statements/statements/get_time.js +2 -1
  189. package/build/src/abap/2_statements/statements/hide.js +1 -1
  190. package/build/src/abap/2_statements/statements/import.js +5 -4
  191. package/build/src/abap/2_statements/statements/import_dynpro.js +1 -1
  192. package/build/src/abap/2_statements/statements/import_nametab.js +1 -1
  193. package/build/src/abap/2_statements/statements/infotypes.js +1 -1
  194. package/build/src/abap/2_statements/statements/initialization.js +1 -1
  195. package/build/src/abap/2_statements/statements/input.js +1 -1
  196. package/build/src/abap/2_statements/statements/insert_database.js +2 -1
  197. package/build/src/abap/2_statements/statements/insert_field_group.js +1 -1
  198. package/build/src/abap/2_statements/statements/insert_internal.js +1 -1
  199. package/build/src/abap/2_statements/statements/insert_report.js +2 -2
  200. package/build/src/abap/2_statements/statements/insert_textpool.js +1 -1
  201. package/build/src/abap/2_statements/statements/interface_def.js +1 -1
  202. package/build/src/abap/2_statements/statements/interface_deferred.js +2 -1
  203. package/build/src/abap/2_statements/statements/interface_load.js +2 -1
  204. package/build/src/abap/2_statements/statements/leave.js +1 -1
  205. package/build/src/abap/2_statements/statements/load_of_program.js +1 -1
  206. package/build/src/abap/2_statements/statements/load_report.js +1 -1
  207. package/build/src/abap/2_statements/statements/local.js +1 -1
  208. package/build/src/abap/2_statements/statements/log_point.js +1 -1
  209. package/build/src/abap/2_statements/statements/loop.js +4 -4
  210. package/build/src/abap/2_statements/statements/loop_at_screen.js +1 -1
  211. package/build/src/abap/2_statements/statements/loop_extract.js +2 -1
  212. package/build/src/abap/2_statements/statements/message.js +3 -2
  213. package/build/src/abap/2_statements/statements/method_def.js +9 -5
  214. package/build/src/abap/2_statements/statements/method_implementation.js +3 -1
  215. package/build/src/abap/2_statements/statements/modify_database.js +2 -1
  216. package/build/src/abap/2_statements/statements/modify_entities.js +1 -1
  217. package/build/src/abap/2_statements/statements/modify_line.js +1 -1
  218. package/build/src/abap/2_statements/statements/modify_screen.js +1 -1
  219. package/build/src/abap/2_statements/statements/module.js +1 -1
  220. package/build/src/abap/2_statements/statements/move.js +2 -2
  221. package/build/src/abap/2_statements/statements/move_corresponding.js +2 -2
  222. package/build/src/abap/2_statements/statements/multiply.js +2 -1
  223. package/build/src/abap/2_statements/statements/new_line.js +1 -1
  224. package/build/src/abap/2_statements/statements/new_page.js +1 -1
  225. package/build/src/abap/2_statements/statements/nodes.js +1 -1
  226. package/build/src/abap/2_statements/statements/on_change.js +1 -1
  227. package/build/src/abap/2_statements/statements/open_cursor.js +2 -2
  228. package/build/src/abap/2_statements/statements/open_dataset.js +1 -1
  229. package/build/src/abap/2_statements/statements/pack.js +1 -1
  230. package/build/src/abap/2_statements/statements/parameter.js +1 -1
  231. package/build/src/abap/2_statements/statements/perform.js +3 -3
  232. package/build/src/abap/2_statements/statements/position.js +1 -1
  233. package/build/src/abap/2_statements/statements/print_control.js +1 -1
  234. package/build/src/abap/2_statements/statements/process_after_input.js +1 -1
  235. package/build/src/abap/2_statements/statements/process_before_output.js +1 -1
  236. package/build/src/abap/2_statements/statements/process_on_help_request.js +1 -1
  237. package/build/src/abap/2_statements/statements/process_on_value_request.js +1 -1
  238. package/build/src/abap/2_statements/statements/program.js +1 -1
  239. package/build/src/abap/2_statements/statements/provide.js +1 -1
  240. package/build/src/abap/2_statements/statements/put.js +1 -1
  241. package/build/src/abap/2_statements/statements/raise.js +4 -3
  242. package/build/src/abap/2_statements/statements/raise_entity_event.js +2 -1
  243. package/build/src/abap/2_statements/statements/raise_event.js +2 -1
  244. package/build/src/abap/2_statements/statements/ranges.js +1 -1
  245. package/build/src/abap/2_statements/statements/read_dataset.js +1 -1
  246. package/build/src/abap/2_statements/statements/read_entities.js +1 -1
  247. package/build/src/abap/2_statements/statements/read_line.js +1 -1
  248. package/build/src/abap/2_statements/statements/read_report.js +1 -1
  249. package/build/src/abap/2_statements/statements/read_table.js +4 -3
  250. package/build/src/abap/2_statements/statements/read_textpool.js +1 -1
  251. package/build/src/abap/2_statements/statements/receive.js +1 -1
  252. package/build/src/abap/2_statements/statements/refresh.js +1 -1
  253. package/build/src/abap/2_statements/statements/refresh_control.js +1 -1
  254. package/build/src/abap/2_statements/statements/reject.js +1 -1
  255. package/build/src/abap/2_statements/statements/report.js +1 -1
  256. package/build/src/abap/2_statements/statements/reserve.js +1 -1
  257. package/build/src/abap/2_statements/statements/retry.js +1 -1
  258. package/build/src/abap/2_statements/statements/return.js +1 -1
  259. package/build/src/abap/2_statements/statements/rollback.js +2 -1
  260. package/build/src/abap/2_statements/statements/rollback_entities.js +1 -1
  261. package/build/src/abap/2_statements/statements/scan.js +1 -1
  262. package/build/src/abap/2_statements/statements/scroll_list.js +1 -1
  263. package/build/src/abap/2_statements/statements/search.js +1 -1
  264. package/build/src/abap/2_statements/statements/selectionscreen.js +1 -1
  265. package/build/src/abap/2_statements/statements/selectoption.js +1 -1
  266. package/build/src/abap/2_statements/statements/set_blank.js +1 -1
  267. package/build/src/abap/2_statements/statements/set_country.js +1 -1
  268. package/build/src/abap/2_statements/statements/set_cursor.js +1 -1
  269. package/build/src/abap/2_statements/statements/set_dataset.js +1 -1
  270. package/build/src/abap/2_statements/statements/set_extended_check.js +1 -1
  271. package/build/src/abap/2_statements/statements/set_handler.js +2 -1
  272. package/build/src/abap/2_statements/statements/set_language.js +1 -1
  273. package/build/src/abap/2_statements/statements/set_left.js +1 -1
  274. package/build/src/abap/2_statements/statements/set_locale.js +1 -1
  275. package/build/src/abap/2_statements/statements/set_locks.js +1 -1
  276. package/build/src/abap/2_statements/statements/set_margin.js +1 -1
  277. package/build/src/abap/2_statements/statements/set_parameter.js +1 -1
  278. package/build/src/abap/2_statements/statements/set_pf_status.js +1 -1
  279. package/build/src/abap/2_statements/statements/set_property.js +1 -1
  280. package/build/src/abap/2_statements/statements/set_run_time.js +1 -1
  281. package/build/src/abap/2_statements/statements/set_screen.js +1 -1
  282. package/build/src/abap/2_statements/statements/set_titlebar.js +1 -1
  283. package/build/src/abap/2_statements/statements/set_update_task.js +1 -1
  284. package/build/src/abap/2_statements/statements/set_user_command.js +1 -1
  285. package/build/src/abap/2_statements/statements/skip.js +1 -1
  286. package/build/src/abap/2_statements/statements/sort_dataset.js +1 -1
  287. package/build/src/abap/2_statements/statements/start_of_selection.js +1 -1
  288. package/build/src/abap/2_statements/statements/static.js +3 -2
  289. package/build/src/abap/2_statements/statements/stop.js +1 -1
  290. package/build/src/abap/2_statements/statements/submit.js +1 -1
  291. package/build/src/abap/2_statements/statements/subtract.js +2 -1
  292. package/build/src/abap/2_statements/statements/subtract_corresponding.js +1 -1
  293. package/build/src/abap/2_statements/statements/sum.js +1 -1
  294. package/build/src/abap/2_statements/statements/summary.js +1 -1
  295. package/build/src/abap/2_statements/statements/supply.js +1 -1
  296. package/build/src/abap/2_statements/statements/suppress_dialog.js +1 -1
  297. package/build/src/abap/2_statements/statements/syntax_check.js +1 -1
  298. package/build/src/abap/2_statements/statements/system_call.js +1 -1
  299. package/build/src/abap/2_statements/statements/tables.js +1 -1
  300. package/build/src/abap/2_statements/statements/test_injection.js +2 -1
  301. package/build/src/abap/2_statements/statements/test_seam.js +1 -1
  302. package/build/src/abap/2_statements/statements/top_of_page.js +1 -1
  303. package/build/src/abap/2_statements/statements/transfer.js +1 -1
  304. package/build/src/abap/2_statements/statements/truncate_dataset.js +1 -1
  305. package/build/src/abap/2_statements/statements/type.js +1 -1
  306. package/build/src/abap/2_statements/statements/type_begin.js +1 -1
  307. package/build/src/abap/2_statements/statements/type_enum.js +1 -1
  308. package/build/src/abap/2_statements/statements/type_enum_begin.js +1 -1
  309. package/build/src/abap/2_statements/statements/type_enum_end.js +1 -1
  310. package/build/src/abap/2_statements/statements/type_mesh.js +1 -1
  311. package/build/src/abap/2_statements/statements/type_mesh_begin.js +1 -1
  312. package/build/src/abap/2_statements/statements/type_mesh_end.js +1 -1
  313. package/build/src/abap/2_statements/statements/type_pool.js +1 -1
  314. package/build/src/abap/2_statements/statements/type_pools.js +1 -1
  315. package/build/src/abap/2_statements/statements/uline.js +1 -1
  316. package/build/src/abap/2_statements/statements/unpack.js +1 -1
  317. package/build/src/abap/2_statements/statements/update_database.js +4 -3
  318. package/build/src/abap/2_statements/statements/verification_message.js +1 -1
  319. package/build/src/abap/2_statements/statements/wait.js +4 -3
  320. package/build/src/abap/2_statements/statements/when_type.js +1 -1
  321. package/build/src/abap/2_statements/statements/window.js +1 -1
  322. package/build/src/abap/2_statements/statements/with.js +1 -1
  323. package/build/src/abap/2_statements/statements/write.js +1 -1
  324. package/build/src/abap/5_syntax/_builtin.js +50 -50
  325. package/build/src/abap/5_syntax/_current_scope.js +9 -0
  326. package/build/src/abap/5_syntax/expressions/field_chain.js +3 -3
  327. package/build/src/abap/5_syntax/expressions/method_source.js +1 -1
  328. package/build/src/abap/5_syntax/expressions/select.js +13 -3
  329. package/build/src/abap/5_syntax/statements/call_function.js +1 -1
  330. package/build/src/abap/5_syntax/statements/loop.js +1 -1
  331. package/build/src/abap/5_syntax/statements/move_corresponding.js +3 -3
  332. package/build/src/abap/abap_parser.js +21 -5
  333. package/build/src/abap/nodes/expression_node.js +3 -0
  334. package/build/src/cds/cds_parser.js +8 -8
  335. package/build/src/cds/expressions/cds_define_projection.js +1 -1
  336. package/build/src/cds/expressions/cds_define_view.js +1 -1
  337. package/build/src/config.js +42 -12
  338. package/build/src/ddl/ddl_parser.js +2 -2
  339. package/build/src/index.js +6 -2
  340. package/build/src/objects/_abap_object.js +3 -2
  341. package/build/src/objects/_abstract_object.js +1 -1
  342. package/build/src/objects/proxy_object.js +1 -1
  343. package/build/src/objects/table.js +1 -1
  344. package/build/src/registry.js +3 -3
  345. package/build/src/rules/ambiguous_statement.js +1 -1
  346. package/build/src/rules/avoid_use.js +2 -2
  347. package/build/src/rules/call_transaction_authority_check.js +3 -3
  348. package/build/src/rules/cds_legacy_view.js +2 -2
  349. package/build/src/rules/cloud_types.js +1 -1
  350. package/build/src/rules/downport.js +11 -11
  351. package/build/src/rules/function_module_recommendations.js +23 -2
  352. package/build/src/rules/index.js +1 -0
  353. package/build/src/rules/inline_data_old_versions.js +3 -3
  354. package/build/src/rules/local_testclass_consistency.js +1 -1
  355. package/build/src/rules/main_file_contents.js +1 -1
  356. package/build/src/rules/no_inline_in_optional_branches.js +4 -4
  357. package/build/src/rules/obsolete_statement.js +6 -6
  358. package/build/src/rules/parser_702_chaining.js +2 -2
  359. package/build/src/rules/parser_error.js +2 -2
  360. package/build/src/rules/prefer_corresponding.js +1 -1
  361. package/build/src/rules/prefer_inline.js +2 -1
  362. package/build/src/rules/prefer_raise_exception_new.js +1 -1
  363. package/build/src/rules/prefer_xsdbool.js +2 -1
  364. package/build/src/rules/sql_escape_host_variables.js +3 -3
  365. package/build/src/rules/strict_sql.js +2 -2
  366. package/build/src/rules/superfluous_value.js +2 -2
  367. package/build/src/rules/sy_read_restriction.js +152 -0
  368. package/build/src/rules/use_bool_expression.js +6 -5
  369. package/build/src/rules/use_line_exists.js +4 -3
  370. package/build/src/rules/use_new.js +2 -1
  371. package/build/src/version.js +148 -3
  372. package/package.json +1 -1
  373. package/build/src/abap/2_statements/expressions/association_name.js +0 -11
  374. package/build/src/abap/2_statements/expressions/sql_path.js +0 -17
@@ -28,7 +28,7 @@ export declare abstract class ABAPObject extends AbstractObject {
28
28
  abstract getDescription(): string | undefined;
29
29
  constructor(name: string);
30
30
  static is(x: any): x is ABAPObject;
31
- parse(version: Version, globalMacros?: readonly string[], reg?: IRegistry): IParseResult;
31
+ parse(release: ABAPRelease, globalMacros?: readonly string[], reg?: IRegistry, languageVersion?: LanguageVersion, openABAP?: boolean): IParseResult;
32
32
  setDirty(): void;
33
33
  private getParsedXML;
34
34
  getABAPFiles(): readonly ABAPFile[];
@@ -59,6 +59,27 @@ declare class ABAPQueryQuery extends AbstractObject {
59
59
  getDescription(): string | undefined;
60
60
  }
61
61
 
62
+ /**
63
+ * A single row in the release table.
64
+ *
65
+ * abap — SAP_BASIS / ABAP release name as SAP calls it (e.g. "740SP05", "7.90", "9.16")
66
+ * kernel — SAP kernel release number that ships this ABAP release
67
+ * op — on-premise release number (e.g. 758, 816), null for cloud-only releases
68
+ * cloud — cloud release number (e.g. 793, 916), null for pre-cloud releases
69
+ * ce — SAP BTP / S/4HANA Cloud Public Edition shipment quarter (YYMM, e.g. 2308),
70
+ * null if never shipped to customers on cloud
71
+ * ordinal — chronological index (set at build time from array position), used for ordering
72
+ */
73
+ export declare interface ABAPRelease {
74
+ readonly name: string;
75
+ readonly abap: string | null;
76
+ readonly kernel: number | null;
77
+ readonly op: number | null;
78
+ readonly cloud: number | null;
79
+ readonly ce: number | null;
80
+ readonly ordinal: number;
81
+ }
82
+
62
83
  declare class Abstract extends Expression {
63
84
  getRunnable(): IStatementRunnable;
64
85
  }
@@ -101,7 +122,7 @@ declare abstract class AbstractObject implements IObject {
101
122
  abstract getDescription(): string | undefined;
102
123
  constructor(name: string);
103
124
  getParsingIssues(): readonly Issue[];
104
- parse(_version?: Version, _globalMacros?: readonly string[], _reg?: IRegistry): IParseResult;
125
+ parse(_release?: ABAPRelease, _globalMacros?: readonly string[], _reg?: IRegistry, _languageVersion?: LanguageVersion, _openABAP?: boolean): IParseResult;
105
126
  getName(): string;
106
127
  setDirty(): void;
107
128
  addFile(file: IFile): void;
@@ -1442,7 +1463,7 @@ declare class CondSub extends Expression {
1442
1463
 
1443
1464
  export declare class Config implements IConfiguration {
1444
1465
  private readonly config;
1445
- static getDefault(ver?: Version): Config;
1466
+ static getDefault(ver?: VersionOldOrNew, langVer?: LanguageVersion, openABAP?: boolean): Config;
1446
1467
  getEnabledRules(): IRule[];
1447
1468
  constructor(json: string);
1448
1469
  get(): IConfig;
@@ -1450,7 +1471,10 @@ export declare class Config implements IConfiguration {
1450
1471
  readByRule(rule: string): any;
1451
1472
  getGlobal(): IGlobalConfig;
1452
1473
  getSyntaxSetttings(): ISyntaxSettings;
1474
+ getRelease(): ABAPRelease;
1475
+ getOpenABAP(): boolean;
1453
1476
  getVersion(): Version;
1477
+ getLanguageVersion(): LanguageVersion;
1454
1478
  private checkVersion;
1455
1479
  }
1456
1480
 
@@ -1547,7 +1571,10 @@ export declare class CurrentScope {
1547
1571
  static buildDefault(reg: IRegistry, obj: IObject): CurrentScope;
1548
1572
  private static addBuiltIn;
1549
1573
  private constructor();
1574
+ getRelease(): ABAPRelease;
1550
1575
  getVersion(): Version;
1576
+ getLanguageVersion(): LanguageVersion;
1577
+ getOpenABAP(): boolean;
1551
1578
  getRegistry(): IRegistry;
1552
1579
  addType(type: TypedIdentifier | undefined): void;
1553
1580
  addTypeNamed(name: string, type: TypedIdentifier | undefined): void;
@@ -1672,6 +1699,8 @@ declare class DatabaseConnection extends Expression {
1672
1699
  }
1673
1700
 
1674
1701
  declare class DatabaseTable extends Expression {
1702
+ private readonly noDynamic;
1703
+ constructor(noDynamic?: boolean);
1675
1704
  getRunnable(): IStatementRunnable;
1676
1705
  }
1677
1706
 
@@ -2381,6 +2410,7 @@ declare abstract class Expression implements IStatementRunnable {
2381
2410
  declare class ExpressionNode extends AbstractNode<ExpressionNode | TokenNode> {
2382
2411
  private readonly expression;
2383
2412
  constructor(expression: IStatementRunnable);
2413
+ addChild(_n: ExpressionNode | TokenNode): void;
2384
2414
  get(): IStatementRunnable;
2385
2415
  countTokens(): number;
2386
2416
  getFirstToken(): Token;
@@ -2594,7 +2624,20 @@ declare namespace Expressions {
2594
2624
  SQLFromSource,
2595
2625
  SQLFrom,
2596
2626
  SQLFunctionInput,
2627
+ sqlFunctionDefs,
2628
+ sqlNamedFunctionDefs,
2629
+ sqlSpatialFunctionDefs,
2630
+ sqlSpatialAggregateDefs,
2597
2631
  SQLFunction,
2632
+ SQLRegexprPattern,
2633
+ SQLRegexprFrom,
2634
+ SQLRegexprOccurrence,
2635
+ SQLRegexprGroup,
2636
+ SQLReplaceRegexpr,
2637
+ SQLOccurrencesRegexpr,
2638
+ SQLSubstringRegexpr,
2639
+ SQLLocateRegexpr,
2640
+ SQLLikeRegexpr,
2598
2641
  SQLGroupBy,
2599
2642
  SQLHaving,
2600
2643
  SQLHints,
@@ -3316,7 +3359,7 @@ declare interface IBuiltinMethod {
3316
3359
  optional?: {
3317
3360
  [key: string]: AbstractType;
3318
3361
  };
3319
- version?: Version;
3362
+ release?: ABAPRelease;
3320
3363
  predicate?: boolean;
3321
3364
  return: AbstractType;
3322
3365
  cache?: BuiltInMethod | undefined;
@@ -3380,7 +3423,11 @@ export declare interface IConfiguration {
3380
3423
  getEnabledRules(): IRule[];
3381
3424
  get(): IConfig;
3382
3425
  getGlobal(): IGlobalConfig;
3426
+ /** @deprecated Use getRelease() instead. */
3383
3427
  getVersion(): Version;
3428
+ getRelease(): ABAPRelease;
3429
+ getLanguageVersion(): LanguageVersion;
3430
+ getOpenABAP(): boolean;
3384
3431
  getSyntaxSetttings(): ISyntaxSettings;
3385
3432
  readByRule(rule: string): any;
3386
3433
  readByKey(rule: string, key: string): any;
@@ -4013,7 +4060,7 @@ export declare interface IObject extends IArtifact {
4013
4060
  /** returns true if the object was parsed, false if no changes since last parse
4014
4061
  * registry for global cross object macros
4015
4062
  */
4016
- parse(version?: Version, globalMacros?: readonly string[], reg?: IRegistry): IParseResult;
4063
+ parse(release?: ABAPRelease, globalMacros?: readonly string[], reg?: IRegistry, languageVersion?: LanguageVersion, openABAP?: boolean): IParseResult;
4017
4064
  getParsingIssues(): readonly Issue[];
4018
4065
  getFiles(): readonly IFile[];
4019
4066
  addFile(file: IFile): void;
@@ -4306,7 +4353,10 @@ declare interface ISyntaxResult {
4306
4353
 
4307
4354
  declare interface ISyntaxSettings {
4308
4355
  /** ABAP language version */
4309
- version?: Version;
4356
+ version?: VersionOldOrNew;
4357
+ languageVersion?: LanguageVersion;
4358
+ /** Use the OpenABAP dialect (v702 base + a set of additional language features). */
4359
+ openABAP?: boolean;
4310
4360
  /** Report error for objects in this regex namespace. Types not in namespace will be void. Case insensitive */
4311
4361
  errorNamespace: string;
4312
4362
  /** List of full named global constants (regex not possible)
@@ -4424,6 +4474,21 @@ declare namespace LanguageServerTypes {
4424
4474
  }
4425
4475
  export { LanguageServerTypes }
4426
4476
 
4477
+ /**
4478
+ * Dialect / flavor axis, orthogonal to the on-prem/cloud release track.
4479
+ *
4480
+ * `Normal` = full ABAP, no restrictions.
4481
+ * `Cloud` = restricted ABAP for Cloud, syntactic and semantic restrictions apply.
4482
+ * `KeyUser` = stricter still (KeyUser Extensibility), strict subset of Cloud.
4483
+ *
4484
+ * Ordering: KeyUser(0) &lt; Cloud(1) &lt; Normal(2) — lower = more restrictive.
4485
+ */
4486
+ export declare enum LanguageVersion {
4487
+ Normal = "Normal",
4488
+ KeyUser = "KeyUser",
4489
+ Cloud = "Cloud"
4490
+ }
4491
+
4427
4492
  declare class Leave implements IStatement {
4428
4493
  getMatcher(): IStatementRunnable;
4429
4494
  }
@@ -5676,7 +5741,7 @@ declare class ProxyObject extends AbstractObject {
5676
5741
  };
5677
5742
  getDescription(): string | undefined;
5678
5743
  setDirty(): void;
5679
- parse(_version?: Version, _globalMacros?: readonly string[], reg?: IRegistry): {
5744
+ parse(_release?: ABAPRelease, _globalMacros?: readonly string[], reg?: IRegistry): {
5680
5745
  updated: boolean;
5681
5746
  runtime: number;
5682
5747
  };
@@ -5875,6 +5940,365 @@ declare class Reject implements IStatement {
5875
5940
  getMatcher(): IStatementRunnable;
5876
5941
  }
5877
5942
 
5943
+ /** Lookup table keyed by release name (e.g. `Release.v740sp05`, `Release.Newest`). */
5944
+ export declare const Release: {
5945
+ readonly [name: string]: ABAPRelease;
5946
+ };
5947
+
5948
+ /**
5949
+ * Is `running` at least as new as `required`?
5950
+ * Comparison is purely by ordinal (declaration order in ReleaseList).
5951
+ * Newest (last entry) satisfies any required release.
5952
+ */
5953
+ export declare function releaseAtLeast(running: ABAPRelease, required: ABAPRelease): boolean;
5954
+
5955
+ declare const releaseDefsRaw: readonly [readonly ["v700", {
5956
+ readonly abap: "700";
5957
+ readonly kernel: 700;
5958
+ readonly op: 700;
5959
+ readonly cloud: null;
5960
+ readonly ce: null;
5961
+ }], readonly ["v701", {
5962
+ readonly abap: "701";
5963
+ readonly kernel: 701;
5964
+ readonly op: 701;
5965
+ readonly cloud: null;
5966
+ readonly ce: null;
5967
+ }], readonly ["v702", {
5968
+ readonly abap: "702";
5969
+ readonly kernel: 702;
5970
+ readonly op: 702;
5971
+ readonly cloud: null;
5972
+ readonly ce: null;
5973
+ }], readonly ["v710", {
5974
+ readonly abap: "710";
5975
+ readonly kernel: 710;
5976
+ readonly op: 710;
5977
+ readonly cloud: null;
5978
+ readonly ce: null;
5979
+ }], readonly ["v711", {
5980
+ readonly abap: "711";
5981
+ readonly kernel: 711;
5982
+ readonly op: 711;
5983
+ readonly cloud: null;
5984
+ readonly ce: null;
5985
+ }], readonly ["v720", {
5986
+ readonly abap: "720";
5987
+ readonly kernel: 720;
5988
+ readonly op: 720;
5989
+ readonly cloud: null;
5990
+ readonly ce: null;
5991
+ }], readonly ["v722", {
5992
+ readonly abap: "722";
5993
+ readonly kernel: 722;
5994
+ readonly op: 722;
5995
+ readonly cloud: null;
5996
+ readonly ce: null;
5997
+ }], readonly ["v730", {
5998
+ readonly abap: "730";
5999
+ readonly kernel: 730;
6000
+ readonly op: 730;
6001
+ readonly cloud: null;
6002
+ readonly ce: null;
6003
+ }], readonly ["v731", {
6004
+ readonly abap: "731";
6005
+ readonly kernel: 731;
6006
+ readonly op: 731;
6007
+ readonly cloud: null;
6008
+ readonly ce: null;
6009
+ }], readonly ["v740sp02", {
6010
+ readonly abap: "740SP02";
6011
+ readonly kernel: 740;
6012
+ readonly op: 740;
6013
+ readonly cloud: null;
6014
+ readonly ce: null;
6015
+ }], readonly ["v740sp05", {
6016
+ readonly abap: "740SP05";
6017
+ readonly kernel: 741;
6018
+ readonly op: 740;
6019
+ readonly cloud: null;
6020
+ readonly ce: null;
6021
+ }], readonly ["v740sp08", {
6022
+ readonly abap: "740SP08";
6023
+ readonly kernel: 742;
6024
+ readonly op: 740;
6025
+ readonly cloud: null;
6026
+ readonly ce: null;
6027
+ }], readonly ["v760", {
6028
+ readonly abap: "7.60";
6029
+ readonly kernel: 743;
6030
+ readonly op: 750;
6031
+ readonly cloud: 760;
6032
+ readonly ce: null;
6033
+ }], readonly ["v761", {
6034
+ readonly abap: "7.61";
6035
+ readonly kernel: 744;
6036
+ readonly op: 750;
6037
+ readonly cloud: 761;
6038
+ readonly ce: null;
6039
+ }], readonly ["v762", {
6040
+ readonly abap: "7.62";
6041
+ readonly kernel: 745;
6042
+ readonly op: 750;
6043
+ readonly cloud: 762;
6044
+ readonly ce: null;
6045
+ }], readonly ["v763", {
6046
+ readonly abap: "7.63";
6047
+ readonly kernel: 746;
6048
+ readonly op: 751;
6049
+ readonly cloud: 763;
6050
+ readonly ce: null;
6051
+ }], readonly ["v764", {
6052
+ readonly abap: "7.64";
6053
+ readonly kernel: 747;
6054
+ readonly op: 751;
6055
+ readonly cloud: 764;
6056
+ readonly ce: null;
6057
+ }], readonly ["v765", {
6058
+ readonly abap: "7.65";
6059
+ readonly kernel: 748;
6060
+ readonly op: 751;
6061
+ readonly cloud: 765;
6062
+ readonly ce: null;
6063
+ }], readonly ["v766", {
6064
+ readonly abap: "7.66";
6065
+ readonly kernel: 749;
6066
+ readonly op: 752;
6067
+ readonly cloud: 766;
6068
+ readonly ce: null;
6069
+ }], readonly ["v767", {
6070
+ readonly abap: "7.67";
6071
+ readonly kernel: 750;
6072
+ readonly op: 752;
6073
+ readonly cloud: 767;
6074
+ readonly ce: 1702;
6075
+ }], readonly ["v768", {
6076
+ readonly abap: "7.68";
6077
+ readonly kernel: 751;
6078
+ readonly op: 752;
6079
+ readonly cloud: 768;
6080
+ readonly ce: 1705;
6081
+ }], readonly ["v769", {
6082
+ readonly abap: "7.69";
6083
+ readonly kernel: 752;
6084
+ readonly op: 752;
6085
+ readonly cloud: 769;
6086
+ readonly ce: 1708;
6087
+ }], readonly ["v770", {
6088
+ readonly abap: "7.70";
6089
+ readonly kernel: 753;
6090
+ readonly op: 753;
6091
+ readonly cloud: 770;
6092
+ readonly ce: 1711;
6093
+ }], readonly ["v771", {
6094
+ readonly abap: "7.71";
6095
+ readonly kernel: 771;
6096
+ readonly op: 753;
6097
+ readonly cloud: 771;
6098
+ readonly ce: 1802;
6099
+ }], readonly ["v772", {
6100
+ readonly abap: "7.72";
6101
+ readonly kernel: 772;
6102
+ readonly op: 753;
6103
+ readonly cloud: 772;
6104
+ readonly ce: 1805;
6105
+ }], readonly ["v773", {
6106
+ readonly abap: "7.73";
6107
+ readonly kernel: 773;
6108
+ readonly op: 753;
6109
+ readonly cloud: 773;
6110
+ readonly ce: 1808;
6111
+ }], readonly ["v774", {
6112
+ readonly abap: "7.74";
6113
+ readonly kernel: 774;
6114
+ readonly op: 754;
6115
+ readonly cloud: 774;
6116
+ readonly ce: 1811;
6117
+ }], readonly ["v775", {
6118
+ readonly abap: "7.75";
6119
+ readonly kernel: 775;
6120
+ readonly op: 754;
6121
+ readonly cloud: 775;
6122
+ readonly ce: 1902;
6123
+ }], readonly ["v776", {
6124
+ readonly abap: "7.76";
6125
+ readonly kernel: 776;
6126
+ readonly op: 754;
6127
+ readonly cloud: 776;
6128
+ readonly ce: 1905;
6129
+ }], readonly ["v777", {
6130
+ readonly abap: "7.77";
6131
+ readonly kernel: 777;
6132
+ readonly op: 754;
6133
+ readonly cloud: 777;
6134
+ readonly ce: 1908;
6135
+ }], readonly ["v778", {
6136
+ readonly abap: "7.78";
6137
+ readonly kernel: 778;
6138
+ readonly op: 755;
6139
+ readonly cloud: 778;
6140
+ readonly ce: 1911;
6141
+ }], readonly ["v779", {
6142
+ readonly abap: "7.79";
6143
+ readonly kernel: 779;
6144
+ readonly op: 755;
6145
+ readonly cloud: 779;
6146
+ readonly ce: 2002;
6147
+ }], readonly ["v780", {
6148
+ readonly abap: "7.80";
6149
+ readonly kernel: 780;
6150
+ readonly op: 755;
6151
+ readonly cloud: 780;
6152
+ readonly ce: 2005;
6153
+ }], readonly ["v781", {
6154
+ readonly abap: "7.81";
6155
+ readonly kernel: 781;
6156
+ readonly op: 755;
6157
+ readonly cloud: 781;
6158
+ readonly ce: 2008;
6159
+ }], readonly ["v782", {
6160
+ readonly abap: "7.82";
6161
+ readonly kernel: 782;
6162
+ readonly op: 756;
6163
+ readonly cloud: 782;
6164
+ readonly ce: 2011;
6165
+ }], readonly ["v783", {
6166
+ readonly abap: "7.83";
6167
+ readonly kernel: 783;
6168
+ readonly op: 756;
6169
+ readonly cloud: 783;
6170
+ readonly ce: 2102;
6171
+ }], readonly ["v784", {
6172
+ readonly abap: "7.84";
6173
+ readonly kernel: 784;
6174
+ readonly op: 756;
6175
+ readonly cloud: 784;
6176
+ readonly ce: 2105;
6177
+ }], readonly ["v785", {
6178
+ readonly abap: "7.85";
6179
+ readonly kernel: 785;
6180
+ readonly op: 756;
6181
+ readonly cloud: 785;
6182
+ readonly ce: 2108;
6183
+ }], readonly ["v786", {
6184
+ readonly abap: "7.86";
6185
+ readonly kernel: 786;
6186
+ readonly op: 757;
6187
+ readonly cloud: 786;
6188
+ readonly ce: 2111;
6189
+ }], readonly ["v787", {
6190
+ readonly abap: "7.87";
6191
+ readonly kernel: 787;
6192
+ readonly op: 757;
6193
+ readonly cloud: 787;
6194
+ readonly ce: 2202;
6195
+ }], readonly ["v788", {
6196
+ readonly abap: "7.88";
6197
+ readonly kernel: 788;
6198
+ readonly op: 757;
6199
+ readonly cloud: 788;
6200
+ readonly ce: 2205;
6201
+ }], readonly ["v789", {
6202
+ readonly abap: "7.89";
6203
+ readonly kernel: 789;
6204
+ readonly op: 757;
6205
+ readonly cloud: 789;
6206
+ readonly ce: 2208;
6207
+ }], readonly ["v790", {
6208
+ readonly abap: "7.90";
6209
+ readonly kernel: 790;
6210
+ readonly op: 758;
6211
+ readonly cloud: 790;
6212
+ readonly ce: 2211;
6213
+ }], readonly ["v791", {
6214
+ readonly abap: "7.91";
6215
+ readonly kernel: 791;
6216
+ readonly op: 758;
6217
+ readonly cloud: 791;
6218
+ readonly ce: 2302;
6219
+ }], readonly ["v792", {
6220
+ readonly abap: "7.92";
6221
+ readonly kernel: 792;
6222
+ readonly op: 758;
6223
+ readonly cloud: 792;
6224
+ readonly ce: 2305;
6225
+ }], readonly ["v793", {
6226
+ readonly abap: "7.93";
6227
+ readonly kernel: 793;
6228
+ readonly op: 758;
6229
+ readonly cloud: 793;
6230
+ readonly ce: 2308;
6231
+ }], readonly ["v794", {
6232
+ readonly abap: "7.94";
6233
+ readonly kernel: 794;
6234
+ readonly op: 816;
6235
+ readonly cloud: 794;
6236
+ readonly ce: 2311;
6237
+ }], readonly ["v795", {
6238
+ readonly abap: "7.95";
6239
+ readonly kernel: 795;
6240
+ readonly op: 816;
6241
+ readonly cloud: 795;
6242
+ readonly ce: 2402;
6243
+ }], readonly ["v796", {
6244
+ readonly abap: "7.96";
6245
+ readonly kernel: 796;
6246
+ readonly op: 816;
6247
+ readonly cloud: 796;
6248
+ readonly ce: 2405;
6249
+ }], readonly ["v912", {
6250
+ readonly abap: "9.12";
6251
+ readonly kernel: 912;
6252
+ readonly op: 816;
6253
+ readonly cloud: 912;
6254
+ readonly ce: 2408;
6255
+ }], readonly ["v913", {
6256
+ readonly abap: "9.13";
6257
+ readonly kernel: 913;
6258
+ readonly op: 816;
6259
+ readonly cloud: 913;
6260
+ readonly ce: 2411;
6261
+ }], readonly ["v914", {
6262
+ readonly abap: "9.14";
6263
+ readonly kernel: 914;
6264
+ readonly op: 816;
6265
+ readonly cloud: 914;
6266
+ readonly ce: 2502;
6267
+ }], readonly ["v915", {
6268
+ readonly abap: "9.15";
6269
+ readonly kernel: 915;
6270
+ readonly op: 816;
6271
+ readonly cloud: 915;
6272
+ readonly ce: 2505;
6273
+ }], readonly ["v916", {
6274
+ readonly abap: "9.16";
6275
+ readonly kernel: 916;
6276
+ readonly op: 816;
6277
+ readonly cloud: 916;
6278
+ readonly ce: 2508;
6279
+ }], readonly ["v917", {
6280
+ readonly abap: "9.17";
6281
+ readonly kernel: 917;
6282
+ readonly op: null;
6283
+ readonly cloud: 917;
6284
+ readonly ce: 2511;
6285
+ }], readonly ["v918", {
6286
+ readonly abap: "9.18";
6287
+ readonly kernel: 918;
6288
+ readonly op: null;
6289
+ readonly cloud: 918;
6290
+ readonly ce: 2602;
6291
+ }], readonly ["Newest", {
6292
+ readonly abap: null;
6293
+ readonly kernel: null;
6294
+ readonly op: null;
6295
+ readonly cloud: null;
6296
+ readonly ce: null;
6297
+ }]];
6298
+
6299
+ /** Union of all raw release name strings, e.g. `"v700" | "v758" | "Newest"`. */
6300
+ declare type ReleaseName = (typeof releaseDefsRaw)[number][0];
6301
+
5878
6302
  export declare class Rename {
5879
6303
  private readonly reg;
5880
6304
  constructor(reg: IRegistry);
@@ -5934,6 +6358,8 @@ declare class Result {
5934
6358
  popNode(): ExpressionNode | TokenNode | undefined;
5935
6359
  getNodes(): (ExpressionNode | TokenNode)[];
5936
6360
  setNodes(n: (ExpressionNode | TokenNode)[]): void;
6361
+ getTokens(): readonly Token[];
6362
+ getTokenIndex(): number;
5937
6363
  remainingLength(): number;
5938
6364
  }
5939
6365
 
@@ -6490,6 +6916,10 @@ declare class SQLFunction extends Expression {
6490
6916
  getRunnable(): IStatementRunnable;
6491
6917
  }
6492
6918
 
6919
+ declare type SQLFunctionDef = [string, number, ABAPRelease];
6920
+
6921
+ declare const sqlFunctionDefs: SQLFunctionDef[];
6922
+
6493
6923
  declare class SQLFunctionInput extends Expression {
6494
6924
  getRunnable(): IStatementRunnable;
6495
6925
  }
@@ -6542,6 +6972,30 @@ declare class SQLJoinSource extends Expression {
6542
6972
  getRunnable(): IStatementRunnable;
6543
6973
  }
6544
6974
 
6975
+ declare class SQLLikeRegexpr extends Expression {
6976
+ getRunnable(): IStatementRunnable;
6977
+ }
6978
+
6979
+ declare class SQLLocateRegexpr extends Expression {
6980
+ getRunnable(): IStatementRunnable;
6981
+ }
6982
+
6983
+ declare type SQLNamedFunctionDef = [string, ABAPRelease, SQLNamedParam[]];
6984
+
6985
+ declare const sqlNamedFunctionDefs: SQLNamedFunctionDef[];
6986
+
6987
+ declare type SQLNamedParam = {
6988
+ name: string;
6989
+ value: SQLNamedParamValue;
6990
+ optional?: true;
6991
+ };
6992
+
6993
+ declare type SQLNamedParamValue = "any" | "abap_only";
6994
+
6995
+ declare class SQLOccurrencesRegexpr extends Expression {
6996
+ getRunnable(): IStatementRunnable;
6997
+ }
6998
+
6545
6999
  declare class SQLOptions extends Expression {
6546
7000
  getRunnable(): IStatementRunnable;
6547
7001
  }
@@ -6584,6 +7038,26 @@ declare class SQLPrivilegedAccess extends Expression {
6584
7038
  getRunnable(): IStatementRunnable;
6585
7039
  }
6586
7040
 
7041
+ declare class SQLRegexprFrom extends Expression {
7042
+ getRunnable(): IStatementRunnable;
7043
+ }
7044
+
7045
+ declare class SQLRegexprGroup extends Expression {
7046
+ getRunnable(): IStatementRunnable;
7047
+ }
7048
+
7049
+ declare class SQLRegexprOccurrence extends Expression {
7050
+ getRunnable(): IStatementRunnable;
7051
+ }
7052
+
7053
+ declare class SQLRegexprPattern extends Expression {
7054
+ getRunnable(): IStatementRunnable;
7055
+ }
7056
+
7057
+ declare class SQLReplaceRegexpr extends Expression {
7058
+ getRunnable(): IStatementRunnable;
7059
+ }
7060
+
6587
7061
  declare class SQLSetOp extends Expression {
6588
7062
  getRunnable(): IStatementRunnable;
6589
7063
  }
@@ -6604,6 +7078,14 @@ declare class SQLSourceSimple extends Expression {
6604
7078
  getRunnable(): IStatementRunnable;
6605
7079
  }
6606
7080
 
7081
+ declare const sqlSpatialAggregateDefs: SQLFunctionDef[];
7082
+
7083
+ declare const sqlSpatialFunctionDefs: SQLFunctionDef[];
7084
+
7085
+ declare class SQLSubstringRegexpr extends Expression {
7086
+ getRunnable(): IStatementRunnable;
7087
+ }
7088
+
6607
7089
  declare class SQLTarget extends Expression {
6608
7090
  getRunnable(): IStatementRunnable;
6609
7091
  }
@@ -7754,6 +8236,7 @@ declare class VerificationMessage implements IStatement {
7754
8236
  getMatcher(): IStatementRunnable;
7755
8237
  }
7756
8238
 
8239
+ /** @deprecated Use ABAPRelease and Release instead */
7757
8240
  export declare enum Version {
7758
8241
  OpenABAP = "open-abap",// as 702, but with some extra new language features
7759
8242
  v700 = "v700",
@@ -7770,9 +8253,25 @@ export declare enum Version {
7770
8253
  v756 = "v756",
7771
8254
  v757 = "v757",
7772
8255
  v758 = "v758",
8256
+ v816 = "v816",
8257
+ /**
8258
+ * Steampunk / SAP BTP ABAP Environment. This was never a release identity —
8259
+ * it always meant "latest available release, parsed under cloud-language
8260
+ * restrictions". It expands into the explicit
8261
+ * Release.Newest + {@link LanguageVersion.Cloud} pair.
8262
+ */
7773
8263
  Cloud = "Cloud"
7774
8264
  }
7775
8265
 
8266
+ declare type VersionNew = {
8267
+ release: ReleaseName;
8268
+ language: LanguageVersion;
8269
+ };
8270
+
8271
+ declare type VersionOldOrNew = Version | VersionNew;
8272
+
8273
+ export declare function versionToABAPRelease(v: Version): ABAPRelease;
8274
+
7776
8275
  declare class View extends AbstractObject {
7777
8276
  private parsedData;
7778
8277
  getType(): string;