@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
@@ -2,9 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EndFunction = void 0;
4
4
  const combi_1 = require("../combi");
5
+ const version_1 = require("../../../version");
5
6
  class EndFunction {
6
7
  getMatcher() {
7
- return (0, combi_1.str)("ENDFUNCTION");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.str)("ENDFUNCTION"));
8
9
  }
9
10
  }
10
11
  exports.EndFunction = EndFunction;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class EndModule {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "ENDMODULE");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "ENDMODULE");
9
9
  }
10
10
  }
11
11
  exports.EndModule = EndModule;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  class EndOn {
7
7
  getMatcher() {
8
8
  const ret = (0, combi_1.str)("ENDON");
9
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
10
10
  }
11
11
  }
12
12
  exports.EndOn = EndOn;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  class EndProvide {
7
7
  getMatcher() {
8
8
  const ret = (0, combi_1.str)("ENDPROVIDE");
9
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
10
10
  }
11
11
  }
12
12
  exports.EndProvide = EndProvide;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class EndWith {
7
7
  getMatcher() {
8
- return (0, combi_1.ver)(version_1.Version.v751, "ENDWITH");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.ver)(version_1.Release.v751, "ENDWITH"));
9
9
  }
10
10
  }
11
11
  exports.EndWith = EndWith;
@@ -7,7 +7,7 @@ const namespace_simple_name_1 = require("../expressions/namespace_simple_name");
7
7
  class Enhancement {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("ENHANCEMENT", (0, combi_1.plus)(namespace_simple_name_1.NamespaceSimpleName));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.Enhancement = Enhancement;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class EnhancementPoint {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("ENHANCEMENT-POINT", expressions_1.FieldSub, "SPOTS", expressions_1.Field, (0, combi_1.opt)("STATIC"), (0, combi_1.opt)("INCLUDE BOUND"));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.EnhancementPoint = EnhancementPoint;
@@ -8,7 +8,7 @@ const dash_1 = require("../../1_lexer/tokens/dash");
8
8
  class EnhancementSection {
9
9
  getMatcher() {
10
10
  const ret = (0, combi_1.seq)("ENHANCEMENT-SECTION", (0, combi_1.seq)(expressions_1.Field, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(dash_1.Dash), expressions_1.Field))), "SPOTS", expressions_1.Field, (0, combi_1.opt)("STATIC"), (0, combi_1.opt)("INCLUDE BOUND"));
11
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
12
12
  }
13
13
  }
14
14
  exports.EnhancementSection = EnhancementSection;
@@ -8,7 +8,7 @@ class ExecSQL {
8
8
  getMatcher() {
9
9
  const performing = (0, combi_1.seq)("PERFORMING", expressions_1.SimpleName);
10
10
  const ret = (0, combi_1.seq)("EXEC SQL", (0, combi_1.opt)(performing));
11
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
12
12
  }
13
13
  }
14
14
  exports.ExecSQL = ExecSQL;
@@ -4,6 +4,7 @@ exports.Export = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const tokens_1 = require("../../1_lexer/tokens");
6
6
  const expressions_1 = require("../expressions");
7
+ const version_1 = require("../../../version");
7
8
  // todo, cloud, split?
8
9
  class Export {
9
10
  getMatcher() {
@@ -13,10 +14,10 @@ class Export {
13
14
  const using = (0, combi_1.seq)("USING", expressions_1.Source);
14
15
  const cluster = (0, combi_1.seq)(expressions_1.NamespaceSimpleName, (0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.regex)(/^[\w$%\^~]{2}$/), (0, combi_1.tok)(tokens_1.ParenRightW));
15
16
  const buffer = (0, combi_1.seq)("DATA BUFFER", expressions_1.Target);
16
- const memory = (0, combi_1.seq)("MEMORY", (0, combi_1.opt)((0, combi_1.seq)("ID", expressions_1.Source)));
17
+ const memory = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("MEMORY", (0, combi_1.opt)((0, combi_1.seq)("ID", expressions_1.Source))));
17
18
  const table = (0, combi_1.seq)("INTERNAL TABLE", expressions_1.Target);
18
- const shared = (0, combi_1.seq)((0, combi_1.alt)("SHARED MEMORY", "SHARED BUFFER"), cluster, (0, combi_1.per)(from, client, id));
19
- const database = (0, combi_1.seq)("DATABASE", cluster, (0, combi_1.per)(from, client, id, using));
19
+ const shared = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)((0, combi_1.alt)("SHARED MEMORY", "SHARED BUFFER"), cluster, (0, combi_1.per)(from, client, id)));
20
+ const database = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("DATABASE", cluster, (0, combi_1.per)(from, client, id, using)));
20
21
  const target = (0, combi_1.alt)(buffer, memory, database, table, shared);
