@abaplint/core 2.119.43 → 2.119.44

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 (332) hide show
  1. package/build/abaplint.d.ts +152 -8
  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 +5 -5
  6. package/build/src/abap/2_statements/expressions/assign_source.js +1 -1
  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/find_type.js +1 -1
  15. package/build/src/abap/2_statements/expressions/for.js +2 -2
  16. package/build/src/abap/2_statements/expressions/function_exporting_parameter.js +1 -1
  17. package/build/src/abap/2_statements/expressions/index.js +9 -0
  18. package/build/src/abap/2_statements/expressions/inlinedata.js +1 -1
  19. package/build/src/abap/2_statements/expressions/inlinefs.js +1 -1
  20. package/build/src/abap/2_statements/expressions/loop_source.js +1 -1
  21. package/build/src/abap/2_statements/expressions/message_source_source.js +1 -1
  22. package/build/src/abap/2_statements/expressions/new_object.js +1 -1
  23. package/build/src/abap/2_statements/expressions/reduce_next.js +1 -1
  24. package/build/src/abap/2_statements/expressions/select.js +1 -1
  25. package/build/src/abap/2_statements/expressions/select_cte.js +5 -5
  26. package/build/src/abap/2_statements/expressions/source.js +11 -11
  27. package/build/src/abap/2_statements/expressions/sql_aggregation.js +9 -9
  28. package/build/src/abap/2_statements/expressions/sql_association_entry.js +1 -1
  29. package/build/src/abap/2_statements/expressions/sql_associations_list.js +1 -1
  30. package/build/src/abap/2_statements/expressions/sql_case.js +1 -1
  31. package/build/src/abap/2_statements/expressions/sql_client.js +2 -2
  32. package/build/src/abap/2_statements/expressions/sql_compare.js +7 -6
  33. package/build/src/abap/2_statements/expressions/sql_cte_associations.js +1 -1
  34. package/build/src/abap/2_statements/expressions/sql_cte_hierarchy.js +1 -1
  35. package/build/src/abap/2_statements/expressions/sql_field.js +4 -4
  36. package/build/src/abap/2_statements/expressions/sql_field_list.js +1 -1
  37. package/build/src/abap/2_statements/expressions/sql_field_list_loop.js +2 -2
  38. package/build/src/abap/2_statements/expressions/sql_field_list_loop_greedy.js +2 -2
  39. package/build/src/abap/2_statements/expressions/sql_from_source.js +2 -2
  40. package/build/src/abap/2_statements/expressions/sql_function.js +363 -31
  41. package/build/src/abap/2_statements/expressions/sql_function_input.js +1 -1
  42. package/build/src/abap/2_statements/expressions/sql_group_by.js +2 -2
  43. package/build/src/abap/2_statements/expressions/sql_hierarchy_accessor.js +1 -1
  44. package/build/src/abap/2_statements/expressions/sql_hierarchy_aggregate.js +1 -1
  45. package/build/src/abap/2_statements/expressions/sql_hierarchy_source.js +1 -1
  46. package/build/src/abap/2_statements/expressions/sql_in.js +2 -2
  47. package/build/src/abap/2_statements/expressions/sql_into_list.js +1 -1
  48. package/build/src/abap/2_statements/expressions/sql_join.js +1 -1
  49. package/build/src/abap/2_statements/expressions/sql_like_regexpr.js +19 -0
  50. package/build/src/abap/2_statements/expressions/sql_locate_regexpr.js +18 -0
  51. package/build/src/abap/2_statements/expressions/sql_occurrences_regexpr.js +15 -0
  52. package/build/src/abap/2_statements/expressions/sql_options.js +2 -2
  53. package/build/src/abap/2_statements/expressions/sql_over.js +2 -2
  54. package/build/src/abap/2_statements/expressions/sql_path_for_column.js +1 -1
  55. package/build/src/abap/2_statements/expressions/sql_path_for_entity.js +1 -1
  56. package/build/src/abap/2_statements/expressions/sql_path_segment.js +3 -3
  57. package/build/src/abap/2_statements/expressions/sql_privileged_access.js +1 -1
  58. package/build/src/abap/2_statements/expressions/sql_regexpr_from.js +17 -0
  59. package/build/src/abap/2_statements/expressions/sql_regexpr_group.js +17 -0
  60. package/build/src/abap/2_statements/expressions/sql_regexpr_occurrence.js +17 -0
  61. package/build/src/abap/2_statements/expressions/sql_regexpr_pattern.js +18 -0
  62. package/build/src/abap/2_statements/expressions/sql_replace_regexpr.js +22 -0
  63. package/build/src/abap/2_statements/expressions/sql_set_op.js +1 -1
  64. package/build/src/abap/2_statements/expressions/sql_set_op_group.js +2 -2
  65. package/build/src/abap/2_statements/expressions/sql_source.js +1 -1
  66. package/build/src/abap/2_statements/expressions/sql_source_no_space.js +1 -1
  67. package/build/src/abap/2_statements/expressions/sql_source_simple.js +1 -1
  68. package/build/src/abap/2_statements/expressions/sql_substring_regexpr.js +18 -0
  69. package/build/src/abap/2_statements/expressions/sql_target.js +2 -2
  70. package/build/src/abap/2_statements/expressions/string_template.js +1 -1
  71. package/build/src/abap/2_statements/expressions/string_template_formatting.js +2 -2
  72. package/build/src/abap/2_statements/expressions/table_expression.js +1 -1
  73. package/build/src/abap/2_statements/expressions/type.js +1 -1
  74. package/build/src/abap/2_statements/expressions/type_table.js +1 -1
  75. package/build/src/abap/2_statements/expressions/type_table_key.js +1 -1
  76. package/build/src/abap/2_statements/expressions/value_body.js +1 -1
  77. package/build/src/abap/2_statements/result.js +6 -0
  78. package/build/src/abap/2_statements/statement_parser.js +8 -5
  79. package/build/src/abap/2_statements/statements/add_corresponding.js +1 -1
  80. package/build/src/abap/2_statements/statements/append.js +1 -1
  81. package/build/src/abap/2_statements/statements/assign.js +1 -1
  82. package/build/src/abap/2_statements/statements/assign_local_copy.js +1 -1
  83. package/build/src/abap/2_statements/statements/at_line_selection.js +1 -1
  84. package/build/src/abap/2_statements/statements/at_pf.js +1 -1
  85. package/build/src/abap/2_statements/statements/at_selection_screen.js +1 -1
  86. package/build/src/abap/2_statements/statements/at_user_command.js +1 -1
  87. package/build/src/abap/2_statements/statements/back.js +1 -1
  88. package/build/src/abap/2_statements/statements/break.js +1 -1
  89. package/build/src/abap/2_statements/statements/break_id.js +1 -1
  90. package/build/src/abap/2_statements/statements/call_badi.js +1 -1
  91. package/build/src/abap/2_statements/statements/call_database.js +1 -1
  92. package/build/src/abap/2_statements/statements/call_dialog.js +1 -1
  93. package/build/src/abap/2_statements/statements/call_function.js +4 -4
  94. package/build/src/abap/2_statements/statements/call_kernel.js +1 -1
  95. package/build/src/abap/2_statements/statements/call_ole.js +1 -1
  96. package/build/src/abap/2_statements/statements/call_screen.js +1 -1
  97. package/build/src/abap/2_statements/statements/call_selection_screen.js +1 -1
  98. package/build/src/abap/2_statements/statements/call_subscreen.js +1 -1
  99. package/build/src/abap/2_statements/statements/call_transaction.js +1 -1
  100. package/build/src/abap/2_statements/statements/case_type.js +1 -1
  101. package/build/src/abap/2_statements/statements/catch_system_exceptions.js +1 -1
  102. package/build/src/abap/2_statements/statements/chain.js +1 -1
  103. package/build/src/abap/2_statements/statements/check_select_options.js +1 -1
  104. package/build/src/abap/2_statements/statements/class_definition.js +1 -1
  105. package/build/src/abap/2_statements/statements/close_cursor.js +1 -1
  106. package/build/src/abap/2_statements/statements/close_dataset.js +1 -1
  107. package/build/src/abap/2_statements/statements/commit_entities.js +1 -1
  108. package/build/src/abap/2_statements/statements/communication.js +1 -1
  109. package/build/src/abap/2_statements/statements/compute.js +1 -1
  110. package/build/src/abap/2_statements/statements/contexts.js +1 -1
  111. package/build/src/abap/2_statements/statements/controls.js +1 -1
  112. package/build/src/abap/2_statements/statements/convert.js +2 -2
  113. package/build/src/abap/2_statements/statements/create_data.js +1 -1
  114. package/build/src/abap/2_statements/statements/create_object.js +1 -1
  115. package/build/src/abap/2_statements/statements/create_ole.js +1 -1
  116. package/build/src/abap/2_statements/statements/define.js +1 -1
  117. package/build/src/abap/2_statements/statements/delete_cluster.js +1 -1
  118. package/build/src/abap/2_statements/statements/delete_dataset.js +1 -1
  119. package/build/src/abap/2_statements/statements/delete_dynpro.js +1 -1
  120. package/build/src/abap/2_statements/statements/delete_memory.js +1 -1
  121. package/build/src/abap/2_statements/statements/delete_report.js +1 -1
  122. package/build/src/abap/2_statements/statements/delete_textpool.js +1 -1
  123. package/build/src/abap/2_statements/statements/demand.js +1 -1
  124. package/build/src/abap/2_statements/statements/describe.js +1 -1
  125. package/build/src/abap/2_statements/statements/detail.js +1 -1
  126. package/build/src/abap/2_statements/statements/editor_call.js +1 -1
  127. package/build/src/abap/2_statements/statements/end_chain.js +1 -1
  128. package/build/src/abap/2_statements/statements/end_enhancement.js +1 -1
  129. package/build/src/abap/2_statements/statements/end_enhancement_section.js +1 -1
  130. package/build/src/abap/2_statements/statements/end_of_page.js +1 -1
  131. package/build/src/abap/2_statements/statements/end_of_selection.js +1 -1
  132. package/build/src/abap/2_statements/statements/end_test_seam.js +1 -1
  133. package/build/src/abap/2_statements/statements/endcatch.js +1 -1
  134. package/build/src/abap/2_statements/statements/enddefine.js +1 -1
  135. package/build/src/abap/2_statements/statements/endexec.js +1 -1
  136. package/build/src/abap/2_statements/statements/endmodule.js +1 -1
  137. package/build/src/abap/2_statements/statements/endon.js +1 -1
  138. package/build/src/abap/2_statements/statements/endprovide.js +1 -1
  139. package/build/src/abap/2_statements/statements/endwith.js +1 -1
  140. package/build/src/abap/2_statements/statements/enhancement.js +1 -1
  141. package/build/src/abap/2_statements/statements/enhancement_point.js +1 -1
  142. package/build/src/abap/2_statements/statements/enhancement_section.js +1 -1
  143. package/build/src/abap/2_statements/statements/exec_sql.js +1 -1
  144. package/build/src/abap/2_statements/statements/export_dynpro.js +1 -1
  145. package/build/src/abap/2_statements/statements/extract.js +1 -1
  146. package/build/src/abap/2_statements/statements/fetch_next_cursor.js +1 -1
  147. package/build/src/abap/2_statements/statements/field.js +1 -1
  148. package/build/src/abap/2_statements/statements/field_group.js +1 -1
  149. package/build/src/abap/2_statements/statements/fields.js +1 -1
  150. package/build/src/abap/2_statements/statements/format.js +1 -1
  151. package/build/src/abap/2_statements/statements/free_memory.js +1 -1
  152. package/build/src/abap/2_statements/statements/free_object.js +1 -1
  153. package/build/src/abap/2_statements/statements/generate_dynpro.js +1 -1
  154. package/build/src/abap/2_statements/statements/generate_report.js +1 -1
  155. package/build/src/abap/2_statements/statements/generate_subroutine.js +1 -1
  156. package/build/src/abap/2_statements/statements/get.js +1 -1
  157. package/build/src/abap/2_statements/statements/get_badi.js +1 -1
  158. package/build/src/abap/2_statements/statements/get_cursor.js +1 -1
  159. package/build/src/abap/2_statements/statements/get_dataset.js +1 -1
  160. package/build/src/abap/2_statements/statements/get_locale.js +1 -1
  161. package/build/src/abap/2_statements/statements/get_parameter.js +1 -1
  162. package/build/src/abap/2_statements/statements/get_permissions.js +1 -1
  163. package/build/src/abap/2_statements/statements/get_pf_status.js +1 -1
  164. package/build/src/abap/2_statements/statements/get_property.js +1 -1
  165. package/build/src/abap/2_statements/statements/get_run_time.js +1 -1
  166. package/build/src/abap/2_statements/statements/hide.js +1 -1
  167. package/build/src/abap/2_statements/statements/import_dynpro.js +1 -1
  168. package/build/src/abap/2_statements/statements/import_nametab.js +1 -1
  169. package/build/src/abap/2_statements/statements/infotypes.js +1 -1
  170. package/build/src/abap/2_statements/statements/initialization.js +1 -1
  171. package/build/src/abap/2_statements/statements/input.js +1 -1
  172. package/build/src/abap/2_statements/statements/insert_field_group.js +1 -1
  173. package/build/src/abap/2_statements/statements/insert_internal.js +1 -1
  174. package/build/src/abap/2_statements/statements/insert_report.js +2 -2
  175. package/build/src/abap/2_statements/statements/insert_textpool.js +1 -1
  176. package/build/src/abap/2_statements/statements/interface_def.js +1 -1
  177. package/build/src/abap/2_statements/statements/leave.js +1 -1
  178. package/build/src/abap/2_statements/statements/load_of_program.js +1 -1
  179. package/build/src/abap/2_statements/statements/load_report.js +1 -1
  180. package/build/src/abap/2_statements/statements/local.js +1 -1
  181. package/build/src/abap/2_statements/statements/log_point.js +1 -1
  182. package/build/src/abap/2_statements/statements/loop.js +3 -3
  183. package/build/src/abap/2_statements/statements/loop_at_screen.js +1 -1
  184. package/build/src/abap/2_statements/statements/message.js +1 -1
  185. package/build/src/abap/2_statements/statements/method_def.js +1 -1
  186. package/build/src/abap/2_statements/statements/modify_entities.js +1 -1
  187. package/build/src/abap/2_statements/statements/modify_line.js +1 -1
  188. package/build/src/abap/2_statements/statements/modify_screen.js +1 -1
  189. package/build/src/abap/2_statements/statements/module.js +1 -1
  190. package/build/src/abap/2_statements/statements/move.js +2 -2
  191. package/build/src/abap/2_statements/statements/move_corresponding.js +2 -2
  192. package/build/src/abap/2_statements/statements/new_line.js +1 -1
  193. package/build/src/abap/2_statements/statements/new_page.js +1 -1
  194. package/build/src/abap/2_statements/statements/nodes.js +1 -1
  195. package/build/src/abap/2_statements/statements/on_change.js +1 -1
  196. package/build/src/abap/2_statements/statements/open_cursor.js +2 -2
  197. package/build/src/abap/2_statements/statements/open_dataset.js +1 -1
  198. package/build/src/abap/2_statements/statements/pack.js +1 -1
  199. package/build/src/abap/2_statements/statements/parameter.js +1 -1
  200. package/build/src/abap/2_statements/statements/perform.js +2 -2
  201. package/build/src/abap/2_statements/statements/position.js +1 -1
  202. package/build/src/abap/2_statements/statements/print_control.js +1 -1
  203. package/build/src/abap/2_statements/statements/process_after_input.js +1 -1
  204. package/build/src/abap/2_statements/statements/process_before_output.js +1 -1
  205. package/build/src/abap/2_statements/statements/process_on_help_request.js +1 -1
  206. package/build/src/abap/2_statements/statements/process_on_value_request.js +1 -1
  207. package/build/src/abap/2_statements/statements/program.js +1 -1
  208. package/build/src/abap/2_statements/statements/provide.js +1 -1
  209. package/build/src/abap/2_statements/statements/put.js +1 -1
  210. package/build/src/abap/2_statements/statements/raise.js +2 -2
  211. package/build/src/abap/2_statements/statements/ranges.js +1 -1
  212. package/build/src/abap/2_statements/statements/read_dataset.js +1 -1
  213. package/build/src/abap/2_statements/statements/read_entities.js +1 -1
  214. package/build/src/abap/2_statements/statements/read_line.js +1 -1
  215. package/build/src/abap/2_statements/statements/read_report.js +1 -1
  216. package/build/src/abap/2_statements/statements/read_table.js +1 -1
  217. package/build/src/abap/2_statements/statements/read_textpool.js +1 -1
  218. package/build/src/abap/2_statements/statements/receive.js +1 -1
  219. package/build/src/abap/2_statements/statements/refresh.js +1 -1
  220. package/build/src/abap/2_statements/statements/refresh_control.js +1 -1
  221. package/build/src/abap/2_statements/statements/reject.js +1 -1
  222. package/build/src/abap/2_statements/statements/report.js +1 -1
  223. package/build/src/abap/2_statements/statements/reserve.js +1 -1
  224. package/build/src/abap/2_statements/statements/retry.js +1 -1
  225. package/build/src/abap/2_statements/statements/return.js +1 -1
  226. package/build/src/abap/2_statements/statements/rollback_entities.js +1 -1
  227. package/build/src/abap/2_statements/statements/scan.js +1 -1
  228. package/build/src/abap/2_statements/statements/scroll_list.js +1 -1
  229. package/build/src/abap/2_statements/statements/search.js +1 -1
  230. package/build/src/abap/2_statements/statements/selectionscreen.js +1 -1
  231. package/build/src/abap/2_statements/statements/selectoption.js +1 -1
  232. package/build/src/abap/2_statements/statements/set_blank.js +1 -1
  233. package/build/src/abap/2_statements/statements/set_country.js +1 -1
  234. package/build/src/abap/2_statements/statements/set_cursor.js +1 -1
  235. package/build/src/abap/2_statements/statements/set_dataset.js +1 -1
  236. package/build/src/abap/2_statements/statements/set_extended_check.js +1 -1
  237. package/build/src/abap/2_statements/statements/set_language.js +1 -1
  238. package/build/src/abap/2_statements/statements/set_left.js +1 -1
  239. package/build/src/abap/2_statements/statements/set_locale.js +1 -1
  240. package/build/src/abap/2_statements/statements/set_locks.js +1 -1
  241. package/build/src/abap/2_statements/statements/set_margin.js +1 -1
  242. package/build/src/abap/2_statements/statements/set_parameter.js +1 -1
  243. package/build/src/abap/2_statements/statements/set_pf_status.js +1 -1
  244. package/build/src/abap/2_statements/statements/set_property.js +1 -1
  245. package/build/src/abap/2_statements/statements/set_run_time.js +1 -1
  246. package/build/src/abap/2_statements/statements/set_screen.js +1 -1
  247. package/build/src/abap/2_statements/statements/set_titlebar.js +1 -1
  248. package/build/src/abap/2_statements/statements/set_update_task.js +1 -1
  249. package/build/src/abap/2_statements/statements/set_user_command.js +1 -1
  250. package/build/src/abap/2_statements/statements/skip.js +1 -1
  251. package/build/src/abap/2_statements/statements/sort_dataset.js +1 -1
  252. package/build/src/abap/2_statements/statements/start_of_selection.js +1 -1
  253. package/build/src/abap/2_statements/statements/stop.js +1 -1
  254. package/build/src/abap/2_statements/statements/submit.js +1 -1
  255. package/build/src/abap/2_statements/statements/subtract_corresponding.js +1 -1
  256. package/build/src/abap/2_statements/statements/sum.js +1 -1
  257. package/build/src/abap/2_statements/statements/summary.js +1 -1
  258. package/build/src/abap/2_statements/statements/supply.js +1 -1
  259. package/build/src/abap/2_statements/statements/suppress_dialog.js +1 -1
  260. package/build/src/abap/2_statements/statements/syntax_check.js +1 -1
  261. package/build/src/abap/2_statements/statements/system_call.js +1 -1
  262. package/build/src/abap/2_statements/statements/tables.js +1 -1
  263. package/build/src/abap/2_statements/statements/test_seam.js +1 -1
  264. package/build/src/abap/2_statements/statements/top_of_page.js +1 -1
  265. package/build/src/abap/2_statements/statements/transfer.js +1 -1
  266. package/build/src/abap/2_statements/statements/truncate_dataset.js +1 -1
  267. package/build/src/abap/2_statements/statements/type.js +1 -1
  268. package/build/src/abap/2_statements/statements/type_begin.js +1 -1
  269. package/build/src/abap/2_statements/statements/type_enum.js +1 -1
  270. package/build/src/abap/2_statements/statements/type_enum_begin.js +1 -1
  271. package/build/src/abap/2_statements/statements/type_enum_end.js +1 -1
  272. package/build/src/abap/2_statements/statements/type_mesh.js +1 -1
  273. package/build/src/abap/2_statements/statements/type_mesh_begin.js +1 -1
  274. package/build/src/abap/2_statements/statements/type_mesh_end.js +1 -1
  275. package/build/src/abap/2_statements/statements/type_pool.js +1 -1
  276. package/build/src/abap/2_statements/statements/type_pools.js +1 -1
  277. package/build/src/abap/2_statements/statements/uline.js +1 -1
  278. package/build/src/abap/2_statements/statements/unpack.js +1 -1
  279. package/build/src/abap/2_statements/statements/update_database.js +1 -1
  280. package/build/src/abap/2_statements/statements/verification_message.js +1 -1
  281. package/build/src/abap/2_statements/statements/wait.js +1 -1
  282. package/build/src/abap/2_statements/statements/when_type.js +1 -1
  283. package/build/src/abap/2_statements/statements/window.js +1 -1
  284. package/build/src/abap/2_statements/statements/with.js +1 -1
  285. package/build/src/abap/2_statements/statements/write.js +1 -1
  286. package/build/src/abap/5_syntax/_builtin.js +50 -50
  287. package/build/src/abap/5_syntax/_current_scope.js +10 -0
  288. package/build/src/abap/5_syntax/expressions/field_chain.js +3 -3
  289. package/build/src/abap/5_syntax/expressions/method_source.js +1 -1
  290. package/build/src/abap/5_syntax/expressions/select.js +13 -3
  291. package/build/src/abap/5_syntax/statements/call_function.js +1 -1
  292. package/build/src/abap/5_syntax/statements/loop.js +1 -1
  293. package/build/src/abap/5_syntax/statements/move_corresponding.js +3 -3
  294. package/build/src/abap/abap_parser.js +21 -5
  295. package/build/src/abap/nodes/expression_node.js +3 -0
  296. package/build/src/cds/expressions/cds_define_projection.js +1 -1
  297. package/build/src/cds/expressions/cds_define_view.js +1 -1
  298. package/build/src/config.js +22 -1
  299. package/build/src/index.js +6 -2
  300. package/build/src/objects/_abap_object.js +3 -2
  301. package/build/src/objects/_abstract_object.js +1 -1
  302. package/build/src/objects/proxy_object.js +1 -1
  303. package/build/src/objects/table.js +1 -1
  304. package/build/src/registry.js +3 -3
  305. package/build/src/rules/ambiguous_statement.js +1 -1
  306. package/build/src/rules/avoid_use.js +2 -2
  307. package/build/src/rules/call_transaction_authority_check.js +3 -3
  308. package/build/src/rules/cds_legacy_view.js +2 -2
  309. package/build/src/rules/cloud_types.js +1 -1
  310. package/build/src/rules/downport.js +11 -11
  311. package/build/src/rules/function_module_recommendations.js +23 -2
  312. package/build/src/rules/inline_data_old_versions.js +3 -3
  313. package/build/src/rules/local_testclass_consistency.js +1 -1
  314. package/build/src/rules/main_file_contents.js +1 -1
  315. package/build/src/rules/no_inline_in_optional_branches.js +4 -4
  316. package/build/src/rules/obsolete_statement.js +6 -6
  317. package/build/src/rules/parser_702_chaining.js +2 -2
  318. package/build/src/rules/parser_error.js +2 -2
  319. package/build/src/rules/prefer_corresponding.js +1 -1
  320. package/build/src/rules/prefer_inline.js +2 -1
  321. package/build/src/rules/prefer_raise_exception_new.js +1 -1
  322. package/build/src/rules/prefer_xsdbool.js +2 -1
  323. package/build/src/rules/sql_escape_host_variables.js +3 -3
  324. package/build/src/rules/strict_sql.js +2 -2
  325. package/build/src/rules/superfluous_value.js +2 -2
  326. package/build/src/rules/use_bool_expression.js +6 -5
  327. package/build/src/rules/use_line_exists.js +4 -3
  328. package/build/src/rules/use_new.js +2 -1
  329. package/build/src/version.js +210 -2
  330. package/package.json +1 -1
  331. package/build/src/abap/2_statements/expressions/association_name.js +0 -11
  332. package/build/src/abap/2_statements/expressions/sql_path.js +0 -17
