@abaplint/core 2.95.41 → 2.95.43

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 +76 -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 -2546
  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,454 +1,454 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SyntaxLogic = void 0;
4
- const Statements = require("../2_statements/statements");
5
- const Structures = require("../3_structures/structures");
6
- const issue_1 = require("../../issue");
7
- const nodes_1 = require("../nodes");
8
- const _current_scope_1 = require("./_current_scope");
9
- const _scope_type_1 = require("./_scope_type");
10
- const _object_oriented_1 = require("./_object_oriented");
11
- const _procedural_1 = require("./_procedural");
12
- const objects_1 = require("../../objects");
13
- const position_1 = require("../../position");
14
- const data_1 = require("./structures/data");
15
- const type_enum_1 = require("./structures/type_enum");
16
- const types_1 = require("./structures/types");
17
- const statics_1 = require("./structures/statics");
18
- const constants_1 = require("./structures/constants");
19
- const class_definition_1 = require("../types/class_definition");
20
- const interface_definition_1 = require("../types/interface_definition");
21
- const perform_1 = require("./statements/perform");
22
- const type_1 = require("./statements/type");
23
- const constant_1 = require("./statements/constant");
24
- const static_1 = require("./statements/static");
25
- const search_1 = require("./statements/search");
26
- const translate_1 = require("./statements/translate");
27
- const modify_internal_1 = require("./statements/modify_internal");
28
- const data_2 = require("./statements/data");
29
- const parameter_1 = require("./statements/parameter");
30
- const fieldsymbol_1 = require("./statements/fieldsymbol");
31
- const tables_1 = require("./statements/tables");
32
- const selectoption_1 = require("./statements/selectoption");
33
- const interface_deferred_1 = require("./statements/interface_deferred");
34
- const class_deferred_1 = require("./statements/class_deferred");
35
- const call_1 = require("./statements/call");
36
- const class_implementation_1 = require("./statements/class_implementation");
37
- const method_implementation_1 = require("./statements/method_implementation");
38
- const move_1 = require("./statements/move");
39
- const move_corresponding_1 = require("./statements/move_corresponding");
40
- const catch_1 = require("./statements/catch");
41
- const loop_1 = require("./statements/loop");
42
- const read_table_1 = require("./statements/read_table");
43
- const select_1 = require("./statements/select");
44
- const insert_internal_1 = require("./statements/insert_internal");
45
- const split_1 = require("./statements/split");
46
- const assign_1 = require("./statements/assign");
47
- const convert_1 = require("./statements/convert");
48
- const describe_1 = require("./statements/describe");
49
- const read_textpool_1 = require("./statements/read_textpool");
50
- const find_1 = require("./statements/find");
51
- const message_1 = require("./statements/message");
52
- const get_time_1 = require("./statements/get_time");
53
- const get_parameter_1 = require("./statements/get_parameter");
54
- const when_type_1 = require("./statements/when_type");
55
- const if_1 = require("./statements/if");
56
- const else_if_1 = require("./statements/else_if");
57
- const append_1 = require("./statements/append");
58
- const selection_screen_1 = require("./statements/selection_screen");
59
- const ranges_1 = require("./statements/ranges");
60
- const write_1 = require("./statements/write");
61
- const case_1 = require("./statements/case");
62
- const create_object_1 = require("./statements/create_object");
63
- const do_1 = require("./statements/do");
64
- const concatenate_1 = require("./statements/concatenate");
65
- const call_function_1 = require("./statements/call_function");
66
- const clear_1 = require("./statements/clear");
67
- const replace_1 = require("./statements/replace");
68
- const get_bit_1 = require("./statements/get_bit");
69
- const raise_1 = require("./statements/raise");
70
- const delete_internal_1 = require("./statements/delete_internal");
71
- const receive_1 = require("./statements/receive");
72
- const when_1 = require("./statements/when");
73
- const create_data_1 = require("./statements/create_data");
74
- const call_transformation_1 = require("./statements/call_transformation");
75
- const get_locale_1 = require("./statements/get_locale");
76
- const set_locale_1 = require("./statements/set_locale");
77
- const sort_1 = require("./statements/sort");
78
- const read_report_1 = require("./statements/read_report");
79
- const authority_check_1 = require("./statements/authority_check");
80
- const insert_report_1 = require("./statements/insert_report");
81
- const get_reference_1 = require("./statements/get_reference");
82
- const insert_database_1 = require("./statements/insert_database");
83
- const delete_database_1 = require("./statements/delete_database");
84
- const import_dynpro_1 = require("./statements/import_dynpro");
85
- const syntax_check_1 = require("./statements/syntax_check");
86
- const import_1 = require("./statements/import");
87
- const export_1 = require("./statements/export");
88
- const scan_1 = require("./statements/scan");
89
- const submit_1 = require("./statements/submit");
90
- const open_dataset_1 = require("./statements/open_dataset");
91
- const close_dataset_1 = require("./statements/close_dataset");
92
- const get_run_time_1 = require("./statements/get_run_time");
93
- const update_database_1 = require("./statements/update_database");
94
- const add_1 = require("./statements/add");
95
- const subtract_1 = require("./statements/subtract");
96
- const add_corresponding_1 = require("./statements/add_corresponding");
97
- const subtract_corresponding_1 = require("./statements/subtract_corresponding");
98
- const multiply_1 = require("./statements/multiply");
99
- const divide_1 = require("./statements/divide");
100
- const condense_1 = require("./statements/condense");
101
- const controls_1 = require("./statements/controls");
102
- const while_1 = require("./statements/while");
103
- const select_loop_1 = require("./statements/select_loop");
104
- const check_1 = require("./statements/check");
105
- const log_point_1 = require("./statements/log_point");
106
- const severity_1 = require("../../severity");
107
- const raise_event_1 = require("./statements/raise_event");
108
- const form_1 = require("./statements/form");
109
- const assert_1 = require("./statements/assert");
110
- const set_parameter_1 = require("./statements/set_parameter");
111
- const class_local_friends_1 = require("./statements/class_local_friends");
112
- const get_badi_1 = require("./statements/get_badi");
113
- const with_1 = require("./statements/with");
114
- const with_loop_1 = require("./statements/with_loop");
115
- const system_call_1 = require("./statements/system_call");
116
- const collect_1 = require("./statements/collect");
117
- const transfer_1 = require("./statements/transfer");
118
- const modify_database_1 = require("./statements/modify_database");
119
- const truncate_dataset_1 = require("./statements/truncate_dataset");
120
- const call_badi_1 = require("./statements/call_badi");
121
- const call_kernel_1 = require("./statements/call_kernel");
122
- const pack_1 = require("./statements/pack");
123
- const unpack_1 = require("./statements/unpack");
124
- const format_1 = require("./statements/format");
125
- const set_pf_status_1 = require("./statements/set_pf_status");
126
- const set_titlebar_1 = require("./statements/set_titlebar");
127
- const call_transaction_1 = require("./statements/call_transaction");
128
- const set_handler_1 = require("./statements/set_handler");
129
- const wait_1 = require("./statements/wait");
130
- const delete_report_1 = require("./statements/delete_report");
131
- const shift_1 = require("./statements/shift");
132
- const set_bit_1 = require("./statements/set_bit");
133
- const modify_screen_1 = require("./statements/modify_screen");
134
- const delete_cluster_1 = require("./statements/delete_cluster");
135
- const unassign_1 = require("./statements/unassign");
136
- const insert_textpool_1 = require("./statements/insert_textpool");
137
- const get_cursor_1 = require("./statements/get_cursor");
138
- const loop_at_screen_1 = require("./statements/loop_at_screen");
139
- const insert_field_group_1 = require("./statements/insert_field_group");
140
- const read_entities_1 = require("./statements/read_entities");
141
- const modify_entities_1 = require("./statements/modify_entities");
142
- const commit_entities_1 = require("./statements/commit_entities");
143
- // -----------------------------------
144
- const map = {};
145
- function addToMap(handler) {
146
- if (map[handler.constructor.name] !== undefined) {
147
- throw new Error("syntax.ts duplicate statement syntax handler");
148
- }
149
- map[handler.constructor.name] = handler;
150
- }
151
- if (Object.keys(map).length === 0) {
152
- addToMap(new interface_deferred_1.InterfaceDeferred());
153
- addToMap(new perform_1.Perform());
154
- addToMap(new class_deferred_1.ClassDeferred());
155
- addToMap(new call_1.Call());
156
- addToMap(new set_handler_1.SetHandler());
157
- addToMap(new class_implementation_1.ClassImplementation());
158
- addToMap(new method_implementation_1.MethodImplementation());
159
- addToMap(new move_1.Move());
160
- addToMap(new get_badi_1.GetBadi());
161
- addToMap(new call_badi_1.CallBadi());
162
- addToMap(new get_cursor_1.GetCursor());
163
- addToMap(new replace_1.Replace());
164
- addToMap(new truncate_dataset_1.TruncateDataset());
165
- addToMap(new assert_1.Assert());
166
- addToMap(new catch_1.Catch());
167
- addToMap(new loop_1.Loop());
168
- addToMap(new loop_at_screen_1.LoopAtScreen());
169
- addToMap(new set_pf_status_1.SetPFStatus());
170
- addToMap(new set_titlebar_1.SetTitlebar());
171
- addToMap(new submit_1.Submit());
172
- addToMap(new insert_textpool_1.InsertTextpool());
173
- addToMap(new read_table_1.ReadTable());
174
- addToMap(new syntax_check_1.SyntaxCheck());
175
- addToMap(new delete_report_1.DeleteReport());
176
- addToMap(new import_1.Import());
177
- addToMap(new collect_1.Collect());
178
- addToMap(new export_1.Export());
179
- addToMap(new scan_1.Scan());
180
- addToMap(new transfer_1.Transfer());
181
- addToMap(new split_1.Split());
182
- addToMap(new call_function_1.CallFunction());
183
- addToMap(new delete_internal_1.DeleteInternal());
184
- addToMap(new delete_cluster_1.DeleteCluster());
185
- addToMap(new clear_1.Clear());
186
- addToMap(new receive_1.Receive());
187
- addToMap(new get_bit_1.GetBit());
188
- addToMap(new class_local_friends_1.ClassLocalFriends());
189
- addToMap(new select_1.Select());
190
- addToMap(new modify_screen_1.ModifyScreen());
191
- addToMap(new insert_internal_1.InsertInternal());
192
- addToMap(new pack_1.Pack());
193
- addToMap(new unpack_1.Unpack());
194
- addToMap(new assign_1.Assign());
195
- addToMap(new set_locale_1.SetLocale());
196
- addToMap(new set_parameter_1.SetParameter());
197
- addToMap(new convert_1.Convert());
198
- addToMap(new controls_1.Controls());
199
- addToMap(new when_1.When());
200
- addToMap(new insert_database_1.InsertDatabase());
201
- addToMap(new delete_database_1.DeleteDatabase());
202
- addToMap(new update_database_1.UpdateDatabase());
203
- addToMap(new sort_1.Sort());
204
- addToMap(new wait_1.Wait());
205
- addToMap(new condense_1.Condense());
206
- addToMap(new set_bit_1.SetBit());
207
- addToMap(new open_dataset_1.OpenDataset());
208
- addToMap(new close_dataset_1.CloseDataset());
209
- addToMap(new read_report_1.ReadReport());
210
- addToMap(new do_1.Do());
211
- addToMap(new describe_1.Describe());
212
- addToMap(new find_1.Find());
213
- addToMap(new message_1.Message());
214
- addToMap(new system_call_1.SystemCall());
215
- addToMap(new insert_field_group_1.InsertFieldGroup());
216
- addToMap(new get_time_1.GetTime());
217
- addToMap(new unassign_1.Unassign());
218
- addToMap(new get_parameter_1.GetParameter());
219
- addToMap(new format_1.Format());
220
- addToMap(new when_type_1.WhenType());
221
- addToMap(new if_1.If());
222
- addToMap(new log_point_1.LogPoint());
223
- addToMap(new while_1.While());
224
- addToMap(new with_1.With());
225
- addToMap(new with_loop_1.WithLoop());
226
- addToMap(new call_transformation_1.CallTransformation());
227
- addToMap(new call_transaction_1.CallTransaction());
228
- addToMap(new get_locale_1.GetLocale());
229
- addToMap(new get_reference_1.GetReference());
230
- addToMap(new else_if_1.ElseIf());
231
- addToMap(new get_run_time_1.GetRunTime());
232
- addToMap(new create_object_1.CreateObject());
233
- addToMap(new import_dynpro_1.ImportDynpro());
234
- addToMap(new create_data_1.CreateData());
235
- addToMap(new case_1.Case());
236
- addToMap(new shift_1.Shift());
237
- addToMap(new raise_1.Raise());
238
- addToMap(new concatenate_1.Concatenate());
239
- addToMap(new append_1.Append());
240
- addToMap(new select_loop_1.SelectLoop());
241
- addToMap(new write_1.Write());
242
- addToMap(new move_corresponding_1.MoveCorresponding());
243
- addToMap(new authority_check_1.AuthorityCheck());
244
- addToMap(new insert_report_1.InsertReport());
245
- addToMap(new selection_screen_1.SelectionScreen());
246
- addToMap(new ranges_1.Ranges());
247
- addToMap(new add_1.Add());
248
- addToMap(new raise_event_1.RaiseEvent());
249
- addToMap(new subtract_1.Subtract());
250
- addToMap(new add_corresponding_1.AddCorresponding());
251
- addToMap(new subtract_corresponding_1.SubtractCorresponding());
252
- addToMap(new multiply_1.Multiply());
253
- addToMap(new divide_1.Divide());
254
- addToMap(new check_1.Check());
255
- addToMap(new modify_database_1.ModifyDatabase());
256
- addToMap(new form_1.Form());
257
- addToMap(new selectoption_1.SelectOption());
258
- addToMap(new tables_1.Tables());
259
- addToMap(new parameter_1.Parameter());
260
- addToMap(new fieldsymbol_1.FieldSymbol());
261
- addToMap(new read_entities_1.ReadEntities());
262
- addToMap(new modify_entities_1.ModifyEntities());
263
- addToMap(new commit_entities_1.CommitEntities());
264
- addToMap(new call_kernel_1.CallKernel());
265
- addToMap(new search_1.Search());
266
- addToMap(new translate_1.Translate());
267
- addToMap(new modify_internal_1.ModifyInternal());
268
- addToMap(new read_textpool_1.ReadTextpool());
269
- }
270
- // -----------------------------------
271
- class SyntaxLogic {
272
- constructor(reg, object) {
273
- this.reg = reg;
274
- this.issues = [];
275
- this.object = object;
276
- this.scope = _current_scope_1.CurrentScope.buildDefault(this.reg, object);
277
- this.helpers = {
278
- oooc: new _object_oriented_1.ObjectOriented(this.scope),
279
- proc: new _procedural_1.Procedural(this.reg, this.scope),
280
- };
281
- }
282
- run() {
283
- if (this.object.syntaxResult !== undefined) {
284
- return this.object.syntaxResult;
285
- }
286
- this.issues = [];
287
- this.reg.getDDICReferences().clear(this.object);
288
- if (this.object instanceof objects_1.Program && this.object.isInclude()) {
289
- // todo, show some kind of error?
290
- return { issues: [], spaghetti: this.scope.pop(new position_1.Position(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER)) };
291
- }
292
- this.traverseObject();
293
- for (;;) {
294
- const spaghetti = this.scope.pop(new position_1.Position(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER)); // pop built-in scopes
295
- if (spaghetti.getTop().getIdentifier().stype === _scope_type_1.ScopeType.BuiltIn) {
296
- const result = { issues: this.issues, spaghetti };
297
- this.object.syntaxResult = result;
298
- return result;
299
- }
300
- }
301
- }
302
- /////////////////////////////
303
- traverseObject() {
304
- const traversal = this.object.getSequencedFiles();
305
- if (this.object instanceof objects_1.Program
306
- || this.object instanceof objects_1.FunctionGroup) {
307
- for (const f of this.object.getSequencedFiles()) {
308
- // add FORM defintions to the _global object scope
309
- this.helpers.proc.addAllFormDefinitions(f, this.object);
310
- }
311
- const main = this.object.getMainABAPFile();
312
- if (main !== undefined) {
313
- let stype = _scope_type_1.ScopeType.Program;
314
- if (this.object instanceof objects_1.FunctionGroup) {
315
- stype = _scope_type_1.ScopeType.FunctionGroup;
316
- }
317
- this.scope.push(stype, this.object.getName(), new position_1.Position(1, 1), main.getFilename());
318
- }
319
- }
320
- else if (this.object instanceof objects_1.TypePool) {
321
- const main = this.object.getMainABAPFile();
322
- if (main !== undefined) {
323
- this.scope.push(_scope_type_1.ScopeType.TypePool, this.object.getName(), new position_1.Position(1, 1), main.getFilename());
324
- }
325
- }
326
- for (const file of traversal) {
327
- this.currentFile = file;
328
- const structure = this.currentFile.getStructure();
329
- if (structure === undefined) {
330
- return this.scope;
331
- }
332
- else {
333
- this.traverse(structure);
334
- }
335
- }
336
- return this.scope;
337
- }
338
- newIssue(token, message) {
339
- const issue = issue_1.Issue.atToken(this.currentFile, token, message, "check_syntax", severity_1.Severity.Error);
340
- this.issues.push(issue);
341
- }
342
- traverse(node) {
343
- for (const child of node.getChildren()) {
344
- const isStructure = child instanceof nodes_1.StructureNode;
345
- const isStatement = child instanceof nodes_1.StatementNode;
346
- try {
347
- if (isStructure) {
348
- const gotoNext = this.updateScopeStructure(child);
349
- if (gotoNext === true) {
350
- continue;
351
- }
352
- }
353
- else if (isStatement) {
354
- this.updateScopeStatement(child);
355
- }
356
- }
357
- catch (e) {
358
- this.newIssue(child.getFirstToken(), e.message);
359
- break;
360
- }
361
- // walk into INCLUDEs
362
- if (isStatement && child.get() instanceof Statements.Include) {
363
- const file = this.helpers.proc.findInclude(child, this.object);
364
- if (file !== undefined && file.getStructure() !== undefined) {
365
- const old = this.currentFile;
366
- this.currentFile = file;
367
- this.traverse(file.getStructure());
368
- this.currentFile = old;
369
- }
370
- }
371
- if (isStructure || isStatement) {
372
- this.traverse(child);
373
- }
374
- }
375
- }
376
- // if this returns true, then the traversal should continue with next child
377
- updateScopeStructure(node) {
378
- const filename = this.currentFile.getFilename();
379
- const stru = node.get();
380
- if (stru instanceof Structures.ClassDefinition) {
381
- new class_definition_1.ClassDefinition(node, filename, this.scope);
382
- return true;
383
- }
384
- else if (stru instanceof Structures.Interface) {
385
- new interface_definition_1.InterfaceDefinition(node, filename, this.scope);
386
- return true;
387
- }
388
- else if (stru instanceof Structures.Types) {
389
- this.scope.addType(new types_1.Types().runSyntax(node, this.scope, filename));
390
- return true;
391
- }
392
- else if (stru instanceof Structures.Constants) {
393
- this.scope.addIdentifier(new constants_1.Constants().runSyntax(node, this.scope, filename).type);
394
- return true;
395
- }
396
- else if (stru instanceof Structures.Data) {
397
- this.scope.addIdentifier(new data_1.Data().runSyntax(node, this.scope, filename));
398
- return true;
399
- }
400
- else if (stru instanceof Structures.Statics) {
401
- this.scope.addIdentifier(new statics_1.Statics().runSyntax(node, this.scope, filename));
402
- return true;
403
- }
404
- else if (stru instanceof Structures.TypeEnum) {
405
- const values = new type_enum_1.TypeEnum().runSyntax(node, this.scope, filename).values;
406
- this.scope.addList(values);
407
- return true;
408
- }
409
- return false;
410
- }
411
- updateScopeStatement(node) {
412
- const filename = this.currentFile.getFilename();
413
- const s = node.get();
414
- // todo, refactor
415
- if (s instanceof Statements.Type) {
416
- this.scope.addType(new type_1.Type().runSyntax(node, this.scope, filename));
417
- return;
418
- }
419
- else if (s instanceof Statements.Constant) {
420
- this.scope.addIdentifier(new constant_1.Constant().runSyntax(node, this.scope, filename));
421
- return;
422
- }
423
- else if (s instanceof Statements.Static) {
424
- this.scope.addIdentifier(new static_1.Static().runSyntax(node, this.scope, filename));
425
- return;
426
- }
427
- else if (s instanceof Statements.Data) {
428
- this.scope.addIdentifier(new data_2.Data().runSyntax(node, this.scope, filename));
429
- return;
430
- }
431
- const name = s.constructor.name;
432
- if (map[name]) {
433
- map[name].runSyntax(node, this.scope, filename);
434
- return;
435
- }
436
- if (s instanceof Statements.FunctionModule) {
437
- this.helpers.proc.findFunctionScope(this.object, node, filename);
438
- }
439
- else if (s instanceof Statements.EndForm
440
- || s instanceof Statements.EndFunction
441
- || s instanceof Statements.EndClass
442
- || s instanceof Statements.EndInterface) {
443
- this.scope.pop(node.getLastToken().getEnd());
444
- }
445
- else if (s instanceof Statements.EndMethod) {
446
- this.scope.pop(node.getLastToken().getEnd());
447
- if (this.scope.getType() === _scope_type_1.ScopeType.MethodInstance) {
448
- this.scope.pop(node.getLastToken().getEnd());
449
- }
450
- }
451
- }
452
- }
453
- exports.SyntaxLogic = SyntaxLogic;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SyntaxLogic = void 0;
4
+ const Statements = require("../2_statements/statements");
5
+ const Structures = require("../3_structures/structures");
6
+ const issue_1 = require("../../issue");
7
+ const nodes_1 = require("../nodes");
8
+ const _current_scope_1 = require("./_current_scope");
9
+ const _scope_type_1 = require("./_scope_type");
10
+ const _object_oriented_1 = require("./_object_oriented");
11
+ const _procedural_1 = require("./_procedural");
12
+ const objects_1 = require("../../objects");
13
+ const position_1 = require("../../position");
14
+ const data_1 = require("./structures/data");
15
+ const type_enum_1 = require("./structures/type_enum");
16
+ const types_1 = require("./structures/types");
17
+ const statics_1 = require("./structures/statics");
18
+ const constants_1 = require("./structures/constants");
19
+ const class_definition_1 = require("../types/class_definition");
20
+ const interface_definition_1 = require("../types/interface_definition");
21
+ const perform_1 = require("./statements/perform");
22
+ const type_1 = require("./statements/type");
23
+ const constant_1 = require("./statements/constant");
24
+ const static_1 = require("./statements/static");
25
+ const search_1 = require("./statements/search");
26
+ const translate_1 = require("./statements/translate");
27
+ const modify_internal_1 = require("./statements/modify_internal");
28
+ const data_2 = require("./statements/data");
29
+ const parameter_1 = require("./statements/parameter");
30
+ const fieldsymbol_1 = require("./statements/fieldsymbol");
31
+ const tables_1 = require("./statements/tables");
32
+ const selectoption_1 = require("./statements/selectoption");
33
+ const interface_deferred_1 = require("./statements/interface_deferred");
34
+ const class_deferred_1 = require("./statements/class_deferred");
35
+ const call_1 = require("./statements/call");
36
+ const class_implementation_1 = require("./statements/class_implementation");
37
+ const method_implementation_1 = require("./statements/method_implementation");
38
+ const move_1 = require("./statements/move");
39
+ const move_corresponding_1 = require("./statements/move_corresponding");
40
+ const catch_1 = require("./statements/catch");
41
+ const loop_1 = require("./statements/loop");
42
+ const read_table_1 = require("./statements/read_table");
43
+ const select_1 = require("./statements/select");
44
+ const insert_internal_1 = require("./statements/insert_internal");
45
+ const split_1 = require("./statements/split");
46
+ const assign_1 = require("./statements/assign");
47
+ const convert_1 = require("./statements/convert");
48
+ const describe_1 = require("./statements/describe");
49
+ const read_textpool_1 = require("./statements/read_textpool");
50
+ const find_1 = require("./statements/find");
51
+ const message_1 = require("./statements/message");
52
+ const get_time_1 = require("./statements/get_time");
53
+ const get_parameter_1 = require("./statements/get_parameter");
54
+ const when_type_1 = require("./statements/when_type");
55
+ const if_1 = require("./statements/if");
56
+ const else_if_1 = require("./statements/else_if");
57
+ const append_1 = require("./statements/append");
58
+ const selection_screen_1 = require("./statements/selection_screen");
59
+ const ranges_1 = require("./statements/ranges");
60
+ const write_1 = require("./statements/write");
61
+ const case_1 = require("./statements/case");
62
+ const create_object_1 = require("./statements/create_object");
63
+ const do_1 = require("./statements/do");
64
+ const concatenate_1 = require("./statements/concatenate");
65
+ const call_function_1 = require("./statements/call_function");
66
+ const clear_1 = require("./statements/clear");
67
+ const replace_1 = require("./statements/replace");
68
+ const get_bit_1 = require("./statements/get_bit");
69
+ const raise_1 = require("./statements/raise");
70
+ const delete_internal_1 = require("./statements/delete_internal");
71
+ const receive_1 = require("./statements/receive");
72
+ const when_1 = require("./statements/when");
73
+ const create_data_1 = require("./statements/create_data");
74
+ const call_transformation_1 = require("./statements/call_transformation");
75
+ const get_locale_1 = require("./statements/get_locale");
76
+ const set_locale_1 = require("./statements/set_locale");
77
+ const sort_1 = require("./statements/sort");
78
+ const read_report_1 = require("./statements/read_report");
79
+ const authority_check_1 = require("./statements/authority_check");
80
+ const insert_report_1 = require("./statements/insert_report");
81
+ const get_reference_1 = require("./statements/get_reference");
82
+ const insert_database_1 = require("./statements/insert_database");
83
+ const delete_database_1 = require("./statements/delete_database");
84
+ const import_dynpro_1 = require("./statements/import_dynpro");
85
+ const syntax_check_1 = require("./statements/syntax_check");
86
+ const import_1 = require("./statements/import");
87
+ const export_1 = require("./statements/export");
88
+ const scan_1 = require("./statements/scan");
89
+ const submit_1 = require("./statements/submit");
90
+ const open_dataset_1 = require("./statements/open_dataset");
91
+ const close_dataset_1 = require("./statements/close_dataset");
92
+ const get_run_time_1 = require("./statements/get_run_time");
93
+ const update_database_1 = require("./statements/update_database");
94
+ const add_1 = require("./statements/add");
95
+ const subtract_1 = require("./statements/subtract");
96
+ const add_corresponding_1 = require("./statements/add_corresponding");
97
+ const subtract_corresponding_1 = require("./statements/subtract_corresponding");
98
+ const multiply_1 = require("./statements/multiply");
99
+ const divide_1 = require("./statements/divide");
100
+ const condense_1 = require("./statements/condense");
101
+ const controls_1 = require("./statements/controls");
102
+ const while_1 = require("./statements/while");
103
+ const select_loop_1 = require("./statements/select_loop");
104
+ const check_1 = require("./statements/check");
105
+ const log_point_1 = require("./statements/log_point");
106
+ const severity_1 = require("../../severity");
107
+ const raise_event_1 = require("./statements/raise_event");
108
+ const form_1 = require("./statements/form");
109
+ const assert_1 = require("./statements/assert");
110
+ const set_parameter_1 = require("./statements/set_parameter");
111
+ const class_local_friends_1 = require("./statements/class_local_friends");
112
+ const get_badi_1 = require("./statements/get_badi");
113
+ const with_1 = require("./statements/with");
114
+ const with_loop_1 = require("./statements/with_loop");
115
+ const system_call_1 = require("./statements/system_call");
116
+ const collect_1 = require("./statements/collect");
117
+ const transfer_1 = require("./statements/transfer");
118
+ const modify_database_1 = require("./statements/modify_database");
119
+ const truncate_dataset_1 = require("./statements/truncate_dataset");
120
+ const call_badi_1 = require("./statements/call_badi");
121
+ const call_kernel_1 = require("./statements/call_kernel");
122
+ const pack_1 = require("./statements/pack");
123
+ const unpack_1 = require("./statements/unpack");
124
+ const format_1 = require("./statements/format");
125
+ const set_pf_status_1 = require("./statements/set_pf_status");
126
+ const set_titlebar_1 = require("./statements/set_titlebar");
127
+ const call_transaction_1 = require("./statements/call_transaction");
128
+ const set_handler_1 = require("./statements/set_handler");
129
+ const wait_1 = require("./statements/wait");
130
+ const delete_report_1 = require("./statements/delete_report");
131
+ const shift_1 = require("./statements/shift");
132
+ const set_bit_1 = require("./statements/set_bit");
133
+ const modify_screen_1 = require("./statements/modify_screen");
134
+ const delete_cluster_1 = require("./statements/delete_cluster");
135
+ const unassign_1 = require("./statements/unassign");
136
+ const insert_textpool_1 = require("./statements/insert_textpool");
137
+ const get_cursor_1 = require("./statements/get_cursor");
138
+ const loop_at_screen_1 = require("./statements/loop_at_screen");
139
+ const insert_field_group_1 = require("./statements/insert_field_group");
140
+ const read_entities_1 = require("./statements/read_entities");
141
+ const modify_entities_1 = require("./statements/modify_entities");
142
+ const commit_entities_1 = require("./statements/commit_entities");
143
+ // -----------------------------------
144
+ const map = {};
145
+ function addToMap(handler) {
146
+ if (map[handler.constructor.name] !== undefined) {
147
+ throw new Error("syntax.ts duplicate statement syntax handler");
148
+ }
149
+ map[handler.constructor.name] = handler;
150
+ }
151
+ if (Object.keys(map).length === 0) {
152
+ addToMap(new interface_deferred_1.InterfaceDeferred());
153
+ addToMap(new perform_1.Perform());
154
+ addToMap(new class_deferred_1.ClassDeferred());
155
+ addToMap(new call_1.Call());
156
+ addToMap(new set_handler_1.SetHandler());
157
+ addToMap(new class_implementation_1.ClassImplementation());
158
+ addToMap(new method_implementation_1.MethodImplementation());
159
+ addToMap(new move_1.Move());
160
+ addToMap(new get_badi_1.GetBadi());
161
+ addToMap(new call_badi_1.CallBadi());
162
+ addToMap(new get_cursor_1.GetCursor());
163
+ addToMap(new replace_1.Replace());
164
+ addToMap(new truncate_dataset_1.TruncateDataset());
165
+ addToMap(new assert_1.Assert());
166
+ addToMap(new catch_1.Catch());
167
+ addToMap(new loop_1.Loop());
168
+ addToMap(new loop_at_screen_1.LoopAtScreen());
169
+ addToMap(new set_pf_status_1.SetPFStatus());
170
+ addToMap(new set_titlebar_1.SetTitlebar());
171
+ addToMap(new submit_1.Submit());
172
+ addToMap(new insert_textpool_1.InsertTextpool());
173
+ addToMap(new read_table_1.ReadTable());
174
+ addToMap(new syntax_check_1.SyntaxCheck());
175
+ addToMap(new delete_report_1.DeleteReport());
176
+ addToMap(new import_1.Import());
177
+ addToMap(new collect_1.Collect());
178
+ addToMap(new export_1.Export());
179
+ addToMap(new scan_1.Scan());
180
+ addToMap(new transfer_1.Transfer());
181
+ addToMap(new split_1.Split());
182
+ addToMap(new call_function_1.CallFunction());
183
+ addToMap(new delete_internal_1.DeleteInternal());
184
+ addToMap(new delete_cluster_1.DeleteCluster());
185
+ addToMap(new clear_1.Clear());
186
+ addToMap(new receive_1.Receive());
187
+ addToMap(new get_bit_1.GetBit());
188
+ addToMap(new class_local_friends_1.ClassLocalFriends());
189
+ addToMap(new select_1.Select());
190
+ addToMap(new modify_screen_1.ModifyScreen());
191
+ addToMap(new insert_internal_1.InsertInternal());
192
+ addToMap(new pack_1.Pack());
193
+ addToMap(new unpack_1.Unpack());
194
+ addToMap(new assign_1.Assign());
195
+ addToMap(new set_locale_1.SetLocale());
196
+ addToMap(new set_parameter_1.SetParameter());
197
+ addToMap(new convert_1.Convert());
198
+ addToMap(new controls_1.Controls());
199
+ addToMap(new when_1.When());
200
+ addToMap(new insert_database_1.InsertDatabase());
201
+ addToMap(new delete_database_1.DeleteDatabase());
202
+ addToMap(new update_database_1.UpdateDatabase());
203
+ addToMap(new sort_1.Sort());
204
+ addToMap(new wait_1.Wait());
205
+ addToMap(new condense_1.Condense());
206
+ addToMap(new set_bit_1.SetBit());
207
+ addToMap(new open_dataset_1.OpenDataset());
208
+ addToMap(new close_dataset_1.CloseDataset());
209
+ addToMap(new read_report_1.ReadReport());
210
+ addToMap(new do_1.Do());
211
+ addToMap(new describe_1.Describe());
212
+ addToMap(new find_1.Find());
213
+ addToMap(new message_1.Message());
214
+ addToMap(new system_call_1.SystemCall());
215
+ addToMap(new insert_field_group_1.InsertFieldGroup());
216
+ addToMap(new get_time_1.GetTime());
217
+ addToMap(new unassign_1.Unassign());
218
+ addToMap(new get_parameter_1.GetParameter());
219
+ addToMap(new format_1.Format());
220
+ addToMap(new when_type_1.WhenType());
221
+ addToMap(new if_1.If());
222
+ addToMap(new log_point_1.LogPoint());
223
+ addToMap(new while_1.While());
224
+ addToMap(new with_1.With());
225
+ addToMap(new with_loop_1.WithLoop());
226
+ addToMap(new call_transformation_1.CallTransformation());
227
+ addToMap(new call_transaction_1.CallTransaction());
228
+ addToMap(new get_locale_1.GetLocale());
229
+ addToMap(new get_reference_1.GetReference());
230
+ addToMap(new else_if_1.ElseIf());
231
+ addToMap(new get_run_time_1.GetRunTime());
232
+ addToMap(new create_object_1.CreateObject());
233
+ addToMap(new import_dynpro_1.ImportDynpro());
234
+ addToMap(new create_data_1.CreateData());
235
+ addToMap(new case_1.Case());
236
+ addToMap(new shift_1.Shift());
237
+ addToMap(new raise_1.Raise());
238
+ addToMap(new concatenate_1.Concatenate());
239
+ addToMap(new append_1.Append());
240
+ addToMap(new select_loop_1.SelectLoop());
241
+ addToMap(new write_1.Write());
242
+ addToMap(new move_corresponding_1.MoveCorresponding());
243
+ addToMap(new authority_check_1.AuthorityCheck());
244
+ addToMap(new insert_report_1.InsertReport());
245
+ addToMap(new selection_screen_1.SelectionScreen());
246
+ addToMap(new ranges_1.Ranges());
247
+ addToMap(new add_1.Add());
248
+ addToMap(new raise_event_1.RaiseEvent());
249
+ addToMap(new subtract_1.Subtract());
250
+ addToMap(new add_corresponding_1.AddCorresponding());
251
+ addToMap(new subtract_corresponding_1.SubtractCorresponding());
252
+ addToMap(new multiply_1.Multiply());
253
+ addToMap(new divide_1.Divide());
254
+ addToMap(new check_1.Check());
255
+ addToMap(new modify_database_1.ModifyDatabase());
256
+ addToMap(new form_1.Form());
257
+ addToMap(new selectoption_1.SelectOption());
258
+ addToMap(new tables_1.Tables());
259
+ addToMap(new parameter_1.Parameter());
260
+ addToMap(new fieldsymbol_1.FieldSymbol());
261
+ addToMap(new read_entities_1.ReadEntities());
262
+ addToMap(new modify_entities_1.ModifyEntities());
263
+ addToMap(new commit_entities_1.CommitEntities());
264
+ addToMap(new call_kernel_1.CallKernel());
265
+ addToMap(new search_1.Search());
266
+ addToMap(new translate_1.Translate());
267
+ addToMap(new modify_internal_1.ModifyInternal());
268
+ addToMap(new read_textpool_1.ReadTextpool());
269
+ }
270
+ // -----------------------------------
271
+ class SyntaxLogic {
272
+ constructor(reg, object) {
273
+ this.reg = reg;
274
+ this.issues = [];
275
+ this.object = object;
276
+ this.scope = _current_scope_1.CurrentScope.buildDefault(this.reg, object);
277
+ this.helpers = {
278
+ oooc: new _object_oriented_1.ObjectOriented(this.scope),
279
+ proc: new _procedural_1.Procedural(this.reg, this.scope),
280
+ };
281
+ }
282
+ run() {
283
+ if (this.object.syntaxResult !== undefined) {
284
+ return this.object.syntaxResult;
285
+ }
286
+ this.issues = [];
287
+ this.reg.getDDICReferences().clear(this.object);
288
+ if (this.object instanceof objects_1.Program && this.object.isInclude()) {
289
+ // todo, show some kind of error?
290
+ return { issues: [], spaghetti: this.scope.pop(new position_1.Position(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER)) };
291
+ }
292
+ this.traverseObject();
293
+ for (;;) {
294
+ const spaghetti = this.scope.pop(new position_1.Position(Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER)); // pop built-in scopes
295
+ if (spaghetti.getTop().getIdentifier().stype === _scope_type_1.ScopeType.BuiltIn) {
296
+ const result = { issues: this.issues, spaghetti };
297
+ this.object.syntaxResult = result;
298
+ return result;
299
+ }
300
+ }
301
+ }
302
+ /////////////////////////////
303
+ traverseObject() {
304
+ const traversal = this.object.getSequencedFiles();
305
+ if (this.object instanceof objects_1.Program
306
+ || this.object instanceof objects_1.FunctionGroup) {
307
+ for (const f of this.object.getSequencedFiles()) {
308
+ // add FORM defintions to the _global object scope
309
+ this.helpers.proc.addAllFormDefinitions(f, this.object);
310
+ }
311
+ const main = this.object.getMainABAPFile();
312
+ if (main !== undefined) {
313
+ let stype = _scope_type_1.ScopeType.Program;
314
+ if (this.object instanceof objects_1.FunctionGroup) {
315
+ stype = _scope_type_1.ScopeType.FunctionGroup;
316
+ }
317
+ this.scope.push(stype, this.object.getName(), new position_1.Position(1, 1), main.getFilename());
318
+ }
319
+ }
320
+ else if (this.object instanceof objects_1.TypePool) {
321
+ const main = this.object.getMainABAPFile();
322
+ if (main !== undefined) {
323
+ this.scope.push(_scope_type_1.ScopeType.TypePool, this.object.getName(), new position_1.Position(1, 1), main.getFilename());
324
+ }
325
+ }
326
+ for (const file of traversal) {
327
+ this.currentFile = file;
328
+ const structure = this.currentFile.getStructure();
329
+ if (structure === undefined) {
330
+ return this.scope;
331
+ }
332
+ else {
333
+ this.traverse(structure);
334
+ }
335
+ }
336
+ return this.scope;
337
+ }
338
+ newIssue(token, message) {
339
+ const issue = issue_1.Issue.atToken(this.currentFile, token, message, "check_syntax", severity_1.Severity.Error);
340
+ this.issues.push(issue);
341
+ }
342
+ traverse(node) {
343
+ for (const child of node.getChildren()) {
344
+ const isStructure = child instanceof nodes_1.StructureNode;
345
+ const isStatement = child instanceof nodes_1.StatementNode;
346
+ try {
347
+ if (isStructure) {
348
+ const gotoNext = this.updateScopeStructure(child);
349
+ if (gotoNext === true) {
350
+ continue;
351
+ }
352
+ }
353
+ else if (isStatement) {
354
+ this.updateScopeStatement(child);
355
+ }
356
+ }
357
+ catch (e) {
358
+ this.newIssue(child.getFirstToken(), e.message);
359
+ break;
360
+ }
361
+ // walk into INCLUDEs
362
+ if (isStatement && child.get() instanceof Statements.Include) {
363
+ const file = this.helpers.proc.findInclude(child, this.object);
364
+ if (file !== undefined && file.getStructure() !== undefined) {
365
+ const old = this.currentFile;
366
+ this.currentFile = file;
367
+ this.traverse(file.getStructure());
368
+ this.currentFile = old;
369
+ }
370
+ }
371
+ if (isStructure || isStatement) {
372
+ this.traverse(child);
373
+ }
374
+ }
375
+ }
376
+ // if this returns true, then the traversal should continue with next child
377
+ updateScopeStructure(node) {
378
+ const filename = this.currentFile.getFilename();
379
+ const stru = node.get();
380
+ if (stru instanceof Structures.ClassDefinition) {
381
+ new class_definition_1.ClassDefinition(node, filename, this.scope);
382
+ return true;
383
+ }
384
+ else if (stru instanceof Structures.Interface) {
385
+ new interface_definition_1.InterfaceDefinition(node, filename, this.scope);
386
+ return true;
387
+ }
388
+ else if (stru instanceof Structures.Types) {
389
+ this.scope.addType(new types_1.Types().runSyntax(node, this.scope, filename));
390
+ return true;
391
+ }
392
+ else if (stru instanceof Structures.Constants) {
393
+ this.scope.addIdentifier(new constants_1.Constants().runSyntax(node, this.scope, filename).type);
394
+ return true;
395
+ }
396
+ else if (stru instanceof Structures.Data) {
397
+ this.scope.addIdentifier(new data_1.Data().runSyntax(node, this.scope, filename));
398
+ return true;
399
+ }
400
+ else if (stru instanceof Structures.Statics) {
401
+ this.scope.addIdentifier(new statics_1.Statics().runSyntax(node, this.scope, filename));
402
+ return true;
403
+ }
404
+ else if (stru instanceof Structures.TypeEnum) {
405
+ const values = new type_enum_1.TypeEnum().runSyntax(node, this.scope, filename).values;
406
+ this.scope.addList(values);
407
+ return true;
408
+ }
409
+ return false;
410
+ }
411
+ updateScopeStatement(node) {
412
+ const filename = this.currentFile.getFilename();
413
+ const s = node.get();
414
+ // todo, refactor
415
+ if (s instanceof Statements.Type) {
416
+ this.scope.addType(new type_1.Type().runSyntax(node, this.scope, filename));
417
+ return;
418
+ }
419
+ else if (s instanceof Statements.Constant) {
420
+ this.scope.addIdentifier(new constant_1.Constant().runSyntax(node, this.scope, filename));
421
+ return;
422
+ }
423
+ else if (s instanceof Statements.Static) {
424
+ this.scope.addIdentifier(new static_1.Static().runSyntax(node, this.scope, filename));
425
+ return;
426
+ }
427
+ else if (s instanceof Statements.Data) {
428
+ this.scope.addIdentifier(new data_2.Data().runSyntax(node, this.scope, filename));
429
+ return;
430
+ }
431
+ const name = s.constructor.name;
432
+ if (map[name]) {
433
+ map[name].runSyntax(node, this.scope, filename);
434
+ return;
435
+ }
436
+ if (s instanceof Statements.FunctionModule) {
437
+ this.helpers.proc.findFunctionScope(this.object, node, filename);
438
+ }
439
+ else if (s instanceof Statements.EndForm
440
+ || s instanceof Statements.EndFunction
441
+ || s instanceof Statements.EndClass
442
+ || s instanceof Statements.EndInterface) {
443
+ this.scope.pop(node.getLastToken().getEnd());
444
+ }
445
+ else if (s instanceof Statements.EndMethod) {
446
+ this.scope.pop(node.getLastToken().getEnd());
447
+ if (this.scope.getType() === _scope_type_1.ScopeType.MethodInstance) {
448
+ this.scope.pop(node.getLastToken().getEnd());
449
+ }
450
+ }
451
+ }
452
+ }
453
+ exports.SyntaxLogic = SyntaxLogic;
454
454
  //# sourceMappingURL=syntax.js.map