21
22
  const left = (0, combi_1.alt)(expressions_1.FieldSub, expressions_1.FieldSymbol);
22
23
  const source = (0, combi_1.alt)((0, combi_1.plus)((0, combi_1.altPrio)((0, combi_1.seq)(left, from), left)), expressions_1.Dynamic, expressions_1.Constant);
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class ExportDynpro {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("EXPORT DYNPRO", expressions_1.Source, expressions_1.Source, expressions_1.Source, expressions_1.Source, "ID", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.ExportDynpro = ExportDynpro;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Extract {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("EXTRACT", (0, combi_1.opt)(expressions_1.Field));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.Extract = Extract;
@@ -9,7 +9,7 @@ class FetchNextCursor {
9
9
  getMatcher() {
10
10
  const size = (0, combi_1.seq)("PACKAGE SIZE", expressions_1.SQLSourceSimple);
11
11
  const ret = (0, combi_1.seq)("FETCH NEXT CURSOR", expressions_1.SQLSourceSimple, (0, combi_1.alt)(sql_into_structure_1.SQLIntoStructure, expressions_1.SQLIntoTable, expressions_1.SQLIntoList), (0, combi_1.optPrio)(size));
12
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
13
13
  }
14
14
  }
15
15
  exports.FetchNextCursor = FetchNextCursor;
@@ -17,7 +17,7 @@ class Field {
17
17
  const into = (0, combi_1.seq)("INTO", expressions_1.FieldChain);
18
18
  const select = (0, combi_1.seq)("SELECT * FROM", expressions_1.FieldChain, "WHERE", where, (0, combi_1.opt)(into), (0, combi_1.opt)("WHENEVER NOT FOUND SEND ERRORMESSAGE"));
19
19
  const ret = (0, combi_1.seq)("FIELD", expressions_1.FieldChain, (0, combi_1.opt)((0, combi_1.altPrio)(module, moduleStrange, values, wit, select)));
20
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
20
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
21
21
  }
22
22
  }
23
23
  exports.Field = Field;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class FieldGroup {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("FIELD-GROUPS", (0, combi_1.plus)(expressions_1.Field));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.FieldGroup = FieldGroup;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Fields {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("FIELDS", expressions_1.FieldSub);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.Fields = Fields;
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Form = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  class Form {
7
8
  getMatcher() {
8
9
  const parameters = (0, combi_1.seq)((0, combi_1.opt)(expressions_1.FormTables), (0, combi_1.opt)(expressions_1.FormUsing), (0, combi_1.opt)(expressions_1.FormChanging), (0, combi_1.opt)(expressions_1.FormRaising));
9
10
  const ret = (0, combi_1.seq)("FORM", expressions_1.FormName, (0, combi_1.alt)("IMPLEMENTATION", parameters));
10
- return ret;
11
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
11
12
  }
12
13
  }
13
14
  exports.Form = Form;
@@ -10,7 +10,7 @@ class Format {
10
10
  const value = (0, combi_1.altPrio)(eq, "ON", "OFF");
11
11
  const options = (0, combi_1.per)("RESET", (0, combi_1.seq)("INTENSIFIED", (0, combi_1.opt)(value)), (0, combi_1.seq)("INVERSE", (0, combi_1.opt)(value)), (0, combi_1.seq)("HOTSPOT", (0, combi_1.opt)(value)), (0, combi_1.seq)("FRAMES", value), (0, combi_1.seq)("INPUT", (0, combi_1.opt)(value)), expressions_1.Color);
12
12
  const ret = (0, combi_1.seq)("FORMAT", options);
13
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
13
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
14
14
  }
15
15
  }
16
16
  exports.Format = Format;
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Free = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  class Free {
7
8
  getMatcher() {
8
9
  const ret = (0, combi_1.seq)("FREE", expressions_1.Target);
9
- return ret;
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
10
11
  }
11
12
  }
12
13
  exports.Free = Free;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class FreeMemory {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("FREE MEMORY", (0, combi_1.optPrio)((0, combi_1.seq)("ID", expressions_1.Source)));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.FreeMemory = FreeMemory;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class FreeObject {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("FREE OBJECT", expressions_1.Target, (0, combi_1.opt)("NO FLUSH"));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.FreeObject = FreeObject;
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FunctionModule = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  class FunctionModule {
7
8
  getMatcher() {
8
- return (0, combi_1.seq)("FUNCTION", expressions_1.Field);
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("FUNCTION", expressions_1.Field));
9
10
  }
10
11
  }
11
12
  exports.FunctionModule = FunctionModule;
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FunctionPool = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  class FunctionPool {
7
8
  getMatcher() {
8
9
  const message = (0, combi_1.seq)("MESSAGE-ID", expressions_1.MessageClass);
9
10
  const line = (0, combi_1.seq)("LINE-SIZE", expressions_1.Integer);
10
11
  const no = (0, combi_1.str)("NO STANDARD PAGE HEADING");
11
- return (0, combi_1.seq)("FUNCTION-POOL", expressions_1.IncludeName, (0, combi_1.opt)((0, combi_1.per)(message, line, no)));
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("FUNCTION-POOL", expressions_1.IncludeName, (0, combi_1.opt)((0, combi_1.per)(message, line, no))));
12
13
  }
13
14
  }
14
15
  exports.FunctionPool = FunctionPool;
@@ -9,7 +9,7 @@ class GenerateDynpro {
9
9
  const line = (0, combi_1.seq)("LINE", expressions_1.Target);
10
10
  const word = (0, combi_1.seq)("WORD", expressions_1.Target);
11
11
  const ret = (0, combi_1.seq)("GENERATE DYNPRO", expressions_1.Source, expressions_1.Source, expressions_1.Source, expressions_1.Source, "ID", expressions_1.Source, "MESSAGE", expressions_1.Target, (0, combi_1.per)(line, word));
12
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
13
13
  }
14
14
  }
15
15
  exports.GenerateDynpro = GenerateDynpro;
@@ -20,7 +20,7 @@ class GenerateReport {
20
20
  const directory = (0, combi_1.seq)("DIRECTORY ENTRY", expressions_1.Target);
21
21
  const options = (0, combi_1.per)(without, message, include, trace, line, word, offset, headers, test, messageid, shortdumpid, directory);
22
22
  const ret = (0, combi_1.seq)("GENERATE REPORT", expressions_1.Source, (0, combi_1.opt)(options));
23
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
23
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
24
24
  }
25
25
  }
26
26
  exports.GenerateReport = GenerateReport;
@@ -15,7 +15,7 @@ class GenerateSubroutine {
15
15
  const short = (0, combi_1.seq)("SHORTDUMP-ID", expressions_1.Target);
16
16
  const include = (0, combi_1.seq)("INCLUDE", expressions_1.Target);
17
17
  const ret = (0, combi_1.seq)("GENERATE SUBROUTINE POOL", expressions_1.Source, (0, combi_1.per)(name, message, line, word, include, offset, messageid, short));
18
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
18
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
19
19
  }
20
20
  }