@@ -14,12 +14,12 @@ class SQLPathSegment extends combi_1.Expression {
14
14
  this.nws = nws;
15
15
  }
16
16
  getRunnable() {
17
- const filter = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.BracketLeftW), (0, combi_1.optPrio)(sql_path_cardinality_1.SQLPathCardinality), (0, combi_1.optPrio)(sql_path_join_type_1.SQLPathJoinType), (0, combi_1.optPrio)((0, combi_1.seq)((0, combi_1.optPrio)("WHERE"), sql_cond_1.SQLCond)), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WBracketRightW), (0, combi_1.tok)(tokens_1.WBracketRight))));
18
- const params = (0, combi_1.ver)(version_1.Version.v751, sql_cds_parameters_1.SQLCDSParameters);
17
+ const filter = (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.BracketLeftW), (0, combi_1.optPrio)(sql_path_cardinality_1.SQLPathCardinality), (0, combi_1.optPrio)(sql_path_join_type_1.SQLPathJoinType), (0, combi_1.optPrio)((0, combi_1.seq)((0, combi_1.optPrio)("WHERE"), sql_cond_1.SQLCond)), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WBracketRightW), (0, combi_1.tok)(tokens_1.WBracketRight))));
18
+ const params = (0, combi_1.ver)(version_1.Release.v751, sql_cds_parameters_1.SQLCDSParameters);
19
19
  const name = this.nws
