@abaplint/core 2.95.42 → 2.95.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 (1266) hide show
  1. package/build/adhoc/lexer_performance.d.ts +1 -1
  2. package/build/adhoc/lexer_performance.js +16 -16
  3. package/build/adhoc/parser_performance.d.ts +1 -1
  4. package/build/adhoc/parser_performance.js +17 -17
  5. package/build/src/_config.js +2 -2
  6. package/build/src/_iddic_references.js +2 -2
  7. package/build/src/_iregistry.js +2 -2
  8. package/build/src/abap/1_lexer/lexer.js +438 -438
  9. package/build/src/abap/1_lexer/lexer_result.js +2 -2
  10. package/build/src/abap/1_lexer/tokens/_token.js +26 -26
  11. package/build/src/abap/1_lexer/tokens/at.js +28 -28
  12. package/build/src/abap/1_lexer/tokens/bracket_left.js +28 -28
  13. package/build/src/abap/1_lexer/tokens/bracket_right.js +28 -28
  14. package/build/src/abap/1_lexer/tokens/colon.js +7 -7
  15. package/build/src/abap/1_lexer/tokens/comment.js +7 -7
  16. package/build/src/abap/1_lexer/tokens/dash.js +28 -28
  17. package/build/src/abap/1_lexer/tokens/identifier.js +7 -7
  18. package/build/src/abap/1_lexer/tokens/index.js +31 -31
  19. package/build/src/abap/1_lexer/tokens/instance_arrow.js +28 -28
  20. package/build/src/abap/1_lexer/tokens/paren_left.js +28 -28
  21. package/build/src/abap/1_lexer/tokens/paren_right.js +28 -28
  22. package/build/src/abap/1_lexer/tokens/plus.js +28 -28
  23. package/build/src/abap/1_lexer/tokens/pragma.js +7 -7
  24. package/build/src/abap/1_lexer/tokens/punctuation.js +7 -7
  25. package/build/src/abap/1_lexer/tokens/static_arrow.js +28 -28
  26. package/build/src/abap/1_lexer/tokens/string.js +19 -19
  27. package/build/src/abap/2_statements/combi.js +899 -899
  28. package/build/src/abap/2_statements/expand_macros.js +202 -202
  29. package/build/src/abap/2_statements/expressions/abstract.js +10 -10
  30. package/build/src/abap/2_statements/expressions/abstract_methods.js +11 -11
  31. package/build/src/abap/2_statements/expressions/and_return.js +10 -10
  32. package/build/src/abap/2_statements/expressions/arith_operator.js +12 -12
  33. package/build/src/abap/2_statements/expressions/arrow.js +11 -11
  34. package/build/src/abap/2_statements/expressions/arrow_or_dash.js +11 -11
  35. package/build/src/abap/2_statements/expressions/assign_source.js +18 -18
  36. package/build/src/abap/2_statements/expressions/association_name.js +10 -10
  37. package/build/src/abap/2_statements/expressions/attribute_chain.js +14 -14
  38. package/build/src/abap/2_statements/expressions/attribute_name.js +10 -10
  39. package/build/src/abap/2_statements/expressions/block_name.js +12 -12
  40. package/build/src/abap/2_statements/expressions/call_transformation_options.js +14 -14
  41. package/build/src/abap/2_statements/expressions/call_transformation_parameters.js +15 -15
  42. package/build/src/abap/2_statements/expressions/cast.js +16 -16
  43. package/build/src/abap/2_statements/expressions/class_final.js +10 -10
  44. package/build/src/abap/2_statements/expressions/class_friends.js +11 -11
  45. package/build/src/abap/2_statements/expressions/class_global.js +10 -10
  46. package/build/src/abap/2_statements/expressions/class_name.js +10 -10
  47. package/build/src/abap/2_statements/expressions/color.js +16 -16
  48. package/build/src/abap/2_statements/expressions/compare.js +22 -22
  49. package/build/src/abap/2_statements/expressions/compare_operator.js +13 -13
  50. package/build/src/abap/2_statements/expressions/component_chain.js +14 -14
  51. package/build/src/abap/2_statements/expressions/component_chain_simple.js +13 -13
  52. package/build/src/abap/2_statements/expressions/component_compare.js +20 -20
  53. package/build/src/abap/2_statements/expressions/component_compare_simple.js +13 -13
  54. package/build/src/abap/2_statements/expressions/component_compare_single.js +13 -13
  55. package/build/src/abap/2_statements/expressions/component_cond.js +14 -14
  56. package/build/src/abap/2_statements/expressions/component_cond_sub.js +13 -13
  57. package/build/src/abap/2_statements/expressions/component_name.js +10 -10
  58. package/build/src/abap/2_statements/expressions/concatenated_constant.js +12 -12
  59. package/build/src/abap/2_statements/expressions/cond.js +16 -16
  60. package/build/src/abap/2_statements/expressions/cond_body.js +13 -13
  61. package/build/src/abap/2_statements/expressions/cond_sub.js +14 -14
  62. package/build/src/abap/2_statements/expressions/constant.js +11 -11
  63. package/build/src/abap/2_statements/expressions/constant_field_length.js +13 -13
  64. package/build/src/abap/2_statements/expressions/constant_string.js +10 -10
  65. package/build/src/abap/2_statements/expressions/conv_body.js +11 -11
  66. package/build/src/abap/2_statements/expressions/corresponding_body.js +17 -17
  67. package/build/src/abap/2_statements/expressions/data_definition.js +13 -13
  68. package/build/src/abap/2_statements/expressions/database_connection.js +12 -12
  69. package/build/src/abap/2_statements/expressions/database_table.js +11 -11
  70. package/build/src/abap/2_statements/expressions/decimals.js +12 -12
  71. package/build/src/abap/2_statements/expressions/default.js +13 -13
  72. package/build/src/abap/2_statements/expressions/definition_name.js +12 -12
  73. package/build/src/abap/2_statements/expressions/dereference.js +11 -11
  74. package/build/src/abap/2_statements/expressions/destination.js +11 -11
  75. package/build/src/abap/2_statements/expressions/dynamic.js +13 -13
  76. package/build/src/abap/2_statements/expressions/entity_association.js +10 -10
  77. package/build/src/abap/2_statements/expressions/event_handler.js +12 -12
  78. package/build/src/abap/2_statements/expressions/event_name.js +10 -10
  79. package/build/src/abap/2_statements/expressions/exception_name.js +13 -13
  80. package/build/src/abap/2_statements/expressions/field.js +12 -12
  81. package/build/src/abap/2_statements/expressions/field_all.js +12 -12
  82. package/build/src/abap/2_statements/expressions/field_assignment.js +13 -13
  83. package/build/src/abap/2_statements/expressions/field_chain.js +19 -19
  84. package/build/src/abap/2_statements/expressions/field_length.js +14 -14
  85. package/build/src/abap/2_statements/expressions/field_offset.js +13 -13
  86. package/build/src/abap/2_statements/expressions/field_sub.js +13 -13
  87. package/build/src/abap/2_statements/expressions/field_symbol.js +13 -13
  88. package/build/src/abap/2_statements/expressions/filter_body.js +13 -13
  89. package/build/src/abap/2_statements/expressions/final_methods.js +11 -11
  90. package/build/src/abap/2_statements/expressions/find_type.js +11 -11
  91. package/build/src/abap/2_statements/expressions/for.js +24 -24
  92. package/build/src/abap/2_statements/expressions/form_changing.js +11 -11
  93. package/build/src/abap/2_statements/expressions/form_name.js +12 -12
  94. package/build/src/abap/2_statements/expressions/form_param.js +13 -13
  95. package/build/src/abap/2_statements/expressions/form_param_name.js +14 -14
  96. package/build/src/abap/2_statements/expressions/form_param_type.js +16 -16
  97. package/build/src/abap/2_statements/expressions/form_raising.js +14 -14
  98. package/build/src/abap/2_statements/expressions/form_tables.js +11 -11
  99. package/build/src/abap/2_statements/expressions/form_using.js +11 -11
  100. package/build/src/abap/2_statements/expressions/fstarget.js +11 -11
  101. package/build/src/abap/2_statements/expressions/function_exporting.js +12 -12
  102. package/build/src/abap/2_statements/expressions/function_exporting_parameter.js +16 -16
  103. package/build/src/abap/2_statements/expressions/function_name.js +11 -11
  104. package/build/src/abap/2_statements/expressions/function_parameters.js +17 -17
  105. package/build/src/abap/2_statements/expressions/include_name.js +11 -11
  106. package/build/src/abap/2_statements/expressions/index.js +226 -226
  107. package/build/src/abap/2_statements/expressions/inline_field.js +11 -11
  108. package/build/src/abap/2_statements/expressions/inline_field_definition.js +11 -11
  109. package/build/src/abap/2_statements/expressions/inline_loop_definition.js +12 -12
  110. package/build/src/abap/2_statements/expressions/inlinedata.js +17 -17
  111. package/build/src/abap/2_statements/expressions/inlinefs.js +16 -16
  112. package/build/src/abap/2_statements/expressions/integer.js +12 -12
  113. package/build/src/abap/2_statements/expressions/interface_name.js +10 -10
  114. package/build/src/abap/2_statements/expressions/kernel_id.js +12 -12
  115. package/build/src/abap/2_statements/expressions/language.js +10 -10
  116. package/build/src/abap/2_statements/expressions/length.js +12 -12
  117. package/build/src/abap/2_statements/expressions/let.js +11 -11
  118. package/build/src/abap/2_statements/expressions/loop_group_by.js +16 -16
  119. package/build/src/abap/2_statements/expressions/loop_group_by_component.js +15 -15
  120. package/build/src/abap/2_statements/expressions/loop_group_by_target.js +14 -14
  121. package/build/src/abap/2_statements/expressions/loop_target.js +14 -14
  122. package/build/src/abap/2_statements/expressions/macro_name.js +12 -12
  123. package/build/src/abap/2_statements/expressions/message_class.js +11 -11
  124. package/build/src/abap/2_statements/expressions/message_number.js +10 -10
  125. package/build/src/abap/2_statements/expressions/message_source.js +15 -15
  126. package/build/src/abap/2_statements/expressions/message_type_and_number.js +10 -10
  127. package/build/src/abap/2_statements/expressions/method_call.js +13 -13
  128. package/build/src/abap/2_statements/expressions/method_call_body.js +15 -15
  129. package/build/src/abap/2_statements/expressions/method_call_chain.js +19 -19
  130. package/build/src/abap/2_statements/expressions/method_call_param.js +19 -19
  131. package/build/src/abap/2_statements/expressions/method_def_changing.js +11 -11
  132. package/build/src/abap/2_statements/expressions/method_def_exceptions.js +12 -12
  133. package/build/src/abap/2_statements/expressions/method_def_exporting.js +11 -11
  134. package/build/src/abap/2_statements/expressions/method_def_importing.js +12 -12
  135. package/build/src/abap/2_statements/expressions/method_def_raising.js +14 -14
  136. package/build/src/abap/2_statements/expressions/method_def_returning.js +13 -13
  137. package/build/src/abap/2_statements/expressions/method_name.js +10 -10
  138. package/build/src/abap/2_statements/expressions/method_param.js +15 -15
  139. package/build/src/abap/2_statements/expressions/method_param_name.js +11 -11
  140. package/build/src/abap/2_statements/expressions/method_param_optional.js +11 -11
  141. package/build/src/abap/2_statements/expressions/method_parameters.js +17 -17
  142. package/build/src/abap/2_statements/expressions/method_source.js +22 -22
  143. package/build/src/abap/2_statements/expressions/modif.js +10 -10
  144. package/build/src/abap/2_statements/expressions/namespace_simple_name.js +10 -10
  145. package/build/src/abap/2_statements/expressions/new_object.js +18 -18
  146. package/build/src/abap/2_statements/expressions/ole_exporting.js +12 -12
  147. package/build/src/abap/2_statements/expressions/or.js +11 -11
  148. package/build/src/abap/2_statements/expressions/parameter_exception.js +12 -12
  149. package/build/src/abap/2_statements/expressions/parameter_list_exceptions.js +11 -11
  150. package/build/src/abap/2_statements/expressions/parameter_list_s.js +11 -11
  151. package/build/src/abap/2_statements/expressions/parameter_list_t.js +11 -11
  152. package/build/src/abap/2_statements/expressions/parameter_name.js +11 -11
  153. package/build/src/abap/2_statements/expressions/parameter_s.js +11 -11
  154. package/build/src/abap/2_statements/expressions/parameter_t.js +11 -11
  155. package/build/src/abap/2_statements/expressions/pass_by_value.js +13 -13
  156. package/build/src/abap/2_statements/expressions/perform_changing.js +12 -12
  157. package/build/src/abap/2_statements/expressions/perform_tables.js +12 -12
  158. package/build/src/abap/2_statements/expressions/perform_using.js +12 -12
  159. package/build/src/abap/2_statements/expressions/radio_group_name.js +10 -10
  160. package/build/src/abap/2_statements/expressions/raise_with.js +12 -12
  161. package/build/src/abap/2_statements/expressions/read_table_target.js +13 -13
  162. package/build/src/abap/2_statements/expressions/receive_parameters.js +16 -16
  163. package/build/src/abap/2_statements/expressions/redefinition.js +10 -10
  164. package/build/src/abap/2_statements/expressions/reduce_body.js +13 -13
  165. package/build/src/abap/2_statements/expressions/reduce_next.js +15 -15
  166. package/build/src/abap/2_statements/expressions/report_name.js +11 -11
  167. package/build/src/abap/2_statements/expressions/select.js +25 -25
  168. package/build/src/abap/2_statements/expressions/select_loop.js +26 -26
  169. package/build/src/abap/2_statements/expressions/simple_field_chain.js +17 -17
  170. package/build/src/abap/2_statements/expressions/simple_field_chain2.js +19 -19
  171. package/build/src/abap/2_statements/expressions/simple_name.js +10 -10
  172. package/build/src/abap/2_statements/expressions/simple_source1.js +13 -13
  173. package/build/src/abap/2_statements/expressions/simple_source2.js +14 -14
  174. package/build/src/abap/2_statements/expressions/simple_source3.js +11 -11
  175. package/build/src/abap/2_statements/expressions/simple_source4.js +12 -12
  176. package/build/src/abap/2_statements/expressions/simple_target.js +21 -21
  177. package/build/src/abap/2_statements/expressions/source.js +40 -40
  178. package/build/src/abap/2_statements/expressions/source_field.js +11 -11
  179. package/build/src/abap/2_statements/expressions/source_field_symbol.js +11 -11
  180. package/build/src/abap/2_statements/expressions/sql_aggregation.js +21 -21
  181. package/build/src/abap/2_statements/expressions/sql_alias_field.js +10 -10
  182. package/build/src/abap/2_statements/expressions/sql_arithmetics.js +14 -14
  183. package/build/src/abap/2_statements/expressions/sql_as_name.js +13 -13
  184. package/build/src/abap/2_statements/expressions/sql_case.js +21 -21
  185. package/build/src/abap/2_statements/expressions/sql_cds_parameters.js +14 -14
  186. package/build/src/abap/2_statements/expressions/sql_client.js +13 -13
  187. package/build/src/abap/2_statements/expressions/sql_compare.js +21 -21
  188. package/build/src/abap/2_statements/expressions/sql_compare_operator.js +11 -11
  189. package/build/src/abap/2_statements/expressions/sql_cond.js +16 -16
  190. package/build/src/abap/2_statements/expressions/sql_field.js +21 -21
  191. package/build/src/abap/2_statements/expressions/sql_field_and_value.js +13 -13
  192. package/build/src/abap/2_statements/expressions/sql_field_list.js +14 -14
  193. package/build/src/abap/2_statements/expressions/sql_field_list_loop.js +19 -19
  194. package/build/src/abap/2_statements/expressions/sql_field_name.js +10 -10
  195. package/build/src/abap/2_statements/expressions/sql_for_all_entries.js +12 -12
  196. package/build/src/abap/2_statements/expressions/sql_from.js +14 -14
  197. package/build/src/abap/2_statements/expressions/sql_from_source.js +17 -17
  198. package/build/src/abap/2_statements/expressions/sql_function.js +36 -36
  199. package/build/src/abap/2_statements/expressions/sql_group_by.js +15 -15
  200. package/build/src/abap/2_statements/expressions/sql_having.js +12 -12
  201. package/build/src/abap/2_statements/expressions/sql_hints.js +13 -13
  202. package/build/src/abap/2_statements/expressions/sql_in.js +20 -20
  203. package/build/src/abap/2_statements/expressions/sql_into_structure.js +14 -14
  204. package/build/src/abap/2_statements/expressions/sql_into_table.js +12 -12
  205. package/build/src/abap/2_statements/expressions/sql_join.js +13 -13
  206. package/build/src/abap/2_statements/expressions/sql_order_by.js +15 -15
  207. package/build/src/abap/2_statements/expressions/sql_path.js +13 -13
  208. package/build/src/abap/2_statements/expressions/sql_source.js +15 -15
  209. package/build/src/abap/2_statements/expressions/sql_source_simple.js +16 -16
  210. package/build/src/abap/2_statements/expressions/sql_target.js +15 -15
  211. package/build/src/abap/2_statements/expressions/sql_up_to.js +12 -12
  212. package/build/src/abap/2_statements/expressions/string_template.js +14 -14
  213. package/build/src/abap/2_statements/expressions/string_template_formatting.js +34 -34
  214. package/build/src/abap/2_statements/expressions/string_template_source.js +12 -12
  215. package/build/src/abap/2_statements/expressions/super_class_name.js +11 -11
  216. package/build/src/abap/2_statements/expressions/switch_body.js +13 -13
  217. package/build/src/abap/2_statements/expressions/table_body.js +12 -12
  218. package/build/src/abap/2_statements/expressions/table_expression.js +17 -17
  219. package/build/src/abap/2_statements/expressions/target.js +22 -22
  220. package/build/src/abap/2_statements/expressions/target_field.js +11 -11
  221. package/build/src/abap/2_statements/expressions/target_field_symbol.js +11 -11
  222. package/build/src/abap/2_statements/expressions/test_seam_name.js +12 -12
  223. package/build/src/abap/2_statements/expressions/text_element.js +12 -12
  224. package/build/src/abap/2_statements/expressions/text_element_key.js +10 -10
  225. package/build/src/abap/2_statements/expressions/text_element_string.js +14 -14
  226. package/build/src/abap/2_statements/expressions/throw.js +13 -13
  227. package/build/src/abap/2_statements/expressions/type.js +15 -15
  228. package/build/src/abap/2_statements/expressions/type_name.js +15 -15
  229. package/build/src/abap/2_statements/expressions/type_name_or_infer.js +11 -11
  230. package/build/src/abap/2_statements/expressions/type_param.js +16 -16
  231. package/build/src/abap/2_statements/expressions/type_table.js +29 -29
  232. package/build/src/abap/2_statements/expressions/type_table_key.js +17 -17
  233. package/build/src/abap/2_statements/expressions/value.js +12 -12
  234. package/build/src/abap/2_statements/expressions/value_body.js +15 -15
  235. package/build/src/abap/2_statements/expressions/value_body_line.js +15 -15
  236. package/build/src/abap/2_statements/expressions/value_body_lines.js +13 -13
  237. package/build/src/abap/2_statements/expressions/with_name.js +11 -11
  238. package/build/src/abap/2_statements/expressions/write_offset_length.js +17 -17
  239. package/build/src/abap/2_statements/result.js +36 -36
  240. package/build/src/abap/2_statements/statement_parser.js +280 -280
  241. package/build/src/abap/2_statements/statement_result.js +2 -2
  242. package/build/src/abap/2_statements/statement_runnable.js +2 -2
  243. package/build/src/abap/2_statements/statements/_statement.js +39 -39
  244. package/build/src/abap/2_statements/statements/add.js +14 -14
  245. package/build/src/abap/2_statements/statements/add_corresponding.js +13 -13
  246. package/build/src/abap/2_statements/statements/aliases.js +11 -11
  247. package/build/src/abap/2_statements/statements/append.js +19 -19
  248. package/build/src/abap/2_statements/statements/assert.js +14 -14
  249. package/build/src/abap/2_statements/statements/assign.js +20 -20
  250. package/build/src/abap/2_statements/statements/assign_local_copy.js +13 -13
  251. package/build/src/abap/2_statements/statements/at.js +16 -16
  252. package/build/src/abap/2_statements/statements/at_first.js +10 -10
  253. package/build/src/abap/2_statements/statements/at_last.js +10 -10
  254. package/build/src/abap/2_statements/statements/at_line_selection.js +11 -11
  255. package/build/src/abap/2_statements/statements/at_selection_screen.js +21 -21
  256. package/build/src/abap/2_statements/statements/at_user_command.js +11 -11
  257. package/build/src/abap/2_statements/statements/authority_check.js +15 -15
  258. package/build/src/abap/2_statements/statements/back.js +11 -11
  259. package/build/src/abap/2_statements/statements/break.js +14 -14
  260. package/build/src/abap/2_statements/statements/break_id.js +14 -14
  261. package/build/src/abap/2_statements/statements/call.js +13 -13
  262. package/build/src/abap/2_statements/statements/call_badi.js +13 -13
  263. package/build/src/abap/2_statements/statements/call_database.js +17 -17
  264. package/build/src/abap/2_statements/statements/call_dialog.js +17 -17
  265. package/build/src/abap/2_statements/statements/call_function.js +23 -23
  266. package/build/src/abap/2_statements/statements/call_kernel.js +13 -13
  267. package/build/src/abap/2_statements/statements/call_ole.js +14 -14
  268. package/build/src/abap/2_statements/statements/call_screen.js +15 -15
  269. package/build/src/abap/2_statements/statements/call_selection_screen.js +17 -17
  270. package/build/src/abap/2_statements/statements/call_transaction.js +17 -17
  271. package/build/src/abap/2_statements/statements/call_transformation.js +19 -19
  272. package/build/src/abap/2_statements/statements/case.js +11 -11
  273. package/build/src/abap/2_statements/statements/case_type.js +12 -12
  274. package/build/src/abap/2_statements/statements/catch.js +11 -11
  275. package/build/src/abap/2_statements/statements/catch_system_exceptions.js +13 -13
  276. package/build/src/abap/2_statements/statements/check.js +12 -12
  277. package/build/src/abap/2_statements/statements/check_select_options.js +12 -12
  278. package/build/src/abap/2_statements/statements/class_data.js +11 -11
  279. package/build/src/abap/2_statements/statements/class_data_begin.js +13 -13
  280. package/build/src/abap/2_statements/statements/class_data_end.js +13 -13
  281. package/build/src/abap/2_statements/statements/class_deferred.js +11 -11
  282. package/build/src/abap/2_statements/statements/class_definition.js +19 -19
  283. package/build/src/abap/2_statements/statements/class_definition_load.js +11 -11
  284. package/build/src/abap/2_statements/statements/class_implementation.js +11 -11
  285. package/build/src/abap/2_statements/statements/class_local_friends.js +11 -11
  286. package/build/src/abap/2_statements/statements/cleanup.js +12 -12
  287. package/build/src/abap/2_statements/statements/clear.js +13 -13
  288. package/build/src/abap/2_statements/statements/close_cursor.js +13 -13
  289. package/build/src/abap/2_statements/statements/close_dataset.js +13 -13
  290. package/build/src/abap/2_statements/statements/collect.js +13 -13
  291. package/build/src/abap/2_statements/statements/commit.js +12 -12
  292. package/build/src/abap/2_statements/statements/commit_entities.js +13 -13
  293. package/build/src/abap/2_statements/statements/communication.js +20 -20
  294. package/build/src/abap/2_statements/statements/compute.js +13 -13
  295. package/build/src/abap/2_statements/statements/concatenate.js +17 -17
  296. package/build/src/abap/2_statements/statements/condense.js +11 -11
  297. package/build/src/abap/2_statements/statements/constant.js +13 -13
  298. package/build/src/abap/2_statements/statements/constant_begin.js +12 -12
  299. package/build/src/abap/2_statements/statements/constant_end.js +12 -12
  300. package/build/src/abap/2_statements/statements/contexts.js +13 -13
  301. package/build/src/abap/2_statements/statements/continue.js +10 -10
  302. package/build/src/abap/2_statements/statements/controls.js +15 -15
  303. package/build/src/abap/2_statements/statements/convert.js +23 -23
  304. package/build/src/abap/2_statements/statements/convert_text.js +11 -11
  305. package/build/src/abap/2_statements/statements/create_data.js +27 -27
  306. package/build/src/abap/2_statements/statements/create_object.js +18 -18
  307. package/build/src/abap/2_statements/statements/create_ole.js +13 -13
  308. package/build/src/abap/2_statements/statements/data.js +11 -11
  309. package/build/src/abap/2_statements/statements/data_begin.js +13 -13
  310. package/build/src/abap/2_statements/statements/data_end.js +14 -14
  311. package/build/src/abap/2_statements/statements/define.js +13 -13
  312. package/build/src/abap/2_statements/statements/delete_cluster.js +15 -15
  313. package/build/src/abap/2_statements/statements/delete_database.js +16 -16
  314. package/build/src/abap/2_statements/statements/delete_dataset.js +13 -13
  315. package/build/src/abap/2_statements/statements/delete_dynpro.js +13 -13
  316. package/build/src/abap/2_statements/statements/delete_internal.js +23 -23
  317. package/build/src/abap/2_statements/statements/delete_memory.js +16 -16
  318. package/build/src/abap/2_statements/statements/delete_report.js +14 -14
  319. package/build/src/abap/2_statements/statements/delete_textpool.js +15 -15
  320. package/build/src/abap/2_statements/statements/demand.js +15 -15
  321. package/build/src/abap/2_statements/statements/describe.js +28 -28
  322. package/build/src/abap/2_statements/statements/detail.js +11 -11
  323. package/build/src/abap/2_statements/statements/divide.js +12 -12
  324. package/build/src/abap/2_statements/statements/do.js +14 -14
  325. package/build/src/abap/2_statements/statements/editor_call.js +15 -15
  326. package/build/src/abap/2_statements/statements/else.js +10 -10
  327. package/build/src/abap/2_statements/statements/elseif.js +11 -11
  328. package/build/src/abap/2_statements/statements/end_enhancement.js +11 -11
  329. package/build/src/abap/2_statements/statements/end_enhancement_section.js +12 -12
  330. package/build/src/abap/2_statements/statements/end_of_page.js +11 -11
  331. package/build/src/abap/2_statements/statements/end_of_selection.js +11 -11
  332. package/build/src/abap/2_statements/statements/end_test_injection.js +10 -10
  333. package/build/src/abap/2_statements/statements/end_test_seam.js +10 -10
  334. package/build/src/abap/2_statements/statements/endat.js +11 -11
  335. package/build/src/abap/2_statements/statements/endcase.js +10 -10
  336. package/build/src/abap/2_statements/statements/endcatch.js +11 -11
  337. package/build/src/abap/2_statements/statements/endclass.js +10 -10
  338. package/build/src/abap/2_statements/statements/enddefine.js +11 -11
  339. package/build/src/abap/2_statements/statements/enddo.js +10 -10
  340. package/build/src/abap/2_statements/statements/endexec.js +11 -11
  341. package/build/src/abap/2_statements/statements/endform.js +11 -11
  342. package/build/src/abap/2_statements/statements/endfunction.js +10 -10
  343. package/build/src/abap/2_statements/statements/endif.js +10 -10
  344. package/build/src/abap/2_statements/statements/endinterface.js +10 -10
  345. package/build/src/abap/2_statements/statements/endloop.js +10 -10
  346. package/build/src/abap/2_statements/statements/endmethod.js +10 -10
  347. package/build/src/abap/2_statements/statements/endmodule.js +11 -11
  348. package/build/src/abap/2_statements/statements/endon.js +12 -12
  349. package/build/src/abap/2_statements/statements/endprovide.js +12 -12
  350. package/build/src/abap/2_statements/statements/endselect.js +10 -10
  351. package/build/src/abap/2_statements/statements/endtry.js +10 -10
  352. package/build/src/abap/2_statements/statements/endwhile.js +10 -10
  353. package/build/src/abap/2_statements/statements/endwith.js +11 -11
  354. package/build/src/abap/2_statements/statements/enhancement.js +13 -13
  355. package/build/src/abap/2_statements/statements/enhancement_point.js +13 -13
  356. package/build/src/abap/2_statements/statements/enhancement_section.js +14 -14
  357. package/build/src/abap/2_statements/statements/events.js +12 -12
  358. package/build/src/abap/2_statements/statements/exec_sql.js +14 -14
  359. package/build/src/abap/2_statements/statements/exit.js +10 -10
  360. package/build/src/abap/2_statements/statements/export.js +28 -28
  361. package/build/src/abap/2_statements/statements/export_dynpro.js +13 -13
  362. package/build/src/abap/2_statements/statements/extract.js +13 -13
  363. package/build/src/abap/2_statements/statements/fetch_next_cursor.js +15 -15
  364. package/build/src/abap/2_statements/statements/field_group.js +13 -13
  365. package/build/src/abap/2_statements/statements/fields.js +13 -13
  366. package/build/src/abap/2_statements/statements/fieldsymbol.js +12 -12
  367. package/build/src/abap/2_statements/statements/find.js +16 -16
  368. package/build/src/abap/2_statements/statements/form.js +13 -13
  369. package/build/src/abap/2_statements/statements/form_definition.js +12 -12
  370. package/build/src/abap/2_statements/statements/format.js +16 -16
  371. package/build/src/abap/2_statements/statements/free.js +12 -12
  372. package/build/src/abap/2_statements/statements/free_memory.js +13 -13
  373. package/build/src/abap/2_statements/statements/free_object.js +13 -13
  374. package/build/src/abap/2_statements/statements/function_module.js +11 -11
  375. package/build/src/abap/2_statements/statements/function_pool.js +14 -14
  376. package/build/src/abap/2_statements/statements/generate_dynpro.js +15 -15
  377. package/build/src/abap/2_statements/statements/generate_report.js +26 -26
  378. package/build/src/abap/2_statements/statements/generate_subroutine.js +21 -21
  379. package/build/src/abap/2_statements/statements/get.js +15 -15
  380. package/build/src/abap/2_statements/statements/get_badi.js +16 -16
  381. package/build/src/abap/2_statements/statements/get_bit.js +12 -12
  382. package/build/src/abap/2_statements/statements/get_cursor.js +19 -19
  383. package/build/src/abap/2_statements/statements/get_dataset.js +15 -15
  384. package/build/src/abap/2_statements/statements/get_locale.js +15 -15
  385. package/build/src/abap/2_statements/statements/get_parameter.js +13 -13
  386. package/build/src/abap/2_statements/statements/get_permissions.js +13 -13
  387. package/build/src/abap/2_statements/statements/get_pf_status.js +15 -15
  388. package/build/src/abap/2_statements/statements/get_property.js +13 -13
  389. package/build/src/abap/2_statements/statements/get_reference.js +12 -12
  390. package/build/src/abap/2_statements/statements/get_run_time.js +13 -13
  391. package/build/src/abap/2_statements/statements/get_time.js +12 -12
  392. package/build/src/abap/2_statements/statements/hide.js +13 -13
  393. package/build/src/abap/2_statements/statements/if.js +11 -11
  394. package/build/src/abap/2_statements/statements/import.js +28 -28
  395. package/build/src/abap/2_statements/statements/import_dynpro.js +13 -13
  396. package/build/src/abap/2_statements/statements/import_nametab.js +13 -13
  397. package/build/src/abap/2_statements/statements/include.js +12 -12
  398. package/build/src/abap/2_statements/statements/include_type.js +14 -14
  399. package/build/src/abap/2_statements/statements/index.js +322 -322
  400. package/build/src/abap/2_statements/statements/infotypes.js +15 -15
  401. package/build/src/abap/2_statements/statements/initialization.js +11 -11
  402. package/build/src/abap/2_statements/statements/insert_database.js +16 -16
  403. package/build/src/abap/2_statements/statements/insert_field_group.js +15 -15
  404. package/build/src/abap/2_statements/statements/insert_internal.js +27 -27
  405. package/build/src/abap/2_statements/statements/insert_report.js +14 -14
  406. package/build/src/abap/2_statements/statements/insert_textpool.js +15 -15
  407. package/build/src/abap/2_statements/statements/interface.js +11 -11
  408. package/build/src/abap/2_statements/statements/interface_def.js +15 -15
  409. package/build/src/abap/2_statements/statements/interface_deferred.js +11 -11
  410. package/build/src/abap/2_statements/statements/interface_load.js +11 -11
  411. package/build/src/abap/2_statements/statements/leave.js +15 -15
  412. package/build/src/abap/2_statements/statements/load_of_program.js +12 -12
  413. package/build/src/abap/2_statements/statements/load_report.js +13 -13
  414. package/build/src/abap/2_statements/statements/local.js +13 -13
  415. package/build/src/abap/2_statements/statements/log_point.js +15 -15
  416. package/build/src/abap/2_statements/statements/loop.js +21 -21
  417. package/build/src/abap/2_statements/statements/loop_at_screen.js +13 -13
  418. package/build/src/abap/2_statements/statements/message.js +24 -24
  419. package/build/src/abap/2_statements/statements/method_def.js +27 -27
  420. package/build/src/abap/2_statements/statements/method_implementation.js +16 -16
  421. package/build/src/abap/2_statements/statements/modify_database.js +13 -13
  422. package/build/src/abap/2_statements/statements/modify_entities.js +15 -15
  423. package/build/src/abap/2_statements/statements/modify_internal.js +22 -22
  424. package/build/src/abap/2_statements/statements/modify_line.js +25 -25
  425. package/build/src/abap/2_statements/statements/modify_screen.js +13 -13
  426. package/build/src/abap/2_statements/statements/module.js +13 -13
  427. package/build/src/abap/2_statements/statements/move.js +20 -20
  428. package/build/src/abap/2_statements/statements/move_corresponding.js +15 -15
  429. package/build/src/abap/2_statements/statements/multiply.js +12 -12
  430. package/build/src/abap/2_statements/statements/new_line.js +12 -12
  431. package/build/src/abap/2_statements/statements/new_page.js +28 -28
  432. package/build/src/abap/2_statements/statements/nodes.js +13 -13
  433. package/build/src/abap/2_statements/statements/on_change.js +14 -14
  434. package/build/src/abap/2_statements/statements/open_cursor.js +13 -13
  435. package/build/src/abap/2_statements/statements/open_dataset.js +28 -28
  436. package/build/src/abap/2_statements/statements/overlay.js +13 -13
  437. package/build/src/abap/2_statements/statements/pack.js +13 -13
  438. package/build/src/abap/2_statements/statements/parameter.js +26 -26
  439. package/build/src/abap/2_statements/statements/perform.js +21 -21
  440. package/build/src/abap/2_statements/statements/position.js +13 -13
  441. package/build/src/abap/2_statements/statements/print_control.js +15 -15
  442. package/build/src/abap/2_statements/statements/private.js +10 -10
  443. package/build/src/abap/2_statements/statements/program.js +18 -18
  444. package/build/src/abap/2_statements/statements/protected.js +10 -10
  445. package/build/src/abap/2_statements/statements/provide.js +16 -16
  446. package/build/src/abap/2_statements/statements/public.js +10 -10
  447. package/build/src/abap/2_statements/statements/put.js +13 -13
  448. package/build/src/abap/2_statements/statements/raise.js +19 -19
  449. package/build/src/abap/2_statements/statements/raise_event.js +12 -12
  450. package/build/src/abap/2_statements/statements/ranges.js +14 -14
  451. package/build/src/abap/2_statements/statements/read_dataset.js +13 -13
  452. package/build/src/abap/2_statements/statements/read_entities.js +17 -17
  453. package/build/src/abap/2_statements/statements/read_line.js +19 -19
  454. package/build/src/abap/2_statements/statements/read_report.js +16 -16
  455. package/build/src/abap/2_statements/statements/read_table.js +20 -20
  456. package/build/src/abap/2_statements/statements/read_textpool.js +16 -16
  457. package/build/src/abap/2_statements/statements/receive.js +13 -13
  458. package/build/src/abap/2_statements/statements/refresh.js +14 -14
  459. package/build/src/abap/2_statements/statements/refresh_control.js +13 -13
  460. package/build/src/abap/2_statements/statements/reject.js +13 -13
  461. package/build/src/abap/2_statements/statements/replace.js +24 -24
  462. package/build/src/abap/2_statements/statements/report.js +20 -20
  463. package/build/src/abap/2_statements/statements/reserve.js +13 -13
  464. package/build/src/abap/2_statements/statements/resume.js +10 -10
  465. package/build/src/abap/2_statements/statements/retry.js +11 -11
  466. package/build/src/abap/2_statements/statements/return.js +10 -10
  467. package/build/src/abap/2_statements/statements/rollback.js +11 -11
  468. package/build/src/abap/2_statements/statements/rollback_entities.js +12 -12
  469. package/build/src/abap/2_statements/statements/scan.js +34 -34
  470. package/build/src/abap/2_statements/statements/scroll_list.js +17 -17
  471. package/build/src/abap/2_statements/statements/search.js +17 -17
  472. package/build/src/abap/2_statements/statements/select.js +13 -13
  473. package/build/src/abap/2_statements/statements/select_loop.js +10 -10
  474. package/build/src/abap/2_statements/statements/selectionscreen.js +43 -43
  475. package/build/src/abap/2_statements/statements/selectoption.js +23 -23
  476. package/build/src/abap/2_statements/statements/set_bit.js +12 -12
  477. package/build/src/abap/2_statements/statements/set_blank.js +13 -13
  478. package/build/src/abap/2_statements/statements/set_country.js +13 -13
  479. package/build/src/abap/2_statements/statements/set_cursor.js +17 -17
  480. package/build/src/abap/2_statements/statements/set_dataset.js +13 -13
  481. package/build/src/abap/2_statements/statements/set_extended_check.js +12 -12
  482. package/build/src/abap/2_statements/statements/set_handler.js +14 -14
  483. package/build/src/abap/2_statements/statements/set_language.js +13 -13
  484. package/build/src/abap/2_statements/statements/set_left.js +13 -13
  485. package/build/src/abap/2_statements/statements/set_locale.js +15 -15
  486. package/build/src/abap/2_statements/statements/set_locks.js +13 -13
  487. package/build/src/abap/2_statements/statements/set_margin.js +13 -13
  488. package/build/src/abap/2_statements/statements/set_parameter.js +13 -13
  489. package/build/src/abap/2_statements/statements/set_pf_status.js +15 -15
  490. package/build/src/abap/2_statements/statements/set_property.js +13 -13
  491. package/build/src/abap/2_statements/statements/set_run_time.js +14 -14
  492. package/build/src/abap/2_statements/statements/set_screen.js +13 -13
  493. package/build/src/abap/2_statements/statements/set_titlebar.js +15 -15
  494. package/build/src/abap/2_statements/statements/set_update_task.js +11 -11
  495. package/build/src/abap/2_statements/statements/set_user_command.js +13 -13
  496. package/build/src/abap/2_statements/statements/shift.js +17 -17
  497. package/build/src/abap/2_statements/statements/skip.js +13 -13
  498. package/build/src/abap/2_statements/statements/sort.js +18 -18
  499. package/build/src/abap/2_statements/statements/sort_dataset.js +17 -17
  500. package/build/src/abap/2_statements/statements/split.js +14 -14
  501. package/build/src/abap/2_statements/statements/start_of_selection.js +11 -11
  502. package/build/src/abap/2_statements/statements/static.js +14 -14
  503. package/build/src/abap/2_statements/statements/static_begin.js +13 -13
  504. package/build/src/abap/2_statements/statements/static_end.js +12 -12
  505. package/build/src/abap/2_statements/statements/stop.js +11 -11
  506. package/build/src/abap/2_statements/statements/submit.js +39 -39
  507. package/build/src/abap/2_statements/statements/subtract.js +12 -12
  508. package/build/src/abap/2_statements/statements/subtract_corresponding.js +13 -13
  509. package/build/src/abap/2_statements/statements/sum.js +11 -11
  510. package/build/src/abap/2_statements/statements/summary.js +11 -11
  511. package/build/src/abap/2_statements/statements/supply.js +14 -14
  512. package/build/src/abap/2_statements/statements/suppress_dialog.js +12 -12
  513. package/build/src/abap/2_statements/statements/syntax_check.js +29 -29
  514. package/build/src/abap/2_statements/statements/system_call.js +17 -17
  515. package/build/src/abap/2_statements/statements/tables.js +13 -13
  516. package/build/src/abap/2_statements/statements/test_injection.js +11 -11
  517. package/build/src/abap/2_statements/statements/test_seam.js +11 -11
  518. package/build/src/abap/2_statements/statements/top_of_page.js +12 -12
  519. package/build/src/abap/2_statements/statements/transfer.js +14 -14
  520. package/build/src/abap/2_statements/statements/translate.js +13 -13
  521. package/build/src/abap/2_statements/statements/truncate_dataset.js +11 -11
  522. package/build/src/abap/2_statements/statements/try.js +10 -10
  523. package/build/src/abap/2_statements/statements/type.js +17 -17
  524. package/build/src/abap/2_statements/statements/type_begin.js +13 -13
  525. package/build/src/abap/2_statements/statements/type_end.js +12 -12
  526. package/build/src/abap/2_statements/statements/type_enum.js +14 -14
  527. package/build/src/abap/2_statements/statements/type_enum_begin.js +16 -16
  528. package/build/src/abap/2_statements/statements/type_enum_end.js +14 -14
  529. package/build/src/abap/2_statements/statements/type_mesh.js +16 -16
  530. package/build/src/abap/2_statements/statements/type_mesh_begin.js +13 -13
  531. package/build/src/abap/2_statements/statements/type_mesh_end.js +13 -13
  532. package/build/src/abap/2_statements/statements/type_pool.js +14 -14
  533. package/build/src/abap/2_statements/statements/type_pools.js +14 -14
  534. package/build/src/abap/2_statements/statements/uline.js +13 -13
  535. package/build/src/abap/2_statements/statements/unassign.js +11 -11
  536. package/build/src/abap/2_statements/statements/unpack.js +13 -13
  537. package/build/src/abap/2_statements/statements/update_database.js +15 -15
  538. package/build/src/abap/2_statements/statements/wait.js +19 -19
  539. package/build/src/abap/2_statements/statements/when.js +12 -12
  540. package/build/src/abap/2_statements/statements/when_others.js +10 -10
  541. package/build/src/abap/2_statements/statements/when_type.js +14 -14
  542. package/build/src/abap/2_statements/statements/while.js +12 -12
  543. package/build/src/abap/2_statements/statements/window.js +14 -14
  544. package/build/src/abap/2_statements/statements/with.js +14 -14
  545. package/build/src/abap/2_statements/statements/with_loop.js +14 -14
  546. package/build/src/abap/2_statements/statements/write.js +19 -19
  547. package/build/src/abap/3_structures/structure_parser.js +57 -57
  548. package/build/src/abap/3_structures/structure_result.js +2 -2
  549. package/build/src/abap/3_structures/structures/_combi.js +325 -325
  550. package/build/src/abap/3_structures/structures/_match.js +2 -2
  551. package/build/src/abap/3_structures/structures/_structure.js +2 -2
  552. package/build/src/abap/3_structures/structures/_structure_runnable.js +2 -2
  553. package/build/src/abap/3_structures/structures/any.js +12 -12
  554. package/build/src/abap/3_structures/structures/at.js +12 -12
  555. package/build/src/abap/3_structures/structures/at_first.js +12 -12
  556. package/build/src/abap/3_structures/structures/at_last.js +12 -12
  557. package/build/src/abap/3_structures/structures/body.js +12 -12
  558. package/build/src/abap/3_structures/structures/case.js +13 -13
  559. package/build/src/abap/3_structures/structures/case_type.js +12 -12
  560. package/build/src/abap/3_structures/structures/catch.js +13 -13
  561. package/build/src/abap/3_structures/structures/catch_system_exceptions.js +12 -12
  562. package/build/src/abap/3_structures/structures/class_data.js +11 -11
  563. package/build/src/abap/3_structures/structures/class_definition.js +16 -16
  564. package/build/src/abap/3_structures/structures/class_global.js +12 -12
  565. package/build/src/abap/3_structures/structures/class_implementation.js +14 -14
  566. package/build/src/abap/3_structures/structures/cleanup.js +13 -13
  567. package/build/src/abap/3_structures/structures/constants.js +11 -11
  568. package/build/src/abap/3_structures/structures/data.js +15 -15
  569. package/build/src/abap/3_structures/structures/define.js +12 -12
  570. package/build/src/abap/3_structures/structures/do.js +12 -12
  571. package/build/src/abap/3_structures/structures/else.js +14 -14
  572. package/build/src/abap/3_structures/structures/elseif.js +14 -14
  573. package/build/src/abap/3_structures/structures/enhancement.js +12 -12
  574. package/build/src/abap/3_structures/structures/enhancement_section.js +12 -12
  575. package/build/src/abap/3_structures/structures/exec_sql.js +12 -12
  576. package/build/src/abap/3_structures/structures/form.js +12 -12
  577. package/build/src/abap/3_structures/structures/function_module.js +12 -12
  578. package/build/src/abap/3_structures/structures/if.js +15 -15
  579. package/build/src/abap/3_structures/structures/index.js +67 -67
  580. package/build/src/abap/3_structures/structures/interface.js +13 -13
  581. package/build/src/abap/3_structures/structures/interface_global.js +12 -12
  582. package/build/src/abap/3_structures/structures/loop.js +13 -13
  583. package/build/src/abap/3_structures/structures/loop_at_screen.js +12 -12
  584. package/build/src/abap/3_structures/structures/method.js +13 -13
  585. package/build/src/abap/3_structures/structures/module.js +12 -12
  586. package/build/src/abap/3_structures/structures/normal.js +15 -15
  587. package/build/src/abap/3_structures/structures/on_change.js +12 -12
  588. package/build/src/abap/3_structures/structures/private_section.js +12 -12
  589. package/build/src/abap/3_structures/structures/protected_section.js +12 -12
  590. package/build/src/abap/3_structures/structures/provide.js +12 -12
  591. package/build/src/abap/3_structures/structures/public_section.js +12 -12
  592. package/build/src/abap/3_structures/structures/section_section.js +17 -17
  593. package/build/src/abap/3_structures/structures/select.js +12 -12
  594. package/build/src/abap/3_structures/structures/statics.js +11 -11
  595. package/build/src/abap/3_structures/structures/test_injection.js +12 -12
  596. package/build/src/abap/3_structures/structures/test_seam.js +12 -12
  597. package/build/src/abap/3_structures/structures/try.js +15 -15
  598. package/build/src/abap/3_structures/structures/type_enum.js +11 -11
  599. package/build/src/abap/3_structures/structures/type_mesh.js +11 -11
  600. package/build/src/abap/3_structures/structures/types.js +12 -12
  601. package/build/src/abap/3_structures/structures/when.js +13 -13
  602. package/build/src/abap/3_structures/structures/when_type.js +13 -13
  603. package/build/src/abap/3_structures/structures/while.js +12 -12
  604. package/build/src/abap/3_structures/structures/with.js +12 -12
  605. package/build/src/abap/4_file_information/_abap_file_information.js +17 -17
  606. package/build/src/abap/4_file_information/_identifier.js +35 -35
  607. package/build/src/abap/4_file_information/abap_file_information.js +352 -352
  608. package/build/src/abap/4_file_information/visibility.js +9 -9
  609. package/build/src/abap/5_syntax/_builtin.js +1090 -1090
  610. package/build/src/abap/5_syntax/_current_scope.js +351 -351
  611. package/build/src/abap/5_syntax/_object_oriented.js +340 -340
  612. package/build/src/abap/5_syntax/_procedural.js +152 -152
  613. package/build/src/abap/5_syntax/_reference.js +23 -23
  614. package/build/src/abap/5_syntax/_scope_type.js +22 -22
  615. package/build/src/abap/5_syntax/_spaghetti_scope.js +2 -2
  616. package/build/src/abap/5_syntax/_statement_syntax.js +2 -2
  617. package/build/src/abap/5_syntax/_type_utils.js +266 -266
  618. package/build/src/abap/5_syntax/basic_types.js +880 -880
  619. package/build/src/abap/5_syntax/expressions/attribute_chain.js +40 -40
  620. package/build/src/abap/5_syntax/expressions/attribute_name.js +62 -62
  621. package/build/src/abap/5_syntax/expressions/cast.js +58 -58
  622. package/build/src/abap/5_syntax/expressions/compare.js +21 -21
  623. package/build/src/abap/5_syntax/expressions/component_chain.js +85 -85
  624. package/build/src/abap/5_syntax/expressions/component_compare.js +19 -19
  625. package/build/src/abap/5_syntax/expressions/component_compare_simple.js +29 -29
  626. package/build/src/abap/5_syntax/expressions/component_cond.js +19 -19
  627. package/build/src/abap/5_syntax/expressions/component_name.js +37 -37
  628. package/build/src/abap/5_syntax/expressions/cond.js +22 -22
  629. package/build/src/abap/5_syntax/expressions/cond_body.js +36 -36
  630. package/build/src/abap/5_syntax/expressions/constant.js +23 -23
  631. package/build/src/abap/5_syntax/expressions/conv_body.js +25 -25
  632. package/build/src/abap/5_syntax/expressions/corresponding_body.js +23 -23
  633. package/build/src/abap/5_syntax/expressions/data_definition.js +36 -36
  634. package/build/src/abap/5_syntax/expressions/database_table.js +26 -26
  635. package/build/src/abap/5_syntax/expressions/default.js +15 -15
  636. package/build/src/abap/5_syntax/expressions/dereference.js +19 -19
  637. package/build/src/abap/5_syntax/expressions/dynamic.js +15 -15
  638. package/build/src/abap/5_syntax/expressions/field_assignment.js +37 -37
  639. package/build/src/abap/5_syntax/expressions/field_chain.js +140 -140
  640. package/build/src/abap/5_syntax/expressions/field_length.js +15 -15
  641. package/build/src/abap/5_syntax/expressions/field_offset.js +15 -15
  642. package/build/src/abap/5_syntax/expressions/filter_body.js +23 -23
  643. package/build/src/abap/5_syntax/expressions/for.js +59 -59
  644. package/build/src/abap/5_syntax/expressions/form_param.js +41 -41
  645. package/build/src/abap/5_syntax/expressions/fstarget.js +24 -24
  646. package/build/src/abap/5_syntax/expressions/inline_data.js +25 -25
  647. package/build/src/abap/5_syntax/expressions/inline_field_definition.js +42 -42
  648. package/build/src/abap/5_syntax/expressions/inline_fs.js +25 -25
  649. package/build/src/abap/5_syntax/expressions/inline_loop_definition.js +52 -52
  650. package/build/src/abap/5_syntax/expressions/let.js +21 -21
  651. package/build/src/abap/5_syntax/expressions/loop_group_by.js +41 -41
  652. package/build/src/abap/5_syntax/expressions/message_source.js +13 -13
  653. package/build/src/abap/5_syntax/expressions/method_call_body.js +23 -23
  654. package/build/src/abap/5_syntax/expressions/method_call_chain.js +126 -126
  655. package/build/src/abap/5_syntax/expressions/method_call_param.js +74 -74
  656. package/build/src/abap/5_syntax/expressions/method_def_returning.js +28 -28
  657. package/build/src/abap/5_syntax/expressions/method_param.js +37 -37
  658. package/build/src/abap/5_syntax/expressions/method_parameters.js +216 -216
  659. package/build/src/abap/5_syntax/expressions/method_source.js +141 -141
  660. package/build/src/abap/5_syntax/expressions/new_object.js +119 -119
  661. package/build/src/abap/5_syntax/expressions/raise_with.js +13 -13
  662. package/build/src/abap/5_syntax/expressions/reduce_body.js +60 -60
  663. package/build/src/abap/5_syntax/expressions/reduce_next.js +20 -20
  664. package/build/src/abap/5_syntax/expressions/select.js +56 -56
  665. package/build/src/abap/5_syntax/expressions/select_loop.js +11 -11
  666. package/build/src/abap/5_syntax/expressions/source.js +251 -251
  667. package/build/src/abap/5_syntax/expressions/source_field.js +25 -25
  668. package/build/src/abap/5_syntax/expressions/source_field_symbol.js +16 -16
  669. package/build/src/abap/5_syntax/expressions/sql_for_all_entries.js +26 -26
  670. package/build/src/abap/5_syntax/expressions/sql_from.js +21 -21
  671. package/build/src/abap/5_syntax/expressions/string_template.js +15 -15
  672. package/build/src/abap/5_syntax/expressions/switch_body.js +25 -25
  673. package/build/src/abap/5_syntax/expressions/table_expression.js +16 -16
  674. package/build/src/abap/5_syntax/expressions/target.js +139 -139
  675. package/build/src/abap/5_syntax/expressions/type_table.js +42 -42
  676. package/build/src/abap/5_syntax/expressions/type_table_key.js +24 -24
  677. package/build/src/abap/5_syntax/expressions/value_body.js +70 -70
  678. package/build/src/abap/5_syntax/global_definitions/find_global_definitions.js +141 -141
  679. package/build/src/abap/5_syntax/spaghetti_scope.js +284 -285
  680. package/build/src/abap/5_syntax/statements/add.js +17 -17
  681. package/build/src/abap/5_syntax/statements/add_corresponding.js +17 -17
  682. package/build/src/abap/5_syntax/statements/append.js +64 -64
  683. package/build/src/abap/5_syntax/statements/assert.js +13 -13
  684. package/build/src/abap/5_syntax/statements/assign.js +33 -33
  685. package/build/src/abap/5_syntax/statements/authority_check.js +13 -13
  686. package/build/src/abap/5_syntax/statements/call.js +28 -28
  687. package/build/src/abap/5_syntax/statements/call_badi.js +21 -21
  688. package/build/src/abap/5_syntax/statements/call_function.js +32 -32
  689. package/build/src/abap/5_syntax/statements/call_kernel.js +13 -13
  690. package/build/src/abap/5_syntax/statements/call_transaction.js +17 -17
  691. package/build/src/abap/5_syntax/statements/call_transformation.js +29 -29
  692. package/build/src/abap/5_syntax/statements/case.js +14 -14
  693. package/build/src/abap/5_syntax/statements/catch.js +60 -60
  694. package/build/src/abap/5_syntax/statements/check.js +13 -13
  695. package/build/src/abap/5_syntax/statements/class_data.js +26 -26
  696. package/build/src/abap/5_syntax/statements/class_deferred.js +12 -12
  697. package/build/src/abap/5_syntax/statements/class_implementation.js +42 -42
  698. package/build/src/abap/5_syntax/statements/class_local_friends.js +22 -22
  699. package/build/src/abap/5_syntax/statements/clear.js +17 -17
  700. package/build/src/abap/5_syntax/statements/close_dataset.js +13 -13
  701. package/build/src/abap/5_syntax/statements/collect.js +24 -24
  702. package/build/src/abap/5_syntax/statements/commit_entities.js +25 -25
  703. package/build/src/abap/5_syntax/statements/concatenate.js +25 -25
  704. package/build/src/abap/5_syntax/statements/condense.js +13 -13
  705. package/build/src/abap/5_syntax/statements/constant.js +24 -24
  706. package/build/src/abap/5_syntax/statements/controls.js +43 -43
  707. package/build/src/abap/5_syntax/statements/convert.js +47 -47
  708. package/build/src/abap/5_syntax/statements/create_data.js +26 -26
  709. package/build/src/abap/5_syntax/statements/create_object.js +98 -98
  710. package/build/src/abap/5_syntax/statements/data.js +21 -21
  711. package/build/src/abap/5_syntax/statements/delete_cluster.js +21 -21
  712. package/build/src/abap/5_syntax/statements/delete_database.js +25 -25
  713. package/build/src/abap/5_syntax/statements/delete_internal.js +42 -42
  714. package/build/src/abap/5_syntax/statements/delete_report.js +13 -13
  715. package/build/src/abap/5_syntax/statements/describe.js +61 -61
  716. package/build/src/abap/5_syntax/statements/divide.js +17 -17
  717. package/build/src/abap/5_syntax/statements/do.js +14 -14
  718. package/build/src/abap/5_syntax/statements/else_if.js +13 -13
  719. package/build/src/abap/5_syntax/statements/export.js +25 -25
  720. package/build/src/abap/5_syntax/statements/fieldsymbol.js +22 -22
  721. package/build/src/abap/5_syntax/statements/find.js +80 -76
  722. package/build/src/abap/5_syntax/statements/form.js +21 -21
  723. package/build/src/abap/5_syntax/statements/format.js +13 -13
  724. package/build/src/abap/5_syntax/statements/get_badi.js +21 -21
  725. package/build/src/abap/5_syntax/statements/get_bit.js +25 -25
  726. package/build/src/abap/5_syntax/statements/get_cursor.js +13 -13
  727. package/build/src/abap/5_syntax/statements/get_locale.js +17 -17
  728. package/build/src/abap/5_syntax/statements/get_parameter.js +24 -24
  729. package/build/src/abap/5_syntax/statements/get_reference.js +23 -23
  730. package/build/src/abap/5_syntax/statements/get_run_time.js +20 -20
  731. package/build/src/abap/5_syntax/statements/get_time.js +20 -20
  732. package/build/src/abap/5_syntax/statements/if.js +13 -13
  733. package/build/src/abap/5_syntax/statements/import.js +25 -25
  734. package/build/src/abap/5_syntax/statements/import_dynpro.js +17 -17
  735. package/build/src/abap/5_syntax/statements/include_type.js +55 -55
  736. package/build/src/abap/5_syntax/statements/insert_database.js +25 -25
  737. package/build/src/abap/5_syntax/statements/insert_field_group.js +20 -20
  738. package/build/src/abap/5_syntax/statements/insert_internal.js +54 -54
  739. package/build/src/abap/5_syntax/statements/insert_report.js +13 -13
  740. package/build/src/abap/5_syntax/statements/insert_textpool.js +13 -13
  741. package/build/src/abap/5_syntax/statements/interface_deferred.js +12 -12
  742. package/build/src/abap/5_syntax/statements/log_point.js +14 -14
  743. package/build/src/abap/5_syntax/statements/loop.js +89 -89
  744. package/build/src/abap/5_syntax/statements/loop_at_screen.js +20 -20
  745. package/build/src/abap/5_syntax/statements/message.js +31 -31
  746. package/build/src/abap/5_syntax/statements/method_implementation.js +41 -41
  747. package/build/src/abap/5_syntax/statements/modify_database.js +37 -37
  748. package/build/src/abap/5_syntax/statements/modify_entities.js +25 -25
  749. package/build/src/abap/5_syntax/statements/modify_internal.js +26 -26
  750. package/build/src/abap/5_syntax/statements/modify_screen.js +13 -13
  751. package/build/src/abap/5_syntax/statements/move.js +43 -43
  752. package/build/src/abap/5_syntax/statements/move_corresponding.js +28 -28
  753. package/build/src/abap/5_syntax/statements/multiply.js +17 -17
  754. package/build/src/abap/5_syntax/statements/open_dataset.js +17 -17
  755. package/build/src/abap/5_syntax/statements/pack.js +17 -17
  756. package/build/src/abap/5_syntax/statements/parameter.js +25 -25
  757. package/build/src/abap/5_syntax/statements/perform.js +52 -52
  758. package/build/src/abap/5_syntax/statements/raise.js +65 -65
  759. package/build/src/abap/5_syntax/statements/raise_event.js +23 -23
  760. package/build/src/abap/5_syntax/statements/ranges.js +30 -30
  761. package/build/src/abap/5_syntax/statements/read_entities.js +25 -25
  762. package/build/src/abap/5_syntax/statements/read_report.js +17 -17
  763. package/build/src/abap/5_syntax/statements/read_table.js +94 -94
  764. package/build/src/abap/5_syntax/statements/read_textpool.js +17 -17
  765. package/build/src/abap/5_syntax/statements/receive.js +19 -19
  766. package/build/src/abap/5_syntax/statements/replace.js +17 -17
  767. package/build/src/abap/5_syntax/statements/scan.js +17 -17
  768. package/build/src/abap/5_syntax/statements/search.js +13 -13
  769. package/build/src/abap/5_syntax/statements/select.js +16 -16
  770. package/build/src/abap/5_syntax/statements/select_loop.js +14 -14
  771. package/build/src/abap/5_syntax/statements/selection_screen.js +31 -31
  772. package/build/src/abap/5_syntax/statements/selectoption.js +50 -50
  773. package/build/src/abap/5_syntax/statements/set_bit.js +17 -17
  774. package/build/src/abap/5_syntax/statements/set_handler.js +17 -17
  775. package/build/src/abap/5_syntax/statements/set_locale.js +17 -17
  776. package/build/src/abap/5_syntax/statements/set_parameter.js +13 -13
  777. package/build/src/abap/5_syntax/statements/set_pf_status.js +13 -13
  778. package/build/src/abap/5_syntax/statements/set_titlebar.js +13 -13
  779. package/build/src/abap/5_syntax/statements/shift.js +30 -30
  780. package/build/src/abap/5_syntax/statements/sort.js +47 -47
  781. package/build/src/abap/5_syntax/statements/split.js +41 -41
  782. package/build/src/abap/5_syntax/statements/static.js +29 -29
  783. package/build/src/abap/5_syntax/statements/submit.js +21 -21
  784. package/build/src/abap/5_syntax/statements/subtract.js +17 -17
  785. package/build/src/abap/5_syntax/statements/subtract_corresponding.js +17 -17
  786. package/build/src/abap/5_syntax/statements/syntax_check.js +17 -17
  787. package/build/src/abap/5_syntax/statements/system_call.js +13 -13
  788. package/build/src/abap/5_syntax/statements/tables.js +27 -27
  789. package/build/src/abap/5_syntax/statements/transfer.js +18 -18
  790. package/build/src/abap/5_syntax/statements/translate.js +17 -17
  791. package/build/src/abap/5_syntax/statements/truncate_dataset.js +13 -13
  792. package/build/src/abap/5_syntax/statements/type.js +26 -26
  793. package/build/src/abap/5_syntax/statements/unassign.js +19 -19
  794. package/build/src/abap/5_syntax/statements/unpack.js +17 -17
  795. package/build/src/abap/5_syntax/statements/update_database.js +46 -46
  796. package/build/src/abap/5_syntax/statements/wait.js +17 -17
  797. package/build/src/abap/5_syntax/statements/when.js +13 -13
  798. package/build/src/abap/5_syntax/statements/when_type.js +32 -32
  799. package/build/src/abap/5_syntax/statements/while.js +21 -21
  800. package/build/src/abap/5_syntax/statements/with.js +17 -17
  801. package/build/src/abap/5_syntax/statements/with_loop.js +17 -17
  802. package/build/src/abap/5_syntax/statements/write.js +35 -35
  803. package/build/src/abap/5_syntax/structures/class_data.js +29 -29
  804. package/build/src/abap/5_syntax/structures/constants.js +44 -44
  805. package/build/src/abap/5_syntax/structures/data.js +87 -87
  806. package/build/src/abap/5_syntax/structures/statics.js +77 -77
  807. package/build/src/abap/5_syntax/structures/type_enum.js +77 -77
  808. package/build/src/abap/5_syntax/structures/types.js +62 -62
  809. package/build/src/abap/5_syntax/syntax.js +453 -453
  810. package/build/src/abap/abap_file.js +45 -45
  811. package/build/src/abap/abap_parser.js +47 -47
  812. package/build/src/abap/artifacts.js +80 -80
  813. package/build/src/abap/flow/flow_graph.js +138 -138
  814. package/build/src/abap/flow/statement_flow.js +230 -230
  815. package/build/src/abap/nodes/_abstract_node.js +24 -24
  816. package/build/src/abap/nodes/_inode.js +2 -2
  817. package/build/src/abap/nodes/expression_node.js +231 -231
  818. package/build/src/abap/nodes/index.js +20 -20
  819. package/build/src/abap/nodes/statement_node.js +330 -330
  820. package/build/src/abap/nodes/structure_node.js +251 -251
  821. package/build/src/abap/nodes/token_node.js +36 -36
  822. package/build/src/abap/types/_aliases.js +2 -2
  823. package/build/src/abap/types/_class_attributes.js +2 -2
  824. package/build/src/abap/types/_class_definition.js +2 -2
  825. package/build/src/abap/types/_class_implementation.js +2 -2
  826. package/build/src/abap/types/_event_definition.js +2 -2
  827. package/build/src/abap/types/_form_definition.js +2 -2
  828. package/build/src/abap/types/_interface_definition.js +2 -2
  829. package/build/src/abap/types/_method_definition.js +2 -2
  830. package/build/src/abap/types/_method_definitions.js +2 -2
  831. package/build/src/abap/types/_method_parameters.js +2 -2
  832. package/build/src/abap/types/_type_definitions.js +2 -2
  833. package/build/src/abap/types/_typed_identifier.js +36 -36
  834. package/build/src/abap/types/alias.js +18 -18
  835. package/build/src/abap/types/aliases.js +60 -60
  836. package/build/src/abap/types/basic/_abstract_type.js +25 -25
  837. package/build/src/abap/types/basic/any_type.js +22 -22
  838. package/build/src/abap/types/basic/character_type.js +45 -45
  839. package/build/src/abap/types/basic/clike_type.js +22 -22
  840. package/build/src/abap/types/basic/csequence_type.js +22 -22
  841. package/build/src/abap/types/basic/data_reference_type.js +33 -33
  842. package/build/src/abap/types/basic/date_type.js +22 -22
  843. package/build/src/abap/types/basic/decfloat16_type.js +22 -22
  844. package/build/src/abap/types/basic/decfloat34_type.js +22 -22
  845. package/build/src/abap/types/basic/decfloat_type.js +22 -22
  846. package/build/src/abap/types/basic/enum_type.js +22 -22
  847. package/build/src/abap/types/basic/float_type.js +24 -24
  848. package/build/src/abap/types/basic/floating_point_type.js +33 -33
  849. package/build/src/abap/types/basic/generic_object_reference_type.js +22 -22
  850. package/build/src/abap/types/basic/hex_type.js +32 -32
  851. package/build/src/abap/types/basic/index.js +44 -44
  852. package/build/src/abap/types/basic/integer_type.js +22 -22
  853. package/build/src/abap/types/basic/numeric_generic_type.js +22 -22
  854. package/build/src/abap/types/basic/numeric_type.js +32 -32
  855. package/build/src/abap/types/basic/object_reference_type.js +33 -33
  856. package/build/src/abap/types/basic/packed_type.js +39 -39
  857. package/build/src/abap/types/basic/simple_type.js +22 -22
  858. package/build/src/abap/types/basic/string_type.js +22 -22
  859. package/build/src/abap/types/basic/structure_type.js +55 -55
  860. package/build/src/abap/types/basic/table_type.js +59 -59
  861. package/build/src/abap/types/basic/time_type.js +22 -22
  862. package/build/src/abap/types/basic/unknown_type.js +29 -29
  863. package/build/src/abap/types/basic/utc_long_type.js +22 -22
  864. package/build/src/abap/types/basic/void_type.js +29 -29
  865. package/build/src/abap/types/basic/xsequence_type.js +22 -22
  866. package/build/src/abap/types/basic/xstring_type.js +22 -22
  867. package/build/src/abap/types/class_attribute.js +14 -14
  868. package/build/src/abap/types/class_attributes.js +211 -211
  869. package/build/src/abap/types/class_constant.js +14 -14
  870. package/build/src/abap/types/class_definition.js +148 -148
  871. package/build/src/abap/types/class_implementation.js +34 -34
  872. package/build/src/abap/types/event_definition.js +32 -32
  873. package/build/src/abap/types/form_definition.js +81 -81
  874. package/build/src/abap/types/function_module_definition.js +92 -92
  875. package/build/src/abap/types/index.js +29 -29
  876. package/build/src/abap/types/interface_definition.js +99 -99
  877. package/build/src/abap/types/message.js +25 -25
  878. package/build/src/abap/types/method_definition.js +95 -95
  879. package/build/src/abap/types/method_definitions.js +60 -60
  880. package/build/src/abap/types/method_implementation.js +19 -19
  881. package/build/src/abap/types/method_parameters.js +242 -242
  882. package/build/src/abap/types/type_definitions.js +21 -21
  883. package/build/src/artifacts_objects.js +29 -29
  884. package/build/src/artifacts_rules.js +21 -21
  885. package/build/src/cds/artifacts.js +17 -17
  886. package/build/src/cds/cds_determine_types.js +22 -22
  887. package/build/src/cds/cds_lexer.js +154 -154
  888. package/build/src/cds/cds_parser.js +38 -38
  889. package/build/src/cds/expressions/cds_aggregate.js +13 -13
  890. package/build/src/cds/expressions/cds_annotate.js +11 -11
  891. package/build/src/cds/expressions/cds_annotation.js +12 -12
  892. package/build/src/cds/expressions/cds_annotation_array.js +14 -14
  893. package/build/src/cds/expressions/cds_annotation_object.js +15 -15
  894. package/build/src/cds/expressions/cds_annotation_simple.js +12 -12
  895. package/build/src/cds/expressions/cds_arithmetics.js +15 -15
  896. package/build/src/cds/expressions/cds_as.js +11 -11
  897. package/build/src/cds/expressions/cds_association.js +12 -12
  898. package/build/src/cds/expressions/cds_cardinality.js +11 -11
  899. package/build/src/cds/expressions/cds_case.js +15 -15
  900. package/build/src/cds/expressions/cds_cast.js +12 -12
  901. package/build/src/cds/expressions/cds_composition.js +12 -12
  902. package/build/src/cds/expressions/cds_condition.js +18 -18
  903. package/build/src/cds/expressions/cds_define_abstract.js +13 -13
  904. package/build/src/cds/expressions/cds_define_custom.js +14 -14
  905. package/build/src/cds/expressions/cds_define_projection.js +12 -12
  906. package/build/src/cds/expressions/cds_define_view.js +15 -15
  907. package/build/src/cds/expressions/cds_element.js +13 -13
  908. package/build/src/cds/expressions/cds_function.js +33 -33
  909. package/build/src/cds/expressions/cds_group_by.js +12 -12
  910. package/build/src/cds/expressions/cds_integer.js +10 -10
  911. package/build/src/cds/expressions/cds_join.js +12 -12
  912. package/build/src/cds/expressions/cds_name.js +11 -11
  913. package/build/src/cds/expressions/cds_parameters.js +13 -13
  914. package/build/src/cds/expressions/cds_parameters_select.js +14 -14
  915. package/build/src/cds/expressions/cds_provider_contract.js +10 -10
  916. package/build/src/cds/expressions/cds_relation.js +12 -12
  917. package/build/src/cds/expressions/cds_select.js +13 -13
  918. package/build/src/cds/expressions/cds_source.js +12 -12
  919. package/build/src/cds/expressions/cds_string.js +10 -10
  920. package/build/src/cds/expressions/cds_type.js +12 -12
  921. package/build/src/cds/expressions/cds_where.js +11 -11
  922. package/build/src/cds/expressions/cds_with_parameters.js +12 -12
  923. package/build/src/cds/expressions/index.js +50 -50
  924. package/build/src/config.js +134 -134
  925. package/build/src/ddic.js +389 -389
  926. package/build/src/ddic_references.js +90 -90
  927. package/build/src/ddl/artifacts.js +17 -17
  928. package/build/src/ddl/ddl_lexer.js +32 -32
  929. package/build/src/ddl/ddl_parser.js +60 -60
  930. package/build/src/ddl/expressions/ddl_include.js +11 -11
  931. package/build/src/ddl/expressions/ddl_name.js +10 -10
  932. package/build/src/ddl/expressions/ddl_structure.js +13 -13
  933. package/build/src/ddl/expressions/ddl_structure_field.js +12 -12
  934. package/build/src/ddl/expressions/ddl_table.js +13 -13
  935. package/build/src/ddl/expressions/ddl_table_field.js +12 -12
  936. package/build/src/ddl/expressions/ddl_type.js +10 -10
  937. package/build/src/ddl/expressions/index.js +23 -23
  938. package/build/src/edit_helper.js +251 -251
  939. package/build/src/files/_abstract_file.js +33 -33
  940. package/build/src/files/_ifile.js +2 -2
  941. package/build/src/files/memory_file.js +17 -17
  942. package/build/src/index.js +101 -101
  943. package/build/src/issue.js +126 -126
  944. package/build/src/lsp/_edit.js +50 -50
  945. package/build/src/lsp/_interfaces.js +2 -2
  946. package/build/src/lsp/_lookup.js +305 -305
  947. package/build/src/lsp/_lsp_utils.js +75 -75
  948. package/build/src/lsp/code_actions.js +79 -79
  949. package/build/src/lsp/definition.js +29 -29
  950. package/build/src/lsp/diagnostics.js +60 -60
  951. package/build/src/lsp/dump_scope.js +94 -94
  952. package/build/src/lsp/help.js +225 -225
  953. package/build/src/lsp/highlight.js +69 -69
  954. package/build/src/lsp/hover.js +45 -45
  955. package/build/src/lsp/implementation.js +66 -66
  956. package/build/src/lsp/language_server.js +129 -129
  957. package/build/src/lsp/references.js +99 -99
  958. package/build/src/lsp/rename.js +77 -77
  959. package/build/src/lsp/semantic.js +131 -131
  960. package/build/src/lsp/symbols.js +92 -92
  961. package/build/src/objects/_abap_object.js +85 -85
  962. package/build/src/objects/_abstract_object.js +110 -110
  963. package/build/src/objects/_iobject.js +2 -2
  964. package/build/src/objects/_unknown_object.js +33 -33
  965. package/build/src/objects/activation_variant.js +20 -20
  966. package/build/src/objects/api_release_state.js +20 -20
  967. package/build/src/objects/assignment_service_to_authorization_group.js +20 -20
  968. package/build/src/objects/authorization_check_field.js +71 -71
  969. package/build/src/objects/authorization_group.js +20 -20
  970. package/build/src/objects/authorization_object.js +20 -20
  971. package/build/src/objects/authorization_object_class.js +20 -20
  972. package/build/src/objects/authorization_object_extension.js +20 -20
  973. package/build/src/objects/behavior_definition.js +20 -20
  974. package/build/src/objects/bsp_application.js +20 -20
  975. package/build/src/objects/business_add_in_implementation.js +20 -20
  976. package/build/src/objects/business_catalog.js +20 -20
  977. package/build/src/objects/business_catalog_app_assignment.js +20 -20
  978. package/build/src/objects/business_configuration_set.js +20 -20
  979. package/build/src/objects/business_function_assignment.js +20 -20
  980. package/build/src/objects/business_function_set_assignment.js +20 -20
  981. package/build/src/objects/business_object_model.js +20 -20
  982. package/build/src/objects/cds_metadata_extension.js +47 -47
  983. package/build/src/objects/change_document.js +20 -20
  984. package/build/src/objects/chapter_of_book_structure.js +20 -20
  985. package/build/src/objects/checkpoint_group.js +20 -20
  986. package/build/src/objects/class.js +110 -110
  987. package/build/src/objects/classification.js +20 -20
  988. package/build/src/objects/communication_scenario.js +20 -20
  989. package/build/src/objects/composite_enhancement_implementation.js +20 -20
  990. package/build/src/objects/composite_enhancement_spot.js +20 -20
  991. package/build/src/objects/concepts_of_package.js +21 -21
  992. package/build/src/objects/customer_enhancement_project.js +20 -20
  993. package/build/src/objects/customizing_attributes.js +20 -20
  994. package/build/src/objects/customizing_img_activity.js +20 -20
  995. package/build/src/objects/customizing_transaction.js +20 -20
  996. package/build/src/objects/data_control.js +20 -20
  997. package/build/src/objects/data_definition.js +166 -166
  998. package/build/src/objects/data_element.js +97 -97
  999. package/build/src/objects/dialog_module.js +20 -20
  1000. package/build/src/objects/documentation.js +20 -20
  1001. package/build/src/objects/domain.js +81 -81
  1002. package/build/src/objects/ecatt_test_configuration.js +20 -20
  1003. package/build/src/objects/ecatt_test_data_container.js +20 -20
  1004. package/build/src/objects/ecatt_test_script.js +20 -20
  1005. package/build/src/objects/enhancement_implementation.js +20 -20
  1006. package/build/src/objects/enhancement_spot.js +47 -47
  1007. package/build/src/objects/event_binding.js +20 -20
  1008. package/build/src/objects/extension_index.js +20 -20
  1009. package/build/src/objects/field_catalog.js +20 -20
  1010. package/build/src/objects/form_object_form.js +20 -20
  1011. package/build/src/objects/form_object_interface.js +20 -20
  1012. package/build/src/objects/format_type.js +20 -20
  1013. package/build/src/objects/function_group.js +163 -163
  1014. package/build/src/objects/gateway_model.js +20 -20
  1015. package/build/src/objects/gateway_model_metadata.js +20 -20
  1016. package/build/src/objects/gateway_project.js +20 -20
  1017. package/build/src/objects/gateway_service.js +20 -20
  1018. package/build/src/objects/gateway_service_groups_metadata.js +20 -20
  1019. package/build/src/objects/gateway_vocabulary_annotation.js +20 -20
  1020. package/build/src/objects/general_hierarchy_storage_extrension_name.js +20 -20
  1021. package/build/src/objects/general_storage_structure.js +20 -20
  1022. package/build/src/objects/general_text.js +20 -20
  1023. package/build/src/objects/http_service.js +20 -20
  1024. package/build/src/objects/iac_binary_data.js +20 -20
  1025. package/build/src/objects/iac_language_resource.js +20 -20
  1026. package/build/src/objects/iac_service.js +20 -20
  1027. package/build/src/objects/iac_template.js +20 -20
  1028. package/build/src/objects/iam_app.js +20 -20
  1029. package/build/src/objects/icf_service.js +58 -58
  1030. package/build/src/objects/idoc.js +20 -20
  1031. package/build/src/objects/idoc_extension.js +20 -20
  1032. package/build/src/objects/inbound_service.js +20 -20
  1033. package/build/src/objects/index.js +130 -130
  1034. package/build/src/objects/info_object.js +20 -20
  1035. package/build/src/objects/interface.js +78 -78
  1036. package/build/src/objects/lock_object.js +73 -73
  1037. package/build/src/objects/maintenance_and_transport_object.js +86 -86
  1038. package/build/src/objects/message_class.js +62 -62
  1039. package/build/src/objects/messaging_channel.js +20 -20
  1040. package/build/src/objects/mime_object.js +60 -60
  1041. package/build/src/objects/namespace.js +21 -21
  1042. package/build/src/objects/number_range.js +54 -54
  1043. package/build/src/objects/object_characteristic.js +20 -20
  1044. package/build/src/objects/package.js +20 -20
  1045. package/build/src/objects/package_interface.js +20 -20
  1046. package/build/src/objects/parameter.js +20 -20
  1047. package/build/src/objects/personalization_object.js +20 -20
  1048. package/build/src/objects/program.js +42 -42
  1049. package/build/src/objects/proxy_object.js +20 -20
  1050. package/build/src/objects/push_channel.js +20 -20
  1051. package/build/src/objects/rename/_object_renamer.js +2 -2
  1052. package/build/src/objects/rename/rename_data_element.js +26 -26
  1053. package/build/src/objects/rename/rename_domain.js +24 -24
  1054. package/build/src/objects/rename/rename_global_class.js +54 -54
  1055. package/build/src/objects/rename/rename_global_interface.js +46 -46
  1056. package/build/src/objects/rename/rename_table.js +26 -26
  1057. package/build/src/objects/rename/rename_table_type.js +26 -26
  1058. package/build/src/objects/rename/renamer.js +121 -121
  1059. package/build/src/objects/rename/renamer_helper.js +147 -147
  1060. package/build/src/objects/restriction_field.js +20 -20
  1061. package/build/src/objects/restriction_type.js +20 -20
  1062. package/build/src/objects/rfc_service.js +20 -20
  1063. package/build/src/objects/sapscript.js +20 -20
  1064. package/build/src/objects/sapscript_style.js +20 -20
  1065. package/build/src/objects/screen_variant.js +20 -20
  1066. package/build/src/objects/search_help.js +20 -20
  1067. package/build/src/objects/service_binding.js +20 -20
  1068. package/build/src/objects/service_definition.js +20 -20
  1069. package/build/src/objects/shared_memory.js +20 -20
  1070. package/build/src/objects/smart_form.js +20 -20
  1071. package/build/src/objects/smart_style.js +20 -20
  1072. package/build/src/objects/switch_assignment_hierarchy.js +20 -20
  1073. package/build/src/objects/switch_assignments.js +20 -20
  1074. package/build/src/objects/table.js +293 -293
  1075. package/build/src/objects/table_type.js +159 -159
  1076. package/build/src/objects/technical_job_definition.js +20 -20
  1077. package/build/src/objects/transaction.js +20 -20
  1078. package/build/src/objects/transaction_variant.js +20 -20
  1079. package/build/src/objects/transformation.js +20 -20
  1080. package/build/src/objects/type_pool.js +27 -27
  1081. package/build/src/objects/view.js +112 -112
  1082. package/build/src/objects/view_cluster.js +20 -20
  1083. package/build/src/objects/virtual_end_point.js +20 -20
  1084. package/build/src/objects/web_dynpro_application.js +20 -20
  1085. package/build/src/objects/web_dynpro_application_configuration.js +20 -20
  1086. package/build/src/objects/web_dynpro_component.js +20 -20
  1087. package/build/src/objects/web_dynpro_component_configuration.js +20 -20
  1088. package/build/src/objects/web_mime.js +50 -50
  1089. package/build/src/position.js +45 -45
  1090. package/build/src/pretty_printer/fix_keyword_case.js +57 -57
  1091. package/build/src/pretty_printer/indent.js +227 -227
  1092. package/build/src/pretty_printer/indentation_options.js +2 -2
  1093. package/build/src/pretty_printer/pretty_printer.js +42 -42
  1094. package/build/src/pretty_printer/remove_sequential_blanks.js +49 -49
  1095. package/build/src/progress.js +2 -2
  1096. package/build/src/registry.js +1 -1
  1097. package/build/src/rules/7bit_ascii.js +66 -66
  1098. package/build/src/rules/_abap_rule.js +22 -22
  1099. package/build/src/rules/_basic_rule_config.js +13 -13
  1100. package/build/src/rules/_irule.js +20 -20
  1101. package/build/src/rules/_naming_rule_config.js +16 -16
  1102. package/build/src/rules/abapdoc.js +97 -97
  1103. package/build/src/rules/align_parameters.js +320 -320
  1104. package/build/src/rules/allowed_object_naming.js +55 -55
  1105. package/build/src/rules/allowed_object_types.js +57 -57
  1106. package/build/src/rules/ambiguous_statement.js +72 -72
  1107. package/build/src/rules/avoid_use.js +119 -119
  1108. package/build/src/rules/begin_end_names.js +84 -84
  1109. package/build/src/rules/begin_single_include.js +76 -76
  1110. package/build/src/rules/call_transaction_authority_check.js +58 -58
  1111. package/build/src/rules/cds_comment_style.js +55 -55
  1112. package/build/src/rules/cds_legacy_view.js +60 -60
  1113. package/build/src/rules/cds_parser_error.js +46 -46
  1114. package/build/src/rules/chain_mainly_declarations.js +180 -180
  1115. package/build/src/rules/change_if_to_case.js +134 -134
  1116. package/build/src/rules/check_abstract.js +65 -65
  1117. package/build/src/rules/check_comments.js +74 -74
  1118. package/build/src/rules/check_ddic.js +74 -74
  1119. package/build/src/rules/check_include.js +46 -46
  1120. package/build/src/rules/check_subrc.js +181 -181
  1121. package/build/src/rules/check_syntax.js +52 -52
  1122. package/build/src/rules/check_text_elements.js +92 -92
  1123. package/build/src/rules/check_transformation_exists.js +59 -59
  1124. package/build/src/rules/class_attribute_names.js +111 -111
  1125. package/build/src/rules/classic_exceptions_overlap.js +60 -60
  1126. package/build/src/rules/cloud_types.js +76 -76
  1127. package/build/src/rules/colon_missing_space.js +54 -54
  1128. package/build/src/rules/commented_code.js +108 -108
  1129. package/build/src/rules/constant_classes.js +113 -113
  1130. package/build/src/rules/constructor_visibility_public.js +56 -56
  1131. package/build/src/rules/contains_tab.js +66 -66
  1132. package/build/src/rules/cyclic_oo.js +159 -159
  1133. package/build/src/rules/cyclomatic_complexity.js +49 -49
  1134. package/build/src/rules/dangerous_statement.js +122 -122
  1135. package/build/src/rules/db_operation_in_loop.js +69 -69
  1136. package/build/src/rules/definitions_top.js +172 -172
  1137. package/build/src/rules/description_empty.js +55 -55
  1138. package/build/src/rules/double_space.js +182 -182
  1139. package/build/src/rules/downport.js +2568 -2568
  1140. package/build/src/rules/empty_line_in_statement.js +81 -81
  1141. package/build/src/rules/empty_statement.js +49 -49
  1142. package/build/src/rules/empty_structure.js +129 -129
  1143. package/build/src/rules/exit_or_check.js +75 -75
  1144. package/build/src/rules/expand_macros.js +75 -75
  1145. package/build/src/rules/exporting.js +82 -82
  1146. package/build/src/rules/forbidden_identifier.js +80 -80
  1147. package/build/src/rules/forbidden_pseudo_and_pragma.js +131 -131
  1148. package/build/src/rules/forbidden_void_type.js +101 -101
  1149. package/build/src/rules/form_tables_obsolete.js +50 -50
  1150. package/build/src/rules/fully_type_constants.js +66 -66
  1151. package/build/src/rules/function_module_recommendations.js +89 -89
  1152. package/build/src/rules/functional_writing.js +111 -111
  1153. package/build/src/rules/global_class.js +73 -73
  1154. package/build/src/rules/identical_conditions.js +132 -132
  1155. package/build/src/rules/identical_contents.js +98 -98
  1156. package/build/src/rules/identical_descriptions.js +91 -91
  1157. package/build/src/rules/identical_form_names.js +55 -55
  1158. package/build/src/rules/if_in_if.js +94 -94
  1159. package/build/src/rules/implement_methods.js +247 -247
  1160. package/build/src/rules/in_statement_indentation.js +105 -105
  1161. package/build/src/rules/indentation.js +121 -121
  1162. package/build/src/rules/index.js +168 -168
  1163. package/build/src/rules/inline_data_old_versions.js +62 -62
  1164. package/build/src/rules/intf_referencing_clas.js +77 -77
  1165. package/build/src/rules/keep_single_parameter_on_one_line.js +152 -152
  1166. package/build/src/rules/keyword_case.js +258 -258
  1167. package/build/src/rules/line_break_multiple_parameters.js +74 -74
  1168. package/build/src/rules/line_break_style.js +49 -49
  1169. package/build/src/rules/line_length.js +55 -55
  1170. package/build/src/rules/line_only_punc.js +83 -83
  1171. package/build/src/rules/local_class_naming.js +78 -78
  1172. package/build/src/rules/local_testclass_consistency.js +62 -62
  1173. package/build/src/rules/local_variable_names.js +143 -143
  1174. package/build/src/rules/main_file_contents.js +101 -101
  1175. package/build/src/rules/many_parentheses.js +159 -159
  1176. package/build/src/rules/max_one_method_parameter_per_line.js +54 -54
  1177. package/build/src/rules/max_one_statement.js +66 -66
  1178. package/build/src/rules/message_exists.js +86 -86
  1179. package/build/src/rules/method_implemented_twice.js +74 -74
  1180. package/build/src/rules/method_length.js +95 -95
  1181. package/build/src/rules/method_overwrites_builtin.js +48 -48
  1182. package/build/src/rules/method_parameter_names.js +117 -117
  1183. package/build/src/rules/mix_returning.js +57 -57
  1184. package/build/src/rules/modify_only_own_db_tables.js +91 -91
  1185. package/build/src/rules/msag_consistency.js +57 -57
  1186. package/build/src/rules/names_no_dash.js +88 -88
  1187. package/build/src/rules/nesting.js +73 -73
  1188. package/build/src/rules/newline_between_methods.js +89 -89
  1189. package/build/src/rules/no_aliases.js +48 -48
  1190. package/build/src/rules/no_chained_assignment.js +50 -50
  1191. package/build/src/rules/no_external_form_calls.js +48 -48
  1192. package/build/src/rules/no_inline_in_optional_branches.js +66 -66
  1193. package/build/src/rules/no_public_attributes.js +92 -92
  1194. package/build/src/rules/no_yoda_conditions.js +99 -99
  1195. package/build/src/rules/nrob_consistency.js +57 -57
  1196. package/build/src/rules/object_naming.js +151 -151
  1197. package/build/src/rules/obsolete_statement.js +389 -389
  1198. package/build/src/rules/omit_parameter_name.js +118 -118
  1199. package/build/src/rules/omit_preceding_zeros.js +53 -53
  1200. package/build/src/rules/omit_receiving.js +55 -55
  1201. package/build/src/rules/parser_702_chaining.js +68 -68
  1202. package/build/src/rules/parser_error.js +71 -71
  1203. package/build/src/rules/parser_missing_space.js +233 -233
  1204. package/build/src/rules/pragma_style.js +73 -73
  1205. package/build/src/rules/prefer_corresponding.js +48 -48
  1206. package/build/src/rules/prefer_inline.js +207 -207
  1207. package/build/src/rules/prefer_is_not.js +93 -93
  1208. package/build/src/rules/prefer_raise_exception_new.js +69 -69
  1209. package/build/src/rules/prefer_returning_to_exporting.js +84 -84
  1210. package/build/src/rules/prefer_xsdbool.js +54 -54
  1211. package/build/src/rules/preferred_compare_operator.js +91 -91
  1212. package/build/src/rules/prefix_is_current_class.js +112 -112
  1213. package/build/src/rules/reduce_string_templates.js +81 -81
  1214. package/build/src/rules/release_idoc.js +57 -57
  1215. package/build/src/rules/remove_descriptions.js +117 -117
  1216. package/build/src/rules/rfc_error_handling.js +70 -70
  1217. package/build/src/rules/select_add_order_by.js +96 -96
  1218. package/build/src/rules/select_performance.js +115 -115
  1219. package/build/src/rules/selection_screen_naming.js +105 -105
  1220. package/build/src/rules/sequential_blank.js +73 -73
  1221. package/build/src/rules/short_case.js +69 -69
  1222. package/build/src/rules/sicf_consistency.js +102 -102
  1223. package/build/src/rules/slow_parameter_passing.js +87 -87
  1224. package/build/src/rules/space_before_colon.js +60 -60
  1225. package/build/src/rules/space_before_dot.js +91 -91
  1226. package/build/src/rules/sql_escape_host_variables.js +89 -89
  1227. package/build/src/rules/start_at_tab.js +73 -73
  1228. package/build/src/rules/static_call_via_instance.js +79 -79
  1229. package/build/src/rules/superclass_final.js +74 -74
  1230. package/build/src/rules/superfluous_value.js +72 -72
  1231. package/build/src/rules/sy_modification.js +54 -54
  1232. package/build/src/rules/tabl_enhancement_category.js +48 -48
  1233. package/build/src/rules/try_without_catch.js +53 -53
  1234. package/build/src/rules/type_form_parameters.js +53 -53
  1235. package/build/src/rules/types_naming.js +80 -80
  1236. package/build/src/rules/uncaught_exception.js +222 -222
  1237. package/build/src/rules/unknown_types.js +159 -159
  1238. package/build/src/rules/unnecessary_chaining.js +71 -71
  1239. package/build/src/rules/unnecessary_pragma.js +126 -126
  1240. package/build/src/rules/unnecessary_return.js +57 -57
  1241. package/build/src/rules/unreachable_code.js +110 -110
  1242. package/build/src/rules/unsecure_fae.js +57 -57
  1243. package/build/src/rules/unused_ddic.js +54 -54
  1244. package/build/src/rules/unused_methods.js +180 -180
  1245. package/build/src/rules/unused_types.js +177 -177
  1246. package/build/src/rules/unused_variables.js +244 -244
  1247. package/build/src/rules/use_bool_expression.js +112 -112
  1248. package/build/src/rules/use_class_based_exceptions.js +47 -47
  1249. package/build/src/rules/use_line_exists.js +100 -100
  1250. package/build/src/rules/use_new.js +88 -88
  1251. package/build/src/rules/when_others_last.js +60 -60
  1252. package/build/src/rules/whitespace_end.js +51 -51
  1253. package/build/src/rules/xml_consistency.js +81 -81
  1254. package/build/src/rules_runner.js +106 -106
  1255. package/build/src/severity.js +9 -9
  1256. package/build/src/skip_logic.js +149 -149
  1257. package/build/src/utils/_include_graph.js +2 -2
  1258. package/build/src/utils/cyclomatic_complexity_stats.js +46 -46
  1259. package/build/src/utils/excludeHelper.js +14 -14
  1260. package/build/src/utils/form_length_stats.js +57 -57
  1261. package/build/src/utils/include_graph.js +198 -198
  1262. package/build/src/utils/method_length_stats.js +57 -57
  1263. package/build/src/utils/name_validator.js +19 -19
  1264. package/build/src/version.js +37 -37
  1265. package/build/src/xml_utils.js +27 -27
  1266. package/package.json +3 -3