21
21
  exports.GenerateSubroutine = GenerateSubroutine;
@@ -9,7 +9,7 @@ class Get {
9
9
  const fields = (0, combi_1.seq)("FIELDS", (0, combi_1.plus)(expressions_1.Field));
10
10
  const options = (0, combi_1.per)("LATE", fields);
11
11
  const ret = (0, combi_1.seq)("GET", expressions_1.Target, (0, combi_1.opt)(options));
12
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
13
13
  }
14
14
  }
15
15
  exports.Get = Get;
@@ -10,7 +10,7 @@ class GetBadi {
10
10
  const context = (0, combi_1.seq)("CONTEXT", expressions_1.Source);
11
11
  const type = (0, combi_1.seq)("TYPE", expressions_1.Dynamic);
12
12
  const ret = (0, combi_1.seq)("GET BADI", expressions_1.Target, (0, combi_1.opt)(type), (0, combi_1.opt)(filters), (0, combi_1.opt)(context));
13
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
13
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
14
14
  }
15
15
  }
16
16
  exports.GetBadi = GetBadi;
@@ -13,7 +13,7 @@ class GetCursor {
13
13
  const length = (0, combi_1.seq)("LENGTH", expressions_1.Target);
14
14
  const area = (0, combi_1.seq)("AREA", expressions_1.Target);
15
15
  const ret = (0, combi_1.seq)("GET CURSOR", (0, combi_1.per)(line, (0, combi_1.opt)("DISPLAY"), field, offset, value, length, area));
16
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
16
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
17
17
  }