20
20
  ? (0, combi_1.tok)(tokens_1.AssociationName)
21
21
  : (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.AssociationName), (0, combi_1.regex)(/^\\[\w]+$/));
22
- return (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)(name, (0, combi_1.optPrio)((0, combi_1.altPrio)((0, combi_1.seq)(params, (0, combi_1.optPrio)(filter)), filter))));
22
+ return (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)(name, (0, combi_1.optPrio)((0, combi_1.altPrio)((0, combi_1.seq)(params, (0, combi_1.optPrio)(filter)), filter))));
23
23
  }
24
24
  }
25
25
  exports.SQLPathSegment = SQLPathSegment;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  const sql_source_simple_1 = require("./sql_source_simple");
7
7
  class SQLPrivilegedAccess extends combi_1.Expression {
8
8
  getRunnable() {
9
- const accessLevel = (0, combi_1.ver)(version_1.Version.Cloud, (0, combi_1.seq)("LEVEL", sql_source_simple_1.SQLSourceSimple));
9
+ const accessLevel = (0, combi_1.verLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("LEVEL", sql_source_simple_1.SQLSourceSimple));
10
10
  return (0, combi_1.seq)("PRIVILEGED ACCESS", (0, combi_1.optPrio)(accessLevel));
11
11
  }
12
12
  }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLRegexprFrom = void 0;
