@abaplint/core 2.119.26 → 2.119.28

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 (446) hide show
  1. package/build/abaplint.d.ts +25 -0
  2. package/build/src/abap/2_statements/combi.js +36 -2
  3. package/build/src/abap/2_statements/expand_macros.js +36 -3
  4. package/build/src/abap/2_statements/expressions/data_definition.js +34 -1
  5. package/build/src/abap/2_statements/expressions/index.js +5 -0
  6. package/build/src/abap/2_statements/expressions/lob_handle.js +34 -1
  7. package/build/src/abap/2_statements/expressions/method_def_returning.js +34 -1
  8. package/build/src/abap/2_statements/expressions/method_param.js +34 -1
  9. package/build/src/abap/2_statements/expressions/select.js +5 -14
  10. package/build/src/abap/2_statements/expressions/select_core.js +30 -0
  11. package/build/src/abap/2_statements/expressions/select_loop.js +3 -2
  12. package/build/src/abap/2_statements/expressions/sql_bypassing_buffer.js +11 -0
  13. package/build/src/abap/2_statements/expressions/sql_compare.js +4 -4
  14. package/build/src/abap/2_statements/expressions/sql_from_source.js +2 -1
  15. package/build/src/abap/2_statements/expressions/sql_having.js +2 -7
  16. package/build/src/abap/2_statements/expressions/sql_in.js +2 -1
  17. package/build/src/abap/2_statements/expressions/sql_options.js +18 -0
  18. package/build/src/abap/2_statements/expressions/sql_privileged_access.js +14 -0
  19. package/build/src/abap/2_statements/expressions/sql_set_op.js +18 -0
  20. package/build/src/abap/2_statements/expressions/sql_set_op_group.js +16 -0
  21. package/build/src/abap/2_statements/expressions/string_template.js +34 -1
  22. package/build/src/abap/2_statements/statement_parser.js +36 -3
  23. package/build/src/abap/2_statements/statements/include_type.js +34 -1
  24. package/build/src/abap/2_statements/statements/open_cursor.js +2 -1
  25. package/build/src/abap/2_statements/statements/perform.js +34 -1
  26. package/build/src/abap/2_statements/statements/select.js +1 -4
  27. package/build/src/abap/2_statements/statements/static.js +34 -1
  28. package/build/src/abap/2_statements/statements/type.js +34 -1
  29. package/build/src/abap/3_structures/structure_parser.js +34 -1
  30. package/build/src/abap/3_structures/structures/any.js +35 -2
  31. package/build/src/abap/3_structures/structures/at.js +34 -1
  32. package/build/src/abap/3_structures/structures/at_first.js +34 -1
  33. package/build/src/abap/3_structures/structures/at_last.js +34 -1
  34. package/build/src/abap/3_structures/structures/case.js +34 -1
  35. package/build/src/abap/3_structures/structures/case_type.js +34 -1
  36. package/build/src/abap/3_structures/structures/catch.js +34 -1
  37. package/build/src/abap/3_structures/structures/catch_system_exceptions.js +34 -1
  38. package/build/src/abap/3_structures/structures/chain.js +34 -1
  39. package/build/src/abap/3_structures/structures/class_data.js +34 -1
  40. package/build/src/abap/3_structures/structures/class_definition.js +34 -1
  41. package/build/src/abap/3_structures/structures/class_global.js +35 -2
  42. package/build/src/abap/3_structures/structures/class_implementation.js +35 -2
  43. package/build/src/abap/3_structures/structures/cleanup.js +34 -1
  44. package/build/src/abap/3_structures/structures/constants.js +34 -1
  45. package/build/src/abap/3_structures/structures/data.js +34 -1
  46. package/build/src/abap/3_structures/structures/define.js +34 -1
  47. package/build/src/abap/3_structures/structures/do.js +34 -1
  48. package/build/src/abap/3_structures/structures/dynpro_logic.js +34 -1
  49. package/build/src/abap/3_structures/structures/dynpro_loop.js +34 -1
  50. package/build/src/abap/3_structures/structures/else.js +34 -1
  51. package/build/src/abap/3_structures/structures/elseif.js +34 -1
  52. package/build/src/abap/3_structures/structures/enhancement.js +34 -1
  53. package/build/src/abap/3_structures/structures/enhancement_section.js +34 -1
  54. package/build/src/abap/3_structures/structures/exec_sql.js +34 -1
  55. package/build/src/abap/3_structures/structures/form.js +34 -1
  56. package/build/src/abap/3_structures/structures/function_module.js +34 -1
  57. package/build/src/abap/3_structures/structures/if.js +34 -1
  58. package/build/src/abap/3_structures/structures/interface.js +34 -1
  59. package/build/src/abap/3_structures/structures/interface_global.js +35 -2
  60. package/build/src/abap/3_structures/structures/loop.js +34 -1
  61. package/build/src/abap/3_structures/structures/loop_at_screen.js +34 -1
  62. package/build/src/abap/3_structures/structures/loop_extract.js +34 -1
  63. package/build/src/abap/3_structures/structures/method.js +34 -1
  64. package/build/src/abap/3_structures/structures/module.js +34 -1
  65. package/build/src/abap/3_structures/structures/normal.js +35 -2
  66. package/build/src/abap/3_structures/structures/on_change.js +34 -1
  67. package/build/src/abap/3_structures/structures/private_section.js +34 -1
  68. package/build/src/abap/3_structures/structures/process_after_input.js +34 -1
  69. package/build/src/abap/3_structures/structures/process_before_output.js +34 -1
  70. package/build/src/abap/3_structures/structures/process_on_help_request.js +34 -1
  71. package/build/src/abap/3_structures/structures/process_on_value_request.js +34 -1
  72. package/build/src/abap/3_structures/structures/protected_section.js +34 -1
  73. package/build/src/abap/3_structures/structures/provide.js +34 -1
  74. package/build/src/abap/3_structures/structures/public_section.js +34 -1
  75. package/build/src/abap/3_structures/structures/section_contents.js +34 -1
  76. package/build/src/abap/3_structures/structures/select.js +34 -1
  77. package/build/src/abap/3_structures/structures/statics.js +34 -1
  78. package/build/src/abap/3_structures/structures/test_injection.js +34 -1
  79. package/build/src/abap/3_structures/structures/test_seam.js +34 -1
  80. package/build/src/abap/3_structures/structures/try.js +34 -1
  81. package/build/src/abap/3_structures/structures/type_enum.js +34 -1
  82. package/build/src/abap/3_structures/structures/type_mesh.js +34 -1
  83. package/build/src/abap/3_structures/structures/types.js +34 -1
  84. package/build/src/abap/3_structures/structures/when.js +34 -1
  85. package/build/src/abap/3_structures/structures/when_type.js +34 -1
  86. package/build/src/abap/3_structures/structures/while.js +34 -1
  87. package/build/src/abap/3_structures/structures/with.js +34 -1
  88. package/build/src/abap/4_file_information/abap_file_information_parser.js +37 -4
  89. package/build/src/abap/5_syntax/_object_oriented.js +35 -2
  90. package/build/src/abap/5_syntax/_procedural.js +36 -3
  91. package/build/src/abap/5_syntax/_type_utils.js +34 -1
  92. package/build/src/abap/5_syntax/basic_types.js +36 -3
  93. package/build/src/abap/5_syntax/expressions/cast.js +34 -1
  94. package/build/src/abap/5_syntax/expressions/compare.js +34 -1
  95. package/build/src/abap/5_syntax/expressions/component_chain.js +34 -1
  96. package/build/src/abap/5_syntax/expressions/component_compare.js +34 -1
  97. package/build/src/abap/5_syntax/expressions/component_compare_simple.js +34 -1
  98. package/build/src/abap/5_syntax/expressions/component_cond.js +34 -1
  99. package/build/src/abap/5_syntax/expressions/component_name.js +34 -1
  100. package/build/src/abap/5_syntax/expressions/cond.js +34 -1
  101. package/build/src/abap/5_syntax/expressions/cond_body.js +34 -1
  102. package/build/src/abap/5_syntax/expressions/conv_body.js +34 -1
  103. package/build/src/abap/5_syntax/expressions/corresponding_body.js +34 -1
  104. package/build/src/abap/5_syntax/expressions/data_definition.js +34 -1
  105. package/build/src/abap/5_syntax/expressions/default.js +34 -1
  106. package/build/src/abap/5_syntax/expressions/dynamic.js +34 -1
  107. package/build/src/abap/5_syntax/expressions/field_assignment.js +34 -1
  108. package/build/src/abap/5_syntax/expressions/field_chain.js +34 -1
  109. package/build/src/abap/5_syntax/expressions/field_length.js +34 -1
  110. package/build/src/abap/5_syntax/expressions/field_offset.js +34 -1
  111. package/build/src/abap/5_syntax/expressions/filter_body.js +34 -1
  112. package/build/src/abap/5_syntax/expressions/for.js +34 -1
  113. package/build/src/abap/5_syntax/expressions/fstarget.js +34 -1
  114. package/build/src/abap/5_syntax/expressions/function_parameters.js +34 -1
  115. package/build/src/abap/5_syntax/expressions/inline_data.js +34 -1
  116. package/build/src/abap/5_syntax/expressions/inline_field_definition.js +34 -1
  117. package/build/src/abap/5_syntax/expressions/inline_fs.js +34 -1
  118. package/build/src/abap/5_syntax/expressions/inline_loop_definition.js +34 -1
  119. package/build/src/abap/5_syntax/expressions/let.js +34 -1
  120. package/build/src/abap/5_syntax/expressions/loop_group_by.js +34 -1
  121. package/build/src/abap/5_syntax/expressions/message_source.js +34 -1
  122. package/build/src/abap/5_syntax/expressions/method_call_body.js +34 -1
  123. package/build/src/abap/5_syntax/expressions/method_call_chain.js +34 -1
  124. package/build/src/abap/5_syntax/expressions/method_call_param.js +34 -1
  125. package/build/src/abap/5_syntax/expressions/method_def_returning.js +34 -1
  126. package/build/src/abap/5_syntax/expressions/method_param.js +34 -1
  127. package/build/src/abap/5_syntax/expressions/method_parameters.js +34 -1
  128. package/build/src/abap/5_syntax/expressions/method_source.js +34 -1
  129. package/build/src/abap/5_syntax/expressions/new_object.js +34 -1
  130. package/build/src/abap/5_syntax/expressions/raise_with.js +34 -1
  131. package/build/src/abap/5_syntax/expressions/reduce_body.js +34 -1
  132. package/build/src/abap/5_syntax/expressions/reduce_next.js +34 -1
  133. package/build/src/abap/5_syntax/expressions/select.js +34 -1
  134. package/build/src/abap/5_syntax/expressions/source.js +34 -1
  135. package/build/src/abap/5_syntax/expressions/sql_compare.js +34 -1
  136. package/build/src/abap/5_syntax/expressions/sql_for_all_entries.js +34 -1
  137. package/build/src/abap/5_syntax/expressions/sql_from.js +34 -1
  138. package/build/src/abap/5_syntax/expressions/sql_in.js +34 -1
  139. package/build/src/abap/5_syntax/expressions/sql_order_by.js +34 -1
  140. package/build/src/abap/5_syntax/expressions/sql_source.js +34 -1
  141. package/build/src/abap/5_syntax/expressions/string_template.js +35 -2
  142. package/build/src/abap/5_syntax/expressions/switch_body.js +34 -1
  143. package/build/src/abap/5_syntax/expressions/table_expression.js +34 -1
  144. package/build/src/abap/5_syntax/expressions/target.js +34 -1
  145. package/build/src/abap/5_syntax/expressions/type_table.js +34 -1
  146. package/build/src/abap/5_syntax/expressions/type_table_key.js +34 -1
  147. package/build/src/abap/5_syntax/expressions/value_body.js +34 -1
  148. package/build/src/abap/5_syntax/global_definitions/find_global_definitions.js +35 -2
  149. package/build/src/abap/5_syntax/statements/add.js +34 -1
  150. package/build/src/abap/5_syntax/statements/add_corresponding.js +34 -1
  151. package/build/src/abap/5_syntax/statements/append.js +34 -1
  152. package/build/src/abap/5_syntax/statements/assert.js +34 -1
  153. package/build/src/abap/5_syntax/statements/assign.js +34 -1
  154. package/build/src/abap/5_syntax/statements/authority_check.js +34 -1
  155. package/build/src/abap/5_syntax/statements/call_badi.js +34 -1
  156. package/build/src/abap/5_syntax/statements/call_function.js +34 -1
  157. package/build/src/abap/5_syntax/statements/call_kernel.js +34 -1
  158. package/build/src/abap/5_syntax/statements/call_transaction.js +34 -1
  159. package/build/src/abap/5_syntax/statements/call_transformation.js +34 -1
  160. package/build/src/abap/5_syntax/statements/case.js +34 -1
  161. package/build/src/abap/5_syntax/statements/case_type.js +34 -1
  162. package/build/src/abap/5_syntax/statements/catch.js +34 -1
  163. package/build/src/abap/5_syntax/statements/check.js +34 -1
  164. package/build/src/abap/5_syntax/statements/class_data.js +34 -1
  165. package/build/src/abap/5_syntax/statements/class_deferred.js +34 -1
  166. package/build/src/abap/5_syntax/statements/class_local_friends.js +34 -1
  167. package/build/src/abap/5_syntax/statements/clear.js +34 -1
  168. package/build/src/abap/5_syntax/statements/close_cursor.js +34 -1
  169. package/build/src/abap/5_syntax/statements/close_dataset.js +34 -1
  170. package/build/src/abap/5_syntax/statements/collect.js +34 -1
  171. package/build/src/abap/5_syntax/statements/commit_entities.js +34 -1
  172. package/build/src/abap/5_syntax/statements/concatenate.js +34 -1
  173. package/build/src/abap/5_syntax/statements/condense.js +34 -1
  174. package/build/src/abap/5_syntax/statements/constant.js +34 -1
  175. package/build/src/abap/5_syntax/statements/controls.js +34 -1
  176. package/build/src/abap/5_syntax/statements/convert.js +34 -1
  177. package/build/src/abap/5_syntax/statements/create_data.js +34 -1
  178. package/build/src/abap/5_syntax/statements/create_object.js +34 -1
  179. package/build/src/abap/5_syntax/statements/data.js +34 -1
  180. package/build/src/abap/5_syntax/statements/delete_cluster.js +34 -1
  181. package/build/src/abap/5_syntax/statements/delete_database.js +34 -1
  182. package/build/src/abap/5_syntax/statements/delete_internal.js +34 -1
  183. package/build/src/abap/5_syntax/statements/delete_memory.js +34 -1
  184. package/build/src/abap/5_syntax/statements/delete_report.js +34 -1
  185. package/build/src/abap/5_syntax/statements/describe.js +34 -1
  186. package/build/src/abap/5_syntax/statements/divide.js +34 -1
  187. package/build/src/abap/5_syntax/statements/do.js +34 -1
  188. package/build/src/abap/5_syntax/statements/editor_call.js +34 -1
  189. package/build/src/abap/5_syntax/statements/else_if.js +34 -1
  190. package/build/src/abap/5_syntax/statements/export.js +34 -1
  191. package/build/src/abap/5_syntax/statements/fetch_next_cursor.js +34 -1
  192. package/build/src/abap/5_syntax/statements/field_group.js +34 -1
  193. package/build/src/abap/5_syntax/statements/fieldsymbol.js +34 -1
  194. package/build/src/abap/5_syntax/statements/find.js +34 -1
  195. package/build/src/abap/5_syntax/statements/format.js +34 -1
  196. package/build/src/abap/5_syntax/statements/free.js +34 -1
  197. package/build/src/abap/5_syntax/statements/get_badi.js +34 -1
  198. package/build/src/abap/5_syntax/statements/get_bit.js +34 -1
  199. package/build/src/abap/5_syntax/statements/get_cursor.js +34 -1
  200. package/build/src/abap/5_syntax/statements/get_locale.js +34 -1
  201. package/build/src/abap/5_syntax/statements/get_parameter.js +34 -1
  202. package/build/src/abap/5_syntax/statements/get_pf_status.js +34 -1
  203. package/build/src/abap/5_syntax/statements/get_reference.js +34 -1
  204. package/build/src/abap/5_syntax/statements/get_run_time.js +34 -1
  205. package/build/src/abap/5_syntax/statements/get_time.js +34 -1
  206. package/build/src/abap/5_syntax/statements/if.js +34 -1
  207. package/build/src/abap/5_syntax/statements/import.js +34 -1
  208. package/build/src/abap/5_syntax/statements/import_dynpro.js +34 -1
  209. package/build/src/abap/5_syntax/statements/include_type.js +34 -1
  210. package/build/src/abap/5_syntax/statements/insert_database.js +34 -1
  211. package/build/src/abap/5_syntax/statements/insert_field_group.js +34 -1
  212. package/build/src/abap/5_syntax/statements/insert_internal.js +34 -1
  213. package/build/src/abap/5_syntax/statements/insert_report.js +34 -1
  214. package/build/src/abap/5_syntax/statements/insert_textpool.js +34 -1
  215. package/build/src/abap/5_syntax/statements/interface_deferred.js +34 -1
  216. package/build/src/abap/5_syntax/statements/log_point.js +34 -1
  217. package/build/src/abap/5_syntax/statements/loop.js +34 -1
  218. package/build/src/abap/5_syntax/statements/loop_at_screen.js +34 -1
  219. package/build/src/abap/5_syntax/statements/message.js +34 -1
  220. package/build/src/abap/5_syntax/statements/method_implementation.js +34 -1
  221. package/build/src/abap/5_syntax/statements/modify_database.js +34 -1
  222. package/build/src/abap/5_syntax/statements/modify_entities.js +34 -1
  223. package/build/src/abap/5_syntax/statements/modify_internal.js +34 -1
  224. package/build/src/abap/5_syntax/statements/modify_screen.js +34 -1
  225. package/build/src/abap/5_syntax/statements/move.js +34 -1
  226. package/build/src/abap/5_syntax/statements/move_corresponding.js +34 -1
  227. package/build/src/abap/5_syntax/statements/multiply.js +34 -1
  228. package/build/src/abap/5_syntax/statements/open_cursor.js +34 -1
  229. package/build/src/abap/5_syntax/statements/open_dataset.js +34 -1
  230. package/build/src/abap/5_syntax/statements/pack.js +34 -1
  231. package/build/src/abap/5_syntax/statements/parameter.js +34 -1
  232. package/build/src/abap/5_syntax/statements/perform.js +35 -2
  233. package/build/src/abap/5_syntax/statements/raise.js +34 -1
  234. package/build/src/abap/5_syntax/statements/raise_event.js +34 -1
  235. package/build/src/abap/5_syntax/statements/ranges.js +34 -1
  236. package/build/src/abap/5_syntax/statements/read_entities.js +34 -1
  237. package/build/src/abap/5_syntax/statements/read_report.js +34 -1
  238. package/build/src/abap/5_syntax/statements/read_table.js +34 -1
  239. package/build/src/abap/5_syntax/statements/read_textpool.js +34 -1
  240. package/build/src/abap/5_syntax/statements/receive.js +34 -1
  241. package/build/src/abap/5_syntax/statements/refresh.js +34 -1
  242. package/build/src/abap/5_syntax/statements/replace.js +34 -1
  243. package/build/src/abap/5_syntax/statements/return.js +34 -1
  244. package/build/src/abap/5_syntax/statements/scan.js +34 -1
  245. package/build/src/abap/5_syntax/statements/search.js +34 -1
  246. package/build/src/abap/5_syntax/statements/select.js +34 -1
  247. package/build/src/abap/5_syntax/statements/select_loop.js +34 -1
  248. package/build/src/abap/5_syntax/statements/selection_screen.js +34 -1
  249. package/build/src/abap/5_syntax/statements/selectoption.js +34 -1
  250. package/build/src/abap/5_syntax/statements/set_bit.js +34 -1
  251. package/build/src/abap/5_syntax/statements/set_handler.js +34 -1
  252. package/build/src/abap/5_syntax/statements/set_locale.js +34 -1
  253. package/build/src/abap/5_syntax/statements/set_parameter.js +34 -1
  254. package/build/src/abap/5_syntax/statements/set_pf_status.js +34 -1
  255. package/build/src/abap/5_syntax/statements/set_titlebar.js +34 -1
  256. package/build/src/abap/5_syntax/statements/shift.js +34 -1
  257. package/build/src/abap/5_syntax/statements/sort.js +34 -1
  258. package/build/src/abap/5_syntax/statements/split.js +34 -1
  259. package/build/src/abap/5_syntax/statements/static.js +34 -1
  260. package/build/src/abap/5_syntax/statements/submit.js +34 -1
  261. package/build/src/abap/5_syntax/statements/subtract.js +34 -1
  262. package/build/src/abap/5_syntax/statements/subtract_corresponding.js +34 -1
  263. package/build/src/abap/5_syntax/statements/syntax_check.js +34 -1
  264. package/build/src/abap/5_syntax/statements/system_call.js +34 -1
  265. package/build/src/abap/5_syntax/statements/tables.js +34 -1
  266. package/build/src/abap/5_syntax/statements/transfer.js +34 -1
  267. package/build/src/abap/5_syntax/statements/translate.js +34 -1
  268. package/build/src/abap/5_syntax/statements/truncate_dataset.js +34 -1
  269. package/build/src/abap/5_syntax/statements/type.js +34 -1
  270. package/build/src/abap/5_syntax/statements/unassign.js +34 -1
  271. package/build/src/abap/5_syntax/statements/unpack.js +34 -1
  272. package/build/src/abap/5_syntax/statements/update_database.js +34 -1
  273. package/build/src/abap/5_syntax/statements/wait.js +34 -1
  274. package/build/src/abap/5_syntax/statements/when.js +34 -1
  275. package/build/src/abap/5_syntax/statements/when_type.js +34 -1
  276. package/build/src/abap/5_syntax/statements/while.js +34 -1
  277. package/build/src/abap/5_syntax/statements/with.js +34 -1
  278. package/build/src/abap/5_syntax/statements/with_loop.js +34 -1
  279. package/build/src/abap/5_syntax/statements/write.js +34 -1
  280. package/build/src/abap/5_syntax/structures/class_data.js +36 -3
  281. package/build/src/abap/5_syntax/structures/constants.js +37 -4
  282. package/build/src/abap/5_syntax/structures/data.js +37 -4
  283. package/build/src/abap/5_syntax/structures/statics.js +37 -4
  284. package/build/src/abap/5_syntax/structures/type_enum.js +36 -3
  285. package/build/src/abap/5_syntax/structures/types.js +37 -4
  286. package/build/src/abap/5_syntax/syntax.js +35 -2
  287. package/build/src/abap/artifacts.js +36 -3
  288. package/build/src/abap/types/class_attributes.js +36 -3
  289. package/build/src/abap/types/class_definition.js +36 -3
  290. package/build/src/abap/types/class_implementation.js +36 -3
  291. package/build/src/abap/types/event_definition.js +34 -1
  292. package/build/src/abap/types/form_definition.js +36 -3
  293. package/build/src/abap/types/interface_definition.js +36 -3
  294. package/build/src/abap/types/method_definition.js +34 -1
  295. package/build/src/abap/types/method_definitions.js +34 -1
  296. package/build/src/abap/types/method_implementation.js +35 -2
  297. package/build/src/abap/types/method_parameters.js +34 -1
  298. package/build/src/artifacts_objects.js +34 -1
  299. package/build/src/artifacts_rules.js +34 -1
  300. package/build/src/cds/artifacts.js +34 -1
  301. package/build/src/cds/cds_parser.js +34 -1
  302. package/build/src/config.js +34 -1
  303. package/build/src/ddic.js +34 -1
  304. package/build/src/ddl/artifacts.js +34 -1
  305. package/build/src/ddl/ddl_parser.js +34 -1
  306. package/build/src/index.js +44 -11
  307. package/build/src/lsp/_edit.js +34 -1
  308. package/build/src/lsp/_lookup.js +36 -3
  309. package/build/src/lsp/_lsp_utils.js +34 -1
  310. package/build/src/lsp/code_actions.js +34 -1
  311. package/build/src/lsp/code_lens.js +34 -1
  312. package/build/src/lsp/diagnostics.js +34 -1
  313. package/build/src/lsp/hover.js +36 -3
  314. package/build/src/lsp/inlay_hints.js +34 -1
  315. package/build/src/lsp/language_server.js +34 -1
  316. package/build/src/lsp/rename.js +34 -1
  317. package/build/src/lsp/semantic.js +35 -2
  318. package/build/src/lsp/symbols.js +36 -3
  319. package/build/src/objects/data_element.js +34 -1
  320. package/build/src/objects/domain.js +34 -1
  321. package/build/src/objects/rename/rename_global_class.js +35 -2
  322. package/build/src/objects/rename/rename_global_interface.js +35 -2
  323. package/build/src/objects/rename/rename_program.js +35 -2
  324. package/build/src/objects/rename/renamer.js +3 -0
  325. package/build/src/objects/table.js +34 -1
  326. package/build/src/objects/table_type.js +34 -1
  327. package/build/src/objects/view.js +34 -1
  328. package/build/src/pretty_printer/fix_keyword_case.js +34 -1
  329. package/build/src/pretty_printer/indent.js +35 -2
  330. package/build/src/registry.js +2 -2
  331. package/build/src/rules/add_test_attributes.js +35 -2
  332. package/build/src/rules/align_parameters.js +35 -2
  333. package/build/src/rules/align_type_expressions.js +36 -3
  334. package/build/src/rules/ambiguous_statement.js +34 -1
  335. package/build/src/rules/avoid_use.js +34 -1
  336. package/build/src/rules/begin_end_names.js +36 -3
  337. package/build/src/rules/begin_single_include.js +35 -2
  338. package/build/src/rules/call_transaction_authority_check.js +34 -1
  339. package/build/src/rules/catch_and_raise.js +36 -3
  340. package/build/src/rules/chain_mainly_declarations.js +34 -1
  341. package/build/src/rules/change_if_to_case.js +36 -3
  342. package/build/src/rules/check_ddic.js +34 -1
  343. package/build/src/rules/check_subrc.js +35 -2
  344. package/build/src/rules/check_text_elements.js +34 -1
  345. package/build/src/rules/classic_exceptions_overlap.js +34 -1
  346. package/build/src/rules/cloud_types.js +34 -1
  347. package/build/src/rules/constant_classes.js +34 -1
  348. package/build/src/rules/dangerous_statement.js +35 -2
  349. package/build/src/rules/db_operation_in_loop.js +35 -2
  350. package/build/src/rules/definitions_top.js +35 -2
  351. package/build/src/rules/downport.js +37 -4
  352. package/build/src/rules/empty_event.js +34 -1
  353. package/build/src/rules/empty_structure.js +34 -1
  354. package/build/src/rules/exit_or_check.js +34 -1
  355. package/build/src/rules/fm_global_parameters_obsolete.js +34 -1
  356. package/build/src/rules/forbidden_pseudo_and_pragma.js +35 -2
  357. package/build/src/rules/form_tables_obsolete.js +34 -1
  358. package/build/src/rules/fully_type_constants.js +34 -1
  359. package/build/src/rules/fully_type_itabs.js +35 -2
  360. package/build/src/rules/functional_writing.js +35 -2
  361. package/build/src/rules/global_class.js +34 -1
  362. package/build/src/rules/identical_conditions.js +36 -3
  363. package/build/src/rules/identical_contents.js +34 -1
  364. package/build/src/rules/identical_move.js +35 -2
  365. package/build/src/rules/if_in_if.js +35 -2
  366. package/build/src/rules/implement_methods.js +35 -2
  367. package/build/src/rules/implicit_start_of_selection.js +34 -1
  368. package/build/src/rules/in_statement_indentation.js +34 -1
  369. package/build/src/rules/indentation.js +35 -2
  370. package/build/src/rules/index_completely_contained.js +34 -1
  371. package/build/src/rules/invalid_table_index.js +34 -1
  372. package/build/src/rules/keep_single_parameter_on_one_line.js +34 -1
  373. package/build/src/rules/keyword_case.js +35 -2
  374. package/build/src/rules/line_break_multiple_parameters.js +34 -1
  375. package/build/src/rules/local_variable_names.js +36 -3
  376. package/build/src/rules/macro_naming.js +35 -2
  377. package/build/src/rules/main_file_contents.js +36 -3
  378. package/build/src/rules/many_parentheses.js +35 -2
  379. package/build/src/rules/max_one_method_parameter_per_line.js +35 -2
  380. package/build/src/rules/message_exists.js +35 -2
  381. package/build/src/rules/method_length.js +34 -1
  382. package/build/src/rules/mix_returning.js +35 -2
  383. package/build/src/rules/modify_only_own_db_tables.js +35 -2
  384. package/build/src/rules/names_no_dash.js +35 -2
  385. package/build/src/rules/nesting.js +34 -1
  386. package/build/src/rules/newline_between_methods.js +34 -1
  387. package/build/src/rules/no_chained_assignment.js +35 -2
  388. package/build/src/rules/no_comments_between_methods.js +34 -1
  389. package/build/src/rules/no_external_form_calls.js +35 -2
  390. package/build/src/rules/no_inline_in_optional_branches.js +35 -2
  391. package/build/src/rules/no_prefixes.js +35 -2
  392. package/build/src/rules/no_yoda_conditions.js +34 -1
  393. package/build/src/rules/nrob_consistency.js +34 -1
  394. package/build/src/rules/obsolete_statement.js +35 -2
  395. package/build/src/rules/omit_parameter_name.js +34 -1
  396. package/build/src/rules/omit_preceding_zeros.js +34 -1
  397. package/build/src/rules/omit_receiving.js +34 -1
  398. package/build/src/rules/parser_702_chaining.js +34 -1
  399. package/build/src/rules/parser_bad_exceptions.js +35 -2
  400. package/build/src/rules/parser_missing_space.js +34 -1
  401. package/build/src/rules/prefer_corresponding.js +34 -1
  402. package/build/src/rules/prefer_inline.js +34 -1
  403. package/build/src/rules/prefer_is_not.js +34 -1
  404. package/build/src/rules/prefer_raise_exception_new.js +34 -1
  405. package/build/src/rules/prefer_returning_to_exporting.js +35 -2
  406. package/build/src/rules/prefer_xsdbool.js +34 -1
  407. package/build/src/rules/preferred_compare_operator.js +34 -1
  408. package/build/src/rules/prefix_is_current_class.js +34 -1
  409. package/build/src/rules/reduce_procedural_code.js +34 -1
  410. package/build/src/rules/reduce_string_templates.js +34 -1
  411. package/build/src/rules/release_idoc.js +34 -1
  412. package/build/src/rules/remove_descriptions.js +34 -1
  413. package/build/src/rules/rfc_error_handling.js +35 -2
  414. package/build/src/rules/select_add_order_by.js +35 -2
  415. package/build/src/rules/select_performance.js +36 -3
  416. package/build/src/rules/select_single_full_key.js +35 -2
  417. package/build/src/rules/short_case.js +36 -3
  418. package/build/src/rules/space_before_dot.js +34 -1
  419. package/build/src/rules/sql_escape_host_variables.js +35 -2
  420. package/build/src/rules/strict_sql.js +35 -2
  421. package/build/src/rules/superclass_final.js +34 -1
  422. package/build/src/rules/superfluous_value.js +35 -2
  423. package/build/src/rules/sy_modification.js +34 -1
  424. package/build/src/rules/tables_declared_locally.js +35 -2
  425. package/build/src/rules/type_form_parameters.js +34 -1
  426. package/build/src/rules/types_naming.js +35 -2
  427. package/build/src/rules/uncaught_exception.js +36 -3
  428. package/build/src/rules/unknown_types.js +34 -1
  429. package/build/src/rules/unnecessary_pragma.js +35 -2
  430. package/build/src/rules/unnecessary_return.js +34 -1
  431. package/build/src/rules/unreachable_code.js +35 -2
  432. package/build/src/rules/unsecure_fae.js +34 -1
  433. package/build/src/rules/unused_ddic.js +34 -1
  434. package/build/src/rules/unused_methods.js +35 -2
  435. package/build/src/rules/unused_variables.js +34 -1
  436. package/build/src/rules/use_bool_expression.js +36 -3
  437. package/build/src/rules/use_class_based_exceptions.js +35 -2
  438. package/build/src/rules/use_line_exists.js +35 -2
  439. package/build/src/rules/use_new.js +35 -2
  440. package/build/src/rules/when_others_last.js +35 -2
  441. package/build/src/rules/xml_consistency.js +34 -1
  442. package/build/src/stuff.js +34 -1
  443. package/build/src/utils/cyclomatic_complexity_stats.js +36 -3
  444. package/build/src/utils/form_length_stats.js +34 -1
  445. package/build/src/utils/method_length_stats.js +35 -2
  446. package/package.json +9 -9