18
18
  }
19
19
  exports.GetCursor = GetCursor;
@@ -9,7 +9,7 @@ class GetDataset {
9
9
  const position = (0, combi_1.seq)("POSITION", expressions_1.Target);
10
10
  const attr = (0, combi_1.seq)("ATTRIBUTES", expressions_1.Target);
11
11
  const ret = (0, combi_1.seq)("GET DATASET", expressions_1.Target, (0, combi_1.opt)((0, combi_1.per)(position, attr)));
12
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
13
13
  }
14
14
  }
15
15
  exports.GetDataset = GetDataset;
@@ -9,7 +9,7 @@ class GetLocale {
9
9
  const country = (0, combi_1.seq)("COUNTRY", expressions_1.Target);
10
10
  const modifier = (0, combi_1.seq)("MODIFIER", expressions_1.Target);
11
11
  const ret = (0, combi_1.seq)("GET LOCALE LANGUAGE", expressions_1.Target, country, modifier);
12
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
13
13
  }
14
14
  }
15
15
  exports.GetLocale = GetLocale;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class GetParameter {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("GET PARAMETER ID", expressions_1.Source, "FIELD", expressions_1.Target);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.GetParameter = GetParameter;
@@ -9,7 +9,7 @@ class GetPermissions {
9
9
  const type = (0, combi_1.altPrio)("GLOBAL AUTHORIZATION", "INSTANCE");
10
10
  const from = (0, combi_1.seq)("FROM", expressions_1.Source);
11
11
  const s = (0, combi_1.seq)("GET PERMISSIONS ONLY", type, "ENTITY", expressions_1.SimpleName, (0, combi_1.optPrio)(from), "REQUEST", expressions_1.Source, "RESULT", expressions_1.Target, "FAILED", expressions_1.Target, "REPORTED", expressions_1.Target);
12
- return (0, combi_1.ver)(version_1.Version.v754, s, version_1.Version.OpenABAP);
12
+ return (0, combi_1.ver)(version_1.Release.v754, s, { also: combi_1.AlsoIn.OpenABAP });
13
13
  }
14
14
  }
15
15
  exports.GetPermissions = GetPermissions;
@@ -9,7 +9,7 @@ class GetPFStatus {
9
9
  const program = (0, combi_1.seq)("PROGRAM", expressions_1.Source);
10
10
  const excl = (0, combi_1.seq)("EXCLUDING", expressions_1.Source);
11
11
  const ret = (0, combi_1.seq)("GET PF-STATUS", expressions_1.Target, (0, combi_1.opt)(program), (0, combi_1.opt)(excl));
12
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
13
13
  }
14
14
  }