4
+ const combi_1 = require("../combi");
5
+ const tokens_1 = require("../../1_lexer/tokens");
6
+ const integer_1 = require("./integer");
7
+ const simple_source3_1 = require("./simple_source3");
8
+ const source_1 = require("./source");
9
+ class SQLRegexprFrom extends combi_1.Expression {
10
+ getRunnable() {
11
+ const hostParen = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), source_1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
12
+ const hostVar = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(simple_source3_1.SimpleSource3, hostParen));
13
+ return (0, combi_1.seq)("FROM", (0, combi_1.altPrio)(hostVar, integer_1.Integer));
14
+ }
15
+ }
16
+ exports.SQLRegexprFrom = SQLRegexprFrom;
17
+ //# sourceMappingURL=sql_regexpr_from.js.map
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLRegexprGroup = void 0;
4
+ const combi_1 = require("../combi");
5
+ const tokens_1 = require("../../1_lexer/tokens");
6
+ const integer_1 = require("./integer");
7
+ const simple_source3_1 = require("./simple_source3");
8
+ const source_1 = require("./source");
9
+ class SQLRegexprGroup extends combi_1.Expression {
10
+ getRunnable() {
11
+ const hostParen = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), source_1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
12
+ const hostVar = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(simple_source3_1.SimpleSource3, hostParen));
13
+ return (0, combi_1.seq)("GROUP", (0, combi_1.altPrio)(hostVar, integer_1.Integer));
14
+ }
15
+ }
16
+ exports.SQLRegexprGroup = SQLRegexprGroup;
17
+ //# sourceMappingURL=sql_regexpr_group.js.map
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLRegexprOccurrence = void 0;
4
+ const combi_1 = require("../combi");
5
+ const tokens_1 = require("../../1_lexer/tokens");
6
+ const integer_1 = require("./integer");
7
+ const simple_source3_1 = require("./simple_source3");
8
+ const source_1 = require("./source");
9
+ class SQLRegexprOccurrence extends combi_1.Expression {
10
+ getRunnable() {
11
+ const hostParen = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), source_1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
12
+ const hostVar = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(simple_source3_1.SimpleSource3, hostParen));
13
+ return (0, combi_1.seq)("OCCURRENCE", (0, combi_1.altPrio)(hostVar, integer_1.Integer, "ALL"));
14
+ }
15
+ }
16
+ exports.SQLRegexprOccurrence = SQLRegexprOccurrence;
17
+ //# sourceMappingURL=sql_regexpr_occurrence.js.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLRegexprPattern = void 0;
4
+ const combi_1 = require("../combi");
5
+ const tokens_1 = require("../../1_lexer/tokens");
6
+ const simple_source3_1 = require("./simple_source3");
7
+ const source_1 = require("./source");
8
+ const sql_function_input_1 = require("./sql_function_input");
9
+ class SQLRegexprPattern extends combi_1.Expression {
10
+ getRunnable() {
11
+ const hostParen = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), source_1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
12
+ const hostVar = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(simple_source3_1.SimpleSource3, hostParen));
13
+ const flag = (0, combi_1.seq)("FLAG", (0, combi_1.altPrio)(hostVar, sql_function_input_1.SQLFunctionInput));
14
+ return (0, combi_1.seq)(sql_function_input_1.SQLFunctionInput, (0, combi_1.optPrio)(flag), "IN", sql_function_input_1.SQLFunctionInput);
15
+ }
16
+ }
17
+ exports.SQLRegexprPattern = SQLRegexprPattern;
18
+ //# sourceMappingURL=sql_regexpr_pattern.js.map
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLReplaceRegexpr = void 0;
4
+ const combi_1 = require("../combi");
5
+ const version_1 = require("../../../version");
6
+ const tokens_1 = require("../../1_lexer/tokens");
7
+ const simple_source3_1 = require("./simple_source3");
8
+ const source_1 = require("./source");
9
+ const sql_function_input_1 = require("./sql_function_input");
10
+ const sql_regexpr_pattern_1 = require("./sql_regexpr_pattern");
11
+ const sql_regexpr_from_1 = require("./sql_regexpr_from");
12
+ const sql_regexpr_occurrence_1 = require("./sql_regexpr_occurrence");
13
+ class SQLReplaceRegexpr extends combi_1.Expression {
14
+ getRunnable() {
15
+ const hostParen = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), source_1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
16
+ const hostVar = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(simple_source3_1.SimpleSource3, hostParen));
17
+ const withClause = (0, combi_1.seq)("WITH", (0, combi_1.altPrio)(hostVar, sql_function_input_1.SQLFunctionInput));
18
+ return (0, combi_1.ver)(version_1.Release.v757, (0, combi_1.seq)("REPLACE_REGEXPR", (0, combi_1.tok)(tokens_1.ParenLeftW), sql_regexpr_pattern_1.SQLRegexprPattern, (0, combi_1.optPrio)(withClause), (0, combi_1.optPrio)(sql_regexpr_from_1.SQLRegexprFrom), (0, combi_1.optPrio)(sql_regexpr_occurrence_1.SQLRegexprOccurrence), (0, combi_1.tok)(tokens_1.WParenRightW)));
19
+ }
20
+ }
21
+ exports.SQLReplaceRegexpr = SQLReplaceRegexpr;
22
+ //# sourceMappingURL=sql_replace_regexpr.js.map
@@ -10,7 +10,7 @@ class SQLSetOp extends combi_1.Expression {
10
10
  const operand = (0, combi_1.altPrio)(sql_set_op_group_1.SQLSetOpGroup, (0, combi_1.seq)("SELECT", (0, _select_core_1.buildSelectCore)(false, false)));
11
11
  const union = (0, combi_1.seq)("UNION", (0, combi_1.optPrio)((0, combi_1.altPrio)("DISTINCT", "ALL")));
12
12
  const intersectExcept = (0, combi_1.altPrio)((0, combi_1.seq)("INTERSECT", (0, combi_1.optPrio)("DISTINCT")), (0, combi_1.seq)("EXCEPT", (0, combi_1.optPrio)("DISTINCT")));
13
- const op = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Version.v750, union, version_1.Version.OpenABAP), (0, combi_1.ver)(version_1.Version.v756, intersectExcept));
13
+ const op = (0, combi_1.altPrio)((0, combi_1.ver)(version_1.Release.v750, union, { also: combi_1.AlsoIn.OpenABAP }), (0, combi_1.ver)(version_1.Release.v756, intersectExcept));
14
14
  return (0, combi_1.seq)(op, operand);