@@ -1,228 +1,228 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Indent = void 0;
4
- const Statements = require("../abap/2_statements/statements");
5
- const Expressions = require("../abap/2_statements/expressions");
6
- const _statement_1 = require("../abap/2_statements/statements/_statement");
7
- const position_1 = require("../position");
8
- // todo, will break if there is multiple statements per line?
9
- class Indent {
10
- constructor(options) {
11
- this.globalClasses = new Set();
12
- this.options = options || {};
13
- }
14
- execute(original, modified) {
15
- const statements = original.getStatements();
16
- const expected = this.getExpectedIndents(original);
17
- const lines = modified.split("\n");
18
- for (const statement of statements) {
19
- if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
20
- continue; // macro contents
21
- }
22
- const exp = expected.shift();
23
- if (exp === undefined || exp < 0) {
24
- continue;
25
- }
26
- const row = statement.getFirstToken().getStart().getRow() - 1;
27
- lines[row] = lines[row].trim();
28
- for (let i = 1; i < exp; i++) {
29
- lines[row] = " " + lines[row];
30
- }
31
- }
32
- return lines.join("\n");
33
- }
34
- // returns list of expected indentation for each line/statement?
35
- getExpectedIndents(file) {
36
- const ret = [];
37
- const init = 1;
38
- const stack = new Stack();
39
- let indent = init;
40
- let parentIsEvent = false;
41
- let previousStatement = undefined;
42
- for (const statement of file.getStatements()) {
43
- if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
44
- continue; // skip macro contents
45
- }
46
- const type = statement.get();
47
- if (type instanceof Statements.EndIf
48
- || type instanceof Statements.EndWhile
49
- || type instanceof Statements.EndModule
50
- || type instanceof Statements.EndSelect
51
- || type instanceof Statements.EndMethod
52
- || type instanceof Statements.EndAt
53
- || type instanceof Statements.Else
54
- || type instanceof Statements.EndExec
55
- || type instanceof Statements.EndOfDefinition
56
- || type instanceof Statements.EndLoop
57
- || type instanceof Statements.EndTestInjection
58
- || type instanceof Statements.EndTestSeam
59
- || type instanceof Statements.EndForm
60
- || type instanceof Statements.EndCatch
61
- || (this.options.selectionScreenBlockIndentation === true
62
- && type instanceof Statements.SelectionScreen
63
- && (statement.concatTokens().toUpperCase().includes("END OF SCREEN") ||
64
- statement.concatTokens().toUpperCase().includes("END OF BLOCK") ||
65
- statement.concatTokens().toUpperCase().includes("END OF LINE")))
66
- || type instanceof Statements.ElseIf
67
- || type instanceof Statements.EndFunction
68
- || type instanceof Statements.EndInterface
69
- || type instanceof Statements.EndDo) {
70
- indent = indent - 2;
71
- }
72
- else if (type instanceof Statements.StartOfSelection
73
- || type instanceof Statements.AtSelectionScreen
74
- || type instanceof Statements.AtLineSelection
75
- || type instanceof Statements.Initialization
76
- || type instanceof Statements.AtUserCommand
77
- || type instanceof Statements.TopOfPage
78
- || type instanceof Statements.Get
79
- || type instanceof Statements.EndOfSelection
80
- || type instanceof Statements.LoadOfProgram) {
81
- indent = init;
82
- parentIsEvent = true;
83
- }
84
- else if (type instanceof Statements.Form
85
- || (type instanceof Statements.Include && parentIsEvent)
86
- || type instanceof Statements.Module
87
- || type instanceof Statements.ClassImplementation
88
- || type instanceof Statements.ClassDefinition) {
89
- indent = init;
90
- parentIsEvent = false;
91
- }
92
- else if (type instanceof Statements.Cleanup
93
- || type instanceof Statements.Catch) {
94
- indent = stack.peek() - 2;
95
- }
96
- else if (type instanceof Statements.Public
97
- || type instanceof Statements.Protected
98
- || type instanceof Statements.Private
99
- || type instanceof Statements.WhenType
100
- || type instanceof Statements.WhenOthers
101
- || type instanceof Statements.When) {
102
- indent = stack.peek();
103
- }
104
- else if (type instanceof Statements.EndTry) {
105
- indent = stack.pop() - (this.options.alignTryCatch ? 2 : 4);
106
- }
107
- else if (type instanceof Statements.EndClass
108
- || type instanceof Statements.EndCase) {
109
- indent = stack.pop() - 2;
110
- indent = Math.max(indent, init); // maybe move this out of switch before ret.push(indent)
111
- }
112
- else if (type instanceof _statement_1.Comment
113
- || type instanceof Statements.IncludeType
114
- || type instanceof _statement_1.Empty
115
- || type instanceof _statement_1.MacroContent) {
116
- ret.push(-1);
117
- previousStatement = statement;
118
- continue;
119
- }
120
- if (previousStatement
121
- && !(previousStatement.get() instanceof _statement_1.Comment)
122
- && previousStatement.getLastToken().getEnd().getRow() === statement.getFirstToken().getStart().getRow()) {
123
- // any indentation allowed if there are multiple statements on the same line
124
- ret.push(-1);
125
- previousStatement = statement;
126
- continue;
127
- }
128
- ret.push(indent);
129
- if (type instanceof Statements.If
130
- || type instanceof Statements.While
131
- || type instanceof Statements.Module
132
- || type instanceof Statements.SelectLoop
133
- || type instanceof Statements.FunctionModule
134
- || type instanceof Statements.Interface
135
- || type instanceof Statements.Do
136
- || type instanceof Statements.At
137
- || type instanceof Statements.AtFirst
138
- || type instanceof Statements.AtLast
139
- || type instanceof Statements.ExecSQL
140
- || type instanceof Statements.Catch
141
- || type instanceof Statements.Define
142
- || type instanceof Statements.When
143
- || type instanceof Statements.WhenType
144
- || type instanceof Statements.WhenOthers
145
- || type instanceof Statements.Cleanup
146
- || type instanceof Statements.Loop
147
- || type instanceof Statements.LoopAtScreen
148
- || type instanceof Statements.CatchSystemExceptions
149
- || type instanceof Statements.Form
150
- || type instanceof Statements.Else
151
- || type instanceof Statements.ElseIf
152
- || type instanceof Statements.MethodImplementation
153
- || type instanceof Statements.TestInjection
154
- || type instanceof Statements.TestSeam
155
- || (this.options.selectionScreenBlockIndentation === true
156
- && type instanceof Statements.SelectionScreen
157
- && (statement.concatTokens().toUpperCase().includes("BEGIN OF SCREEN") ||
158
- statement.concatTokens().toUpperCase().includes("BEGIN OF TABBED BLOCK") ||
159
- statement.concatTokens().toUpperCase().includes("BEGIN OF BLOCK") ||
160
- statement.concatTokens().toUpperCase().includes("BEGIN OF LINE")))
161
- || type instanceof Statements.StartOfSelection
162
- || type instanceof Statements.Get
163
- || type instanceof Statements.AtSelectionScreen
164
- || type instanceof Statements.AtLineSelection
165
- || type instanceof Statements.LoadOfProgram
166
- || type instanceof Statements.Initialization
167
- || type instanceof Statements.AtUserCommand
168
- || type instanceof Statements.TopOfPage
169
- || type instanceof Statements.EndOfSelection
170
- || type instanceof Statements.Public
171
- || type instanceof Statements.Protected
172
- || type instanceof Statements.Private) {
173
- indent = indent + 2;
174
- }
175
- else if (type instanceof Statements.Try) {
176
- indent = indent + (this.options.alignTryCatch ? 2 : 4);
177
- stack.push(indent);
178
- }
179
- else if (type instanceof Statements.ClassDefinition
180
- || type instanceof Statements.Case
181
- || type instanceof Statements.CaseType
182
- || type instanceof Statements.ClassImplementation) {
183
- indent = indent + (this.skipIndentForGlobalClass(statement) ? 0 : 2);
184
- stack.push(indent);
185
- }
186
- previousStatement = statement;
187
- }
188
- return ret;
189
- }
190
- skipIndentForGlobalClass(statement) {
191
- if (!this.options.globalClassSkipFirst) {
192
- return false;
193
- }
194
- const type = statement.get();
195
- if (type instanceof Statements.ClassDefinition && statement.findFirstExpression(Expressions.ClassGlobal)) {
196
- const className = statement.findFirstExpression(Expressions.ClassName);
197
- if (className) {
198
- this.globalClasses.add(className.getFirstToken().getStr().toUpperCase());
199
- }
200
- return true;
201
- }
202
- else if (type instanceof Statements.ClassImplementation) {
203
- const className = statement.findFirstExpression(Expressions.ClassName);
204
- if (className && this.globalClasses.has(className.getFirstToken().getStr().toUpperCase())) {
205
- return true;
206
- }
207
- }
208
- return false;
209
- }
210
- }
211
- exports.Indent = Indent;
212
- class Stack {
213
- constructor() {
214
- this.items = [];
215
- }
216
- push(item) {
217
- this.items.push(item);
218
- }
219
- peek() {
220
- return this.items[this.items.length - 1];
221
- }
222
- pop() {
223
- const peek = this.peek();
224
- this.items = this.items.slice(0, this.items.length - 1);
225
- return peek;
226
- }
227
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Indent = void 0;
4
+ const Statements = require("../abap/2_statements/statements");
5
+ const Expressions = require("../abap/2_statements/expressions");
6
+ const _statement_1 = require("../abap/2_statements/statements/_statement");
7
+ const position_1 = require("../position");
8
+ // todo, will break if there is multiple statements per line?
9
+ class Indent {
10
+ constructor(options) {
11
+ this.globalClasses = new Set();
12
+ this.options = options || {};
13
+ }
14
+ execute(original, modified) {
15
+ const statements = original.getStatements();
16
+ const expected = this.getExpectedIndents(original);
17
+ const lines = modified.split("\n");
18
+ for (const statement of statements) {
19
+ if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
20
+ continue; // macro contents
21
+ }
22
+ const exp = expected.shift();
23
+ if (exp === undefined || exp < 0) {
24
+ continue;
25
+ }
26
+ const row = statement.getFirstToken().getStart().getRow() - 1;
27
+ lines[row] = lines[row].trim();
28
+ for (let i = 1; i < exp; i++) {
29
+ lines[row] = " " + lines[row];
30
+ }
31
+ }
32
+ return lines.join("\n");
33
+ }
34
+ // returns list of expected indentation for each line/statement?
35
+ getExpectedIndents(file) {
36
+ const ret = [];
37
+ const init = 1;
38
+ const stack = new Stack();
39
+ let indent = init;
40
+ let parentIsEvent = false;
41
+ let previousStatement = undefined;
42
+ for (const statement of file.getStatements()) {
43
+ if (statement.getFirstToken().getStart() instanceof position_1.VirtualPosition) {
44
+ continue; // skip macro contents
45
+ }
46
+ const type = statement.get();
47
+ if (type instanceof Statements.EndIf
48
+ || type instanceof Statements.EndWhile
49
+ || type instanceof Statements.EndModule
50
+ || type instanceof Statements.EndSelect
51
+ || type instanceof Statements.EndMethod
52
+ || type instanceof Statements.EndAt
53
+ || type instanceof Statements.Else
54
+ || type instanceof Statements.EndExec
55
+ || type instanceof Statements.EndOfDefinition
56
+ || type instanceof Statements.EndLoop
57
+ || type instanceof Statements.EndTestInjection
58
+ || type instanceof Statements.EndTestSeam
59
+ || type instanceof Statements.EndForm
60
+ || type instanceof Statements.EndCatch
61
+ || (this.options.selectionScreenBlockIndentation === true
62
+ && type instanceof Statements.SelectionScreen
63
+ && (statement.concatTokens().toUpperCase().includes("END OF SCREEN") ||
64
+ statement.concatTokens().toUpperCase().includes("END OF BLOCK") ||
65
+ statement.concatTokens().toUpperCase().includes("END OF LINE")))
66
+ || type instanceof Statements.ElseIf
67
+ || type instanceof Statements.EndFunction
68
+ || type instanceof Statements.EndInterface
69
+ || type instanceof Statements.EndDo) {
70
+ indent = indent - 2;
71
+ }
72
+ else if (type instanceof Statements.StartOfSelection
73
+ || type instanceof Statements.AtSelectionScreen
74
+ || type instanceof Statements.AtLineSelection
75
+ || type instanceof Statements.Initialization
76
+ || type instanceof Statements.AtUserCommand
77
+ || type instanceof Statements.TopOfPage
78
+ || type instanceof Statements.Get
79
+ || type instanceof Statements.EndOfSelection
80
+ || type instanceof Statements.LoadOfProgram) {
81
+ indent = init;
82
+ parentIsEvent = true;
83
+ }
84
+ else if (type instanceof Statements.Form
85
+ || (type instanceof Statements.Include && parentIsEvent)
86
+ || type instanceof Statements.Module
87
+ || type instanceof Statements.ClassImplementation
88
+ || type instanceof Statements.ClassDefinition) {
89
+ indent = init;
90
+ parentIsEvent = false;
91
+ }
92
+ else if (type instanceof Statements.Cleanup
93
+ || type instanceof Statements.Catch) {
94
+ indent = stack.peek() - 2;
95
+ }
96
+ else if (type instanceof Statements.Public
97
+ || type instanceof Statements.Protected
98
+ || type instanceof Statements.Private
99
+ || type instanceof Statements.WhenType
100
+ || type instanceof Statements.WhenOthers
101
+ || type instanceof Statements.When) {
102
+ indent = stack.peek();
103
+ }
104
+ else if (type instanceof Statements.EndTry) {
105
+ indent = stack.pop() - (this.options.alignTryCatch ? 2 : 4);
106
+ }
107
+ else if (type instanceof Statements.EndClass
108
+ || type instanceof Statements.EndCase) {
109
+ indent = stack.pop() - 2;
110
+ indent = Math.max(indent, init); // maybe move this out of switch before ret.push(indent)
111
+ }
112
+ else if (type instanceof _statement_1.Comment
113
+ || type instanceof Statements.IncludeType
114
+ || type instanceof _statement_1.Empty
115
+ || type instanceof _statement_1.MacroContent) {
116
+ ret.push(-1);
117
+ previousStatement = statement;
118
+ continue;
119
+ }
120
+ if (previousStatement
121
+ && !(previousStatement.get() instanceof _statement_1.Comment)
122
+ && previousStatement.getLastToken().getEnd().getRow() === statement.getFirstToken().getStart().getRow()) {
123
+ // any indentation allowed if there are multiple statements on the same line
124
+ ret.push(-1);
125
+ previousStatement = statement;
126
+ continue;
127
+ }
128
+ ret.push(indent);
129
+ if (type instanceof Statements.If
130
+ || type instanceof Statements.While
131
+ || type instanceof Statements.Module
132
+ || type instanceof Statements.SelectLoop
133
+ || type instanceof Statements.FunctionModule
134
+ || type instanceof Statements.Interface
135
+ || type instanceof Statements.Do
136
+ || type instanceof Statements.At
137
+ || type instanceof Statements.AtFirst
138
+ || type instanceof Statements.AtLast
139
+ || type instanceof Statements.ExecSQL
140
+ || type instanceof Statements.Catch
141
+ || type instanceof Statements.Define
142
+ || type instanceof Statements.When
143
+ || type instanceof Statements.WhenType
144
+ || type instanceof Statements.WhenOthers
145
+ || type instanceof Statements.Cleanup
146
+ || type instanceof Statements.Loop
147
+ || type instanceof Statements.LoopAtScreen
148
+ || type instanceof Statements.CatchSystemExceptions
149
+ || type instanceof Statements.Form
150
+ || type instanceof Statements.Else
151
+ || type instanceof Statements.ElseIf
152
+ || type instanceof Statements.MethodImplementation
153
+ || type instanceof Statements.TestInjection
154
+ || type instanceof Statements.TestSeam
155
+ || (this.options.selectionScreenBlockIndentation === true
156
+ && type instanceof Statements.SelectionScreen
157
+ && (statement.concatTokens().toUpperCase().includes("BEGIN OF SCREEN") ||
158
+ statement.concatTokens().toUpperCase().includes("BEGIN OF TABBED BLOCK") ||
159
+ statement.concatTokens().toUpperCase().includes("BEGIN OF BLOCK") ||
160
+ statement.concatTokens().toUpperCase().includes("BEGIN OF LINE")))
161
+ || type instanceof Statements.StartOfSelection
162
+ || type instanceof Statements.Get
163
+ || type instanceof Statements.AtSelectionScreen
164
+ || type instanceof Statements.AtLineSelection
165
+ || type instanceof Statements.LoadOfProgram
166
+ || type instanceof Statements.Initialization
167
+ || type instanceof Statements.AtUserCommand
168
+ || type instanceof Statements.TopOfPage
169
+ || type instanceof Statements.EndOfSelection
170
+ || type instanceof Statements.Public
171
+ || type instanceof Statements.Protected
172
+ || type instanceof Statements.Private) {
173
+ indent = indent + 2;
174
+ }
175
+ else if (type instanceof Statements.Try) {
176
+ indent = indent + (this.options.alignTryCatch ? 2 : 4);
177
+ stack.push(indent);
178
+ }
179
+ else if (type instanceof Statements.ClassDefinition
180
+ || type instanceof Statements.Case
181
+ || type instanceof Statements.CaseType
182
+ || type instanceof Statements.ClassImplementation) {
183
+ indent = indent + (this.skipIndentForGlobalClass(statement) ? 0 : 2);
184
+ stack.push(indent);
185
+ }
186
+ previousStatement = statement;
187
+ }
188
+ return ret;
189
+ }
190
+ skipIndentForGlobalClass(statement) {
191
+ if (!this.options.globalClassSkipFirst) {
192
+ return false;
193
+ }
194
+ const type = statement.get();
195
+ if (type instanceof Statements.ClassDefinition && statement.findFirstExpression(Expressions.ClassGlobal)) {
196
+ const className = statement.findFirstExpression(Expressions.ClassName);
197
+ if (className) {
198
+ this.globalClasses.add(className.getFirstToken().getStr().toUpperCase());
199
+ }
200
+ return true;
201
+ }
202
+ else if (type instanceof Statements.ClassImplementation) {
203
+ const className = statement.findFirstExpression(Expressions.ClassName);
204
+ if (className && this.globalClasses.has(className.getFirstToken().getStr().toUpperCase())) {
205
+ return true;
206
+ }
207
+ }
208
+ return false;
209
+ }
210
+ }
211
+ exports.Indent = Indent;
212
+ class Stack {
213
+ constructor() {
214
+ this.items = [];
215
+ }
216
+ push(item) {
217
+ this.items.push(item);
218
+ }
219
+ peek() {
220
+ return this.items[this.items.length - 1];
221
+ }
222
+ pop() {
223
+ const peek = this.peek();
224
+ this.items = this.items.slice(0, this.items.length - 1);
225
+ return peek;
226
+ }
227
+ }
228
228
  //# sourceMappingURL=indent.js.map
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=indentation_options.js.map
@@ -1,43 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PrettyPrinter = void 0;
4
- const _statement_1 = require("../abap/2_statements/statements/_statement");
5
- const fix_keyword_case_1 = require("./fix_keyword_case");
6
- const indent_1 = require("./indent");
7
- const remove_sequential_blanks_1 = require("./remove_sequential_blanks");
8
- const position_1 = require("../position");
9
- const indentation_1 = require("../rules/indentation");
10
- class PrettyPrinter {
11
- constructor(file, config) {
12
- this.result = file.getRaw();
13
- this.file = file;
14
- this.config = config;
15
- const indentationConf = config.readByRule(new indentation_1.Indentation().getMetadata().key);
16
- this.options = {
17
- alignTryCatch: indentationConf === null || indentationConf === void 0 ? void 0 : indentationConf.alignTryCatch,
18
- globalClassSkipFirst: indentationConf === null || indentationConf === void 0 ? void 0 : indentationConf.globalClassSkipFirst,
19
- };
20
- }
21
- run() {
22
- const statements = this.file.getStatements();
23
- for (const statement of statements) {
24
- if (statement.get() instanceof _statement_1.Unknown
25
- || statement.get() instanceof _statement_1.MacroContent
26
- || statement.get() instanceof _statement_1.MacroCall
27
- || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition
28
- || statement.get() instanceof _statement_1.Comment) {
29
- continue;
30
- }
31
- // note that no positions are changed when case is changed
32
- const fixCase = new fix_keyword_case_1.FixCase(this.result, this.config);
33
- this.result = fixCase.execute(statement);
34
- }
35
- const indentation = new indent_1.Indent(this.options);
36
- this.result = indentation.execute(this.file, this.result);
37
- const removeBlanks = new remove_sequential_blanks_1.RemoveSequentialBlanks(this.config);
38
- this.result = removeBlanks.execute(this.file, this.result);
39
- return this.result;
40
- }
41
- }
42
- exports.PrettyPrinter = PrettyPrinter;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrettyPrinter = void 0;
4
+ const _statement_1 = require("../abap/2_statements/statements/_statement");
5
+ const fix_keyword_case_1 = require("./fix_keyword_case");
6
+ const indent_1 = require("./indent");
7
+ const remove_sequential_blanks_1 = require("./remove_sequential_blanks");
8
+ const position_1 = require("../position");
9
+ const indentation_1 = require("../rules/indentation");
10
+ class PrettyPrinter {
11
+ constructor(file, config) {
12
+ this.result = file.getRaw();
13
+ this.file = file;
14
+ this.config = config;
15
+ const indentationConf = config.readByRule(new indentation_1.Indentation().getMetadata().key);
16
+ this.options = {
17
+ alignTryCatch: indentationConf === null || indentationConf === void 0 ? void 0 : indentationConf.alignTryCatch,
18
+ globalClassSkipFirst: indentationConf === null || indentationConf === void 0 ? void 0 : indentationConf.globalClassSkipFirst,
19
+ };
20
+ }
21
+ run() {
22
+ const statements = this.file.getStatements();
23
+ for (const statement of statements) {
24
+ if (statement.get() instanceof _statement_1.Unknown
25
+ || statement.get() instanceof _statement_1.MacroContent
26
+ || statement.get() instanceof _statement_1.MacroCall
27
+ || statement.getFirstToken().getStart() instanceof position_1.VirtualPosition
28
+ || statement.get() instanceof _statement_1.Comment) {
29
+ continue;
30
+ }
31
+ // note that no positions are changed when case is changed
32
+ const fixCase = new fix_keyword_case_1.FixCase(this.result, this.config);
33
+ this.result = fixCase.execute(statement);
34
+ }
35
+ const indentation = new indent_1.Indent(this.options);
36
+ this.result = indentation.execute(this.file, this.result);
37
+ const removeBlanks = new remove_sequential_blanks_1.RemoveSequentialBlanks(this.config);
38
+ this.result = removeBlanks.execute(this.file, this.result);
39
+ return this.result;
40
+ }
41
+ }
42
+ exports.PrettyPrinter = PrettyPrinter;
43
43
  //# sourceMappingURL=pretty_printer.js.map