15
15
  exports.GetPFStatus = GetPFStatus;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class GetProperty {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("GET PROPERTY OF", expressions_1.FieldSub, (0, combi_1.alt)(expressions_1.Source, expressions_1.ConstantString), "=", expressions_1.Source, (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)((0, combi_1.alt)("QUEUE-ONLY", "QUEUEONLY")), (0, combi_1.opt)(expressions_1.OLEExporting));
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.GetProperty = GetProperty;
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetReference = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  class GetReference {
7
8
  getMatcher() {
8
9
  const ret = (0, combi_1.seq)("GET REFERENCE OF", expressions_1.Source, "INTO", expressions_1.Target);
9
- return ret;
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
10
11
  }
11
12
  }
12
13
  exports.GetReference = GetReference;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class GetRunTime {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("GET RUN TIME FIELD", expressions_1.Target);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.GetRunTime = GetRunTime;
@@ -3,10 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetTime = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  class GetTime {
7
8
  getMatcher() {
8
9
  const options = (0, combi_1.seq)((0, combi_1.alt)("STAMP FIELD", "FIELD"), expressions_1.Target);
9
- return (0, combi_1.seq)("GET TIME", (0, combi_1.opt)(options));
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("GET TIME", (0, combi_1.opt)(options)));
10
11
  }
11
12
  }
12
13
  exports.GetTime = GetTime;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class Hide {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("HIDE", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.Hide = Hide;
@@ -4,6 +4,7 @@ exports.Import = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const tokens_1 = require("../../1_lexer/tokens");
6
6
  const expressions_1 = require("../expressions");
7
+ const version_1 = require("../../../version");
7
8
  class Import {
8
9
  getMatcher() {
9
10
  const dto = (0, combi_1.seq)("TO", expressions_1.Target);
@@ -12,11 +13,11 @@ class Import {
12
13
  const using = (0, combi_1.seq)("USING", expressions_1.Source);
13
14
  const cluster = (0, combi_1.seq)(expressions_1.NamespaceSimpleName, (0, combi_1.tok)(tokens_1.ParenLeft), (0, combi_1.regex)(/^[\w$%\^]{2}$/), (0, combi_1.tok)(tokens_1.ParenRightW));
14
15
  const buffer = (0, combi_1.seq)("DATA BUFFER", expressions_1.Source);
15
- const memory = (0, combi_1.seq)("MEMORY", (0, combi_1.opt)((0, combi_1.seq)("ID", expressions_1.Source)));
16
+ const memory = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("MEMORY", (0, combi_1.opt)((0, combi_1.seq)("ID", expressions_1.Source))));
16
17
  const table = (0, combi_1.seq)("INTERNAL TABLE", expressions_1.Source);
17
- const shared = (0, combi_1.seq)((0, combi_1.alt)("SHARED MEMORY", "SHARED BUFFER"), cluster, (0, combi_1.per)(dto, client, id));
18
- const database = (0, combi_1.seq)("DATABASE", cluster, (0, combi_1.per)(dto, client, id, using));
19
- const logfile = (0, combi_1.seq)("LOGFILE ID", expressions_1.Source);
18
+ const shared = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)((0, combi_1.alt)("SHARED MEMORY", "SHARED BUFFER"), cluster, (0, combi_1.per)(dto, client, id)));
19
+ const database = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("DATABASE", cluster, (0, combi_1.per)(dto, client, id, using)));
20
+ const logfile = (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("LOGFILE ID", expressions_1.Source));
20
21
  const source = (0, combi_1.alt)(buffer, memory, database, table, shared, logfile);
21
22
  const to = (0, combi_1.plus)((0, combi_1.seq)(expressions_1.ComponentChainSimple, (0, combi_1.alt)("TO", "INTO"), expressions_1.Target));
22
23
  const toeq = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.alt)(expressions_1.ComponentChainSimple, expressions_1.FieldSymbol), "=", expressions_1.Target));
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class ImportDynpro {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("IMPORT DYNPRO", expressions_1.Target, expressions_1.Target, expressions_1.Target, expressions_1.Target, "ID", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.ImportDynpro = ImportDynpro;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class ImportNametab {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("IMPORT NAMETAB", expressions_1.Target, expressions_1.Target, "ID", expressions_1.Source);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
11
11
  }
12
12
  }
13
13
  exports.ImportNametab = ImportNametab;
@@ -11,7 +11,7 @@ class Infotypes {
11
11
  const mode = "MODE N";
12
12
  const valid = (0, combi_1.seq)("VALID FROM", expressions_1.Source, "TO", expressions_1.Source);
13
13
  const ret = (0, combi_1.seq)("INFOTYPES", (0, combi_1.regex)(/^\d\d\d\d$/), (0, combi_1.optPrio)(valid), (0, combi_1.optPrio)(name), (0, combi_1.optPrio)(occurs), (0, combi_1.optPrio)(mode));
14
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
14
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
15
15
  }
16
16
  }
