@abaplint/core 2.119.43 → 2.119.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/abaplint.d.ts +506 -7
- package/build/src/abap/2_statements/combi.js +100 -39
- package/build/src/abap/2_statements/expand_macros.js +6 -4
- package/build/src/abap/2_statements/expressions/_dynamic_access.js +2 -2
- package/build/src/abap/2_statements/expressions/_select_core.js +14 -12
- package/build/src/abap/2_statements/expressions/assign_source.js +10 -4
- package/build/src/abap/2_statements/expressions/cast.js +1 -1
- package/build/src/abap/2_statements/expressions/compare.js +2 -2
- package/build/src/abap/2_statements/expressions/component_compare.js +1 -1
- package/build/src/abap/2_statements/expressions/component_compare_simple.js +1 -1
- package/build/src/abap/2_statements/expressions/cond.js +1 -1
- package/build/src/abap/2_statements/expressions/corresponding_body.js +1 -1
- package/build/src/abap/2_statements/expressions/data_definition.js +1 -1
- package/build/src/abap/2_statements/expressions/database_table.js +8 -0
- package/build/src/abap/2_statements/expressions/find_type.js +1 -1
- package/build/src/abap/2_statements/expressions/for.js +2 -2
- package/build/src/abap/2_statements/expressions/function_exporting_parameter.js +1 -1
- package/build/src/abap/2_statements/expressions/index.js +9 -0
- package/build/src/abap/2_statements/expressions/inlinedata.js +1 -1
- package/build/src/abap/2_statements/expressions/inlinefs.js +1 -1
- package/build/src/abap/2_statements/expressions/loop_source.js +1 -1
- package/build/src/abap/2_statements/expressions/message_source_source.js +1 -1
- package/build/src/abap/2_statements/expressions/new_object.js +1 -1
- package/build/src/abap/2_statements/expressions/reduce_next.js +1 -1
- package/build/src/abap/2_statements/expressions/select.js +2 -2
- package/build/src/abap/2_statements/expressions/select_cte.js +7 -6
- package/build/src/abap/2_statements/expressions/source.js +11 -11
- package/build/src/abap/2_statements/expressions/sql_aggregation.js +9 -9
- package/build/src/abap/2_statements/expressions/sql_association_entry.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_associations_list.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_case.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_client.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_compare.js +7 -6
- package/build/src/abap/2_statements/expressions/sql_cte_associations.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_cte_hierarchy.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_field.js +4 -4
- package/build/src/abap/2_statements/expressions/sql_field_list.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_field_list_loop.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_field_list_loop_greedy.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_from.js +9 -8
- package/build/src/abap/2_statements/expressions/sql_from_source.js +4 -3
- package/build/src/abap/2_statements/expressions/sql_function.js +363 -31
- package/build/src/abap/2_statements/expressions/sql_function_input.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_group_by.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_hierarchy_accessor.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_hierarchy_aggregate.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_hierarchy_source.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_in.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_into_list.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_join.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_like_regexpr.js +19 -0
- package/build/src/abap/2_statements/expressions/sql_locate_regexpr.js +18 -0
- package/build/src/abap/2_statements/expressions/sql_occurrences_regexpr.js +15 -0
- package/build/src/abap/2_statements/expressions/sql_options.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_over.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_path_for_column.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_path_for_entity.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_path_segment.js +3 -3
- package/build/src/abap/2_statements/expressions/sql_privileged_access.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_regexpr_from.js +17 -0
- package/build/src/abap/2_statements/expressions/sql_regexpr_group.js +17 -0
- package/build/src/abap/2_statements/expressions/sql_regexpr_occurrence.js +17 -0
- package/build/src/abap/2_statements/expressions/sql_regexpr_pattern.js +18 -0
- package/build/src/abap/2_statements/expressions/sql_replace_regexpr.js +22 -0
- package/build/src/abap/2_statements/expressions/sql_set_op.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_set_op_group.js +2 -2
- package/build/src/abap/2_statements/expressions/sql_source.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_source_no_space.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_source_simple.js +1 -1
- package/build/src/abap/2_statements/expressions/sql_substring_regexpr.js +18 -0
- package/build/src/abap/2_statements/expressions/sql_target.js +2 -2
- package/build/src/abap/2_statements/expressions/string_template.js +1 -1
- package/build/src/abap/2_statements/expressions/string_template_formatting.js +2 -2
- package/build/src/abap/2_statements/expressions/table_expression.js +1 -1
- package/build/src/abap/2_statements/expressions/type.js +1 -1
- package/build/src/abap/2_statements/expressions/type_table.js +1 -1
- package/build/src/abap/2_statements/expressions/type_table_key.js +1 -1
- package/build/src/abap/2_statements/expressions/value_body.js +1 -1
- package/build/src/abap/2_statements/result.js +6 -0
- package/build/src/abap/2_statements/statement_parser.js +8 -5
- package/build/src/abap/2_statements/statements/add.js +2 -1
- package/build/src/abap/2_statements/statements/add_corresponding.js +1 -1
- package/build/src/abap/2_statements/statements/append.js +1 -1
- package/build/src/abap/2_statements/statements/assert.js +2 -1
- package/build/src/abap/2_statements/statements/assign.js +8 -3
- package/build/src/abap/2_statements/statements/assign_local_copy.js +1 -1
- package/build/src/abap/2_statements/statements/at.js +2 -1
- package/build/src/abap/2_statements/statements/at_line_selection.js +1 -1
- package/build/src/abap/2_statements/statements/at_pf.js +1 -1
- package/build/src/abap/2_statements/statements/at_selection_screen.js +1 -1
- package/build/src/abap/2_statements/statements/at_user_command.js +1 -1
- package/build/src/abap/2_statements/statements/authority_check.js +2 -1
- package/build/src/abap/2_statements/statements/back.js +1 -1
- package/build/src/abap/2_statements/statements/break.js +1 -1
- package/build/src/abap/2_statements/statements/break_id.js +1 -1
- package/build/src/abap/2_statements/statements/call.js +2 -1
- package/build/src/abap/2_statements/statements/call_badi.js +1 -1
- package/build/src/abap/2_statements/statements/call_database.js +1 -1
- package/build/src/abap/2_statements/statements/call_dialog.js +1 -1
- package/build/src/abap/2_statements/statements/call_function.js +5 -5
- package/build/src/abap/2_statements/statements/call_kernel.js +1 -1
- package/build/src/abap/2_statements/statements/call_ole.js +1 -1
- package/build/src/abap/2_statements/statements/call_screen.js +1 -1
- package/build/src/abap/2_statements/statements/call_selection_screen.js +1 -1
- package/build/src/abap/2_statements/statements/call_subscreen.js +1 -1
- package/build/src/abap/2_statements/statements/call_transaction.js +1 -1
- package/build/src/abap/2_statements/statements/call_transformation.js +2 -1
- package/build/src/abap/2_statements/statements/case_type.js +1 -1
- package/build/src/abap/2_statements/statements/catch_system_exceptions.js +1 -1
- package/build/src/abap/2_statements/statements/chain.js +1 -1
- package/build/src/abap/2_statements/statements/check_select_options.js +1 -1
- package/build/src/abap/2_statements/statements/class_deferred.js +2 -1
- package/build/src/abap/2_statements/statements/class_definition.js +1 -1
- package/build/src/abap/2_statements/statements/class_definition_load.js +2 -1
- package/build/src/abap/2_statements/statements/close_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/close_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/commit.js +2 -1
- package/build/src/abap/2_statements/statements/commit_entities.js +1 -1
- package/build/src/abap/2_statements/statements/communication.js +1 -1
- package/build/src/abap/2_statements/statements/compute.js +1 -1
- package/build/src/abap/2_statements/statements/contexts.js +1 -1
- package/build/src/abap/2_statements/statements/controls.js +1 -1
- package/build/src/abap/2_statements/statements/convert.js +2 -2
- package/build/src/abap/2_statements/statements/create_data.js +2 -2
- package/build/src/abap/2_statements/statements/create_object.js +2 -2
- package/build/src/abap/2_statements/statements/create_ole.js +1 -1
- package/build/src/abap/2_statements/statements/define.js +1 -1
- package/build/src/abap/2_statements/statements/delete_cluster.js +1 -1
- package/build/src/abap/2_statements/statements/delete_database.js +2 -1
- package/build/src/abap/2_statements/statements/delete_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/delete_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/delete_internal.js +3 -1
- package/build/src/abap/2_statements/statements/delete_memory.js +1 -1
- package/build/src/abap/2_statements/statements/delete_report.js +1 -1
- package/build/src/abap/2_statements/statements/delete_textpool.js +1 -1
- package/build/src/abap/2_statements/statements/demand.js +1 -1
- package/build/src/abap/2_statements/statements/describe.js +1 -1
- package/build/src/abap/2_statements/statements/detail.js +1 -1
- package/build/src/abap/2_statements/statements/divide.js +2 -1
- package/build/src/abap/2_statements/statements/editor_call.js +1 -1
- package/build/src/abap/2_statements/statements/end_chain.js +1 -1
- package/build/src/abap/2_statements/statements/end_enhancement.js +1 -1
- package/build/src/abap/2_statements/statements/end_enhancement_section.js +1 -1
- package/build/src/abap/2_statements/statements/end_of_page.js +1 -1
- package/build/src/abap/2_statements/statements/end_of_selection.js +1 -1
- package/build/src/abap/2_statements/statements/end_test_seam.js +1 -1
- package/build/src/abap/2_statements/statements/endcatch.js +1 -1
- package/build/src/abap/2_statements/statements/enddefine.js +1 -1
- package/build/src/abap/2_statements/statements/endexec.js +1 -1
- package/build/src/abap/2_statements/statements/endform.js +2 -2
- package/build/src/abap/2_statements/statements/endfunction.js +2 -1
- package/build/src/abap/2_statements/statements/endmodule.js +1 -1
- package/build/src/abap/2_statements/statements/endon.js +1 -1
- package/build/src/abap/2_statements/statements/endprovide.js +1 -1
- package/build/src/abap/2_statements/statements/endwith.js +1 -1
- package/build/src/abap/2_statements/statements/enhancement.js +1 -1
- package/build/src/abap/2_statements/statements/enhancement_point.js +1 -1
- package/build/src/abap/2_statements/statements/enhancement_section.js +1 -1
- package/build/src/abap/2_statements/statements/exec_sql.js +1 -1
- package/build/src/abap/2_statements/statements/export.js +4 -3
- package/build/src/abap/2_statements/statements/export_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/extract.js +1 -1
- package/build/src/abap/2_statements/statements/fetch_next_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/field.js +1 -1
- package/build/src/abap/2_statements/statements/field_group.js +1 -1
- package/build/src/abap/2_statements/statements/fields.js +1 -1
- package/build/src/abap/2_statements/statements/form.js +2 -1
- package/build/src/abap/2_statements/statements/format.js +1 -1
- package/build/src/abap/2_statements/statements/free.js +2 -1
- package/build/src/abap/2_statements/statements/free_memory.js +1 -1
- package/build/src/abap/2_statements/statements/free_object.js +1 -1
- package/build/src/abap/2_statements/statements/function_module.js +2 -1
- package/build/src/abap/2_statements/statements/function_pool.js +2 -1
- package/build/src/abap/2_statements/statements/generate_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/generate_report.js +1 -1
- package/build/src/abap/2_statements/statements/generate_subroutine.js +1 -1
- package/build/src/abap/2_statements/statements/get.js +1 -1
- package/build/src/abap/2_statements/statements/get_badi.js +1 -1
- package/build/src/abap/2_statements/statements/get_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/get_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/get_locale.js +1 -1
- package/build/src/abap/2_statements/statements/get_parameter.js +1 -1
- package/build/src/abap/2_statements/statements/get_permissions.js +1 -1
- package/build/src/abap/2_statements/statements/get_pf_status.js +1 -1
- package/build/src/abap/2_statements/statements/get_property.js +1 -1
- package/build/src/abap/2_statements/statements/get_reference.js +2 -1
- package/build/src/abap/2_statements/statements/get_run_time.js +1 -1
- package/build/src/abap/2_statements/statements/get_time.js +2 -1
- package/build/src/abap/2_statements/statements/hide.js +1 -1
- package/build/src/abap/2_statements/statements/import.js +5 -4
- package/build/src/abap/2_statements/statements/import_dynpro.js +1 -1
- package/build/src/abap/2_statements/statements/import_nametab.js +1 -1
- package/build/src/abap/2_statements/statements/infotypes.js +1 -1
- package/build/src/abap/2_statements/statements/initialization.js +1 -1
- package/build/src/abap/2_statements/statements/input.js +1 -1
- package/build/src/abap/2_statements/statements/insert_database.js +2 -1
- package/build/src/abap/2_statements/statements/insert_field_group.js +1 -1
- package/build/src/abap/2_statements/statements/insert_internal.js +1 -1
- package/build/src/abap/2_statements/statements/insert_report.js +2 -2
- package/build/src/abap/2_statements/statements/insert_textpool.js +1 -1
- package/build/src/abap/2_statements/statements/interface_def.js +1 -1
- package/build/src/abap/2_statements/statements/interface_deferred.js +2 -1
- package/build/src/abap/2_statements/statements/interface_load.js +2 -1
- package/build/src/abap/2_statements/statements/leave.js +1 -1
- package/build/src/abap/2_statements/statements/load_of_program.js +1 -1
- package/build/src/abap/2_statements/statements/load_report.js +1 -1
- package/build/src/abap/2_statements/statements/local.js +1 -1
- package/build/src/abap/2_statements/statements/log_point.js +1 -1
- package/build/src/abap/2_statements/statements/loop.js +4 -4
- package/build/src/abap/2_statements/statements/loop_at_screen.js +1 -1
- package/build/src/abap/2_statements/statements/loop_extract.js +2 -1
- package/build/src/abap/2_statements/statements/message.js +3 -2
- package/build/src/abap/2_statements/statements/method_def.js +9 -5
- package/build/src/abap/2_statements/statements/method_implementation.js +3 -1
- package/build/src/abap/2_statements/statements/modify_database.js +2 -1
- package/build/src/abap/2_statements/statements/modify_entities.js +1 -1
- package/build/src/abap/2_statements/statements/modify_line.js +1 -1
- package/build/src/abap/2_statements/statements/modify_screen.js +1 -1
- package/build/src/abap/2_statements/statements/module.js +1 -1
- package/build/src/abap/2_statements/statements/move.js +2 -2
- package/build/src/abap/2_statements/statements/move_corresponding.js +2 -2
- package/build/src/abap/2_statements/statements/multiply.js +2 -1
- package/build/src/abap/2_statements/statements/new_line.js +1 -1
- package/build/src/abap/2_statements/statements/new_page.js +1 -1
- package/build/src/abap/2_statements/statements/nodes.js +1 -1
- package/build/src/abap/2_statements/statements/on_change.js +1 -1
- package/build/src/abap/2_statements/statements/open_cursor.js +2 -2
- package/build/src/abap/2_statements/statements/open_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/pack.js +1 -1
- package/build/src/abap/2_statements/statements/parameter.js +1 -1
- package/build/src/abap/2_statements/statements/perform.js +3 -3
- package/build/src/abap/2_statements/statements/position.js +1 -1
- package/build/src/abap/2_statements/statements/print_control.js +1 -1
- package/build/src/abap/2_statements/statements/process_after_input.js +1 -1
- package/build/src/abap/2_statements/statements/process_before_output.js +1 -1
- package/build/src/abap/2_statements/statements/process_on_help_request.js +1 -1
- package/build/src/abap/2_statements/statements/process_on_value_request.js +1 -1
- package/build/src/abap/2_statements/statements/program.js +1 -1
- package/build/src/abap/2_statements/statements/provide.js +1 -1
- package/build/src/abap/2_statements/statements/put.js +1 -1
- package/build/src/abap/2_statements/statements/raise.js +4 -3
- package/build/src/abap/2_statements/statements/raise_entity_event.js +2 -1
- package/build/src/abap/2_statements/statements/raise_event.js +2 -1
- package/build/src/abap/2_statements/statements/ranges.js +1 -1
- package/build/src/abap/2_statements/statements/read_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/read_entities.js +1 -1
- package/build/src/abap/2_statements/statements/read_line.js +1 -1
- package/build/src/abap/2_statements/statements/read_report.js +1 -1
- package/build/src/abap/2_statements/statements/read_table.js +4 -3
- package/build/src/abap/2_statements/statements/read_textpool.js +1 -1
- package/build/src/abap/2_statements/statements/receive.js +1 -1
- package/build/src/abap/2_statements/statements/refresh.js +1 -1
- package/build/src/abap/2_statements/statements/refresh_control.js +1 -1
- package/build/src/abap/2_statements/statements/reject.js +1 -1
- package/build/src/abap/2_statements/statements/report.js +1 -1
- package/build/src/abap/2_statements/statements/reserve.js +1 -1
- package/build/src/abap/2_statements/statements/retry.js +1 -1
- package/build/src/abap/2_statements/statements/return.js +1 -1
- package/build/src/abap/2_statements/statements/rollback.js +2 -1
- package/build/src/abap/2_statements/statements/rollback_entities.js +1 -1
- package/build/src/abap/2_statements/statements/scan.js +1 -1
- package/build/src/abap/2_statements/statements/scroll_list.js +1 -1
- package/build/src/abap/2_statements/statements/search.js +1 -1
- package/build/src/abap/2_statements/statements/selectionscreen.js +1 -1
- package/build/src/abap/2_statements/statements/selectoption.js +1 -1
- package/build/src/abap/2_statements/statements/set_blank.js +1 -1
- package/build/src/abap/2_statements/statements/set_country.js +1 -1
- package/build/src/abap/2_statements/statements/set_cursor.js +1 -1
- package/build/src/abap/2_statements/statements/set_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/set_extended_check.js +1 -1
- package/build/src/abap/2_statements/statements/set_handler.js +2 -1
- package/build/src/abap/2_statements/statements/set_language.js +1 -1
- package/build/src/abap/2_statements/statements/set_left.js +1 -1
- package/build/src/abap/2_statements/statements/set_locale.js +1 -1
- package/build/src/abap/2_statements/statements/set_locks.js +1 -1
- package/build/src/abap/2_statements/statements/set_margin.js +1 -1
- package/build/src/abap/2_statements/statements/set_parameter.js +1 -1
- package/build/src/abap/2_statements/statements/set_pf_status.js +1 -1
- package/build/src/abap/2_statements/statements/set_property.js +1 -1
- package/build/src/abap/2_statements/statements/set_run_time.js +1 -1
- package/build/src/abap/2_statements/statements/set_screen.js +1 -1
- package/build/src/abap/2_statements/statements/set_titlebar.js +1 -1
- package/build/src/abap/2_statements/statements/set_update_task.js +1 -1
- package/build/src/abap/2_statements/statements/set_user_command.js +1 -1
- package/build/src/abap/2_statements/statements/skip.js +1 -1
- package/build/src/abap/2_statements/statements/sort_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/start_of_selection.js +1 -1
- package/build/src/abap/2_statements/statements/static.js +3 -2
- package/build/src/abap/2_statements/statements/stop.js +1 -1
- package/build/src/abap/2_statements/statements/submit.js +1 -1
- package/build/src/abap/2_statements/statements/subtract.js +2 -1
- package/build/src/abap/2_statements/statements/subtract_corresponding.js +1 -1
- package/build/src/abap/2_statements/statements/sum.js +1 -1
- package/build/src/abap/2_statements/statements/summary.js +1 -1
- package/build/src/abap/2_statements/statements/supply.js +1 -1
- package/build/src/abap/2_statements/statements/suppress_dialog.js +1 -1
- package/build/src/abap/2_statements/statements/syntax_check.js +1 -1
- package/build/src/abap/2_statements/statements/system_call.js +1 -1
- package/build/src/abap/2_statements/statements/tables.js +1 -1
- package/build/src/abap/2_statements/statements/test_injection.js +2 -1
- package/build/src/abap/2_statements/statements/test_seam.js +1 -1
- package/build/src/abap/2_statements/statements/top_of_page.js +1 -1
- package/build/src/abap/2_statements/statements/transfer.js +1 -1
- package/build/src/abap/2_statements/statements/truncate_dataset.js +1 -1
- package/build/src/abap/2_statements/statements/type.js +1 -1
- package/build/src/abap/2_statements/statements/type_begin.js +1 -1
- package/build/src/abap/2_statements/statements/type_enum.js +1 -1
- package/build/src/abap/2_statements/statements/type_enum_begin.js +1 -1
- package/build/src/abap/2_statements/statements/type_enum_end.js +1 -1
- package/build/src/abap/2_statements/statements/type_mesh.js +1 -1
- package/build/src/abap/2_statements/statements/type_mesh_begin.js +1 -1
- package/build/src/abap/2_statements/statements/type_mesh_end.js +1 -1
- package/build/src/abap/2_statements/statements/type_pool.js +1 -1
- package/build/src/abap/2_statements/statements/type_pools.js +1 -1
- package/build/src/abap/2_statements/statements/uline.js +1 -1
- package/build/src/abap/2_statements/statements/unpack.js +1 -1
- package/build/src/abap/2_statements/statements/update_database.js +4 -3
- package/build/src/abap/2_statements/statements/verification_message.js +1 -1
- package/build/src/abap/2_statements/statements/wait.js +4 -3
- package/build/src/abap/2_statements/statements/when_type.js +1 -1
- package/build/src/abap/2_statements/statements/window.js +1 -1
- package/build/src/abap/2_statements/statements/with.js +1 -1
- package/build/src/abap/2_statements/statements/write.js +1 -1
- package/build/src/abap/5_syntax/_builtin.js +50 -50
- package/build/src/abap/5_syntax/_current_scope.js +9 -0
- package/build/src/abap/5_syntax/expressions/field_chain.js +3 -3
- package/build/src/abap/5_syntax/expressions/method_source.js +1 -1
- package/build/src/abap/5_syntax/expressions/select.js +13 -3
- package/build/src/abap/5_syntax/statements/call_function.js +1 -1
- package/build/src/abap/5_syntax/statements/loop.js +1 -1
- package/build/src/abap/5_syntax/statements/move_corresponding.js +3 -3
- package/build/src/abap/abap_parser.js +21 -5
- package/build/src/abap/nodes/expression_node.js +3 -0
- package/build/src/cds/cds_parser.js +8 -8
- package/build/src/cds/expressions/cds_define_projection.js +1 -1
- package/build/src/cds/expressions/cds_define_view.js +1 -1
- package/build/src/config.js +42 -12
- package/build/src/ddl/ddl_parser.js +2 -2
- package/build/src/index.js +6 -2
- package/build/src/objects/_abap_object.js +3 -2
- package/build/src/objects/_abstract_object.js +1 -1
- package/build/src/objects/proxy_object.js +1 -1
- package/build/src/objects/table.js +1 -1
- package/build/src/registry.js +3 -3
- package/build/src/rules/ambiguous_statement.js +1 -1
- package/build/src/rules/avoid_use.js +2 -2
- package/build/src/rules/call_transaction_authority_check.js +3 -3
- package/build/src/rules/cds_legacy_view.js +2 -2
- package/build/src/rules/cloud_types.js +1 -1
- package/build/src/rules/downport.js +11 -11
- package/build/src/rules/function_module_recommendations.js +23 -2
- package/build/src/rules/index.js +1 -0
- package/build/src/rules/inline_data_old_versions.js +3 -3
- package/build/src/rules/local_testclass_consistency.js +1 -1
- package/build/src/rules/main_file_contents.js +1 -1
- package/build/src/rules/no_inline_in_optional_branches.js +4 -4
- package/build/src/rules/obsolete_statement.js +6 -6
- package/build/src/rules/parser_702_chaining.js +2 -2
- package/build/src/rules/parser_error.js +2 -2
- package/build/src/rules/prefer_corresponding.js +1 -1
- package/build/src/rules/prefer_inline.js +2 -1
- package/build/src/rules/prefer_raise_exception_new.js +1 -1
- package/build/src/rules/prefer_xsdbool.js +2 -1
- package/build/src/rules/sql_escape_host_variables.js +3 -3
- package/build/src/rules/strict_sql.js +2 -2
- package/build/src/rules/superfluous_value.js +2 -2
- package/build/src/rules/sy_read_restriction.js +152 -0
- package/build/src/rules/use_bool_expression.js +6 -5
- package/build/src/rules/use_line_exists.js +4 -3
- package/build/src/rules/use_new.js +2 -1
- package/build/src/version.js +148 -3
- package/package.json +1 -1
- package/build/src/abap/2_statements/expressions/association_name.js +0 -11
- package/build/src/abap/2_statements/expressions/sql_path.js +0 -17
|
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class TruncateDataset {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
return (0, combi_1.
|
|
9
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, (0, combi_1.seq)("TRUNCATE DATASET", expressions_1.Source, "AT CURRENT POSITION"));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.TruncateDataset = TruncateDataset;
|
|
@@ -42,7 +42,7 @@ class Type {
|
|
|
42
42
|
const simple = (0, combi_1.per)(Expressions.Type, Expressions.Decimals, Expressions.Length);
|
|
43
43
|
const def = (0, combi_1.seq)(Expressions.NamespaceSimpleName, (0, combi_1.opt)(Expressions.ConstantFieldLength), (0, combi_1.opt)((0, combi_1.alt)(simple, Expressions.TypeTable, Expressions.TypeStructure)));
|
|
44
44
|
// todo, BOXED is only allowed with structures inside structures?
|
|
45
|
-
const boxed = (0, combi_1.ver)(version_1.
|
|
45
|
+
const boxed = (0, combi_1.ver)(version_1.Release.v702, "BOXED");
|
|
46
46
|
const ret = (0, combi_1.seq)("TYPES", def, (0, combi_1.opt)(boxed));
|
|
47
47
|
return ret;
|
|
48
48
|
}
|
|
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class TypeBegin {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
const ret = (0, combi_1.seq)("TYPES", "BEGIN OF", expressions_1.NamespaceSimpleName, (0, combi_1.optPrio)((0, combi_1.
|
|
9
|
+
const ret = (0, combi_1.seq)("TYPES", "BEGIN OF", expressions_1.NamespaceSimpleName, (0, combi_1.optPrio)((0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, "%_FINAL")));
|
|
10
10
|
return ret;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
|
|
|
7
7
|
class TypeEnum {
|
|
8
8
|
getMatcher() {
|
|
9
9
|
// it is also possible to define without Value, this is covered by normal type
|
|
10
|
-
const ret = (0, combi_1.ver)(version_1.
|
|
10
|
+
const ret = (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)("TYPES", expressions_1.NamespaceSimpleName, expressions_1.Value), { also: combi_1.AlsoIn.OpenABAP });
|
|
11
11
|
return ret;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -9,7 +9,7 @@ class TypeEnumBegin {
|
|
|
9
9
|
const structure = (0, combi_1.seq)("STRUCTURE", expressions_1.NamespaceSimpleName);
|
|
10
10
|
const base = (0, combi_1.seq)("BASE TYPE", expressions_1.NamespaceSimpleName);
|
|
11
11
|
const em = (0, combi_1.seq)("ENUM", expressions_1.NamespaceSimpleName, (0, combi_1.opt)(structure), (0, combi_1.opt)(base));
|
|
12
|
-
const ret = (0, combi_1.ver)(version_1.
|
|
12
|
+
const ret = (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)("TYPES", "BEGIN OF", em), { also: combi_1.AlsoIn.OpenABAP });
|
|
13
13
|
return ret;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
|
|
|
7
7
|
class TypeEnumEnd {
|
|
8
8
|
getMatcher() {
|
|
9
9
|
const structure = (0, combi_1.seq)("STRUCTURE", expressions_1.NamespaceSimpleName);
|
|
10
|
-
const ret = (0, combi_1.ver)(version_1.
|
|
10
|
+
const ret = (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)("TYPES", "END OF", "ENUM", expressions_1.NamespaceSimpleName, (0, combi_1.opt)(structure)), { also: combi_1.AlsoIn.OpenABAP });
|
|
11
11
|
return ret;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -9,7 +9,7 @@ class TypeMesh {
|
|
|
9
9
|
const on = (0, combi_1.seq)("ON", expressions_1.NamespaceSimpleName, "=", expressions_1.NamespaceSimpleName, (0, combi_1.star)((0, combi_1.seq)("AND", expressions_1.NamespaceSimpleName, "=", expressions_1.NamespaceSimpleName)));
|
|
10
10
|
const using = (0, combi_1.seq)("USING KEY", expressions_1.NamespaceSimpleName);
|
|
11
11
|
const association = (0, combi_1.seq)("ASSOCIATION", expressions_1.NamespaceSimpleName, "TO", expressions_1.NamespaceSimpleName, (0, combi_1.plus)(on));
|
|
12
|
-
const ret = (0, combi_1.ver)(version_1.
|
|
12
|
+
const ret = (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)("TYPES", expressions_1.NamespaceSimpleName, "TYPE", (0, combi_1.opt)("REF TO"), expressions_1.TypeName, (0, combi_1.plus)(association), (0, combi_1.opt)(using)));
|
|
13
13
|
return ret;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class TypeMeshBegin {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
const ret = (0, combi_1.ver)(version_1.
|
|
9
|
+
const ret = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)("TYPES", "BEGIN OF MESH", expressions_1.NamespaceSimpleName));
|
|
10
10
|
return ret;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -6,7 +6,7 @@ const expressions_1 = require("../expressions");
|
|
|
6
6
|
const version_1 = require("../../../version");
|
|
7
7
|
class TypeMeshEnd {
|
|
8
8
|
getMatcher() {
|
|
9
|
-
const ret = (0, combi_1.ver)(version_1.
|
|
9
|
+
const ret = (0, combi_1.ver)(version_1.Release.v740sp05, (0, combi_1.seq)("TYPES", "END OF MESH", expressions_1.NamespaceSimpleName));
|
|
10
10
|
return ret;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -8,7 +8,7 @@ class TypePool {
|
|
|
8
8
|
getMatcher() {
|
|
9
9
|
const fieldName = (0, combi_1.regex)(/^\w+$/);
|
|
10
10
|
const ret = (0, combi_1.seq)("TYPE-POOL", fieldName);
|
|
11
|
-
return (0, combi_1.
|
|
11
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.TypePool = TypePool;
|
|
@@ -8,7 +8,7 @@ class TypePools {
|
|
|
8
8
|
getMatcher() {
|
|
9
9
|
const fieldName = (0, combi_1.regex)(/^\w+$/);
|
|
10
10
|
const ret = (0, combi_1.seq)("TYPE-POOLS", fieldName);
|
|
11
|
-
return (0, combi_1.
|
|
11
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.TypePools = TypePools;
|
|
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
|
|
|
7
7
|
class Uline {
|
|
8
8
|
getMatcher() {
|
|
9
9
|
const ret = (0, combi_1.seq)("ULINE", (0, combi_1.optPrio)(expressions_1.WriteOffsetLength), (0, combi_1.optPrio)("NO-GAP"));
|
|
10
|
-
return (0, combi_1.
|
|
10
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.Uline = Uline;
|
|
@@ -7,7 +7,7 @@ const version_1 = require("../../../version");
|
|
|
7
7
|
class Unpack {
|
|
8
8
|
getMatcher() {
|
|
9
9
|
const ret = (0, combi_1.seq)("UNPACK", expressions_1.Source, "TO", expressions_1.Target);
|
|
10
|
-
return (0, combi_1.
|
|
10
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.Unpack = Unpack;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UpdateDatabase = void 0;
|
|
4
|
+
const version_1 = require("../../../version");
|
|
4
5
|
const combi_1 = require("../combi");
|
|
5
6
|
const expressions_1 = require("../expressions");
|
|
6
|
-
const
|
|
7
|
+
const version_2 = require("../../../version");
|
|
7
8
|
class UpdateDatabase {
|
|
8
9
|
getMatcher() {
|
|
9
10
|
const parameters = (0, combi_1.seq)(expressions_1.SQLFieldAndValue, (0, combi_1.star)((0, combi_1.seq)((0, combi_1.opt)(","), expressions_1.SQLFieldAndValue)));
|
|
10
11
|
const set = (0, combi_1.seq)("SET", (0, combi_1.alt)(parameters, expressions_1.Dynamic), (0, combi_1.opt)((0, combi_1.seq)("WHERE", expressions_1.SQLCond)));
|
|
11
12
|
const indicators = (0, combi_1.seq)("INDICATORS SET STRUCTURE", expressions_1.ComponentName);
|
|
12
|
-
const fromTable = (0, combi_1.seq)("FROM", (0, combi_1.opt)("TABLE"), expressions_1.SQLSource, (0, combi_1.opt)((0, combi_1.ver)(
|
|
13
|
+
const fromTable = (0, combi_1.seq)("FROM", (0, combi_1.opt)("TABLE"), expressions_1.SQLSource, (0, combi_1.opt)((0, combi_1.ver)(version_2.Release.v755, indicators)));
|
|
13
14
|
const ret = (0, combi_1.seq)("UPDATE", expressions_1.DatabaseTable, (0, combi_1.opt)(expressions_1.SQLClient), (0, combi_1.opt)(expressions_1.DatabaseConnection), (0, combi_1.opt)((0, combi_1.alt)(fromTable, set)));
|
|
14
|
-
return ret;
|
|
15
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
exports.UpdateDatabase = UpdateDatabase;
|
|
@@ -8,7 +8,7 @@ class VerificationMessage {
|
|
|
8
8
|
getMatcher() {
|
|
9
9
|
const priority = (0, combi_1.seq)("PRIORITY", expressions_1.Source);
|
|
10
10
|
const ret = (0, combi_1.seq)("VERIFICATION-MESSAGE", expressions_1.Source, expressions_1.Source, (0, combi_1.opt)(priority));
|
|
11
|
-
return (0, combi_1.
|
|
11
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.VerificationMessage = VerificationMessage;
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Wait = void 0;
|
|
4
|
-
const combi_1 = require("../combi");
|
|
5
4
|
const version_1 = require("../../../version");
|
|
5
|
+
const combi_1 = require("../combi");
|
|
6
|
+
const version_2 = require("../../../version");
|
|
6
7
|
const expressions_1 = require("../expressions");
|
|
7
8
|
class Wait {
|
|
8
9
|
getMatcher() {
|
|
9
10
|
const up = (0, combi_1.seq)("UP TO", expressions_1.Source, "SECONDS");
|
|
10
11
|
const channels = "MESSAGING CHANNELS";
|
|
11
|
-
const push = (0, combi_1.ver)(
|
|
12
|
+
const push = (0, combi_1.ver)(version_2.Release.v750, "PUSH CHANNELS", { also: combi_1.AlsoIn.OpenABAP });
|
|
12
13
|
const tasks = "ASYNCHRONOUS TASKS";
|
|
13
14
|
const type = (0, combi_1.seq)("FOR", (0, combi_1.per)(channels, push, tasks));
|
|
14
15
|
const until = (0, combi_1.seq)((0, combi_1.opt)(type), "UNTIL", expressions_1.Cond, (0, combi_1.opt)(up));
|
|
15
16
|
const ret = (0, combi_1.seq)("WAIT", (0, combi_1.alt)(until, up));
|
|
16
|
-
return ret;
|
|
17
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, ret);
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
exports.Wait = Wait;
|
|
@@ -8,7 +8,7 @@ class WhenType {
|
|
|
8
8
|
getMatcher() {
|
|
9
9
|
const into = (0, combi_1.seq)("INTO", expressions_1.Target);
|
|
10
10
|
const type = (0, combi_1.seq)(expressions_1.ClassName, (0, combi_1.optPrio)(into));
|
|
11
|
-
return (0, combi_1.ver)(version_1.
|
|
11
|
+
return (0, combi_1.ver)(version_1.Release.v750, (0, combi_1.seq)("WHEN TYPE", type), { also: combi_1.AlsoIn.OpenABAP });
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.WhenType = WhenType;
|
|
@@ -8,7 +8,7 @@ class Window {
|
|
|
8
8
|
getMatcher() {
|
|
9
9
|
const ending = (0, combi_1.seq)("ENDING AT", expressions_1.Source, expressions_1.Source);
|
|
10
10
|
const ret = (0, combi_1.seq)("WINDOW STARTING AT", expressions_1.Source, expressions_1.Source, (0, combi_1.opt)(ending));
|
|
11
|
-
return (0, combi_1.
|
|
11
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.Window = Window;
|
|
@@ -9,7 +9,7 @@ class With {
|
|
|
9
9
|
getMatcher() {
|
|
10
10
|
const exposing = (0, combi_1.optPrio)((0, combi_1.seq)("WITH", (0, combi_1.altPrio)(new expressions_1.SQLCTEHierarchy(), expressions_1.SQLCTEAssociations)));
|
|
11
11
|
const cte = (0, combi_1.seq)(expressions_1.WithName, "AS", (0, combi_1.tok)(tokens_1.WParenLeftW), expressions_1.SelectCTE, (0, combi_1.tok)(tokens_1.WParenRightW), exposing);
|
|
12
|
-
return (0, combi_1.ver)(version_1.
|
|
12
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.KeyUser, (0, combi_1.ver)(version_1.Release.v751, (0, combi_1.seq)("WITH", cte, (0, combi_1.star)((0, combi_1.seq)(",", cte)), expressions_1.Select)));
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
exports.With = With;
|
|
@@ -14,7 +14,7 @@ class Write {
|
|
|
14
14
|
const options = (0, combi_1.per)(mask, to, (0, combi_1.seq)("EXPONENT", expressions_1.Source), "NO-GROUPING", "NO-ZERO", "CENTERED", (0, combi_1.seq)("INPUT", (0, combi_1.opt)(onOff)), "NO-GAP", "LEFT-JUSTIFIED", as, (0, combi_1.seq)("FRAMES", onOff), (0, combi_1.seq)("HOTSPOT", (0, combi_1.opt)(onOff)), "RIGHT-JUSTIFIED", (0, combi_1.seq)("TIME ZONE", expressions_1.Source), (0, combi_1.seq)("UNDER", expressions_1.Source), (0, combi_1.seq)("STYLE", expressions_1.Source), (0, combi_1.seq)("ROUND", expressions_1.Source), (0, combi_1.seq)("QUICKINFO", expressions_1.Source), "ENVIRONMENT TIME FORMAT", dateFormat, (0, combi_1.seq)("UNIT", expressions_1.Source), (0, combi_1.seq)("INTENSIFIED", (0, combi_1.opt)(onOff)), (0, combi_1.seq)("INDEX", expressions_1.Source), (0, combi_1.seq)("DECIMALS", expressions_1.Source), (0, combi_1.seq)("INVERSE", (0, combi_1.opt)(onOff)), expressions_1.Color, (0, combi_1.seq)("CURRENCY", expressions_1.Source), "RESET", "NO-SIGN");
|
|
15
15
|
// Need to refactor all this sometime,
|
|
16
16
|
const ret = (0, combi_1.seq)("WRITE", (0, combi_1.alt)((0, combi_1.seq)("AT /", (0, combi_1.opt)(expressions_1.Source), (0, combi_1.opt)("NO-GAP")), (0, combi_1.seq)((0, combi_1.opt)(expressions_1.WriteOffsetLength), (0, combi_1.alt)(expressions_1.Source, expressions_1.Dynamic, "/"), (0, combi_1.opt)(options))));
|
|
17
|
-
return (0, combi_1.
|
|
17
|
+
return (0, combi_1.verNotLang)(version_1.LanguageVersion.Cloud, ret);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.Write = Write;
|