@@ -2566,6 +2566,7 @@ declare namespace Expressions {
2566
2566
  SQLArithmetics,
2567
2567
  SQLAsName,
2568
2568
  SQLCase,
2569
+ SQLBypassingBuffer,
2569
2570
  SQLCDSParameters,
2570
2571
  SQLClient,
2571
2572
  SQLCompareOperator,
@@ -2591,9 +2592,13 @@ declare namespace Expressions {
2591
2592
  SQLIntoStructure,
2592
2593
  SQLIntoTable,
2593
2594
  SQLJoin,
2595
+ SQLOptions,
2594
2596
  SQLOrderBy,
2595
2597
  SQLOver,
2596
2598
  SQLPath,
2599
+ SQLPrivilegedAccess,
2600
+ SQLSetOp,
2601
+ SQLSetOpGroup,
2597
2602
  SQLSourceNoSpace,
2598
2603
  SQLSourceSimple,
2599
2604
  SQLSource,
@@ -6365,6 +6370,10 @@ declare class SQLAsName extends Expression {
6365
6370
  getRunnable(): IStatementRunnable;
6366
6371
  }
6367
6372
 
6373
+ declare class SQLBypassingBuffer extends Expression {
6374
+ getRunnable(): IStatementRunnable;
6375
+ }
6376
+
6368
6377
  declare class SQLCase extends Expression {
6369
6378
  getRunnable(): IStatementRunnable;
6370
6379
  }
@@ -6469,6 +6478,10 @@ declare class SQLJoin extends Expression {
6469
6478
  getRunnable(): IStatementRunnable;
6470
6479
  }
6471
6480
 
6481
+ declare class SQLOptions extends Expression {
6482
+ getRunnable(): IStatementRunnable;
6483
+ }
6484
+
6472
6485
  declare class SQLOrderBy extends Expression {
6473
6486
  getRunnable(): IStatementRunnable;
6474
6487
  }
@@ -6481,6 +6494,18 @@ declare class SQLPath extends Expression {
6481
6494
  getRunnable(): IStatementRunnable;
6482
6495
  }
6483
6496
 
6497
+ declare class SQLPrivilegedAccess extends Expression {
6498
+ getRunnable(): IStatementRunnable;
6499
+ }
6500
+
6501
+ declare class SQLSetOp extends Expression {
6502
+ getRunnable(): IStatementRunnable;
6503
+ }
6504
+
6505
+ declare class SQLSetOpGroup extends Expression {
6506
+ getRunnable(): IStatementRunnable;
6507
+ }
6508
+
6484
6509
  declare class SQLSource extends Expression {
6485
6510
  getRunnable(): IStatementRunnable;
6486
6511
  }
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.Combi = exports.Expression = void 0;
4
37
  exports.str = str;
@@ -18,7 +51,7 @@ exports.ver = ver;
18
51
  exports.verNot = verNot;
19
52
  exports.failCombinator = failCombinator;
20
53
  exports.failStar = failStar;
21
- const Tokens = require("../1_lexer/tokens");
54
+ const Tokens = __importStar(require("../1_lexer/tokens"));
22
55
  const nodes_1 = require("../nodes");
23
56
  const version_1 = require("../../version");
24
57
  const result_1 = require("./result");
@@ -146,7 +179,8 @@ class Vers {
146
179
  return this.runnable.run(r);
147
180
  }
148
181
  }
149
- else if (targetVersion >= this.version || targetVersion === version_1.Version.Cloud) {
182
+ else if ((targetVersion !== version_1.Version.Cloud && this.version !== version_1.Version.Cloud && targetVersion >= this.version)
183
+ || targetVersion === version_1.Version.Cloud) {
150
184
  return this.runnable.run(r);
151
185
  }
152
186
  else {
@@ -1,9 +1,42 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.ExpandMacros = void 0;
4
- const Statements = require("./statements");
5
- const Expressions = require("./expressions");
6
- const Tokens = require("../1_lexer/tokens");
37
+ const Statements = __importStar(require("./statements"));
38
+ const Expressions = __importStar(require("./expressions"));
39
+ const Tokens = __importStar(require("../1_lexer/tokens"));
7
40
  const _statement_1 = require("./statements/_statement");
8
41
  const statement_node_1 = require("../nodes/statement_node");
9
42
  const token_node_1 = require("../nodes/token_node");
@@ -1,8 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.DataDefinition = void 0;
4
37
  const combi_1 = require("../combi");
5
- const Expressions = require(".");
38
+ const Expressions = __importStar(require("."));
6
39
  const version_1 = require("../../../version");
7
40
  class DataDefinition extends combi_1.Expression {
8
41
  getRunnable() {
@@ -179,6 +179,7 @@ __exportStar(require("./sql_arithmetic_operator"), exports);
179
179
  __exportStar(require("./sql_arithmetics"), exports);
180
180
  __exportStar(require("./sql_as_name"), exports);
181
181
  __exportStar(require("./sql_case"), exports);
182
+ __exportStar(require("./sql_bypassing_buffer"), exports);
182
183
  __exportStar(require("./sql_cds_parameters"), exports);
183
184
  __exportStar(require("./sql_client"), exports);
184
185
  __exportStar(require("./sql_compare_operator"), exports);
@@ -204,10 +205,14 @@ __exportStar(require("./sql_into_list"), exports);
204
205
  __exportStar(require("./sql_into_structure"), exports);
205
206
  __exportStar(require("./sql_into_table"), exports);
206
207
  __exportStar(require("./sql_join"), exports);
208
+ __exportStar(require("./sql_options"), exports);
207
209
  __exportStar(require("./sql_order_by"), exports);
208
210
  __exportStar(require("./sql_over"), exports);
209
211
  __exportStar(require("./sql_over"), exports);
210
212
  __exportStar(require("./sql_path"), exports);
213
+ __exportStar(require("./sql_privileged_access"), exports);
214
+ __exportStar(require("./sql_set_op"), exports);
215
+ __exportStar(require("./sql_set_op_group"), exports);
211
216
  __exportStar(require("./sql_source_no_space"), exports);
212
217
  __exportStar(require("./sql_source_simple"), exports);
213
218
  __exportStar(require("./sql_source"), exports);
@@ -1,8 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.LOBHandle = void 0;
4
37
  const combi_1 = require("../combi");
5
- const Expressions = require(".");
38
+ const Expressions = __importStar(require("."));
6
39
  class LOBHandle extends combi_1.Expression {
7
40
  getRunnable() {
8
41
  return (0, combi_1.seq)("WRITER FOR COLUMNS", Expressions.Field);
@@ -1,8 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.MethodDefReturning = void 0;
4
37
  const combi_1 = require("../combi");
5
- const Expressions = require(".");
38
+ const Expressions = __importStar(require("."));
6
39
  const tokens_1 = require("../../1_lexer/tokens");
7
40
  class MethodDefReturning extends combi_1.Expression {
8
41
  getRunnable() {
@@ -1,8 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.MethodParam = void 0;
4
37
  const combi_1 = require("../combi");
5
- const Expressions = require(".");
38
+ const Expressions = __importStar(require("."));
6
39
  const tokens_1 = require("../../1_lexer/tokens");
7
40
  class MethodParam extends combi_1.Expression {
8
41
  getRunnable() {
@@ -4,24 +4,15 @@ exports.Select = void 0;
4
4
  const combi_1 = require("../combi");
5
5
  const _1 = require(".");
6
6
  const version_1 = require("../../../version");
7
- const sql_group_by_1 = require("./sql_group_by");
8
7
  const sql_into_structure_1 = require("./sql_into_structure");
9
- const sql_up_to_1 = require("./sql_up_to");
8
+ const select_core_1 = require("./select_core");
10
9
  class Select extends combi_1.Expression {
11
10
  getRunnable() {
12
11
  const into = (0, combi_1.altPrio)(_1.SQLIntoTable, sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
13
- const where = (0, combi_1.seq)("WHERE", _1.SQLCond);
14
- const offset = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)("OFFSET", _1.SQLSource));
15
- const bypass = (0, combi_1.str)("BYPASSING BUFFER");
16
- const fields = (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields, version_1.Version.OpenABAP);
17
- // todo, HINTS cannot be anywhere, need an expression dedicated for strict sql
18
- const perm = (0, combi_1.per)(_1.SQLFrom, into, _1.SQLForAllEntries, where, _1.SQLOrderBy, sql_up_to_1.SQLUpTo, offset, _1.SQLClient, _1.SQLHaving, bypass, sql_group_by_1.SQLGroupBy, fields, _1.DatabaseConnection, _1.SQLHints);
19
- const permSingle = (0, combi_1.per)(_1.SQLFrom, (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList), where, _1.SQLClient, bypass, sql_group_by_1.SQLGroupBy, fields, _1.DatabaseConnection, _1.SQLHints);
20
- const fieldList = (0, combi_1.optPrio)(_1.SQLFieldList);
21
- const single = (0, combi_1.seq)("SINGLE", (0, combi_1.optPrio)("FOR UPDATE"), fieldList, permSingle);
22
- const other = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), fieldList, perm);
23
- const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)(single, other));
24
- return ret;
12
+ const standalone = (0, select_core_1.buildSelectCore)(into);
13
+ const unionTail = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.plusPrio)(_1.SQLSetOp), version_1.Version.OpenABAP);
14
+ const chained = (0, combi_1.seq)((0, select_core_1.buildSelectCore)(undefined, false), unionTail, (0, combi_1.optPrio)(_1.SQLOrderBy), (0, combi_1.optPrio)(into));
15
+ return (0, combi_1.altPrio)(chained, standalone);
25
16
  }
26
17
  }
27
18
  exports.Select = Select;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildSelectCore = buildSelectCore;
4
+ const combi_1 = require("../combi");
5
+ const _1 = require(".");
6
+ const version_1 = require("../../../version");
7
+ const sql_group_by_1 = require("./sql_group_by");
8
+ const sql_into_structure_1 = require("./sql_into_structure");
9
+ const sql_up_to_1 = require("./sql_up_to");
10
+ function buildSelectCore(into, allowOrderBy = true) {
11
+ const where = (0, combi_1.seq)("WHERE", _1.SQLCond);
12
+ const offset = (0, combi_1.ver)(version_1.Version.v751, (0, combi_1.seq)("OFFSET", _1.SQLSource));
13
+ const bypass = (0, combi_1.str)("BYPASSING BUFFER");
14
+ const fields = (0, combi_1.ver)(version_1.Version.v750, _1.SQLFields, version_1.Version.OpenABAP);
15
+ const privileged = (0, combi_1.ver)(version_1.Version.v758, _1.SQLPrivilegedAccess);
16
+ const orderByItems = allowOrderBy ? [_1.SQLOrderBy, sql_up_to_1.SQLUpTo, offset] : [];
17
+ const permItems = [_1.SQLFrom, ...(into ? [into] : []), _1.SQLForAllEntries, where,
18
+ ...orderByItems, _1.SQLClient, _1.SQLHaving,
19
+ bypass, sql_group_by_1.SQLGroupBy, fields, _1.DatabaseConnection, _1.SQLHints, privileged, _1.SQLOptions];
20
+ const perm = (0, combi_1.per)(permItems[0], permItems[1], ...permItems.slice(2));
21
+ const intoSingle = (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
22
+ const permSingleItems = [_1.SQLFrom, ...(into ? [intoSingle] : []), where, _1.SQLClient,
23
+ bypass, sql_group_by_1.SQLGroupBy, _1.SQLHaving, fields, _1.DatabaseConnection, _1.SQLHints, privileged, _1.SQLOptions];
24
+ const permSingle = (0, combi_1.per)(permSingleItems[0], permSingleItems[1], ...permSingleItems.slice(2));
25
+ const fieldList = (0, combi_1.optPrio)(_1.SQLFieldList);
26
+ const single = (0, combi_1.seq)("SINGLE", (0, combi_1.optPrio)("FOR UPDATE"), fieldList, permSingle);
27
+ const other = (0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), fieldList, perm);
28
+ return (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)(single, other));
29
+ }
30
+ //# sourceMappingURL=select_core.js.map
@@ -17,14 +17,15 @@ class SelectLoop extends combi_1.Expression {
17
17
  const where = (0, combi_1.seq)("WHERE", _1.SQLCond);
18
18
  const bypass = "BYPASSING BUFFER";
19
19
  const pack = (0, combi_1.seq)("PACKAGE SIZE", _1.SQLSource);
20
+ const privileged = (0, combi_1.ver)(version_1.Version.v758, _1.SQLPrivilegedAccess);
20
21
  const tab = (0, combi_1.seq)(_1.SQLIntoTable, (0, combi_1.alt)(pack, (0, combi_1.seq)(_1.SQLFrom, pack), (0, combi_1.seq)(pack, _1.SQLFrom)));
21
22
  const packTab = (0, combi_1.seq)(pack, _1.SQLIntoTable);
22
23
  const into = (0, combi_1.altPrio)(sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList);
23
- const perm = (0, combi_1.per)(_1.SQLFrom, where, sql_up_to_1.SQLUpTo, sql_order_by_1.SQLOrderBy, sql_having_1.SQLHaving, _1.SQLClient, bypass, _1.SQLGroupBy, _1.SQLForAllEntries, _1.DatabaseConnection, (0, combi_1.alt)(tab, sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList, packTab));
24
+ const perm = (0, combi_1.per)(_1.SQLFrom, where, sql_up_to_1.SQLUpTo, sql_order_by_1.SQLOrderBy, sql_having_1.SQLHaving, _1.SQLClient, bypass, _1.SQLGroupBy, _1.SQLForAllEntries, _1.DatabaseConnection, privileged, _1.SQLOptions, (0, combi_1.alt)(tab, sql_into_structure_1.SQLIntoStructure, _1.SQLIntoList, packTab));
24
25
  const strict = (0, combi_1.seq)(_1.SQLFrom, (0, combi_1.ver)(version_1.Version.v750, sql_fields_loop_1.SQLFieldsLoop), (0, combi_1.optPrio)(_1.SQLForAllEntries), (0, combi_1.optPrio)((0, combi_1.seq)(where, (0, combi_1.optPrio)(sql_order_by_1.SQLOrderBy), into, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo))));
25
26
  const aggrIntoBeforeFrom = (0, combi_1.seq)((0, combi_1.plusPrio)(_1.SQLAggregation), into, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), _1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), (0, combi_1.optPrio)(where), _1.SQLGroupBy);
26
27
  const aggrIntoAfterFrom = (0, combi_1.seq)((0, combi_1.plusPrio)(_1.SQLAggregation), _1.SQLFrom, (0, combi_1.optPrio)(_1.SQLClient), into, (0, combi_1.optPrio)(sql_up_to_1.SQLUpTo), (0, combi_1.optPrio)(where), _1.SQLGroupBy);
27
- const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_1.SQLFieldListLoop, perm), strict, aggrIntoBeforeFrom, aggrIntoAfterFrom), (0, combi_1.optPrio)(sql_hints_1.SQLHints));
28
+ const ret = (0, combi_1.seq)("SELECT", (0, combi_1.altPrio)((0, combi_1.seq)((0, combi_1.optPrio)("DISTINCT"), sql_field_list_loop_1.SQLFieldListLoop, perm), strict, aggrIntoBeforeFrom, aggrIntoAfterFrom), (0, combi_1.optPrio)(sql_hints_1.SQLHints), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(_1.SQLOptions));
28
29
  return ret;