15
15
  }
16
16
  }
@@ -8,8 +8,8 @@ const _select_core_1 = require("./_select_core");
8
8
  class SQLSetOpGroup extends combi_1.Expression {
9
9
  getRunnable() {
10
10
  const operand = (0, combi_1.altPrio)(SQLSetOpGroup, (0, combi_1.seq)("SELECT", (0, _select_core_1.buildSelectCore)(false, false)));
11
- const chain = (0, combi_1.seq)(operand, (0, combi_1.optPrio)((0, combi_1.seq)((0, combi_1.ver)(version_1.Version.v750, (0, combi_1.plusPrio)(_1.SQLSetOp), version_1.Version.OpenABAP), (0, combi_1.optPrio)(_1.SQLOrderBy))));
12
- return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("(", chain, ")"), version_1.Version.OpenABAP);
11
+ const chain = (0, combi_1.seq)(operand, (0, combi_1.optPrio)((0, combi_1.seq)((0, combi_1.ver)(version_1.Release.v750, (0, combi_1.plusPrio)(_1.SQLSetOp), { also: combi_1.AlsoIn.OpenABAP }), (0, combi_1.optPrio)(_1.SQLOrderBy))));
12
+ return (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)("(", chain, ")"), { also: combi_1.AlsoIn.OpenABAP });
13
13
  }
14
14
  }
15
15
  exports.SQLSetOpGroup = SQLSetOpGroup;
@@ -8,7 +8,7 @@ const _1 = require(".");
8
8
  class SQLSource extends combi_1.Expression {
9
9
  getRunnable() {
10
10
  const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
11
- const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(_1.SimpleSource3, paren)), version_1.Version.OpenABAP);
11
+ const at = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.altPrio)(_1.SimpleSource3, paren)), { also: combi_1.AlsoIn.OpenABAP });
12
12
  return (0, combi_1.altPrio)(_1.SQLAliasField, _1.SimpleSource3, at);
13
13
  }
14
14
  }
@@ -8,7 +8,7 @@ const _1 = require(".");
8
8
  class SQLSourceNoSpace extends combi_1.Expression {
9
9
  getRunnable() {
10
10
  const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
11
- const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.At), (0, combi_1.altPrio)(_1.SimpleSource3, paren)), version_1.Version.OpenABAP);
11
+ const at = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.At), (0, combi_1.altPrio)(_1.SimpleSource3, paren)), { also: combi_1.AlsoIn.OpenABAP });
12
12
  return (0, combi_1.alt)(_1.SQLAliasField, _1.SimpleSource3, at);
13
13
  }
14
14
  }
@@ -9,7 +9,7 @@ const _1 = require(".");
9
9
  class SQLSourceSimple extends combi_1.Expression {
10
10
  getRunnable() {
11
11
  const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
12
- const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.alt)(_1.SimpleSource3, paren)), version_1.Version.OpenABAP);
12
+ const at = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.alt)(_1.SimpleSource3, paren)), { also: combi_1.AlsoIn.OpenABAP });
13
13
  return (0, combi_1.alt)(_1.SimpleSource3, at);
14
14
  }
15
15
  }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLSubstringRegexpr = void 0;
4
+ const combi_1 = require("../combi");
5
+ const version_1 = require("../../../version");
6
+ const tokens_1 = require("../../1_lexer/tokens");
7
+ const sql_regexpr_pattern_1 = require("./sql_regexpr_pattern");
8
+ const sql_regexpr_from_1 = require("./sql_regexpr_from");
9
+ const sql_regexpr_occurrence_1 = require("./sql_regexpr_occurrence");
10
+ const sql_regexpr_group_1 = require("./sql_regexpr_group");
11
+ class SQLSubstringRegexpr extends combi_1.Expression {
12
+ getRunnable() {
13
+ const name = (0, combi_1.altPrio)("SUBSTRING_REGEXPR", "SUBSTR_REGEXPR");
14
+ return (0, combi_1.ver)(version_1.Release.v758, (0, combi_1.seq)(name, (0, combi_1.tok)(tokens_1.ParenLeftW), sql_regexpr_pattern_1.SQLRegexprPattern, (0, combi_1.optPrio)(sql_regexpr_from_1.SQLRegexprFrom), (0, combi_1.optPrio)(sql_regexpr_occurrence_1.SQLRegexprOccurrence), (0, combi_1.optPrio)(sql_regexpr_group_1.SQLRegexprGroup), (0, combi_1.tok)(tokens_1.WParenRightW)));
15
+ }
16
+ }
17
+ exports.SQLSubstringRegexpr = SQLSubstringRegexpr;
18
+ //# sourceMappingURL=sql_substring_regexpr.js.map
@@ -7,8 +7,8 @@ const tokens_1 = require("../../1_lexer/tokens");
7
7
  const _1 = require(".");
8
8
  class SQLTarget extends combi_1.Expression {
9
9
  getRunnable() {
10
- const n = (0, combi_1.ver)(version_1.Version.v754, "NEW");
11
- const at = (0, combi_1.ver)(version_1.Version.v740sp05, (0, combi_1.seq)((0, combi_1.opt)(n), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.tok)(tokens_1.At)), _1.Target), version_1.Version.OpenABAP);
10
+ const n = (0, combi_1.ver)(version_1.Release.v754, "NEW");
11
+ const at = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)((0, combi_1.opt)(n), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WAt), (0, combi_1.tok)(tokens_1.At)), _1.Target), { also: combi_1.AlsoIn.OpenABAP });
12
12
  return (0, combi_1.altPrio)(at, _1.Target);
13
13
  }
14
14
  }
@@ -41,7 +41,7 @@ const _1 = require(".");
41
41
  class StringTemplate extends combi_1.Expression {
42
42
  getRunnable() {
43
43
  const nest = (0, combi_1.seq)((0, combi_1.tok)(Tokens.StringTemplateBegin), _1.StringTemplateSource, (0, combi_1.starPrio)((0, combi_1.seq)((0, combi_1.tok)(Tokens.StringTemplateMiddle), _1.StringTemplateSource)), (0, combi_1.tok)(Tokens.StringTemplateEnd));
44
- return (0, combi_1.ver)(version_1.Version.v702, (0, combi_1.altPrio)(nest, (0, combi_1.tok)(Tokens.StringTemplate)));
44
+ return (0, combi_1.ver)(version_1.Release.v702, (0, combi_1.altPrio)(nest, (0, combi_1.tok)(Tokens.StringTemplate)));
45
45
  }
46
46
  }
47
47
  exports.StringTemplate = StringTemplate;