17
17
  exports.Infotypes = Infotypes;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class Initialization {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "INITIALIZATION");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "INITIALIZATION");
9
9
  }
10
10
  }
11
11
  exports.Initialization = Initialization;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class Input {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "INPUT");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "INPUT");
9
9
  }
10
10
  }
11
11
  exports.Input = Input;
@@ -4,13 +4,14 @@ exports.InsertDatabase = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
6
  const tokens_1 = require("../../1_lexer/tokens");
7
+ const version_1 = require("../../../version");
7
8
  class InsertDatabase {
8
9
  getMatcher() {
9
10
  const sub = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), expressions_1.Select, (0, combi_1.tok)(tokens_1.WParenRightW));
10
11
  const f = (0, combi_1.seq)((0, combi_1.opt)(expressions_1.SQLClient), (0, combi_1.opt)(expressions_1.DatabaseConnection), "FROM", (0, combi_1.opt)("TABLE"), (0, combi_1.alt)(expressions_1.SQLSource, sub), (0, combi_1.opt)("ACCEPTING DUPLICATE KEYS"));
11
12
  const from = (0, combi_1.seq)(expressions_1.DatabaseTable, (0, combi_1.opt)((0, combi_1.alt)(f, expressions_1.SQLClient, expressions_1.DatabaseConnection)));
12
13
  const into = (0, combi_1.seq)("INTO", expressions_1.DatabaseTable, (0, combi_1.opt)(expressions_1.SQLClient), (0, combi_1.opt)(expressions_1.DatabaseConnection), "VALUES", expressions_1.SQLSource);
13
- return (0, combi_1.seq)("INSERT", (0, combi_1.alt)(from, into));
14
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("INSERT", (0, combi_1.alt)(from, into)));
14
15
  }
15
16
  }
16
17
  exports.InsertDatabase = InsertDatabase;
@@ -7,7 +7,7 @@ const expressions_1 = require("../expressions");
7
7
  class InsertFieldGroup {
8
8
  getMatcher() {
9
9
  const into = (0, combi_1.seq)("INTO", expressions_1.Target);
10
- const src = (0, combi_1.alt)((0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.plus)(expressions_1.Source)), (0, combi_1.plus)(expressions_1.SimpleSource1));
10
+ const src = (0, combi_1.alt)((0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.plus)(expressions_1.Source)), (0, combi_1.plus)(expressions_1.SimpleSource1));
11
11
  const ret = (0, combi_1.seq)("INSERT", src, into);
12
12
  return ret;
13
13
  }
@@ -18,7 +18,7 @@ class InsertInternal {
18
18
  const fromTo = (0, combi_1.opt)((0, combi_1.per)(from, to));
19
19
  const foo = (0, combi_1.alt)(intoTable, (0, combi_1.seq)(into, (0, combi_1.opt)((0, combi_1.per)(index, (0, combi_1.alt)(ref, assigning)))), (0, combi_1.per)(index, (0, combi_1.alt)(ref, assigning)));
20
20
  const lines = (0, combi_1.seq)("LINES OF", target, (0, combi_1.opt)(fromTo));
21
- const src = (0, combi_1.alt)(expressions_1.SimpleSource4, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source, version_1.Version.OpenABAP));
21
+ const src = (0, combi_1.alt)(expressions_1.SimpleSource4, (0, combi_1.ver)(version_1.Release.v740sp02, expressions_1.Source, { also: combi_1.AlsoIn.OpenABAP }));
22
22
  const tab = (0, combi_1.seq)("TABLE", expressions_1.Source);
23
23
  const ret = (0, combi_1.seq)("INSERT", (0, combi_1.altPrio)(tab, (0, combi_1.seq)((0, combi_1.altPrio)(initial, lines, src), foo)));
24
24
  return ret;
@@ -6,9 +6,9 @@ const expressions_1 = require("../expressions");
6
6
  const version_1 = require("../../../version");