@@ -1,50 +1,50 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RemoveSequentialBlanks = void 0;
4
- const rules_1 = require("../rules");
5
- class RemoveSequentialBlanks {
6
- constructor(config) {
7
- this.config = config;
8
- }
9
- execute(file, modified) {
10
- const sequentialBlankConfig = this.getSequentialBlankConfig();
11
- if (sequentialBlankConfig) {
12
- return this.withoutSequentialBlanks(file, modified, sequentialBlankConfig.lines);
13
- }
14
- return modified;
15
- }
16
- withoutSequentialBlanks(file, modified, threshold) {
17
- const rows = file.getRawRows();
18
- let blanks = 0;
19
- const rowsToRemove = [];
20
- const newBlankCount = (current, row) => {
21
- return rules_1.SequentialBlank.isBlankOrWhitespace(row) ? current + 1 : 0;
22
- };
23
- for (let i = 0; i < rows.length; i++) {
24
- blanks = newBlankCount(blanks, rows[i]);
25
- if (blanks === threshold) {
26
- // count additional blanks
27
- for (let j = i; j < rows.length; j++) {
28
- if (rules_1.SequentialBlank.isBlankOrWhitespace(rows[j])) {
29
- rowsToRemove.push(j);
30
- }
31
- else {
32
- break;
33
- }
34
- }
35
- }
36
- }
37
- return this.removeRows(modified.split("\n"), rowsToRemove);
38
- }
39
- removeRows(lines, rowsToRemove) {
40
- const withoutRemoved = lines.filter((_, idx) => {
41
- return rowsToRemove.indexOf(idx) === -1;
42
- });
43
- return withoutRemoved.join("\n").trim();
44
- }
45
- getSequentialBlankConfig() {
46
- return this.config.readByRule(new rules_1.SequentialBlank().getMetadata().key);
47
- }
48
- }
49
- exports.RemoveSequentialBlanks = RemoveSequentialBlanks;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemoveSequentialBlanks = void 0;
4
+ const rules_1 = require("../rules");
5
+ class RemoveSequentialBlanks {
6
+ constructor(config) {
7
+ this.config = config;
8
+ }
9
+ execute(file, modified) {
10
+ const sequentialBlankConfig = this.getSequentialBlankConfig();
11
+ if (sequentialBlankConfig) {
12
+ return this.withoutSequentialBlanks(file, modified, sequentialBlankConfig.lines);
13
+ }
14
+ return modified;
15
+ }
16
+ withoutSequentialBlanks(file, modified, threshold) {
17
+ const rows = file.getRawRows();
18
+ let blanks = 0;
19
+ const rowsToRemove = [];
20
+ const newBlankCount = (current, row) => {
21
+ return rules_1.SequentialBlank.isBlankOrWhitespace(row) ? current + 1 : 0;
22
+ };
23
+ for (let i = 0; i < rows.length; i++) {
24
+ blanks = newBlankCount(blanks, rows[i]);
25
+ if (blanks === threshold) {
26
+ // count additional blanks
27
+ for (let j = i; j < rows.length; j++) {
28
+ if (rules_1.SequentialBlank.isBlankOrWhitespace(rows[j])) {
29
+ rowsToRemove.push(j);
30
+ }
31
+ else {
32
+ break;
33
+ }
34
+ }
35
+ }
36
+ }
37
+ return this.removeRows(modified.split("\n"), rowsToRemove);
38
+ }
39
+ removeRows(lines, rowsToRemove) {
40
+ const withoutRemoved = lines.filter((_, idx) => {
41
+ return rowsToRemove.indexOf(idx) === -1;
42
+ });
43
+ return withoutRemoved.join("\n").trim();
44
+ }
45
+ getSequentialBlankConfig() {
46
+ return this.config.readByRule(new rules_1.SequentialBlank().getMetadata().key);
47
+ }
48
+ }
49
+ exports.RemoveSequentialBlanks = RemoveSequentialBlanks;
50
50
  //# sourceMappingURL=remove_sequential_blanks.js.map