@@ -25,8 +25,8 @@ class StringTemplateFormatting extends combi_1.Expression {
25
25
  const number = (0, combi_1.seq)("NUMBER =", numberOptions);
26
26
  const sign = (0, combi_1.seq)("SIGN =", signOptions);
27
27
  const decimals = (0, combi_1.seq)("DECIMALS =", _1.Source);
28
- const alpha = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("ALPHA =", alphaOptions), version_1.Version.OpenABAP);
29
- const xsd = (0, combi_1.ver)(version_1.Version.v740sp02, (0, combi_1.seq)("XSD =", zeroXSDOptions));
28
+ const alpha = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("ALPHA =", alphaOptions), { also: combi_1.AlsoIn.OpenABAP });
29
+ const xsd = (0, combi_1.ver)(version_1.Release.v740sp02, (0, combi_1.seq)("XSD =", zeroXSDOptions));
30
30
  const country = (0, combi_1.seq)("COUNTRY =", _1.Source);
31
31
  const formatting = (0, combi_1.altPrio)((0, combi_1.seq)("TIME =", dateTimeOptions), (0, combi_1.seq)("DATE =", dateTimeOptions), (0, combi_1.seq)("CASE =", caseOptions), (0, combi_1.seq)("EXPONENT", _1.Source), (0, combi_1.seq)("ZERO =", zeroXSDOptions), xsd, (0, combi_1.seq)("STYLE =", styleOptions), (0, combi_1.seq)("CURRENCY =", _1.Source), (0, combi_1.per)(sign, number, decimals, width, pad, alpha, align, country), (0, combi_1.per)(timezone, timestamp));
32
32
  return formatting;
@@ -11,7 +11,7 @@ class TableExpression extends combi_1.Expression {
11
11
  const key = (0, combi_1.seq)("KEY", _1.SimpleName);
12
12
  const index = (0, combi_1.seq)("INDEX", _1.Source);
13
13
  const ret = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.BracketLeftW), (0, combi_1.alt)(_1.Source, (0, combi_1.seq)((0, combi_1.optPrio)(key), (0, combi_1.opt)("COMPONENTS"), (0, combi_1.altPrio)(fields, index))), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WBracketRight), (0, combi_1.tok)(tokens_1.WBracketRightW)));
14
- return (0, combi_1.ver)(version_1.Version.v740sp02, ret, version_1.Version.OpenABAP);
14
+ return (0, combi_1.ver)(version_1.Release.v740sp02, ret, { also: combi_1.AlsoIn.OpenABAP });
15
15
  }
16
16
  }
17
17
  exports.TableExpression = TableExpression;
@@ -10,7 +10,7 @@ class Type extends combi_1.Expression {
10
10
  const typeType = (0, combi_1.seq)(_1.TypeName, (0, combi_1.optPrio)(_1.Default));
11
11
  const like = (0, combi_1.altPrio)((0, combi_1.seq)("LINE OF", _1.FieldChain), (0, combi_1.seq)("REF TO", _1.FieldChain), _1.FieldChain);
12
12
  const type = (0, combi_1.altPrio)((0, combi_1.seq)("LINE OF", typeType), (0, combi_1.seq)("REF TO", typeType), (0, combi_1.seq)(typeType, (0, combi_1.optPrio)(_1.LOBHandle)));
13
- const ret = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.seq)("LIKE", like), (0, combi_1.seq)("TYPE", type)), (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Version.v755, indicators)));
13
+ const ret = (0, combi_1.seq)((0, combi_1.altPrio)((0, combi_1.seq)("LIKE", like), (0, combi_1.seq)("TYPE", type)), (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Release.v755, indicators)));
14
14
  return ret;
15
15
  }
16
16
  }
@@ -19,7 +19,7 @@ class TypeTable extends combi_1.Expression {
19
19
  // "WITH" is not allowed as a field name in keys
20
20
  const typetable = (0, combi_1.alt)(generic, (0, combi_1.seq)(normal1, (0, combi_1.alt)((0, combi_1.opt)((0, combi_1.per)(header, initial, (0, combi_1.plusPrio)(type_table_key_1.TypeTableKey))), (0, combi_1.seq)((0, combi_1.plus)(type_table_key_1.TypeTableKey), (0, combi_1.optPrio)(initial))), (0, combi_1.optPrio)("VALUE IS INITIAL")));
21
21
  const occurs = (0, combi_1.seq)("OCCURS", (0, combi_1.altPrio)(_1.Integer, field_chain_1.FieldChain));
22
- const derived = (0, combi_1.ver)(version_1.Version.v754, (0, combi_1.seq)("TABLE FOR", (0, combi_1.altPrio)("ACTION IMPORT", "ACTION RESULT", "CREATE", "EVENT", "REPORTED EARLY", "READ IMPORT", "FAILED EARLY", "FAILED", "LOCK", "DETERMINATION", "READ RESULT", "UPDATE", "DELETE"), (0, combi_1.alt)(_1.TypeName, _1.EntityAssociation)), version_1.Version.OpenABAP);
22
+ const derived = (0, combi_1.ver)(version_1.Release.v754, (0, combi_1.seq)("TABLE FOR", (0, combi_1.altPrio)("ACTION IMPORT", "ACTION RESULT", "CREATE", "EVENT", "REPORTED EARLY", "READ IMPORT", "FAILED EARLY", "FAILED", "LOCK", "DETERMINATION", "READ RESULT", "UPDATE", "DELETE"), (0, combi_1.alt)(_1.TypeName, _1.EntityAssociation)), { also: combi_1.AlsoIn.OpenABAP });
23
23
  const oldType = (0, combi_1.seq)((0, combi_1.opt)("REF TO"), _1.TypeName, (0, combi_1.alt)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), header));
24
24
  const oldLike = (0, combi_1.seq)((0, combi_1.opt)("REF TO"), field_chain_1.FieldChain, (0, combi_1.alt)((0, combi_1.seq)(occurs, (0, combi_1.opt)(header)), header));
25
25
  const typeLine = (0, combi_1.seq)("LINE OF", _1.TypeName, occurs, header);