7
7
  class InsertReport {
8
8
  getMatcher() {
9
- const options = (0, combi_1.per)((0, combi_1.seq)("STATE", expressions_1.Source), (0, combi_1.seq)("EXTENSION TYPE", expressions_1.Source), (0, combi_1.seq)("DIRECTORY ENTRY", expressions_1.Source), (0, combi_1.seq)("UNICODE ENABLING", expressions_1.Source), (0, combi_1.seq)("PROGRAM TYPE", expressions_1.Source), (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("VERSION", expressions_1.Source)), (0, combi_1.seq)("FIXED-POINT ARITHMETIC", expressions_1.Source), "KEEPING DIRECTORY ENTRY");
9
+ const options = (0, combi_1.per)((0, combi_1.seq)("STATE", expressions_1.Source), (0, combi_1.seq)("EXTENSION TYPE", expressions_1.Source), (0, combi_1.seq)("DIRECTORY ENTRY", expressions_1.Source), (0, combi_1.seq)("UNICODE ENABLING", expressions_1.Source), (0, combi_1.seq)("PROGRAM TYPE", expressions_1.Source), (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)("VERSION", expressions_1.Source)), (0, combi_1.seq)("FIXED-POINT ARITHMETIC", expressions_1.Source), "KEEPING DIRECTORY ENTRY");
10
10
  const ret = (0, combi_1.seq)("INSERT REPORT", expressions_1.Source, "FROM", expressions_1.Source, (0, combi_1.opt)(options));
11
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
11
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
12
12
  }
13
13
  }
14
14
  exports.InsertReport = InsertReport;
@@ -9,7 +9,7 @@ class InsertTextpool {
9
9
  const state = (0, combi_1.seq)("STATE", expressions_1.Source);
10
10
  const language = (0, combi_1.seq)("LANGUAGE", expressions_1.Source);
11
11
  const ret = (0, combi_1.seq)("INSERT TEXTPOOL", expressions_1.Source, "FROM", expressions_1.Source, (0, combi_1.opt)(language), (0, combi_1.opt)(state));
12
- return (0, combi_1.verNot)(version_1.Version.Cloud, ret);
12
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
13
13
  }
14
14
  }
15
15
  exports.InsertTextpool = InsertTextpool;
@@ -8,7 +8,7 @@ class InterfaceDef {
8
8
  getMatcher() {
9
9
  const val = (0, combi_1.seq)(expressions_1.AttributeName, "=", expressions_1.Source);
10
10
  const dataValues = (0, combi_1.seq)("DATA VALUES", (0, combi_1.plus)(val));
11
- const options = (0, combi_1.alt)((0, combi_1.seq)(expressions_1.AbstractMethods, (0, combi_1.opt)(expressions_1.FinalMethods)), expressions_1.FinalMethods, "ALL METHODS ABSTRACT", "ALL METHODS FINAL", (0, combi_1.ver)(version_1.Version.v740sp02, "PARTIALLY IMPLEMENTED", version_1.Version.OpenABAP));
11
+ const options = (0, combi_1.alt)((0, combi_1.seq)(expressions_1.AbstractMethods, (0, combi_1.opt)(expressions_1.FinalMethods)), expressions_1.FinalMethods, "ALL METHODS ABSTRACT", "ALL METHODS FINAL", (0, combi_1.ver)(version_1.Release.v740sp02, "PARTIALLY IMPLEMENTED", { also: combi_1.AlsoIn.OpenABAP }));
12
12
  return (0, combi_1.seq)("INTERFACES", expressions_1.InterfaceName, (0, combi_1.opt)(options), (0, combi_1.opt)(dataValues));
13
13
  }
14
14
  }
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InterfaceDeferred = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const expressions_1 = require("../expressions");
6
+ const version_1 = require("../../../version");
6
7
  class InterfaceDeferred {
7
8
  getMatcher() {
8
- return (0, combi_1.seq)("INTERFACE", expressions_1.InterfaceName, "DEFERRED", (0, combi_1.opt)("PUBLIC"));
9
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.seq)("INTERFACE", expressions_1.InterfaceName, "DEFERRED", (0, combi_1.opt)("PUBLIC")));
9
10
  }
10
11
  }
11
12
  exports.InterfaceDeferred = InterfaceDeferred;