29
30
  }
30
31
  }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLBypassingBuffer = void 0;
4
+ const combi_1 = require("../combi");
5
+ class SQLBypassingBuffer extends combi_1.Expression {
6
+ getRunnable() {
7
+ return (0, combi_1.str)("BYPASSING BUFFER");
8
+ }
9
+ }
10
+ exports.SQLBypassingBuffer = SQLBypassingBuffer;
11
+ //# sourceMappingURL=sql_bypassing_buffer.js.map
@@ -5,19 +5,19 @@ const combi_1 = require("../combi");
5
5
  const _1 = require(".");
6
6
  const version_1 = require("../../../version");
7
7
  const tokens_1 = require("../../1_lexer/tokens");
8
+ const sql_set_op_group_1 = require("./sql_set_op_group");
8
9
  class SQLCompare extends combi_1.Expression {
9
10
  getRunnable() {
10
- const subSelect = (0, combi_1.seq)("(", _1.Select, ")");
11
- const subSelectDouble = (0, combi_1.seq)("(", "(", _1.Select, ")", ")");
11
+ const subSelect = (0, combi_1.ver)(version_1.Version.v750, sql_set_op_group_1.SQLSetOpGroup, version_1.Version.OpenABAP);
12
12
  const between = (0, combi_1.seq)("BETWEEN", _1.SQLSource, "AND", _1.SQLSource);
13
13
  const like = (0, combi_1.seq)("LIKE", _1.SQLSource, (0, combi_1.optPrio)((0, combi_1.seq)("ESCAPE", _1.SQLSource)));
14
14
  const nul = (0, combi_1.seq)("IS", (0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)("NULL", (0, combi_1.ver)(version_1.Version.v753, "INITIAL")));
15
15
  const source = new _1.SQLSource();
16
- const sub = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("ALL", "ANY", "SOME")), (0, combi_1.altPrio)(subSelect, subSelectDouble));
16
+ const sub = (0, combi_1.seq)((0, combi_1.optPrio)((0, combi_1.altPrio)("ALL", "ANY", "SOME")), subSelect);
17
17
  const arith = (0, combi_1.ver)(version_1.Version.v750, (0, combi_1.plusPrio)((0, combi_1.seq)((0, combi_1.altPrio)("+", "-", "*", "/"), _1.SQLFieldName)), version_1.Version.OpenABAP);