@@ -8,7 +8,7 @@ class TypeTableKey extends combi_1.Expression {
8
8
  getRunnable() {
9
9
  const uniqueness = (0, combi_1.alt)("NON-UNIQUE", "UNIQUE");
10
10
  const defaultKey = "DEFAULT KEY";
11
- const emptyKey = (0, combi_1.ver)(version_1.Version.v740sp02, "EMPTY KEY", version_1.Version.OpenABAP);
11
+ const emptyKey = (0, combi_1.ver)(version_1.Release.v740sp02, "EMPTY KEY", { also: combi_1.AlsoIn.OpenABAP });
12
12
  const components = (0, combi_1.plus)((0, combi_1.alt)((0, combi_1.seq)("WITH", (0, combi_1.failStar)()), _1.FieldSub));
13
13
  const further = (0, combi_1.seq)((0, combi_1.alt)("WITHOUT", "WITH"), "FURTHER SECONDARY KEYS");
14
14
  const alias = (0, combi_1.seq)("ALIAS", _1.Field);
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class ValueBody extends combi_1.Expression {
8
8
  getRunnable() {
9
9
  const strucOrTab = (0, combi_1.seq)((0, combi_1.optPrio)(_1.Let), (0, combi_1.optPrio)(_1.ValueBase), (0, combi_1.star)(_1.For), (0, combi_1.plusPrio)((0, combi_1.altPrio)(_1.FieldAssignment, _1.ValueBodyLine)));
10
- const tabdef = (0, combi_1.ver)(version_1.Version.v740sp08, (0, combi_1.altPrio)("OPTIONAL", (0, combi_1.seq)("DEFAULT", _1.Source)), version_1.Version.OpenABAP);
10
+ const tabdef = (0, combi_1.ver)(version_1.Release.v740sp08, (0, combi_1.altPrio)("OPTIONAL", (0, combi_1.seq)("DEFAULT", _1.Source)), { also: combi_1.AlsoIn.OpenABAP });
11
11
  return (0, combi_1.optPrio)((0, combi_1.altPrio)(strucOrTab, (0, combi_1.seq)(_1.Source, (0, combi_1.optPrio)(tabdef))));
12
12
  }
13
13
  }
@@ -32,6 +32,12 @@ class Result {
32
32
  setNodes(n) {
33
33
  this.nodes = n;
34
34
  }
35
+ getTokens() {
36
+ return this.tokens;
37
+ }
38
+ getTokenIndex() {
39
+ return this.tokenIndex;
40
+ }
35
41
  remainingLength() {
36
42
  return this.tokens.length - this.tokenIndex;
37
43
  }
@@ -37,6 +37,7 @@ exports.StatementParser = exports.STATEMENT_MAX_TOKENS = void 0;
37
37
  const Statements = __importStar(require("./statements"));
38
38
  const Expressions = __importStar(require("./expressions"));
39
39
  const Tokens = __importStar(require("../1_lexer/tokens"));
40
+ const version_1 = require("../../version");
40
41
  const nodes_1 = require("../nodes");
41
42
  const artifacts_1 = require("../artifacts");
42
43
  const combi_1 = require("./combi");
@@ -102,16 +103,18 @@ class WorkArea {
102
103
  }
103
104
  }
104
105
  class StatementParser {
105
- constructor(version, reg) {
106
+ constructor(release, reg, languageVersion = version_1.LanguageVersion.Normal, openABAP = false) {
106
107
  if (!StatementParser.map) {
107
108
  StatementParser.map = new StatementMap();
108
109
  }
109
- this.version = version;
110
+ this.release = release;
111
+ this.languageVersion = languageVersion;
112
+ this.openABAP = openABAP;
110
113
  this.reg = reg;
111
114
  }
112
115
  /** input is one full object */
113
116
  run(input, globalMacros) {
114
- const macros = new expand_macros_1.ExpandMacros(globalMacros, this.version, this.reg);
117
+ const macros = new expand_macros_1.ExpandMacros(globalMacros, this.release, this.reg, this.languageVersion);
115
118
  const wa = input.map(i => new WorkArea(i.file, i.tokens));
116
119
  for (const w of wa) {
117
120
  this.process(w);
@@ -263,7 +266,7 @@ class StatementParser {
263
266
  return new nodes_1.StatementNode(new _statement_1.Empty()).setChildren(this.tokensToNodes(tokens));
264
267
  }
265
268
  for (const st of StatementParser.map.lookup(filtered[0].getStr())) {
266
- const match = combi_1.Combi.run(st.matcher, filtered, this.version);
269
+ const match = combi_1.Combi.run(st.matcher, filtered, this.release, this.languageVersion, this.openABAP);
267
270
  if (match) {
268
271
  const last = tokens[tokens.length - 1];
269
272
  match.push(new nodes_1.TokenNode(last));
@@ -273,7 +276,7 @@ class StatementParser {
273
276
  }
274
277
  // next try the statements without specific keywords
275
278
  for (const st of StatementParser.map.lookup("")) {
276
- const match = combi_1.Combi.run(st.matcher, filtered, this.version);
279
+ const match = combi_1.Combi.run(st.matcher, filtered, this.release, this.languageVersion, this.openABAP);
277
280
  if (match) {
278
281
  const last = tokens[tokens.length - 1];
279
282
  match.push(new nodes_1.TokenNode(last));
@@ -7,7 +7,7 @@ const expressions_1 = require("../expressions");
7
7
  class AddCorresponding {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("ADD-CORRESPONDING", expressions_1.Source, "TO", 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.AddCorresponding = AddCorresponding;
@@ -12,7 +12,7 @@ class Append {
12
12
  const fromIndex = (0, combi_1.seq)("FROM", expressions_1.Source);
13
13
  const toIndex = (0, combi_1.seq)("TO", expressions_1.Source);
14
14
  const toTarget = (0, combi_1.seq)("TO", expressions_1.Target);
15
- const src = (0, combi_1.alt)(expressions_1.SimpleSource4, (0, combi_1.ver)(version_1.Version.v740sp02, expressions_1.Source, version_1.Version.OpenABAP));
15
+ 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 }));
16
16
  return (0, combi_1.seq)("APPEND", (0, combi_1.altPrio)("INITIAL LINE", (0, combi_1.seq)((0, combi_1.optPrio)("LINES OF"), src)), (0, combi_1.optPrio)(fromIndex), (0, combi_1.opt)((0, combi_1.alt)((0, combi_1.seq)(toIndex, toTarget), toTarget)), (0, combi_1.opt)((0, combi_1.altPrio)(assigning, reference)), (0, combi_1.optPrio)("CASTING"), (0, combi_1.optPrio)(sorted));
17
17
  }
18
18
  }
@@ -13,7 +13,7 @@ class Assign {
13
13
  const decimals = (0, combi_1.seq)("DECIMALS", expressions_1.Source);
14
14
  const casting = (0, combi_1.seq)("CASTING", (0, combi_1.opt)((0, combi_1.alt)(like, handle, (0, combi_1.per)(type, decimals))));
15
15
  const obsoleteType = (0, combi_1.seq)("TYPE", expressions_1.Source, (0, combi_1.optPrio)(decimals));
16
- const ret = (0, combi_1.seq)("ASSIGN", (0, combi_1.opt)((0, combi_1.seq)(expressions_1.Target, "INCREMENT")), expressions_1.AssignSource, "TO", expressions_1.FSTarget, (0, combi_1.opt)((0, combi_1.altPrio)(casting, obsoleteType, decimals)), (0, combi_1.opt)(range), (0, combi_1.opt)((0, combi_1.ver)(version_1.Version.v757, "ELSE UNASSIGN")));
16
+ const ret = (0, combi_1.seq)("ASSIGN", (0, combi_1.opt)((0, combi_1.seq)(expressions_1.Target, "INCREMENT")), expressions_1.AssignSource, "TO", expressions_1.FSTarget, (0, combi_1.opt)((0, combi_1.altPrio)(casting, obsoleteType, decimals)), (0, combi_1.opt)(range), (0, combi_1.opt)((0, combi_1.ver)(version_1.Release.v757, "ELSE UNASSIGN")));
17
17
  return ret;
18
18
  }
19
19
  }
@@ -10,7 +10,7 @@ class AssignLocalCopy {
10
10
  const iline = (0, combi_1.seq)("INITIAL LINE OF", (0, combi_1.alt)(expressions_1.Source, expressions_1.Dynamic));
11
11
  const main = (0, combi_1.seq)("MAIN TABLE FIELD", expressions_1.Dynamic);
12
12
  const ret = (0, combi_1.seq)("ASSIGN LOCAL COPY OF", (0, combi_1.alt)(init, iline, main, expressions_1.Source), "TO", expressions_1.TargetFieldSymbol);
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.AssignLocalCopy = AssignLocalCopy;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class AtLineSelection {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "AT LINE-SELECTION");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "AT LINE-SELECTION");
9
9
  }
10
10
  }
11
11
  exports.AtLineSelection = AtLineSelection;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class AtPF {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)("AT", (0, combi_1.regex)(/^PF\d\d?$/i)));
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("AT", (0, combi_1.regex)(/^PF\d\d?$/i)));
9
9
  }
10
10
  }
11
11
  exports.AtPF = AtPF;
@@ -15,7 +15,7 @@ class AtSelectionScreen {
15
15
  const block = (0, combi_1.seq)("ON BLOCK", expressions_1.BlockName);
16
16
  const help = (0, combi_1.seq)("ON HELP-REQUEST FOR", expressions_1.FieldSub);
17
17
  const ret = (0, combi_1.seq)("AT SELECTION-SCREEN", (0, combi_1.opt)((0, combi_1.alt)(output, value, radio, exit, field, end, help, block)));
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.AtSelectionScreen = AtSelectionScreen;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class AtUserCommand {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "AT USER-COMMAND");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "AT USER-COMMAND");
9
9
  }
10
10
  }
11
11
  exports.AtUserCommand = AtUserCommand;
@@ -5,7 +5,7 @@ const combi_1 = require("../combi");
5
5
  const version_1 = require("../../../version");
6
6
  class Back {
7
7
  getMatcher() {
8
- return (0, combi_1.verNot)(version_1.Version.Cloud, "BACK");
8
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "BACK");
9
9
  }
10
10
  }
11
11
  exports.Back = Back;