18
18
  const paren = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.ParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW));
19
19
  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);
20
- const rett = (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLAggregation, _1.SQLFunction, _1.ConstantString, (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLPath, _1.SQLFieldName), (0, combi_1.optPrio)(arith)), at), (0, combi_1.altPrio)((0, combi_1.seq)(_1.SQLCompareOperator, (0, combi_1.altPrio)(sub, source)), (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)(_1.SQLIn, like, between)), nul));
20
+ const rett = (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLAggregation, _1.SQLFunction, _1.ConstantString, (0, combi_1.seq)((0, combi_1.altPrio)(_1.SQLPath, _1.SQLFieldName), (0, combi_1.optPrio)(arith)), at), (0, combi_1.altPrio)((0, combi_1.seq)(_1.SQLCompareOperator, (0, combi_1.altPrio)(sub, _1.SQLAggregation, _1.SQLFunction, source)), (0, combi_1.seq)((0, combi_1.optPrio)("NOT"), (0, combi_1.altPrio)(_1.SQLIn, like, between)), nul));
21
21
  const exists = (0, combi_1.seq)("EXISTS", subSelect);
22
22
  return (0, combi_1.altPrio)(exists, _1.Dynamic, rett);
23
23
  }
@@ -11,7 +11,8 @@ class SQLFromSource extends combi_1.Expression {
11
11
  // https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abennews-752-open_sql.htm#!ABAP_MODIFICATION_1@1@
12
12
  const tab = (0, combi_1.ver)(version_1.Version.v752, (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WAt), _1.FieldChain));