@@ -9,7 +9,7 @@ class Break {
9
9
  const next = (0, combi_1.str)("AT NEXT APPLICATION STATEMENT");
10
10
  // note BREAK is a special macro that wraps the parameter in a char
11
11
  const ret = (0, combi_1.altPrio)((0, combi_1.seq)("BREAK-POINT", (0, combi_1.optPrio)((0, combi_1.altPrio)(next, expressions_1.Source))), (0, combi_1.seq)("BREAK", (0, combi_1.starPrio)((0, combi_1.regex)(/.*/))));
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.Break = Break;
@@ -8,7 +8,7 @@ class BreakId {
8
8
  getMatcher() {
9
9
  const id = (0, combi_1.seq)("ID", expressions_1.Field);
10
10
  const ret = (0, combi_1.seq)("BREAK-POINT", id);
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.BreakId = BreakId;
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class CallBadi {
8
8
  getMatcher() {
9
9
  const call = (0, combi_1.seq)("CALL BADI", expressions_1.MethodSource, expressions_1.MethodCallBody);
10
- return (0, combi_1.verNot)(version_1.Version.Cloud, call);
10
+ return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, call);
11
11
  }
12
12
  }
13
13
  exports.CallBadi = CallBadi;
@@ -11,7 +11,7 @@ class CallDatabase {
11
11
  const expl = (0, combi_1.seq)((0, combi_1.opt)(exporting), (0, combi_1.opt)(importing));
12
12
  const tab = (0, combi_1.seq)("PARAMETER-TABLE", expressions_1.Source);
13
13
  const ret = (0, combi_1.seq)("CALL DATABASE PROCEDURE", expressions_1.Dynamic, (0, combi_1.opt)(expressions_1.DatabaseConnection), (0, combi_1.alt)(expl, tab));
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.CallDatabase = CallDatabase;
@@ -11,7 +11,7 @@ class CallDialog {
11
11
  const to = (0, combi_1.seq)(expressions_1.Field, (0, combi_1.optPrio)((0, combi_1.seq)("TO", expressions_1.Field)));
12
12
  const importing = (0, combi_1.seq)("IMPORTING", (0, combi_1.plus)(to));
13
13
  const ret = (0, combi_1.seq)("CALL DIALOG", (0, combi_1.alt)(expressions_1.Constant, expressions_1.FieldSub), (0, combi_1.opt)(exporting), (0, combi_1.opt)(importing));
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.CallDialog = CallDialog;
@@ -6,10 +6,10 @@ const expressions_1 = require("../expressions");
6
6
  const version_1 = require("../../../version");
7
7
  class CallFunction {
8
8
  getMatcher() {
9
- const starting = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)("STARTING NEW TASK", expressions_1.SimpleSource2));
10
- const update = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.str)("IN UPDATE TASK"));
9
+ const starting = (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("STARTING NEW TASK", expressions_1.SimpleSource2));
10
+ const update = (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.str)("IN UPDATE TASK"));
11
11
  const unit = (0, combi_1.seq)("UNIT", expressions_1.Source);
12
- const background = (0, combi_1.verNot)(version_1.Version.Cloud, (0, combi_1.seq)("IN BACKGROUND", (0, combi_1.altPrio)("TASK", unit)));
12
+ const background = (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("IN BACKGROUND", (0, combi_1.altPrio)("TASK", unit)));
13
13
  const calling = (0, combi_1.seq)("CALLING", expressions_1.MethodSource, "ON END OF TASK");
14
14
  const performing = (0, combi_1.seq)("PERFORMING", expressions_1.FormName, "ON END OF TASK");
15
15
  const separate = (0, combi_1.str)("AS SEPARATE UNIT");
@@ -17,7 +17,7 @@ class CallFunction {
17
17
  const options = (0, combi_1.per)(starting, update, background, expressions_1.Destination, calling, performing, separate, keeping);
18
18
  const ex = (0, combi_1.seq)("EXCEPTION-TABLE", expressions_1.Source);
19
19
  const dynamic = (0, combi_1.alt)((0, combi_1.seq)("PARAMETER-TABLE", expressions_1.Source, (0, combi_1.opt)(ex)), ex);
20
- const call = (0, combi_1.seq)("CALL", (0, combi_1.altPrio)("FUNCTION", (0, combi_1.verNot)(version_1.Version.Cloud, "CUSTOMER-FUNCTION")), expressions_1.FunctionName, (0, combi_1.opt)(options), (0, combi_1.alt)(expressions_1.FunctionParameters, dynamic));
20
+ const call = (0, combi_1.seq)("CALL", (0, combi_1.altPrio)("FUNCTION", (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "CUSTOMER-FUNCTION")), expressions_1.FunctionName, (0, combi_1.opt)(options), (0, combi_1.alt)(expressions_1.FunctionParameters, dynamic));
21
21
  return call;
22
22
  }
23
23
  }
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
7
7
  class CallKernel {
8
8
  getMatcher() {
9
9
  const ret = (0, combi_1.seq)("CALL", (0, combi_1.altPrio)(expressions_1.Constant, expressions_1.Field), (0, combi_1.starPrio)(expressions_1.KernelId));
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.CallKernel = CallKernel;
@@ -8,7 +8,7 @@ class CallOLE {
8
8
  getMatcher() {
9
9
  const rc = (0, combi_1.seq)("=", expressions_1.Target);
10
10
  const ret = (0, combi_1.seq)("CALL METHOD OF", expressions_1.Source, expressions_1.Source, (0, combi_1.opt)(rc), (0, combi_1.opt)("NO FLUSH"), (0, combi_1.opt)((0, combi_1.alt)("QUEUE-ONLY", "QUEUEONLY")), (0, combi_1.opt)(expressions_1.OLEExporting));
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.CallOLE = CallOLE;
@@ -9,7 +9,7 @@ class CallScreen {
9
9
  const starting = (0, combi_1.seq)("STARTING AT", expressions_1.Source, expressions_1.Source);
10
10
  const ending = (0, combi_1.seq)("ENDING AT", expressions_1.Source, expressions_1.Source);
11
11
  const ret = (0, combi_1.seq)("CALL SCREEN", expressions_1.Source, (0, combi_1.optPrio)((0, combi_1.seq)(starting, (0, combi_1.optPrio)(ending))));
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.CallScreen = CallScreen;
@@ -11,7 +11,7 @@ class CallSelectionScreen {
11
11
  const using = (0, combi_1.seq)("USING SELECTION-SET", expressions_1.Source);
12
12
  const at = (0, combi_1.seq)(starting, (0, combi_1.opt)(ending));
13
13
  const ret = (0, combi_1.seq)("CALL SELECTION-SCREEN", expressions_1.Source, (0, combi_1.opt)(at), (0, combi_1.opt)(using));
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.CallSelectionScreen = CallSelectionScreen;
@@ -8,7 +8,7 @@ class CallSubscreen {
8
8
  getMatcher() {
9
9
  const including = (0, combi_1.seq)("INCLUDING", expressions_1.Source, expressions_1.Source);
10
10
  const ret = (0, combi_1.seq)("CALL SUBSCREEN", expressions_1.Source, (0, combi_1.optPrio)(including));
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.CallSubscreen = CallSubscreen;
@@ -11,7 +11,7 @@ class CallTransaction {
11
11
  const auth = (0, combi_1.seq)((0, combi_1.altPrio)("WITH", "WITHOUT"), "AUTHORITY-CHECK");
12
12
  const perm = (0, combi_1.per)((0, combi_1.seq)("UPDATE", expressions_1.Source), "AND SKIP FIRST SCREEN", options, messages, (0, combi_1.seq)("MODE", expressions_1.Source));
13
13
  const ret = (0, combi_1.seq)("CALL TRANSACTION", expressions_1.Source, (0, combi_1.optPrio)(auth), (0, combi_1.optPrio)((0, combi_1.seq)("USING", expressions_1.Source)), (0, combi_1.opt)(perm));
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.CallTransaction = CallTransaction;
@@ -6,7 +6,7 @@ const version_1 = require("../../../version");
6
6
  const expressions_1 = require("../expressions");
7
7
  class CaseType {
8
8
  getMatcher() {
9
- return (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.seq)("CASE TYPE OF", expressions_1.Source), version_1.Version.OpenABAP);
9
+ return (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)("CASE TYPE OF", expressions_1.Source), { also: combi_1.AlsoIn.OpenABAP });
10
10
  }
11
11
  }
12
12
  exports.CaseType = CaseType;