13
13
  const aas = (0, combi_1.seq)("AS", _1.SQLAsName);
14
- return (0, combi_1.seq)((0, combi_1.altPrio)(with_name_1.WithName, (0, combi_1.seq)(_1.DatabaseTable, (0, combi_1.optPrio)(_1.SQLCDSParameters)), tab), (0, combi_1.optPrio)((0, combi_1.ver)(version_1.Version.v752, "WITH PRIVILEGED ACCESS")), (0, combi_1.optPrio)(aas));
14
+ const privileged = (0, combi_1.ver)(version_1.Version.v752, (0, combi_1.seq)("WITH", _1.SQLPrivilegedAccess));
15
+ return (0, combi_1.seq)((0, combi_1.altPrio)(with_name_1.WithName, (0, combi_1.seq)(_1.DatabaseTable, (0, combi_1.optPrio)(_1.SQLCDSParameters)), tab), (0, combi_1.optPrio)(privileged), (0, combi_1.optPrio)(aas));
15
16
  }
16
17
  }
17
18
  exports.SQLFromSource = SQLFromSource;
@@ -2,15 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SQLHaving = void 0;
4
4
  const combi_1 = require("../combi");
5
- const dynamic_1 = require("./dynamic");
6
- const sql_aggregation_1 = require("./sql_aggregation");
7
- const sql_compare_operator_1 = require("./sql_compare_operator");
8
- const sql_source_1 = require("./sql_source");
5
+ const sql_cond_1 = require("./sql_cond");
9
6
  class SQLHaving extends combi_1.Expression {
10
7
  getRunnable() {
11
- const cond = (0, combi_1.seq)(sql_aggregation_1.SQLAggregation, sql_compare_operator_1.SQLCompareOperator, sql_source_1.SQLSource);
12
- const having = (0, combi_1.seq)("HAVING", (0, combi_1.altPrio)(dynamic_1.Dynamic, cond));
13
- return having;
8
+ return (0, combi_1.seq)("HAVING", sql_cond_1.SQLCond);
14
9
  }
15
10
  }
16
11
  exports.SQLHaving = SQLHaving;
@@ -5,6 +5,7 @@ const combi_1 = require("../combi");
5
5
  const _1 = require(".");
6
6
  const tokens_1 = require("../../1_lexer/tokens");
7
7
  const version_1 = require("../../../version");
8
+ const sql_set_op_group_1 = require("./sql_set_op_group");
8
9
  class SQLIn extends combi_1.Expression {
9
10
  getRunnable() {
10
11
  const val = new _1.SQLSource();
@@ -13,7 +14,7 @@ class SQLIn extends combi_1.Expression {
13
14
  const listNew = (0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), val, (0, combi_1.starPrio)((0, combi_1.seq)(",", (0, combi_1.altPrio)(short, val))), (0, combi_1.altPrio)((0, combi_1.tok)(tokens_1.WParenRight), (0, combi_1.tok)(tokens_1.WParenRightW)));
14
15
  // version is a guess, https://github.com/abaplint/abaplint/issues/2530
15
16
  const listNeww = (0, combi_1.ver)(version_1.Version.v740sp02, listNew, version_1.Version.OpenABAP);
16
- const subSelect = (0, combi_1.seq)("(", _1.Select, ")");
17
+ const subSelect = sql_set_op_group_1.SQLSetOpGroup;
17
18
  const inn = (0, combi_1.seq)("IN", (0, combi_1.altPrio)(subSelect, listOld, listNeww, _1.SQLSource));
18
19
  return inn;
19
20
  }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLOptions = void 0;
4
+ const combi_1 = require("../combi");
5
+ const version_1 = require("../../../version");
6
+ const sql_source_simple_1 = require("./sql_source_simple");
7
+ const _1 = require(".");
8
+ class SQLOptions extends combi_1.Expression {
9
+ getRunnable() {
10
+ const usingClients = (0, combi_1.alt)((0, combi_1.seq)("CLIENTS IN", (0, combi_1.alt)(sql_source_simple_1.SQLSourceSimple, "T000")), "ALL CLIENTS", (0, combi_1.seq)("CLIENT", sql_source_simple_1.SQLSourceSimple));
11
+ const privilegedAccess = (0, combi_1.ver)(version_1.Version.v758, _1.SQLPrivilegedAccess);
12
+ const general = (0, combi_1.per)(privilegedAccess, _1.SQLBypassingBuffer, _1.DatabaseConnection);
13
+ const usingClause = (0, combi_1.seq)("USING", usingClients, (0, combi_1.optPrio)(general));
14
+ return (0, combi_1.ver)(version_1.Version.v758, (0, combi_1.seq)("OPTIONS", (0, combi_1.alt)(usingClause, general)));
15
+ }
16
+ }
17
+ exports.SQLOptions = SQLOptions;
18
+ //# sourceMappingURL=sql_options.js.map
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLPrivilegedAccess = void 0;
4
+ const combi_1 = require("../combi");
5
+ const version_1 = require("../../../version");
6
+ const sql_source_simple_1 = require("./sql_source_simple");
7
+ class SQLPrivilegedAccess extends combi_1.Expression {
8
+ getRunnable() {
9
+ const accessLevel = (0, combi_1.ver)(version_1.Version.Cloud, (0, combi_1.seq)("LEVEL", sql_source_simple_1.SQLSourceSimple));
10
+ return (0, combi_1.seq)("PRIVILEGED ACCESS", (0, combi_1.optPrio)(accessLevel));
11
+ }
12
+ }
13
+ exports.SQLPrivilegedAccess = SQLPrivilegedAccess;
14
+ //# sourceMappingURL=sql_privileged_access.js.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLSetOp = void 0;
4
+ const combi_1 = require("../combi");
5
+ const version_1 = require("../../../version");
6
+ const sql_set_op_group_1 = require("./sql_set_op_group");
7
+ const select_core_1 = require("./select_core");
8
+ class SQLSetOp extends combi_1.Expression {
9
+ getRunnable() {
10
+ const operand = (0, combi_1.altPrio)(sql_set_op_group_1.SQLSetOpGroup, (0, select_core_1.buildSelectCore)(undefined, false));
11
+ const union = (0, combi_1.seq)("UNION", (0, combi_1.optPrio)((0, combi_1.altPrio)("DISTINCT", "ALL")));
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));
14
+ return (0, combi_1.seq)(op, operand);
15
+ }
16
+ }
17
+ exports.SQLSetOp = SQLSetOp;
18
+ //# sourceMappingURL=sql_set_op.js.map
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLSetOpGroup = void 0;
4
+ const combi_1 = require("../combi");
5
+ const _1 = require(".");
6
+ const version_1 = require("../../../version");
7
+ const select_core_1 = require("./select_core");
8
+ class SQLSetOpGroup extends combi_1.Expression {
9
+ getRunnable() {
10
+ const operand = (0, combi_1.altPrio)(SQLSetOpGroup, (0, select_core_1.buildSelectCore)(undefined, 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);
13
+ }
14
+ }
15
+ exports.SQLSetOpGroup = SQLSetOpGroup;
16
+ //# sourceMappingURL=sql_set_op_group.js.map